Files
Workflow/tasks/beleg_abgleich.md

1.9 KiB

beleg_abgleich — Felder zweier Datensätze vergleichen

Zweck: Automatischer Abgleich z. B. Bestellung ↔ Rechnung („Dunkelverarbeitung"): Stimmen alle Vergleichsfelder innerhalb der Toleranz, kann der Workflow direkt weiter (z. B. Zahlungsfreigabe); Abweichungen landen strukturiert im Kontext für eine manuelle Klärung. Typische Quellen sind die *_json-Ausgaben von ki_dok_extrakt.

Parameter

Name Pflicht? Default Beschreibung
a ja JSON-Objekt A
b ja JSON-Objekt B
vergleich (feld) ja Zu vergleichendes Feld (gleicher Name in A und B); wiederholbar
vergleich (feld_a/feld_b) nein Alternativ unterschiedliche Feldnamen in A und B
vergleich (toleranz) nein (exakt) Toleranz absolut (0.5) oder relativ (2%); ohne Angabe exakter String-Vergleich (case-insensitiv)
output_var nein abgleich Prefix der Ausgabevariablen

Eingangswerte: Die JSON-Objekte unter <a> und <b> (Platzhalter erlaubt; einzelner {{var}} wird roh übernommen).

Ausgangswerte:

  • <prefix>_ok"1" wenn alle Vergleiche bestanden, sonst "0"
  • <prefix>_diff_json — JSON-Liste der Abweichungen [{feld, wert_a, wert_b, toleranz}]
  • <prefix>_diff_text — lesbare Abweichungsliste (für Mails)

XML-Beispiel

<task type="beleg_abgleich" id="dreiwege">
  <config>
    <a>{{bestellung_json}}</a>
    <b>{{rechnung_json}}</b>
    <vergleich feld="betrag_brutto" toleranz="2%"/>
    <vergleich feld="positionen"    toleranz="0"/>
    <vergleich feld="lieferant"/>
    <vergleich feld_a="re_betrag" feld_b="betrag" toleranz="1%"/>
    <output_var>abgleich</output_var>
  </config>
</task>

Hinweis: <a> und <b> müssen JSON-Objekte enthalten, sonst endet der Task mit Fehler. Die relative Toleranz bezieht sich auf den Wert aus A.