Arbeiten mit XRechnung
Events
Wir bieten Ihnen die Möglichkeit sich mit Events in unsere Programmierlogik einzuklinken, hier beschreiben wir Ihnen wie dies geht.
Um ein Event für Verkaufsrechnungen bzw. Servicerechnungen zu subscriben, muss der XML-Port BEL365 S. Inv. XRechnung 2.0 in einem EventSubscriber angegeben werden.
Beispiel:
|
|
Für Verkaufsgutschriften bzw. Servicegutschriften ist als folgender XML-Port einzutragen: BEL365 S. Cr. M. XRechnung 2.0.
Beispiel:
|
|
Connector 365 XRechnung bedient sich teilweise aus Funktionen der Microsoft Standard-Codeunit: PEPPOL Management (1605).
Die betroffenden Events werden in dieser Dokumentation mit einer Hinweis-Box versehen.
Die XRechnung-Events bieten die Möglichkeit, Business Terms zu „füllen“ nachdem Sie standardmäßig gesetzt werden und noch bevor Sie weiterverarbeitet, also in die resultierende XML-Datei eingefügt werden. Die Business Terms werden dabei jeweils als Text-Variable übergeben. Vorangestellt an diesen Variablen steht das Schlüsselwort VAR, welches angibt, dass die Variablen Referenzen auf die ursprünglichen Variablen sind.
Nachdem Sie eine Funktion als Subscriber definiert haben, so können Sie die übergebenen Variablen beliebig und nach eigener Logik füllen.
Beispiel
|
|
Die Funktion SubAfterGetLineInvoicePeriod ist hier ein Subscriber für das Event OnAfterGetLineInvoicePeriodInfo.
Unabhängig von der Standardmäßigen Logik der Füllung der Variablen, enthält InvLineInvoicePeriodEndDate nach Erzeugung der XRechnung nun den Wert „2021-04-15“ und erscheint so in der resultierenden XML-Datei. Gleiche Vorgehensweise gilt für alle weiteren Events.
Im Folgenden eine Auflistung der verfügbaren Events und die damit zu verändernden Variablen.
Zu Beginn des XML-Ports wird überprüft, ob es sich um einen Verkaufsbeleg bzw. um einen Servicebeleg handelt. Anschließend werden die zugehörigen Record-Variablen in die Variablen „Sales Header“ und „Sales Line“ transferiert, welche von dort an über den gesamten XML-Port verwendet werden. Beispiel für Verkaufsrechnungen:
„Sales Invoice Header“ -> „Sales Header“,
„Sales Invoice Line“ -> „Sales Line“.
Dies ist der Grund, weshalb alle folgenden Events mit „Sales Header“ oder mit „Sales Line“ arbeiten.
GetGeneralInfoBIS
|
|
| Name | Business Term | Semantischer Datentyp | ||||||
|---|---|---|---|---|---|---|---|---|
| Invoice number | BT-1 | Identifier | ||||||
| Eine eindeutige Kennung der Rechnung, die diese im System des Verkäufers identifiziert. | ||||||||
| Invoice issue date | BT-2 | Date | ||||||
| Das Datum, an dem die Rechnung ausgestellt wurde. | ||||||||
| Invoice type code | BT-3 | Code | ||||||
| Ein Code, der den Funktionstyp der Rechnung angibt. Anmerkung: Der Rechnungstyp muss gemäß UNTDID 1001 spezifiert werden. | ||||||||
| Invoice currency code | BT-5 | Code | ||||||
| Die Währung, in der alle Rechnungsbeträge angegeben werden, ausgenommen ist der Umsatzsteuer-Gesamtbetrag, der in der Abrechnungswährung anzugeben ist. | ||||||||
| Value added tax point date | BT-7 | Date | ||||||
| Das Datum, zu dem die Umsatzsteuer für den Verkäufer und für den Erwerber abrechnungsrelevant wird. Die Anwednung von BT-7 und 8 schließen sich gegenseitig aus. | ||||||||
| Buyer accounting reference | BT-19 | Text | ||||||
| Ein Textwert, der angibt, an welcher Stelle die betreffenden Daten in den Finanzkosten des Erwerbers zu buchen sind. | ||||||||
| Invoice note | BT-22 | Text | ||||||
| Ein Textvermerk, der unstrukturierte Informationen enthält, die für die Rechnung als Ganzes maßgeblich sind. | ||||||||
OnGetInvoicePeriod
|
|
| Name | Business Term | Semantischer Datentyp |
|---|---|---|
| Invoicing period start date | BT-73 | Date |
| Das Datum, an dem der Abrechnungszeitraum beginnt. | ||
| Invoicing period end date | BT-74 | Date |
| Das Datum, an dem der Abrechnungszeitraum endet. | ||
Das Event OnGetInvoicePeriod kann genutzt werden, um das Leistungsdatum bzw. ein Leistungszeitraum für eine Rechnung festzulegen. Dabei wird ein Zeitraum durch einen Start- und einen Endzeitpunkt definiert, die jeweils folgendes Format erhalten sollen: „YYYY-MM-DD“. Beispiel: 2017-10-01
OnAfterGetLineInvoicePeriodInfo
|
|
Dieses Event setzt das Leistungsdatum ähnlich wie bei OnGetInvoicePeriod fest, jedoch auf Zeilenebene.
OnAfterGetAccountingSupplierPartyContact (BG-6)
|
|
| Name | Business Term | Semantischer Datentyp |
|---|---|---|
| Seller Contact Point | BT-41 | Text |
| Angaben zu Ansprechpartner oder Kontaktstelle (wie z.B. Name einer Person, Abteilungs- oder Bürobezeichnung | ||
| Seller contact telephone number | BT-42 | Text |
| Telefonnummer des Ansprechpartners oder der Kontaktstelle | ||
| Seller contact email address | BT-43 | Text |
| Eine E-Mail-Adresse des Ansprechpartners oder der Kontaktstelle | ||
Business Rules:
BR-DE-2: Die Gruppe „SELLER CONTACT“ (BG-6) ist zwingend zu übermitteln.
BR-DE-5: Das Element „SELLER CONTACT POINT“ (BT-41) ist zwingend zu übermitteln.
BR-DE-6: Das Element „SELLER CONTACT TELEPHONE NUMBER“ (BT-42) ist zwingend zu übermitteln.
BR-DE-7: Das Element „SELLER CONTACT EMAIL ADDRESS“ (BT-43) ist zwingend zu übermitteln.
OnAfterGetPaymentTermsInfo
|
|
Eine Textbeschreibung der Zahlungsbedingungen, die für den fälligen Zahlungsbetrag gelten (einschließlich Beschreibung möglicher Skonto- und Verzugsbedingungen.) Dieses Informationselement kann mehrere Zeilen und mehrere Angaben zu Zahlungsbedingungen beinhalten und sowohl unstrukturierten als strukturierten Text enthalten. Der unstrukturierte Text darf dabei keine # enthalten.
Spezifikation XRechnung Standard und Extension
Version XRechnung 2.0.0 | Fassung vom 16.12.2020
OnGetOrderLineReference
|
|
Referenced purchase oder line reference
Eine vom Erwerber ausgegebene Kennung für eine referenzierte Position einer Bestellung / eines Auftrags.
Anmerkung: Auf den Auftrag wird auf Rechnungsebene Bezug genommen.
Spezifikation XRechnung Standard und Extension
Version XRechnung 2.0.0 | Fassung vom 16.12.2020
OnAfterGetPaymentMeansInfo (BG-16)
|
|
| Name | Business Term | Semantischer Datentyp |
|---|---|---|
| Payment means type code | BT-81 | Code |
| Das als Code ausgedrückte erwartete oder genutzte Zahlungsmittel. Hierzu wird auf die Codeliste UN/ECE 4461 verwiesen | ||
| Payment means text | BT-82 | Text |
| Das in Textform ausgedrückte erwartete oder genutzte Zahlungsmittel | ||
| Remittance information | BT-83 | Text |
| Ein Textwert, der zur Verknüpfung der Zahlung mit der vom Verkäufer ausgestellten Rechnung verwendet wird | ||
| Payment card primary account number | BT-87 | Text |
| Die Nummer der Kreditkarte, die für die Zahlung genutzt wurde | ||
Business Rules:
BR-DE-1: Eine Rechnung (INVOICE) muss Angaben zu „PAYMENT INSTRUCTIONS“ (BG-16) enthalten.
BR-DE-13: In der Rechnung müssen Angaben zu einer der drei Gruppen „CREDIT TRANSFER“ (BG-17), „PAYMENT CARD INFORMATION“ (BG-18) oder „DIRECT DEBIT“ (BG-19) gemacht werden.
OnAfterGetContractDocRefInfo
|
|
| Name | Business Term | Semantischer Datentyp |
|---|---|---|
| Contract reference | BT-12 | Document Reference |
| Eine eindeutige Bezeichnung des Vertrages (z.B: Vertragsnummer). | ||
OnAfterGetAccountingCustomerPartyInfoBIS
|
|
| Name | Business Term | Semantischer Datentyp |
|---|---|---|
| Buyer electronic address | BT-49 | Identifier |
| Gibt eine elektronische Adresse des Erwerbers an, an die eine Rechnung gesendet werden sollte. | ||
| Buyer electronic address/Scheme identifier | ||
| Das Bildungsmuster für Buyer electronic address. Es ist die Codeliste Electronic Address Scheme code list (EAS) zu verwenden. Die Codeliste wird von der Connecing Europe Facility gepflegt und herausgegeben. |
||
| Buyer identifier | BT-46 | Identifier |
| Eine (i.d.R. vom Verkäufer vergebene) Kennung des Erwerbers, wie z.b. die Debitorennummer für die Buchhaltung oder die Kundennummer für die Auftragsverwaltung. Anmerkung: Für die Bildung des Buyer Identifier ist kein einheitliches Schema erforderlich |
||
| Die Kennungs des Bildungsschemas für den "Buyer identifier". | ||
Anmerkung: Wenn das Element verwendet wird, ist der Eintrag aus der von der ISO/IEC 6523 maintenance agency veröffentlichten Liste zu wählen. |
||
| Buyer trading name | BT-45 | Text |
| Ein Name, unter dem der Erwerber bekannt ist, sofern abweichend vom Namen des Erwerbers. | ||
OnAfterGetPaymentMeansPayeeFinancialAccBIS (BG-17)
|
|
| Name | Business Term | Semantischer Datentyp |
|---|---|---|
| Payment account identifier | BT-84 | Identifier |
| Die Kennung des Kontos, auf das die Zahlung erfolgen soll: IBAN für Zahlungen im SEPA-Raum, Kontonummer oder IBAN im Fall von Auslandszahlungen | ||
| Payment account name | BT-85 | Text |
| Name des Kontos bei einem Zahlungsdienstleister, auf das die Zahlunge erfolgeng soll. (z.B. Kontoinhaber) | ||
OnAfterGetLineGeneralInfo
|
|
OnAfterGetLineItemInfo
|
|
Ermöglicht die Anpassung von Artikelinformationen für Rechnungszeilen, einschließlich Beschreibung, Name und verschiedener Identifikations-IDs. Dieses Event wird verwendet, um artikelspezifische Daten wie Verkäufer- und Standard-Identifikationen sowie Herkunftsland-Informationen zu modifizieren.
OnAfterGetAccountingSupplierPartyLegalEntityBIS
|
|
Ermöglicht die Anpassung der rechtlichen Angaben des Lieferanten, einschließlich des registrierten Firmennamens, der Unternehmens-ID und der Registrierungsadresse. Dieses Event wird verwendet, um die rechtliche Identität und Registrierungsdaten des Verkäufers in der XRechnung zu modifizieren.
OnAfterGetAccountingSupplierPartyTaxSchemeBIS
|
|
Ermöglicht die Anpassung der Steuerschema-Informationen des Lieferanten, einschließlich der Steuer-ID und des Steuerschema-Bezeichners. Dieses Event wird verwendet, um umsatzsteuerrechtliche Identifikationen und Klassifikationen des Verkäufers zu modifizieren.
OnAfterGetAccountingSupplierPartyPostalAddr
|
|
Ermöglicht die Anpassung der Postanschrift des Lieferanten, einschließlich Straßenname, Stadt, Postleitzahl und Länderinformationen. Dieses Event wird verwendet, um die vollständigen Adressdaten des Verkäufers in der XRechnung zu modifizieren.
OnAfterGetAccountingSupplierPartyInfoBIS
|
|
| Name | Business Term | Semantischer Datentyp |
|---|---|---|
| Seller electronic address | BT-34 | Identifier |
| Gibt die elektronische Adresse des Verkäufers an, an die die Antwort der Anwendungsebene auf eine Rechnung gesendet werden kann. | ||
| Seller trading name | BT-28 | Text |
| Ein Name, unter dem der Verkäufer bekannst ist, sofern abweichend vom Namen des Verkäufers. | ||
OnAfterGetSupplierPartyIdentificationID
|
|
| Name | Business Term | Semantischer Datentyp |
|---|---|---|
| Seller identifier | BT-29 | Identifier |
| Eine (i. d. R. vom Erwerber vergebene) Kennung des Verkäufers, wie z. B. die Kreditorennummer für das Mittelbewirtschaftungsverfahren oder die Lieferantennummer für das Bestellsystem. | ||
| Seller identifier/Scheme identifier | BT-29-1 | |
| Kennung des Bildungsschemas für das Element ‚Seller identifier‘ (BT-29). Anmerkung: Wenn das Element verwendet wird, ist die Kennung aus den Einträgen der von der ISO/IEC 6523 maintenance agency veröffentlichten Liste zu wählen. | ||
OnAfterGetAccountingCustomerPartyPostalAddr
|
|
Ermöglicht die Anpassung der Postanschrift des Kunden, einschließlich Straßenname, Stadt, Postleitzahl und Länderinformationen. Dieses Event wird verwendet, um die vollständigen Adressdaten des Käufers in der XRechnung zu modifizieren.
OnAfterGetAccountingCustomerPartyTaxSchemeBIS
|
|
Ermöglicht die Anpassung der Steuerschema-Informationen des Kunden, einschließlich der Steuer-ID und des Steuerschema-Bezeichners. Dieses Event wird verwendet, um umsatzsteuerrechtliche Identifikationen des Käufers zu modifizieren.
OnAfterGetAccountingCustomerPartyLegalEntityBIS
|
|
Ermöglicht die Anpassung der rechtlichen Angaben des Kunden, einschließlich des registrierten Firmennamens und der Unternehmens-ID. Dieses Event wird verwendet, um die rechtliche Identität und Registrierungsdaten des Käufers in der XRechnung zu modifizieren.
OnAfterGetAccountingCustomerPartyContact
|
|
Ermöglicht die Anpassung der Kontaktinformationen des Kunden, einschließlich Name, Telefon, Fax und E-Mail-Adresse. Dieses Event wird verwendet, um die Kommunikationsdaten des Käufers in der XRechnung zu modifizieren.
OnAfterGetGLNDeliveryInfo
|
|
Ermöglicht die Anpassung von GLN-basierten (Global Location Number) Lieferinformationen, einschließlich des tatsächlichen Lieferdatums und der Lieferungs-ID. Dieses Event wird verwendet, um spezifische Lieferidentifikationen und -termine zu modifizieren.
OnAfterGetDeliveryAddress
|
|
Ermöglicht die Anpassung der Lieferadresse, einschließlich Straßenname, Stadt, Postleitzahl und Länderinformationen. Dieses Event wird verwendet, um die vollständigen Lieferadressdaten in der XRechnung zu modifizieren.
OnAfterGetLineItemClassfiedTaxCategoryBIS
|
|
Ermöglicht die Anpassung der klassifizierten Steuerkategorie-Informationen für Rechnungszeilen, einschließlich der Steuerkategorie-ID und des Steuerprozentsatzes. Dieses Event wird verwendet, um artikelspezifische Steuerklassifikationen zu modifizieren.
OnAfterGetLineAllowanceChargeInfo
|
|
Ermöglicht die Anpassung von Zu- und Abschlägen auf Rechnungszeilen-Ebene, einschließlich Indikator, Grund und Betrag. Dieses Event wird verwendet, um positionsspezifische Preisanpassungen und deren Begründung zu modifizieren.
OnAfterGetLineDeliveryInfo
|
|
Ermöglicht die Anpassung der Lieferinformationen auf Rechnungszeilen-Ebene, einschließlich des tatsächlichen Lieferdatums und der Lieferungs-ID. Dieses Event wird verwendet, um positionsspezifische Lieferdaten zu modifizieren.
OnAfterGetLineDeliveryPostalAddr
|
|
Ermöglicht die Anpassung der Lieferadresse auf Rechnungszeilen-Ebene, einschließlich Straßenname, Stadt, Postleitzahl und Länderinformationen. Dieses Event wird verwendet, um positionsspezifische Lieferadressdaten zu modifizieren.
OnAfterGetTaxRepresentativePartyInfo
|
|
Ermöglicht die Anpassung der Informationen zum Steuervertreter, einschließlich des Namens und der steuerlichen Identifikationsdaten. Dieses Event wird verwendet, um Angaben zu steuerlichen Vertretern in der XRechnung zu modifizieren.
OnAfterGetAllowanceChargeInfo
|
|
Ermöglicht die Anpassung von Zu- und Abschlägen auf Dokument-Ebene, einschließlich Indikator, Grund, Betrag und Steuerkategorie. Dieses Event wird verwendet, um rechnungsweite Preisanpassungen und deren steuerliche Behandlung zu modifizieren.
OnAfterGetTaxExemptionReason
|
|
Ermöglicht die Anpassung von Steuerbefreiungsgründen und Steuerkategorie-Informationen. Dieses Event wird verwendet, um die Begründung für Steuerbefreiungen und zugehörige Steuerklassifikationen zu modifizieren.
OnAfterGetLineAdditionalItemPropertyInfo
|
|
Ermöglicht die Anpassung zusätzlicher Artikeleigenschaften auf Rechnungszeilen-Ebene, einschließlich Name und Wert der Eigenschaft. Dieses Event wird verwendet, um erweiterte artikelspezifische Informationen und Eigenschaften zu modifizieren.
OnAfterGetLinePriceAllowanceChargeInfo
|
|
Ermöglicht die Anpassung von preisbezogenen Zu- und Abschlägen auf Rechnungszeilen-Ebene, einschließlich Indikator, Betrag und Basisbetrag. Dieses Event wird verwendet, um preisliche Adjustierungen und Rabatte auf Positionsebene zu modifizieren.
OnAfterSetLinePriceAllowanceChargeInfo
|
|
Dieses Event wird ausgelöst nach der Zuweisung der Preis-Allowance-Charge-Informationen für eine Verkaufszeile. Es ermöglicht weitere Anpassungen an den Allowance-Charge-Daten auf Zeilenebene.
OnAfterSetLineAllowanceChargeInfo
|
|
Dieses Event wird ausgelöst nach der Zuweisung der Allowance-Charge-Informationen für eine Verkaufszeile. Es ermöglicht weitere Anpassungen an den Allowance-Charge-Daten auf Zeilenebene.
OnAfterSetAllowanceChargeInfo
|
|
Dieses Event wird ausgelöst nach der Zuweisung der Allowance-Charge-Informationen auf Belegebene. Es ermöglicht weitere Anpassungen an den Allowance-Charge-Daten auf Headerebene.
OnAfterGetCrMemoBillingReferenceInfo (Gutschrift-spezifisch)
|
|
Dieses Event ist spezifisch für Gutschriften und wird ausgelöst nach dem Ermitteln der Rechnungsreferenz-Informationen. Es ermöglicht die Anpassung der Referenz-ID und des Ausstellungsdatums der ursprünglichen Rechnung.
OnAfterGetLineItemInfoWithBuyersItemIdentificationID
|
|
Erweiterte Version des OnAfterGetLineItemInfo Events, die zusätzlich die Möglichkeit bietet, die Buyers Item Identification ID zu setzen. Ermöglicht die Zuordnung von artikelspezifischen Käufer-IDs.
OnAfterGetAccountingSupplierPartyLegalEntityBISWithLegalForm
|
|
Erweiterte Version des OnAfterGetAccountingSupplierPartyLegalEntityBIS Events mit zusätzlicher Unterstützung für die Rechtsform (LegalForm) des Lieferanten.
OnAfterGetDeliveryAddressWithDeliveryPartyName
|
|
Erweiterte Version des OnAfterGetDeliveryAddress Events, die zusätzlich den Namen der Lieferpartei ermöglicht.
OnAfterGetPaymentMeansPayeeFinancialAccBISWithPayeeFinancialAccountName
|
|
Erweiterte Version des OnAfterGetPaymentMeansPayeeFinancialAccBIS Events mit zusätzlicher Unterstützung für den Namen des Zahlungsempfänger-Kontos.
OnBeforeGetTotals
|
|
Dieses Event wird ausgelöst vor der Berechnung der Gesamtbeträge für eine Verkaufszeile. Es ermöglicht das Überspringen bestimmter Zeilen bei der Gesamtberechnung oder die Modifikation der Zeilen vor der Verarbeitung.
OnAfterGetBuyerReference
|
|
Ermöglicht die Anpassung der Käuferreferenz, die für die Identifikation beim Käufer verwendet wird.
OnGetInvoiceLine (Rechnung-spezifisch)
|
|
Dieses Event wird für jede Rechnungszeile ausgelöst und ermöglicht es, bestimmte Zeilen zu überspringen. Durch Setzen von skip auf true kann eine Zeile von der XRechnung-Erzeugung ausgeschlossen werden.
OnGetCrMemoLine (Gutschrift-spezifisch)
|
|
Dieses Event wird für jede Gutschriftzeile ausgelöst und ermöglicht es, bestimmte Zeilen zu überspringen. Durch Setzen von skip auf true kann eine Zeile von der XRechnung-Erzeugung ausgeschlossen werden.