Zum Inhalt springen

Kontierung aus einer Datentabelle

Bevor eine Eingangsrechnung zur Freigabe geht, setzt der Schritt „Feld setzen“ mit „Werte aus Datentabelle übernehmen“ ihre Kostenstelle und ihr Sachkonto aus der Datentabelle kostenstelleJeLieferant: aus der Zeile, deren Schlüssel der Lieferant der Rechnung ist, ohne Skript. Er legt die eine Zeile der Kontierung nur bei einer Rechnung ohne Kontierung an, nie über die einer Person und nie bei einer schon exportierten Rechnung. Ohne Zeile bleibt die Rechnung, wie sie ist, und der Verlauf sagt es.

Der Workflow startet für jedes Dokument vom Typ incoming-invoice. Seine Datei workflow.yaml:

$schema: 'https://docs.acriva.de/schemas/workflow.schema.json'
format: 1
schemaVersion: 7
sdk: '1.0.0'
key: cost-center-from-table
name: Kontierung aus Datentabelle
template: custom
trigger:
documentType: incoming-invoice
fields: []
start: allocate
steps:
- kind: setField
name: allocate
label: Kontierung aus Datentabelle
assignments:
- field: invoice.costCenter
source: tableLookup
lookup:
table: kostenstelleJeLieferant
keyField: vendorName
column: kostenstelle
- field: invoice.glAccount
source: tableLookup
lookup:
table: kostenstelleJeLieferant
keyField: vendorName
column: sachkonto
next: approval
- kind: humanTask
name: approval
label: Freigabe
taskKind: approve
assignees: []
fallback:
kind: role
role: Geschäftsführung
options:
excludeRequester: true
excludeActorsOfSteps: []
pickFile: false
next: approved
onRejected: rejected
- kind: end
name: approved
label: Freigegeben
outcome: approved
- kind: end
name: rejected
label: Zurückgewiesen
outcome: rejected