Home > Handbuch > Entwicklerhilfe > Makro-Referenz OmAPI > AutoCapt: Automatische Dokumentenerkennung > AutoCaptEInvoice AutoCaptEInvoice |
Daten einer E-Rechnung für die automatische Belegerkennung einlesen.
Der veraltete Name AutoCaptZUGFeRD ist nur noch aus Kompatibilitätsgründen gültig, bitte nicht mehr verwendet.
Syntax
{AutoCaptEInvoice:Path}
Path: Pfad zum gewünschten Wert, wie in der technischen Dokumentation des jeweiligen Formats beschrieben. Oder ein für alle Formate gültiger Name der Rechnungsdaten:
Amout: Rechnungssumme
BuyerCity: Stadt des Käufers bzw. Rechnungsempfängers
BuyerCountryID: Ländercode, wie "DE"
BuyerName: Name des Käufers
BuyerStreet: Straße
BuyerTaxID: Eine Steuernummer des Käufers
BuyerZip: Postleitzahl
Currency: Währung der Rechnung
DeliveryDate: Lieferdatum
Description für die Dokumentenbezeichnung geeigneter Text
DocNo: Rechnungsnummer
DocTypeText: Dokumentenart, wie "Rechnung", "Gutschrift" oder "Rechnungskorrektur"
DocTypeCode: Code der Dokumentenart: 326, 380, 381, 384, 389, 875, 786, 877 u. a.
DueDate: Fälligkeitsdatum
PayableAmount: Zahlbetrag (z. B. Rechnungsbetrag abzgl. Anzahlungen)
PeriodEndDate: Leistungszeitraum Enddatum
PeriodStartDate: Leistungszeitraum Startdatum
ReceiptDate: Rechnungsdatum
SellerCity: Stadt des Verkäufers bzw. Rechnungssteller
SellerCountryID: Ländercode, wie "DE"
SellerName: Name des Verkäufers
SellerStreet: Straße
SellerTaxID: Eine Steuernummer des Verkäufers
SellerZip: Postleitzahl
TagList: alle erfassten Werte als mehrzeiliger Text in Form "Path=Value"
Version des verwendeten Rechnungsprofils.
XML gibt den Inhalt der elektronischen Rechnung als String zurück
XMLFileName: Dateiname der verarbeiteten (ev. temporär gespeicherten) XML-Datei
(Pfad)/dmsAsString: nur bei Datum, siehe Beschreibung
(Pfad)/dmsAsDate: nur bei Datum, siehe Beschreibung
(Pfad)/dmsDateCode: nur bei Datum, siehe Beschreibung
Wert aus der E-Rechnung (xrechnung.xml, factur-x.xml oder ZUGFeRD-invoice.xml).
Beschreibung
Elektronischen Rechnungen beinhalten maschinenlesbare Daten. Die Formate ZUGFeRD und Factur-X bestehen aus einer PDF/A-3 Datei mit der visuellen Darstellung der Rechnung und einer anliegenden XML-Datei mit den maschinenlesbaren strukturierten Daten. XRechnung besteht nur aus einer XML-Datei.
Die Dokumentenerkennung liest bereits wichtige Attribute ein, ohne dass die Makro-Variable erforderlich ist.
Mit der Initialisierung der Dokumentenerkennung und beim Aufruf der Prozedur {AutoCaptCreate:FileName} wird die XML-Datei ausgewertet und eine Liste aller enthaltenen Daten zusammengestellt. Mit {AutoCaptZUGFeRD:Path} können Sie diese Daten abrufen. Als Path geben Sie bitte bevorzugt die o. g. allgemeingültigen Namen an. Falls Sie weitere Daten aus der Rechnung extrahieren möchten, dann nutzen Sie auch den Parameter TagList, um das gesamte Erkennungsergebnis mit den Pfaden einzusehen, zum Beispiel {MessageDlg:{AutoCaptEInvoice:TagList}}.
In den Versionen 1.0 und 2.x unterscheiden sich die Pfade teilweise, der Hauptknoten wurde beispielsweise von "CrossIndustryDocument" in "CrossIndustryInvoice" umbenannt. Sie können aber immer die neuen oder alten Pfadnamen verwenden, diese werden programmintern in die neuen Pfade konvertiert:
ZUGFeRD Version 1.0 |
ZUGFeRD Version 2.x |
CrossIndustryDocument |
CrossIndustryInvoice |
SpecifiedExchangedDocumentContext |
ExchangedDocumentContext |
HeaderExchangedDocument |
ExchangedDocument |
SpecifiedSupplyChainTradeTransaction |
SupplyChainTradeTransaction |
ApplicableSupplyChainTradeAgreement |
ApplicableHeaderTradeAgreement |
ApplicableSupplyChainTradeDelivery |
ApplicableHeaderTradeDelivery |
ApplicableSupplyChainTradeSettlement |
ApplicableHeaderTradeSettlement |
SpecifiedTradeSettlementMonetarySummation |
SpecifiedTradeSettlementHeaderMonetarySummation |
Wenn Sie ein Datum, welches nicht als allgemeingültiger Variablenname verfügbar ist, einlesen möchten, müssen Sie den gesamten Pfad angeben. Ein Datum kann als Kalenderdatum (Code 102 JJJJMMTT), Kalenderwoche (Code 616 JJJJWW) oder Monat (Code 610 JJJJMM) angegeben sein. Die Pfade enden bei einem Datum mit "/DateTimeString". Beispiel XML-Knoten:
<ram:IssueDateTime>
<udt:DateTimeString format="102">20141219</udt:DateTimeString>
</ram:IssueDateTime>
Mit der Makrovariablen
{AutoCaptEInvoice:CrossIndustryInvoice/ExchangedDocument/IssueDateTime/DateTimeString}
erhalten Sie den kodierten Wert "20141219". Um Ihnen die Abfrage zu vereinfachen, dekodiert Office Manager DMS alle Datumsangaben und stellt diese in drei Unterpfaden zur Verfügung:
•(Pfad)/dmsAsString: enthält bei Code 102 z. B. "19.12.2014", bei Code 610 "Dezember 2014" und bei Code 616 "KW 51, 2014".
•(Pfad)/dmsAsDate: gibt immer ein Kalenderdatum zurück und ist bei Code 102 mit dmsAsString identisch. Bei Code 610 der letzte Tag im Monat, bei Code 616 der Freitag in der angegebenen Woche.
•(Pfad)/dmsDateCode: der Code "102", "610" oder "616".
Beispiel für die Abfrage eines dekodierten Datums:
{AutoCaptEInvoice:CrossIndustryInvoice/ExchangedDocument/IssueDateTime/DateTimeString/dmsAsDate}
Beispiele
Den Verkäufernamen und die Rechnungsnummer in globale Variablen kopieren:
{AutoCaptCreate:{Source}}
{RaiseError:Ungültige E-Rechnung,{AutoCaptEInvoice:DocFileName}=}
{SetPublVar:EInvcSeller={AutoCaptEInvoice:SellerName}}
{SetPublVar:EInvcDocNo={AutoCaptEInvoice:DocNo}}
{MessageDlg:{GetPublVar:*List}}
Netto-Betrag bei ZUGFeRD
{AutoCaptEInvoice:CrossIndustryInvoice/SupplyChainTradeTransaction/ApplicableHeaderTradeSettlement/ApplicableTradeTax/BasisAmount}
Rechnungsbetrag bei allen Formaten
{AutoCaptEInvoice:Amount}
Siehe auch
Belegerkennung im Importprofil aktivieren
Forum elektronische Rechnung Deutschland
Hinweise zur elektronischen Rechnungsarchivierung