NAV-Datenaustausch an Rechnungen — Endpunkte und Hintergrundjob

Funktionsweise der NAV-Abfrage, des asynchronen Jobs zur Typaktualisierung, der Zusatzdaten der Zeilen und der manuellen Labelvergabe.

Unter dem Funktionsrecht navdata (SUBSCRIPTION) liegen sieben Endpunkte: NAV-Download, Aktualisierung des Rechnungstyps, Zusatzdaten der Zeilen und manuelle Labelvergabe. Jeder prüft den inhaltlichen Bereich je Rechnung (invoiceInScope).

Zusatzdaten der Zeilen (lineadditional, lineadditionalsave)

Manuelles Anzeigen und Speichern von NAV-additionalLineData und productCodes für eine Rechnung oder Zeile über masterdata/analytic::saveLineAdditionalData; die NAV-Zeile bleibt unberührt.

Manuelle Labels (labelsearch, addLabel, removeLabel)

Zuweisung: dlbtlabel->addLink, Quelle manual. Beim Entfernen werden die Weiterbelastungszeilen des Labels gelöscht; die Zielrechnung nur, solange sie Entwurf ist (contract/passthrough::invoiceIsDraft, deleteInvoice).

Datenmodell

Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation: invoice_ctrl, invoice, invoice_item, Analytiktabellen (masterdata/analytic), label_link, Weiterbelastungstabellen (contract/passthrough), cron_queue.

Berechtigungen und Voraussetzungen

  • Ebene 2: canAction(navdata) an jedem Endpunkt; der Schlüssel ist als SUBSCRIPTION eingestuft.
  • Ebene 3: invoiceInScope je Rechnung.
  • Voraussetzung: technischer NAV-Benutzer beim Eigentümer, Bibliothek navosa. Fehlerschlüssel: error_nav_*, error_navref_queue.