Zum Inhalt springen

Bestellabgleich

Die Karte „Rechnung prüfen“ mit „Bestellabgleich“ sucht zur Eingangsrechnung die Bestellung mit derselben Bestellnummer und vergleicht die Bruttobeträge mit 2 % Toleranz und den Lieferanten, ohne Skript und ohne KI. Die Bestellnummer und den Lieferanten haben die Standardtypen „Eingangsrechnung“ und „Bestellung“, und die KI-Erfassung liest sie aus dem Dokument. Passt die Rechnung zur Bestellung („passt“), geht die Rechnung zur Freigabe; weicht sie ab („Abweichung“) oder hat keine Bestellung die Nummer („keine Bestellung“), prüft zuerst der Einkauf. „passt“ gibt nichts frei: Eine Person gibt weiterhin frei. Die Bestellung wird mit dem Workflow verknüpft und erscheint nur für Personen, die sie öffnen dürfen; der Hinweis nennt nie ihren Betrag.

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: order-match
name: Bestellabgleich
template: custom
trigger:
documentType: incoming-invoice
fields: []
start: match
steps:
- kind: invoiceCheck
name: match
label: Bestellabgleich
check: orderMatch
order:
invoiceField: orderNumber
orderType: order
orderField: orderNumber
tolerancePercent: 2
invoiceVendorField: vendorName
orderVendorField: vendorName
next: approval
onDeviation: purchasing
onNotFound: purchasing
- kind: humanTask
name: purchasing
label: Abweichung prüfen (Einkauf)
taskKind: review
assignees: []
fallback:
kind: member
member: einkauf@example.com
options:
excludeRequester: false
excludeActorsOfSteps: []
pickFile: false
next: approval
onRejected: rejected
- 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