Ein Einzelpostenabgleich im Rechnungswesen stellt sicher, dass die Rechnungsabwicklung reibungslos von statten geht – zum Beispiel, dass keine falschen Beträge an Lieferanten bezahlt werden.
Je nach Unternehmen bieten sich verschiedene Arten des Rechnungsabgleichs an. Beim Drei-Wege-Abgleich (oder Drei-Wege-Match) Matching zum Beispiel werden Rechnungen gegen zwei weitere Dokumente geprüft, zum Beispiel den Lieferschein und die Bestellung. Stimmen die Einzelposten in allen drei Dokumenten überein, kann die Zahlung freigegeben werden. Nur die Ware wird bezahlt, die komplett und unbeschädigt im Unternehmen eintrifft.
In folgenden Konfigurationsbeispiel wird Schritt für Schritt gezeigt, wie Sie mit DocuWare einen Drei-Wege-Abgleich im Workflow Designer konfigurieren. Die Anleitung basiert auf einer Rechnung, einem Lieferschein und einer Bestellung unter Verwendung der Tabellendatenabgleichsfunktion, die im DocuWare Workflow Manager ab der Version 7.8 enthalten ist.
Vorbereitung für die Konfiguration
Um die Schritte von diesem Workflow in Ihrem eigenen DocuWare nachzustellen, speichern Sie zunächst drei Dokumente in einem DocuWare Archiv:
eine Bestellung (Purchase Order) mit einer Dokumentnummer und den Einzelposten in einer Indextabelle, siehe auch das Archivbeispiel "Line Items" (Einzelpositionen) unten
den dazugehörigen Lieferschein (Delivery Note) mit Bestellnummer und den Einzelposten in einer Indextabelle - siehe das Archivbeispiel unten
die Rechnung (Invoice) mit Bestellnummer und den Einzelposten in einer Indextabelle - siehe das Archivbeispiel unten
Das Archiv benötigt folgende Datenbankfelder. Die Feldnamen sind der Einfachheit halber in englischer Sprache. Die Schritte lassen sich natürlich genauso mit anderssprachigen Metadaten ausführen.
Document Type (Text)
Document Number (Text)
Order Number (Text)
Status (Text)
Line Items (Tabelle) mit den Spalten:
ID (Text)
Name (Text)
Quantity (Decimal)
Unit Price (Decimal)
Amount (Decimal)
Zusätzlich benötigen Sie folgende Spalten für den Abgleich im Workflow. PO steht für Purchase Order (Bestellung) und DN für Delivery Note (Lieferschein).
PO Unit Price (Decimal)
PO Quantity (Decimal)
DN Quantity (Decimal)
Amount Deviation (Decimal)
Quantity Deviation (Decimal)
Match Status (Text)
Das sieht dann in der Archivkonfiguration folgendermaßen aus:
Alle Einzelpositionen, die für den Drei-Wege-Abgleich verwendet werden sollen, müssen für jeweils Rechnung, Bestellung und Lieferschein in diesen Spalten gespeichert werden:
ID (Text)
Name (Text)
Quantity (Decimal)
Unit Price (Decimal)
Amount (Decimal)
Workflow-Konfiguration
Sie konfigurieren den Drei-Wege-Abgleich in DocuWare mit dem Workflow Designer. Damit der Workflow einsatzfähig ist, benötigen Sie eine Archivkonfiguration wie unter Vorbereitungen beschrieben. Die Namen der Indexfelder, -tabellen und Parameter in der Beschreibung unten beziehen sich auf die dort aufgeführten Namen.
Zur Orientierung sehen Sie hier zunächst den fertig konfigurierten Workflow im Überblick:
I. Startbedingung festlegen
Wählen Sie eine Startbedingung, die den Workflow auslöst, wenn eine neue Rechnung gespeichert wird.
II. Aktivität für den Abruf der Bestellnummer erstellen
Erstellen Sie zunächst eine globale Variable "GV_myPONumber" vom Typ Text.
Legen Sie dann eine Aktivität Daten zuweisen mit dem Namen "Get PO Number" an.
In dieser Aktivität speichern Sie die globale Variable mit dem Indexeintrag Order Number. Damit wird bei jedem neuen Rechnungseingang die Bestellnummer ausgelesen und steht im Workflow zur Verfügung. Anhand der Bestellnummer lassen sich Rechnung, Lieferschein und Bestellung eindeutig zuordnen.
III. Abgleich von Bestellung und Lieferschein mit der Rechnung konfigurieren
In einer weiteren Aktivität Daten zuweisen (hier: "3-Way-Match") wird der eigentliche Drei-Wege-Abgleich definiert:
Abrufen von Stückpreis und Menge aus der Bestellung, Match anhand der Dokumentnummer (bei der Bestellung ist die Dokumentnummer die Bestellnummer)
Abrufen der Menge aus dem Lieferschein, Match anhand der Bestellnummer
Abgleich von Menge und Preis in jeder Zeile
Herleitung des Status für die Rechnung
Schreiben des Status in ein Indexfelder der Rechnung
Zum Schluss sieht der Dialog Daten zuweisen folgendermaßen aus – die Definition der acht Zeilen wird nun im Detail beschrieben.
Zeile 1: Stückpreis und Menge aus der Bestellung abrufen
Wählen Sie als erste Zeile im Dialog der Aktivität Daten zuweisen als Zieltyp Index Table - Multiple Columns, für Feld/Variable Line items und als Eintragstyp Index table.
Öffnen Sie den Datenzuweisungsdialog für das Tabellenfeld über das Bleistift-Symbol. Geben Sie die Quelle das Archiv an, das Sie im vorigen Schritt Vorbereitungen angelegt haben, und wählen Sie Ihre Indextabelle, in diesem Beispiel ist dies Line Items.
Fügen Sie außerdem folgende WHERE-Klausel ein:
DW_DOCUMENT_TYPE = 'Purchase Order Out' AND DW_DOCUMENT_NUMBER = 'GV_myPONumber'
Damit rufen Sie aus dem Archiv die Bestellung zu der aktuell im Workflow befindlichen Rechnung ab.
Nun ordnen Sie die gewünschten Daten aus der Bestellung den gleichen Daten aus der Rechnung zu. Wechseln Sie zum Tab Rows und aktiivieren Sie Compose rows by Matchcode. Wählen Sie die Spalte "Line Items[ID]" als Matchcode und für die Sortierung.
Auf dem Tab Columns weisen Sie die Ziel- und Quellspalten zu:
Zeile 2: Abgleich von Stückpreis und Menge mit dem Preis der Rechnung
Im Dialog der Aktivität Daten zuweisen fügen Sie eine neue Zeile hinzu, mit der Sie berechnen, ob die Daten zu Stückpreis und Menge aus der Bestellung zu der Rechnung passen: Rechnungsbetrag - (Stückpreis der Bestellung * Menge der Bestellung)
Wählen Sie als Ziel Index table - Single column > Line Items – Amount Deviation > Arithmetic Expression
Fügen Sie folgenden Ausdruck hinzu:
DW_LINE_ITEMS[LINE__LINE_AMOUNT]-(DW_LINE_ITEMS[LINE__PO_QUANTITY]*DW_LINE_ITEMS[LINE__PO_UNIT_PRICE])
Dies gibt entweder "0" zurück, wenn der Betrag mit Stückpreis und Menge der Bestellnummer übereinstimmt, oder die Differenz, wenn der Betrag nicht übereinstimmt.
Zeile 3: Mengenangabe vom Lieferschein abrufen
Fügen Sie die dritte Zeile hinzu. Das Ziel ist Index table – Single Column > Line Items – DN Quantity > Index table.
Öffnen Sie den Datenzuweisungsdialog für das Tabellenfeld über das Bleistift-Symbol. Geben Sie das Quellarchiv und die Tabelle Line Items an.
Fügen Sie außerdem folgende WHERE-Klausel ein:
DW_DOCUMENT_TYPE = 'Delivery Note In' AND DW_ORDER_NUMBER = 'GV_myPONumber'
Damit rufen Sie den passenden Lieferschein ab.
Auf dem Tab Rows aktivieren Sie Compose rows by Matchcode. Wählen Sie die Spalte Line Items[ID] als Matchcode und für die Sortierung:
Auf dem Tab Columns weisen Sie die Ziel- und Quellspalte zu.
Zeile 4: Daten vom Lieferschein mit der Rechnung abgleichen
Fügen Sie im Dialog der Aktivität Daten zuweisen eine neue Zeile hinzu, um zu prüfen, ob eine der Kombinationen nicht übereinstimmt:
Anzahl der Positionen in der Rechnung ist nicht gleich der Anzahl in der Bestellung
Anzahl der Positionen in der Rechnung ist nicht gleich der Anzahl im Lieferscheins
Anzahl der Positionen der Bestellung ist nicht gleich der Anzahl im Lieferscheins
Wählen Sie dafür als Ziel: Index table – Single Column > Line Items – Quantity Deviation > Arithmetic Expression
Geben Sie den folgenden Ausdruck ein:
iif(DW_LINE_ITEMS[LINE__QUANTITY]<>DW_LINE_ITEMS[LINE__PO_QUANTITY],DW_LINE_ITEMS[LINE__QUANTITY]-DW_LINE_ITEMS[LINE__PO_QUANTITY],iif(DW_LINE_ITEMS[LINE__QUANTITY]<>DW_LINE_ITEMS[LINE__DN_QUANTITY], DW_LINE_ITEMS[LINE__QUANTITY]-DW_LINE_ITEMS[LINE__DN_QUANTITY],iif(DW_LINE_ITEMS[LINE__PO_QUANTITY]<>DW_LINE_ITEMS[LINE__DN_QUANTITY],DW_LINE_ITEMS[LINE__PO_QUANTITY]-DW_LINE_ITEMS[LINE__DN_QUANTITY],0)))
Wenn die Menge übereinstimmt, gibt dieser Ausdruck "0" zurück, wenn nicht, wird die Differenz der Kombination angezeigt.
Zeilen 5,6 und 7: Status vom Abgleich herleiten
Fügen Sie drei weitere Datenzuordnungen hinzu. Wählen Sie jeweils als Ziel Table - Single Column > Line Items - Match Status > Fixed entry und geben Sie für jede Zeile wie gezeigt den Status für den Abgleich (Match) ein:
Verwenden Sie den Filter, um die passenden Zeilen zu finden und die Werte einzugeben:
✓ OK
Amount Deviation!
Quantity Deviation!
Zeile 8: Dokumentstatus "Review" setzen
Die letzte Datenzuweisung setzt den Dokumentenstatus der Rechnung standardmäßig auf Review, wenn beim Abgleich eine Abweichung festgestellt wird.
IV. Auswertung des Abgleichs
Fügen Sie eine Aktivität Bedingung hinzu, um auszuwerten, ob alle Zeilen übereinstimmen.
Dazu werden die Werte in der Spalte "Match Status" zusammengezählt, d.h. gezählt wird, wie oft es Betrags- und Mengenabweichungen gibt. Wenn die Anzahl gleich "0" ist, bedeutet dies, dass alle Einzelposten übereinstimmen.
Es ist wichtig, dass Sie für die Parameter die exakt gleiche Schreibweise wie zuvor verwenden:
Fügen Sie folgenden Ausdruck hinzu:
Count(Filter(DW_LINE_ITEMS[LINE__MATCH_STATUS], "Amount Deviation!")) = 0 AND Count(Filter(DW_LINE_ITEMS[LINE__MATCH_STATUS], "Quantity Deviation!")) = 0
Leiten Sie alle Rechnungen, die nicht übereinstimmen, an die Aufgabe Rechnung prüfen weiter.
Leiten Sie alle anderen Rechnungen an eine weitere Aktivität Daten zuweisen weiter, in der Sie den Dokumentstatus auf "Approved" setzen. Dies bedeutet, dass die Rechnungen zur Zahlung freigegeben sind.