Zum Inhalt springen

Reverse-Charge erkennen

Eine eigene KI-Aktion fragt mit Antwortform „Ja oder Nein“, ob eine Rechnung eine Reverse-Charge-Rechnung ist. Bei Ja prüft die Buchhaltung sie steuerlich, bevor die Kostenstellenverantwortung freigibt; bei Nein geht sie gleich zur Freigabe. Kann die KI nicht antworten, etwa ohne Credits oder bei einem vertraulichen Dokument, geht die Rechnung ebenfalls gleich zur Freigabe. Die KI gibt nichts frei.

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: 5
sdk: '1.0.0'
key: reverse-charge
name: Reverse-Charge erkennen
template: custom
trigger:
documentType: incoming-invoice
fields: []
start: ask
steps:
- kind: aiCustom
name: ask
label: Reverse-Charge?
instruction: Ist das eine Reverse-Charge-Rechnung? Antworte mit Ja, wenn die Rechnung keine Umsatzsteuer ausweist und auf die Steuerschuldnerschaft des Leistungsempfängers hinweist.
fields:
- vendorName
- totalGross
readText: true
answer: yesNo
choices: []
next: route
onSkipped: approval
- kind: condition
name: route
label: Reverse-Charge-Rechnung?
branches:
- when:
kind: compare
output:
step: ask
key: answer
operator: equalTo
constants:
- 'true'
next: taxReview
default: approval
- kind: humanTask
name: taxReview
label: Steuerliche Prüfung
taskKind: review
assignees: []
fallback:
kind: role
role: Buchhaltung
options:
excludeRequester: false
excludeActorsOfSteps: []
pickFile: false
next: approval
onRejected: rejected
- kind: humanTask
name: approval
label: Freigabe Kostenstelle
taskKind: approve
assignees:
- when: null
assignee:
kind: costCenterResponsible
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