Invoice 3-Way-Match
Rechnungen mit Bestellbezug können gegen die Bestellung und den Wareneingang geprüft werden.
- 3-Way-Match
- Positionen laden versus Positionserkennung
- Warten auf Wareneingang
- Abweichender Lieferant
3-Way-Match
Der 3-Way-Match prüft die angegebenen Positionen in der Rechnungs-Akte gegen die Bestellung und den Wareneingang und zeigt Abweichungen an. Hierfür muss eine Position einer Rechnung mit Bestellbezug eindeutig einer Bestellposition und einer Wareneingangsposition zugeordnet werden können.
Die Positions-Angaben Preis, Preiseinheit, Menge und Mengeneinheit werden gegen die Bestellung geprüft. Gegen den Wareneingang werden nur Menge und Mengeneinheit geprüft. Für die Prüfung werden die internen Stammdaten aus der DEX_MasterData herangezogen. bei der Preis- und Mengeneinheit ist darauf zu achten, dass in den Stammdaten dieselben Werte hinterlegt werden, denn Mengen und Preise werden nicht automatisch umgerechnet!
Bei Abweichungen werden Fehlermeldung in die Positionszeilen geschrieben. Optional können Zeilen mit Abweichungen rot markiert werden. Nach der Prüfung aller Zeilen wird das Ergebnis ausgewertet. Sobald eine Zeile eine Abweichung zur Bestellung enthält wird im Kopf eine Checkbox gesetzt. Dasselbe gilt für die Prüfung gegen den Wareneingang und eine dritte Checkbox wird gesetzt, sobald irgendeine Abweichung auftritt. Diese Kopffelder können in den Workflow-Regeln verwendet werden, um Rechnungen mit Abweichungen entsprechend zu steuern.
Preisprüfung
Der Preis in einer Zeile muss gleich oder kleiner als der Bestell-Preis sein und die Preiseinheit muss mit der Preiseinheit aus der Bestellung übereinstimmen. Über die Parameter-Konfiguration (3WayMatchCheck_AllowPriceTolerance) können auch Preis-Toleranzen definiert werden.
Mengenprüfung
Die Positions-Menge wird gegen die offene Bestellmenge und die offene Wareneingangsmenge geprüft. In den Bestell-Stammdaten kann neben der Bestellmenge zusätzlich die offene Bestellmenge angegeben werden. Zusätzlich versucht das System über die eigene Datenhaltung (Tabelle Invoice_Posting_Pos in der DEX_Workflow Datenbank) eigene offene Mengen zu ermitteln. Dabei wird nach Positionszeilen gesucht, die bereits dieser Bestellposition zugeordnet sind. Die Summe der Mengen wird von der Bestellmenge abgezogen. Wenn sowohl in den Stammdaten eine offene Bestellmenge angegen ist und eine eigene offene Bestellmenge berechnet werden konnte, dann wird der kleinere Wert von beiden verwendet. Die Menge wird in jedem Fall gegen die Bestellung geprüft. Die Prüfung gegen den Wareneingang kann pro Position über das Flag GoodsReceiptCheck in den Bestell-Stammdaten deaktiviert werden. Zu bestellten Dienstleistungen wird in der Regel nie ein Wareneingang erfolgen. In diesem Fall kann lediglich ein 2-Way-Match erfolgen.
Zu- Abschläge
Rechnungen mit Bestellbezug können einzelne Positionen ohne Bestellbezug enthalten. Ein Beispiel hierfür ist zum Beispiel zusätzliche Frachtkosten oder Zölle. Diese zusätzlichen Kosten werden in der Regel nicht bestellt und dies Positionen können demnach weder gegen den Wareneingang noch gegen die Bestellung geprüft werden. Zu- und Abschlag-Zeilen können über eine Checkbox markiert werden. Für diese Positionen wird keine 3-Way-Match Prüfung durchgeführt.
Über die Parameter-Konfiguration (3WayMatchCheck_ExtraLines) kann die maximale Anzahl an Zu- Abschlagszeilen definiert werden. Zudem kann die Betrags-Summe aller Zu- Abschlags-Positionen geprüft werden. Es kann zum einen ein fixer Betrag angegeben werden, welcher nicht überschritten werden darf. Zum anderen kann ein prozentualer Wert angegeben werden, welcher angibt wie groß der prozentuale Anteil dieser Summe am Gesamtbetrag der Rechnung maximal sein darf.
Positionen laden versus Positionserkennung
Bei einer 3-Way-Match-Prüfung werden die Rechnungspositionen gegen die Bestellpositionen und die Wareneingangspositionen geprüft. Im optimalen Fall können die Positionsdaten durch Squeeze von der Rechnung gelesen werden. Dies ist nicht in jedem Fall möglich bzw. kann das Ergebnis sehr unterschiedlich ausfallen. Häufig werden nicht alle Daten zu 100% erkannt. Die Zuordnung zu einer Bestellposition ist ebenfalls nicht trivial.
Der Vorteil dieser Variante ist, dass der Bereich der erkannten Position im Squeeze-Viewer markiert werden kann, sobald man in die Position springt. Bei einer guten Erkennung entsprechen die Positionen genau den Positionen auf der Rechnung. Abweichungen zur Bestellung können sehr schnell identifiziert werden. Nachteile entstehen automatisch bei einer schlechten Erkennungsrate durch die manuelle Nacharbeitung.
Eine deutlich einfachere Variante ist es auf dem Rechnungsbeleg nach Bestellnummern zu suchen und über diese Bestellnummern die offenen Bestellpositionen zu laden. Der große Nachteil dieser Variante ist, dass bei Teillieferungen und damit verbundenen Teilrechnungen zu einer Bestellung zu viele Positionen erkannt werden und die Reihenfolge der geladenen Positionen nicht zwingend der Reihenfolge auf der Rechnung entspricht.
Wenn die Rechnungen eher wenige Positionen enthalten und wenn die Rechnungen häufig den Bestellungen entsprechen wird dieses Vorgehen hingegen sehr gute Ergebnisse liefern. Abweichende Preise werden durch die Prüfung der Positionssummen gegen den Kopfbetrag auffallen.
Warten auf Wareneingang
Häufig erfolgt der Rechnungseingang vor der Lieferung der Ware. Im Workflow können die Rechnungen auf den Wareneingang warten.
Workflow-Aktion
Für das Warten auf den Wareneingang wird die gleichnamige technische Workflow-Aktion "Warten auf Wareneingang (Wait4Incoming Goods)" ausgeliefert. Vor der technischen Aktion wird zunächst geprüft, ob jeder Rechnungs-Position entweder einer Bestell-Position zugeordnet wurde oder als Zu-Abschlags-Zeile markiert wurde (Checkbox "ExtraLine"). Wenn eine Rechnung auch nur eine Zeile enthält, bei der beides nicht zutrifft, dann kann dieser Position nie automatisch ein Wareneingang zugeordnet werden und die Rechnung würde ewig in der technischen Aktion "Warten auf Wareneingang" liegen. Daher werden diese Rechnungen direkt zur nächsten Aktion weitergeleitet. Darüber hinaus wird geprüft, ob ggf. bereits jeder Position ein Wareneingang zugeordnet wurde. Wenn jeder Position bereits ein Wareneingang zugeordnet wurde, wird der Vorgang auch direkt zur nächsten Aktion weitergelietet.
Alle anderen Vorgänge warten auf den Wareneingang. Das Job-Skript "Invoice_JOB_CheckGoodsReceived" muss aktiviert und muss wie gewünscht eingeplant werden. Das Job-Skript prüft alle wartenden Vorgänge und versucht jeder Position einen Wareneingang zuzuordnen. Wenn im Anschluss jeder Position ein Wareneingang zugeordnet wurde (ausgenommen: Zu-Abschlags-Zeilen), wird der Vorgang im Workflow weitergeleitet.
Wenn eine genaue Zuordnung der Positionen nicht erfolgen kann, dann würde der Job die Belege nie weiterleiten. Aus diesem Grund werden alle Belege nach spätestens 30 Tagen zur nächsten Workflow-Aktion weitergeleitet. Der Wert kann über den Parameter "3WayMatchCheck_Wait4GoodsReceipt" angepasst werden.
Abweichender Lieferant
Es kann vorkommen, dass der Rechnungssteller nicht die Firma ist, bei der bestellt wurde.
Parameter "3WayMatchCheck_DivergentVendor"
Es kann vorkommen, dass eine Ware oder eine Dienstleistung über Firma A bestellt wurde - diese Firma den Auftrag aber an Firma B weitergibt und Firma B auch die Rechnung stellt. Die intern verwendeten Abfragen auf die Bestelldaten verwendet allerdings standardmäßig den Kreditor als zusätzlichen Filter. In dem Fall können die Bestellpositionen nicht zugeordnet werden.
Für solche Fälle muss der Parameter "3WayMatchCheck_DivergentVendor" gesetzt werden. Es wird empfohlen, Einträge spezifisch nur für die zutreffenden Kreditoren zu setzen. Bei den internen Abfragen wird dann nur über die Bestellnummer ohne die die Angabe des Kreditors gefiltert. Am Parameter können 3 Werte gesetzt werden.
- Über den ersten Parameter-Wert wird definiert, ob in den SQL-Abfragen der Filter für den Kreditor verwendet werden soll. Der Standard-Wert ist "true". Soll der Kreditor nicht verwendet werden, muss der wert auf "false" gesetzt werden.
In dem Fall muss die Bestellnummer eindeutig sein! - Wenn der Kreditor von der Bestellung abweicht, dann sollte dies dem Prüfer bzw. Freigeber der Rechnung bewußt sein. Die Bestell-Abfragen werden allerdings im Hintergrund ausgeführt und der Anwender sieht lediglich das Ergebnis der Abfragen. In der Standard-Auslieferung bekommt der Anwender keine Information!
Über den zweiten Parameter-Wert kann der Anwender eine Fehlermeldung bei Abschluss der aktuellen Aktion erhalten, wenn der Kreditor von der Bestellung abweicht. Der Anwender muss die Checkbox "Kreditor abweichend zur Bestellung" ("DivergentOrderCreditor") setzen, um die Fehlermeldung zu vermeiden. - Die Checkbox "Kreditor abweichend zur Bestellung" ("DivergentOrderCreditor") kann über den 3. Parameter-Wert automatisch gesetzt werden, wenn der erste Parameter-Wert auf "true" gesetzt ist und eine in den Positionen angegebene Bestellnummer zu einem anderen Kreditor gefunden wurde.
Die Standard-Angabe für den Parameter-Wert ist "false". Um die Checkbox automatisch zu setzen, muss der Parameter-Wert auf "true" gestellt werden.
Checkbox "Kreditor abweichend zur Bestellung"
Wenn der Kreditor zu einer Rechnung von der angegebenen Bestellung abweicht, dann können die Bestellpositionen nicht automatisch zugeordnet werden! Über den Parameter "3WayMatchCheck_DivergentVendor" kann der Filter auf den Kreditor bei den Stammdaten-Abfragen entfernt werden.
Die Checkbox "Kreditor abweichend zur Bestellung" ("DivergentOrderCreditor") hat nicht diese Funktion! Die Filter-Anpassung kann nur über den Parameter erfolgen und der Parameter sollte nur für zutreffende Kreditoren gesetzt werden. Andernfalls müsste garantiert werden, dass die Bestellnummern global immer eindeutig sind.
Da der Anwender von dem automatisch verwendeten Parameter nicht direkt etwas mitbekommt, gibt es die Checkbox "Kreditor abweichend zur Bestellung". Die Checkbox wird lediglich benötigt, wenn an einem 2. Parameter-Wert vom Parameter "3WayMatchCheck_DivergentVendor" der Wert auf "true" gesetzt wurde. Nur in dem Fall erhält der Anwender den Hinweis bei Abschluss der aktuellen Workflow-Aktion, dass der in der Rechnung angegebene Kreditor von der Angabe in der Bestllung abweicht. Der Anwender muss die Checkbox manuell setzen bzw. kann die Checkbox über den 3. Parameter-Wert automatisch gesetzt werden.