Was bei einem Lauf passiert
Ein Lauf besteht aus zwei Teilen: Erst werden neue Rechnungen aus dem Portal geholt, dann werden fertige Inbox-Belege in die Eingangsrechnung übergeben.
Teil 1: Rechnungen holen
Abgefragt werden Rechnungen, die
- vom Typ Eingangsrechnung sind,
- im Portal nicht archiviert sind,
- das Schlagwort
OKoderZBtragen, - seit dem letzten Lauf neu oder geändert wurden.
Der Zeitpunkt des letzten Laufs wird gespeichert. Beim allerersten Lauf beginnt die Zählung mit dem Moment des Starts — vorhandene alte Rechnungen im Portal werden also nicht nachgeholt. Wer sie will, muss sie im Portal berühren, damit sie als geändert gelten.
Rechnungen mit dem Schlagwort ImportError werden übersprungen. Siehe
Schlagworte im Portal.
Je Rechnung: die Reihenfolge
- Lieferant bestimmen aus dem Schlagwort
LNR. Fehlt es oder gibt es die Nummer in der SelectLine nicht, bricht die Verarbeitung dieser Rechnung ab. - Dublette prüfen. Existiert in der Inbox schon ein Beleg mit derselben Rechnungsnummer, demselben Lieferanten und demselben Datum, wird die Rechnung im Portal archiviert und übersprungen.
- Bezug suchen — Vorgängerbeleg, dann Vorlage. Siehe Rechnung mit Vorgängerbeleg und Wiederkehrende Rechnung über eine Vorlage.
- Ohne Bezug: neuer Beleg mit dem Artikel aus
ANR. Siehe Rechnung ohne Bezug. - Rechnung ablegen als Journal oder im Archiv.
- Bei
OK: den Inbox-Beleg zur Übergabe freigeben. - Im Portal archivieren, damit die Rechnung beim nächsten Lauf nicht wieder erscheint.
Schritt 2 ist der Grund, weshalb ein doppelter Lauf nichts kaputt macht. Wer unsicher ist, ob eine Rechnung schon drin ist, kann die Aufgabe gefahrlos erneut starten.
Wenn eine Rechnung scheitert
Dann wird der Fehler protokolliert, im Portal das Schlagwort ImportError gesetzt und ein
bereits angelegter Inbox-Beleg wieder entfernt.
Das ist die wichtigste Eigenschaft des Ablaufs: Es bleibt kein halber Beleg zurück. Entweder die Rechnung ist vollständig als Inbox-Beleg vorhanden, oder sie ist es nicht.
Der Lauf macht mit der nächsten Rechnung weiter — eine gescheiterte Rechnung hält die übrigen nicht auf.
Die Bemerkung aus dem Portal
Eine im Portal hinterlegte Bemerkung wird in den Beleg übernommen, gekürzt auf 80 Zeichen.
Teil 2: Übergeben
Nach dem Holen sieht die Schnittstelle die Inbox durch und übergibt alles, was zur Übergabe freigegeben ist, in die Eingangsrechnung. Siehe Von der Inbox in die Eingangsrechnung.
Das passiert in jedem Lauf, unabhängig davon, ob neue Rechnungen im Portal lagen. Ein in der Inbox freigegebener Beleg wird deshalb auch dann übergeben, wenn er dort schon länger liegt.