Modul zur Verarbeitung von E-Rechnungen (ZUGFeRD und XRechnung) mit dem BelegService (proALPHA)
Im Folgenden ist die Lösung für die Verarbeitung von elektronischen Rechnungen (ZUGFeRD und XRechnung) mit dem Belegservice für proALPHA beschrieben.
Zielsetzung
Die Verarbeitung von elektronischen Rechnungen (ZUGFeRD und XRechnung) mit dem Belegservice soll es unseren Kunden ermöglichen ZUGFeRD und XRechnungen zu verarbeiten.
Hierbei sollen die Vorteile des elektronischen Rechnungsformats genutzt werden, um die Rechnungsverarbeitung mit dem Belegservice noch schneller und sicherer zu machen. So werden durch die Integration von ZUGFeRD und XRechnung Probleme wie OCR- oder Lesefehler eliminiert, da diese Formate maschinenlesbare Daten direkt bereitstellen.
Übersicht Verarbeitungsstrecke
Empfang
Eingesetzte Komponenten: MailService, OCRService, IntegrationPlatform
- ZUGFeRD und XRechnungen werden nach der Mailabholung durch den MailService automatisch durch die IntegrationPlatform als solche erkannt und gesondert von den anderen Belegen weiterverarbeitet werden.
Wir gehen davon aus, dass die ZUGFeRD oder XRechnungen als Pärchen (Bei ZUGFeRD PDF mit eingebetteter XML oder bei XRechnungen XML mit eingebetteter PDF) versendet werden. Erhalten wir XML und PDF getrennt, werden beide separat verarbeitet. In diesem Fall muss einer der beiden im Belegservice abgewiesen werden.
- XMLs, die keine XRechnung darstellen, werden verschoben und gemeldet (Protokoll und Mail)
Zusätzlich zur Mailabholung gibt es die Möglichkeit Rechnungen ZUGFeRD und XRechnungen direkt aus einem Verzeichnis abzuholen (z.B. wenn Rechnungen aus einem Portal heruntergeladen werden)
Verarbeitung
Eingesetzte Komponenten: IntegrationPlatform, PDF-Viewer, DokumentenCockpit, InvoiceReader, SerV3D
- Sowohl bei ZUGFeRD als auch XRechnung wird immer der XML-Datensatz verwendet.
- Das PDF-Dokument der ZUGFeRD-Datei wird im PDF-Viewer angezeigt.
Ersatzbelegerzeugung
- Für XRechnungen wird ein Ersatzbeleg erzeugt (mit SerV3D) und im PDF-Viewer angezeigt.
Liste aller Felder, die in dem Ersatzbeleg angezeigt werden
Allgemeine Rechnungsinformationen
Rechnungspositionsblock
Spezifikation des Produkts
Leistungszeiträume
Steuerinformationen (Position)
Monetäre Summen (Position)
Preise und Rabatte/Zuschläge
Referenzierte Dokumente
Lieferinformationen
Verkäuferinformationen
Käuferinformationen
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:Name: Name des Käufers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:PostcodeCode: PLZ des Käufers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineOne: Adresszeile 1 des Käufers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineTwo: Adresszeile 2 des Käufers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CityName: Stadt des Käufers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountryID: Länderkürzel des Käufers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName: Bundesland/Kanton/etc. des Käufers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID(schemeID="VA"): UStID des Käufers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID(schemeID="FC"): Steuernummer des Käufers
Verkäuferauftragsreferenz
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerOrderReferencedDocument/ram:IssuerAssignedID: Auftragsnummer
Käuferauftragsreferenz
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerOrderReferencedDocument/ram:IssuerAssignedID: Bestellnummer
Rahmenvertragsreferenz
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:ContractReferencedDocument/ram:IssuerAssignedID: Rahmenvertragsnummer
Warenempfängerinformationen
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:Name: Name des Empfängers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:PostcodeCode: PLZ des Empfängers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineOne: Adresszeile 1 des Empfängers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineTwo: Adresszeile 2 des Empfängers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CityName: Stadt des Empfängers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountryID: Länderkürzel des Empfängers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName: Bundesland/Kanton/etc. des Empfängers
Lieferinformationen
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ActualDeliverySupplyChainEvent/ram:OccurrenceDateTime/udt:DateTimeString(format="102"): Lieferdatum
Zahlungsinformationen
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PaymentReference: Verwendungszweck
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:InvoiceCurrencyCode: Währung der Rechnung
Empfängerkonto
- Kommentar: Empfängerkonto kann mehrfach vorkommen
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:IBANID: IBAN des Verkäufers
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:AccountName: Kontoinhaber
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeeSpecifiedCreditorFinancialInstitution/ram:BICID: Kennung des Zahlungsdienstleisters
Zahlungsbedingungen
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:Description: Textinformationen zur Zahlungsbedingung
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:DueDateDateTime/udt:DateTimeString(format="102"): Fälligkeitsdatum der Zahlung
Steuerinformationen (Kopfebene)
-
Kommentar: Steuerinformationen können mehrfach vorkommen
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CalculatedAmount: Steuersumme
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:BasisAmount: Zu versteuernder Basiswert
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:RateApplicablePercent: Prozentsatz der Steuer
Zuschläge und Rabatte (Kopfebene)
-
Kommentar: Zuschläge und Rabatte auf Kopfebene können mehrfach vorkommen
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator/udt:Indicator: Kennzeichen zur Unterscheidung von Rabatt oder Zuschlag
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:CalculationPercent: Prozentuale Zuschlagsmenge
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ActualAmount: Wert des Rabattes oder Zuschlags
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:Reason: Grund des Zuschlags oder Rabattes
Rechnungssummen
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:LineTotalAmount: Positionssumme Gesamt
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxBasisTotalAmount: Nettosumme der Rechnung
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount: Steuerwert
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:GrandTotalAmount: Bruttosumme der Rechnung
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TotalPrepaidAmount: Bereits geleistete Anzahlungen
- rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:DuePayableAmount: Zu zahlender Betrag
Das Layout des Ersatzbelegs ist durch StratOz definiert. Änderungen am Layout sind nicht vorgesehen.
Rechnungspositionen (ReKo Belege)
Der Belegservice versucht die Rechnungspositionen der ZUGFeRD und XRechnungen offenen Wareneingangspositionen des Lieferanten zuzuordnen. Hier greift dieselbe Logik wie bei Rechnungen, die nicht als ZUGFeRD oder XRechnung verarbeitet werden. Das bedeutet unter anderem:
- Rechnungspositionen, die nicht zugeordnet werden konnten, werden verworfen.
- an der Rechnungsposition werden Bestellmenge und Liefermenge sowie Bestellpreis und berechneter Preis auf Positionsebene abgeglichen.
Wurde kein Lieferant zugeordnet, muss dieser Manuell zugewiesen werden.
Rechnungspositionen (FiBu Belege)
FiBu Belege, die über die ReKo gebucht werden
- Am Template kann eingeschaltet werden ob das Template automatsch gezogen wird, oder erst nach X-Tagen
- Auswahl von Templates möglich
Gesamtwert auf die Position übertragen
- Der Gesamtwarenwert wird in ein Template geschrieben (Einzelpreis = Netto-Warenwert der Position).
- Menge wird nicht übernommen sondern ist immer 1
Übergabe (proALPHA)
- die XML wird an das Zielsystem übergeben
- Der Export der XRechnungs-XML kann auf expliziten Kundenwunsch deaktiviert werden
- die ZUGFeRD-PDF, XRechnung-PDF oder Ersatzbeleg-PDF wir an das Zielsystem übergeben
Rechnungspositionen (ReKo Belege)
- Abweichungen in den Rechnungsposition (im Bereich von Bestellmenge, Liefermenge, Bestellpreis, berechneter Preis) werden mit dem Status "gelb" an der Position nach proALPHA übergeben und entsprechend dort in der ReKo farblich gekennzeichnet.
Preise (Einzelpreis; WE-Wert; Zu- und Abschläge) werden auf zwei Nachkommastellen bei der Übergabe an das Zielsystem im Bereich der Schnittstelle gerundet. (pA-spezifische Anforderung)
Mengen werden auf drei Nachkommastellen bei der Übergabe an das Zielsystem im Bereich der Schnittstelle gerundet. (pA-spezifische Anforderung)
Rechnungspositionen (FiBu Belege)
FiBu Belege, die über die ReKo gebucht werden
- Die Rechnungspositionen werden analog zum Template an proALPHA übergeben
Preise (Einzelpreis; WE-Wert; Zu- und Abschläge) werden auf zwei Nachkommastellen bei der Übergabe an das Zielsystem im Bereich der Schnittstelle gerundet. (pA-spezifische Anforderung)
Unterstützte E-Rechnungsformate
-
unser Modul bietet umfassende Unterstützung für die folgenden E-Rechnungsformate:
- ZUGFeRD ab Version 2.2.0
- XRechnung ab Version 3.0.1
Ältere Versionen, das heißt ZUGFeRD vor 2.2.0 und XRechnung vor 3.0.1, wurden nicht auf Kompatibilität geprüft und können bei Bedarf individuell betrachtet werden.Auf Anfrage unterstützen wir auch weitere E-Rechnungsformate – beispielsweise für Mandanten mit Sitz außerhalb Deutschlands.
