Datenmodell einer elektronischen Rechnung
Accantum GmbH Äußere Oberaustr. 36/4D-83026 Rosenheim
Titel: |
Datenmodell einer elektronischen Rechnung |
Betreff: |
Konzept |
Erstelldatum: |
01.09.2019; HZI |
Letzte Bearbeitung: |
15.06.2020 15:34:00, HZI |
Revisionsnummer: |
1.00 |
Speicherort: |
Q:\ITSW02-Intern\WMS\20_Konzept\Elektronische Rechnung\WMS_ElektronischeRechnungen.docx |
© Accantum GmbH
Die Weitergabe, sowie Vervielfältigung dieser Unterlage, auch von Teilen, Verwertung und Mitteilung ihres Inhaltes ist nicht gestattet, soweit nicht ausdrücklich durch die Accantum GmbH zugestanden. Zuwiderhandlung verpflichtet zu Schadenersatz. Alle Rechte vorbehalten.
Inhaltsverzeichnis
1 Inhaltsverzeichnis
2 Änderungsverfolgung
3 Elektronische Rechnung
3.1 Anforderung
3.2 Lösungsansatz
4 Rechnungsobjekt
4.1.1 Spezifikation
4.1.2 Hauptdatensatz einer Rechnung (WmsInvoice)
4.1.3 Adressdetails (WmsAddressDetails)
4.1.4 Kontaktdaten (WmsAddressContact)
4.1.5 Abrechnungsperiode (WmsInvoicePeriod)
4.1.6 Lieferinformationen (WmsDeliveryInformation)
4.1.7 Zahlungsbedingungen (WmsPaymentTerms)
4.1.8 Zahlungsanweisung (WmsPaymentMeans)
4.1.9 Zu- bzw. Abschläge (WmsAllowanceCharge)
4.1.10 Gesamtbeträge der Rechnung (WmsMonetarySummation)
4.1.11 Steuer-Informationen (WmsTaxDetail)
4.1.12 Freie Notiz (WmsInvoiceNote)
4.1.13 Zusätzlich referenziertes Dokument (WmsAdditionalReferencedDocument)
4.1.14 Positionstabelle (WmsInvoiceLineItem)
4.1.15 Referenzen auf vorausgehende Dokumente (WmsPrecedingDocumentReference)
4.1.16 Kontierungs- und Buchhaltungsinformationen (WmsAccountingInformation)
4.1.17 Kontierungstabelle (WmsAccountingAllocation)
4.1.18 Buchungstabelle
5 Validierungen
5.1 Validierung der Positionsliste
5.1.1 Belegbasierte Kontierung
5.1.2 Positionsbasierte Kontierung
5.2 Validierung der Kontierungsliste
5.2.1 Belegbasierte Kontierung
5.2.2 Positionsbasierte Kontierung
6 Pflichtinformationen gem. ERechV des Bundes
7 Fragen und Anforderungen
8 Glossar
9 Abbildungsverzeichnis
Änderungsverfolgung
Datum |
Änderung |
WMS-Version |
01.09.2019 |
Erstellung des Konzepts |
1.0.1 |
19.11.2019 |
Rechnungsobjekt um folgende Eigenschaften erweitert:
|
1.0.2 |
05.12.2019 |
Erweiterungen des Objekts WmsAccountingAllocation |
1.0.2 |
19.12.2019 |
Neues Objekt WmsAccountingInformation eingeführt. |
1.0.3 |
27.03.2020 |
Erweiterung des Rechnungsobjekts um Felder für Lastschrift-Informationen |
1.0.3 |
03.04.2020 |
Erweiterung des Rechnungsobjekts und der Rechnungspositionen um eine Liste von Zu- und Abschlägen, zusätzlich referenzierten Dokumente (verlinkt bzw. embedded) |
1.0.4 |
07.04.2020 |
Änderungen am Rechnungsobjekts
|
1.0.4 |
20.04.2020 |
Verschieben der Eigenschaften DirectDebitManteId und CreditorReferenceId von der Klasse WmsPaymentTerms in die Klasse WmsPaymentMeans |
1.0.4 |
27.04.2020 |
Erweiterung der Kontierung um Eigenschaft WmsAccountingInformation.TotalAmount |
1.0.4 |
07.05.2020 |
Erweiterung von WmsInvoice um Versionierung und Quellenangabe der Daten; Erweiterung der Positions- und Kontierungstabelle um fünf Zusatzfelder |
1.0.4 |
08.05.2020 |
Erweiterung der Positions- und Kontierungstabelle um eine eindeutige interne ID |
1.0.4 |
11.05.2020 |
Erweiterung der Positionstabelle mit einen Verarbeitungsstatus und der Kontierungstabelle mit dem Splitt-Typ |
1.0.4 |
Elektronische Rechnung
Anforderung
- Es sollen elektronische Rechnungen analysiert und Dokumente mit den ermittelten Werten verschlagwortet werden können.
- Die Werte sollen für die (automatische) Weiterverarbeitung der Rechnungs- und Buchungsdaten übernommen werden können (z.B. DATEV-Export)
- Die Werte sollen aus folgenden Formaten übernommen werden können (wird im Laufe der Zeit je nach Anforderung umgesetzt):
- ZUGFeRD 2.0 / 2.1 (Factur-X)
- X-Rechnung (deutsches Format)
- ebInvoice (österreichisches Format)
- Capture-Export (DMS)
- Dokument-Metadaten-Export (DMS)
- (Bludelta AI)
Lösungsansatz
- Die unterschiedlichen Formate werden in ein einheitliches Rechnungsobjekt überführt
- Das Rechnungsobjekt enthält auch je eine Tabelle für Rechnungspositionen und Kontierungsdaten
Rechnungsobjekt
Spezifikation
- Die in Klammern angegebene BT-Spezifikation bezieht sich auf die Business Terms der europäischen Norm für elektronische Rechnungen (EN 16931-1)
- Die Namen der Objekteigenschaften sind an die Feld-Bezeichnungen der Spezifikation ZUGFeRD 2.0 angelehnt.
Hauptdatensatz einer Rechnung (WmsInvoice)
Die Klasse WmsInvoice enthält die wichtigsten Daten einer Rechnung.
Feldbezeichnung |
Beschreibung(inkl. der ID des Business Terms der Norm EN 16931-1) |
Datentyp |
Version |
Interne Versionsnummer für das Rechnungsobjekt (für eine spätere Migration bei Änderungen) |
Version |
QualifiedDatasource |
Kennzeichen, ob die Daten von einer qualifizierten Datenquelle stammen (z.B. ZUGFeRD, XRechnung, ebInvoice). |
Boolean |
DatasourceName |
Name der Datenquelle (z.B. ZUGFeRD, XRechnung, Capture, etc.) |
String |
DocumentId |
ID des Dokuments (z.B. die interne ID des DMS-Dokuments) zwecks eindeutiger Zuordnung zum zugrundeliegenden Beleg. |
String |
ExternalId |
Externe ID des Dokuments aus einem Drittsystem |
String |
InvoiceNumber |
Rechnungsnummer (BT-1) |
String |
InvoiceIssueDate |
Rechnungsdatum (BT-2) |
DateTime |
InvoiceTypeCode |
Typ-Code der Rechnung (BT-3)
|
String |
Seller |
Verkäufer-Informationen (siehe Tabelle Adress-Details) |
WmsAdressDetails |
Buyer |
Käufer-Informationen (siehe Tabelle Adress-Details) |
WmsAdressDetails |
SellerOrderReferenceId |
Nummer der Auftragsbestätigung (BT-14) |
String |
BuyerOrderReferenceId |
Bestellnummer (BT-13) |
String |
BuyerReference |
Referenz des Käufers (BT-10) |
String |
BillingSpecifiedPeriod |
Optionale Angabe zur Rechnungsperiode (BG-14) |
WmsInvoicePeriod |
DeliveryInformation |
Informationen zur Lieferung |
WmsDelivery-Information |
PaymentTerms |
Zahlungsbedingungen (siehe Tabelle Zahlungsbedin-gungen) |
WmsPaymentTerms |
PaymentMeans |
Zahlungsanweisung (siehe Tabelle Zahlungsanweisung) |
WmsPaymentMeans |
IncludedNotes |
Freitext zur Rechnung (BG-1) |
Liste<WmsInvoice-Note> |
AdditionalReferenced-Documents |
Zusätzlich referenzierte Dokumente (BG-24) |
Liste<Wms-Additional-Referenced-Document> |
LanguageId |
Sprache (de, en, es, it, fr, …) |
String |
Currency |
Währung (BT-5) |
String |
ConversionRate |
Umrechnungskurs bei ausländischer Währung (muss 6 Nachkommastellen haben) RegEx-Pattern: [+-]?([1-9]\d{0,3}|0)(\.\d{6}) |
String |
AllowanceChargeList |
Liste mit Zu- bzw. Abschläge auf Dokumentebene (BG-20, BG-21) |
Liste<Wms-AllowanceCharge> |
MonetarySummation |
Gesamtbeträge der Rechnung (siehe Tabelle Gesamtbeträge der Rechnung) |
WmsMonetary-Summation |
TaxDetails |
Liste mit Steuer-Informationen(siehe Tabelle Steuer-Informationen) |
Liste<WmsTax-Detail> |
LineItems |
Tabelle mit Rechnungspositionen (siehe Tabelle Positionstabelle) |
Liste<WmsInvoice-LineItem> |
WmsPrecedingDocument References |
Liste mit Informationen zu referenzierten Dokumenten, welche für die Rechnungsstellung relevant sind (z.B. Bestellung, Lieferschein, etc.) |
Liste<WmsPreceding Document Reference> |
AccountingInformation |
Informationen zu Kontierungs- und Buchhaltungs-daten |
WmsAccounting-Information |
AdditionalInfo1-5 |
Zusatzinfo 1-5 |
String |
Adressdetails (WmsAddressDetails)
Die Klasse WmsAddressDetails enthält die wichtigsten Adressdaten und die Umsatzsteuer-ID und wird sowohl für den Verkäufer (BG-5) als auch für den Käufer (BG-7) und der Lieferadresse (BG-15) verwendet.
Feldbezeichnung |
Beschreibung(inkl. der ID des Business Terms der Norm EN 16931-1) |
Datentyp |
ReferenceId |
Nummer (Verkäufer: BT-29, Käufer: BT-46, Lieferanschrift: BT-71) |
String |
GlobalId |
Globale ID (Verkäufer: BT-29-0, Käufer: BT-46-0, Lieferanschrift: BT-71-0) |
String |
GlobalSchemeId |
Kennung des Schemas für die GlobalId (Verkäufer: BT-29-1, Käufer: BT-46-1, Lieferanschrift: BT-71-1)
|
String |
Name |
Name (Verkäufer: BT-27, Käufer: BT-44, Lieferanschrift: BT-70) |
String |
Postcode |
Postleitzahl (Verkäufer: BT-38, Käufer: BT-53, Lieferanschrift: BT-78) |
String |
CityName |
Ort (Verkäufer: BT-37, Käufer: BT-52, Lieferanschrift: BT-77) |
String |
AddressLine1 |
Adresszeile 1 (Verkäufer: BT-35, Käufer: BT-50, Lieferanschrift: BT-75) |
String |
AddressLine2 |
Adresszeile 2 (Verkäufer: BT-36, Käufer: BT-51, Lieferanschrift: BT-76) |
String |
AddressLine3 |
Adresszeile 3 (Verkäufer: BT-162, Käufer: BT-163, Lieferanschrift: BT-165) |
String |
CountryId |
Ländercode (Verkäufer: BT-40, Käufer: BT-55, Lieferanschrift: BT-79) |
String |
CountrySubdivision-Name |
Bundesland (Verkäufer: BT-39, Käufer: BT-54, Lieferanschrift: BT-79) |
String |
TaxId |
Steuer- bzw. Umsatzsteuer-ID (Verkäufer: BT-31/32, Käufer: BT-48, Lieferanschrift: -) RegEx-Pattern (lt. Datev): [0-9a-zA-Z\. _]{1,15} |
String |
Contact |
Kontaktdaten (Verkäufer: BG-6, Käufer: BG-9, Lieferanschrift: ---) |
WmsAddress-Contact |
Kontaktdaten (WmsAddressContact)
Die Klasse WmsAddressContact enthält die Kontaktdaten zur Adresse und wird sowohl für den Verkäufer (BG-6) als auch für den Käufer (BG-9) und der Lieferadresse verwendet.
Bei einer XRechnung muss eine Kontaktadresse des Verkäufers (BG-6) angegeben werden.
Feldbezeichnung |
Beschreibung(inkl. der ID des Business Terms der Norm EN 16931-1) |
Datentyp |
PersonName |
Name (Verkäufer: BT-41, Käufer: BT-56, Lieferant: -) |
String |
DepartmentName |
Abteilung (Verkäufer: BT-41-0, Käufer: BT-56-0, Lieferant: -) |
String |
Phone |
Telefon (Verkäufer: BT-42, Käufer: BT-57, Lieferant: -) |
String |
E-Mail- bzw. De-Mail-Adresse (Verkäufer: BT-43, Käufer: BT-58, Lieferant: -) |
String |
Abrechnungsperiode (WmsInvoicePeriod)
Die Klasse WmsInvoicePeriod enthält Informationen zur Bestimmung einer Abrechnungsperiode (Rechnung: BG-14; Rechnungsposition: BG-26)
Feldbezeichnung |
Beschreibung(inkl. der ID des Business Terms der Norm EN 16931-1) |
Datentyp |
|
StartDate |
Beginn der Rechnungsperiode (Rechnung: BT-73; Rechnungsposition: BT-134) |
DateTime |
|
EndDate |
Ende der Rechnungsperiode (Rechnung: BT-74; Rechnungsposition: BT-135) |
DateTime |
|
Lieferinformationen (WmsDeliveryInformation)
Die Klasse WmsDeliveryInformation enthält Informationen zur Lieferung.
Feldbezeichnung |
Beschreibung(inkl. der ID des Business Terms der Norm EN 16931-1) |
Datentyp |
|
OccurenceDate |
Tatsächlicher Lieferungszeitpunkt bzw. Datum der Leistungserbringung (BT-72) |
DateTime |
|
DeliveryAddress |
Informationen zur abweichenden Lieferanschrift (BG-15) |
WmsAdressDetails |
|
Zahlungsbedingungen (WmsPaymentTerms)
Die Klasse WmsPaymentTerms enthält Informationen zu den Zahlungsbedingungen der Rechnung.
Feldbezeichnung |
Beschreibung(inkl. der ID des Business Terms der Norm EN 16931-1) |
Datentyp |
|
DueDate |
Fälligkeitsdatum (BT-9) |
DateTime |
|
Description |
Beschreibung der Zahlungsbedingungen (BT-20) |
|
Zahlungsanweisung (WmsPaymentMeans)
Die Klasse WmsPaymentMeans enthält Informationen zur Zahlungsanweisung einer Rechnung.
Eine XRechnung muss Angaben zu „PAYMENT INSTRUCTIONS" (BG-16) enthalten.
Feldbezeichnung |
Beschreibung(inkl. der ID des Business Terms der Norm EN 16931-1) |
Datentyp |
TypeCode |
Code für Zahlungsart (BT-81)
|
String |
TypeDescription |
Beschreibung der Zahlungsart (BT-82) |
String |
PayeeBic |
BIC des Zahlungsempfängers (BT-86) RegEx-Pattern (lt. Datev): ([A-Z]{4}[A-Z]{2}([A-Z0-9]){2}([A-Z0-9]){0,3}) |
String |
PayeeIban |
IBAN des Zahlungsempfängers (BT-84) RegEx-Pattern (lt. Datev): ([A-Z]{2}\d\d([A-Za-z0-9]){11,30}) |
String |
PayeeAccountName |
Name des Bankkontos des Zahlungsempfängers (Überweisung: BT-85) |
String |
PayerIban |
IBAN des Zahlungspflichtigen bei Lastschrift (BT-91) RegEx-Pattern (lt. Datev): ([A-Z]{2}\d\d([A-Za-z0-9]){11,30}) |
String |
CardNumber |
Die Hauptkontonummer (en: Primary Account Number, PAN), zu der die für die Zahlung genutzte Karte gehört (BT-87). |
String |
CardholderName |
Name des Zahlungskarteninhabers (BT-88) |
String |
PaymentReference |
Verwendungszweck (BT-83) |
String |
DirectDebitMandateId |
Eindeutige Kennung, die vom Zahlungsempfänger zur Referenzierung der Einzugsermächtigung zugewiesen wird (Mandatsreferenznummer, BT-89, bei SEPA Lastschrift) |
String |
CreditorReferenceId |
Eindeutige Bankverbindungskennung des Zahlungsempfängers oder des Verkäufers (Gläubiger), die von der Bank des Zahlungsempfängers oder des Verkäufers zugewiesen wird (BT-90, bei SEPA Lastschrift) |
String |
Zu- bzw. Abschläge (WmsAllowanceCharge)
Die Klasse WmsAllowanceCharge enthält Informationen über Zu- bzw. Abschläge
Feldbezeichnung |
Beschreibung(inkl. der ID des Business Terms der Norm EN 16931-1) |
Datentyp |
|
|
ChargeIndicator |
Kennzeichen ob es sich um einen Zu- oder Abschlag handelt |
|
Bool |
|
CalculationPercent |
Prozentualer Zu oder Abschlag (ab EXTENDED)- |
|
Decimal |
|
BasisAmount |
Grundbetrag des Zu oder Abschlags (ab EXTENDED)- |
|
Decimal (15.3) |
|
ActualAmount |
Nettobetrag des Zu- oder Abschlags |
|
Decimal (15.3) |
|
ReasonCode |
Code für den Grund des Zu- oder Abschlags nach Codeliste UNTDID 5189 |
|
String |
|
Reason |
Grund für den Zu- oder Abschlag als Text |
|
String |
|
TaxCategoryCode |
Code für die Umsatzsteuerkategorie des Zu- oder Abschlags auf Dokumentebene (BT-95, BT-102)
|
|
String |
|
TaxRate |
Umsatzsteuersatz für den Zu- oder Abschlag auf Dokumentebene (BT-96, BT-103) |
|
Decimal |
|
Gesamtbeträge der Rechnung (WmsMonetarySummation)
Die Klasse WmsMonetarySummation enthält die Gesamtbeträge der Rechnung.
Feldbezeichnung |
Beschreibung(inkl. der ID des Business Terms der Norm EN 16931-1) |
Datentyp |
|
|
LineTotalAmount |
Summe der Nettobeträge aller Rechnungspositionen(BT-106) |
|
Decimal (15.3) |
|
ChargeTotalAmount |
Summe der Zuschläge (BT-108) |
|
Decimal (15.3) |
|
AllowanceTotalAmount |
Summe der Abschläge (BT-107) |
|
Decimal (15.3) |
|
TaxBasisTotalAmount |
Die Gesamtsumme der Rechnung ohne Umsatzsteuer und ohne Zu-/Abschläge (BT-109) |
|
Decimal (15.3) |
|
TaxTotalAmount |
Der Gesamtbetrag der Umsatzsteuer für die Rechnung(BT-110, BT-111) |
|
Decimal (15.3) |
|
GrantTotalAmount |
Rechnungsgesamtbetrag einschl. Umsatzsteuer (BT-112) |
|
Decimal (15.3) |
|
DuePayableAmount |
Fälliger Zahlungsbetrag (BT-115) |
|
Decimal (15.3) |
|
Steuer-Informationen (WmsTaxDetail)
Die Tabelle des Typs WmsTaxDetail enthält die Auflistung der Steuersätze und -beträge für das gesamte Dokument.
Feldbezeichnung |
Beschreibung(inkl. der ID des Business Terms der Norm EN 16931-1) |
Datentyp |
TaxRate |
Steuersatz (BT-119) |
Decimal |
BasisAmount |
Steuerbasisbetrag (BT-116) |
Decimal (15.3) |
TaxAmount |
Kategoriespezifischer Steuerbetrag (BT-117) |
Decimal (15.3) |
TaxCategoryCode |
Code der Umsatzsteuerkategorie (BT-118)
|
String |
Freie Notiz (WmsInvoiceNote)
Die Klasse WmsNote enthält freien Text zur Rechnung bzw. zu einer Rechnungsposition. Es können ein oder mehrere Notizen angegeben werden.
Feldbezeichnung |
Beschreibung |
Datentyp |
ContentCode |
Bilateral vereinbarte Textbausteine, die hier als Code übertragen werden.
|
String |
Content |
Freitext einer Notiz (Rechnung: BT-22, Rechnungsposition: BT-127) |
String |
SubjectCode |
Die Qualifizierung des Freitextes zur Rechnung (Rechnung: BT-21, Rechnungsposition: -)
|
String |
Zusätzlich referenziertes Dokument (WmsAdditionalReferencedDocument)
Die Tabelle des Typs WmsAdditionalReferencedDocument enthält Daten zu referenzierten Dokumenten.
Feldbezeichnung |
Beschreibung |
Datentyp |
IssuerAssignedId |
Kennung der rechnungsbegründeten Unterlage (BT-17, BT-18, BT-122) |
String |
Description |
Beschreibung der rechnungsbegründeten Unterlage (BT-123) |
String |
TypeCode |
Typ des referenzierten Dokuments (BT-17-0, BT-18-0, BT-122-0)
|
String |
Uri |
Die URL (Uniform Resource Locator), unter der das externe Dokument verfügbar ist (BT-124) |
String |
MimeCode |
Der MIME-Code des Anhangsdokuments (BT-125-1)
|
String |
Filename |
Dateiname des eingebetteten Dokuments (BT-125-2) |
String |
BinaryData |
Binärdaten des eingebetteten Dokuments (BT-125) |
Byte-Array |
Positionstabelle (WmsInvoiceLineItem)
Die Tabelle des Typs WmsInvoiceLineItem enthält die Daten der Rechnungspositionen.
Feldbezeichnung |
Beschreibung |
Datentyp |
InternalLineId |
Interne eindeutige ID der Rechnungsposition |
Integer |
ProcessingStatus |
Status der Bearbeitung
|
Enum |
LineId |
Positionsnummer (BT-126) |
String |
GlobalId |
Globaler Identifier des Produktes, GTIN, ... (BT-157) |
String |
GlobalSchemeId |
Kennung des Schemas für die GlobalId (BT-157-1)
|
String |
SellerAssignedId |
Artikelnummer des Verkäufers (BT-155) |
String |
BuyerAssignedId |
Artikelnummer des Käufers (BT-156) |
String |
ProductName |
Artikelname (BT-153) |
String |
ProductDescription |
Artikelbeschreibung (BT-154) |
String |
Quantity |
Berechnete Menge (BT-129) |
Decimal |
UnitCode |
Einheit (BT-130) |
String |
NetPrice |
Einzelpreis (BT-146) |
Decimal (15.3) |
LineTotalNetAmount |
Gesamtpreis Netto (BT-131) |
Decimal (15.3) |
LineTotalGrossAmount |
Gesamtpreis Brutto |
Decimal (15.3) |
TaxRate |
Steuersatz (BT-152) |
Decimal |
TaxCategoryCode |
Code der Umsatzsteuerkategorie des in Rechnung gestellten Artikels (BT-151)
|
String |
TaxAmount |
Der berechnete Steuerbetrag (aus LineTotalAmount und TaxRate) |
Decimal (15.3) |
AllowanceChargeList |
Liste mit Zu- bzw. Abschläge auf Dokumentebene (BG-20, BG-21) |
Liste<Wms-AllowanceCharge> |
IncludedNote |
Detailinformationen zum Freitext zur Position |
Liste<WmsInvoice-Note> |
BillingSpecifiedPeriod |
Optionale Angabe zur Rechnungsperiode (BG-26) |
WmsInvoicePeriod |
AdditionalInfo1-5 |
Zusatzinfo 1-5 |
String |
Referenzen auf vorausgehende Dokumente (WmsPrecedingDocumentReference)
Die Klasse WmsPrecedingDocumentReference enthält interne Informationen zu vorausgehenden Dokumenten, welche für die Rechnungsstellung relevant sind (z.B. Bestellung, Lieferschein, etc.)
Feldbezeichnung |
Beschreibung |
Datentyp |
DocumentId |
ID des Dokuments |
String |
Name |
Bezeichnung des Dokuments |
String |
IssueDate |
Belegdatum |
DateTime |
Kontierungs- und Buchhaltungsinformationen (WmsAccountingInformation)
Die Klasse WmsAccountingInformation enthält Kontierungs- und Buchungsinformationen.
Feldbezeichnung |
Beschreibung |
Datentyp |
AccountingOnItemLevel |
Kennzeichen, ob die Rechnung auf Positionsebene (true) oder als Ganzes (false) kontiert wird |
Boolean |
PostingGrossAmount |
Kennzeichen, ob Bruttobeträge (true) oder Nettobeträge (false) gebucht werden |
Boolean |
TotalAmount |
Der zu kontierende Gesamtbetrag (nur relevant bei belegbasierter Kontierung, also wenn AccountingOnItemLevel = false); muss der Summe der Einzelbeträge entsprechen. |
Decimal |
AccountingAllocations |
Liste mit Kontierungsdaten von Rechnungspositionen(siehe auch Tabelle Buchungstabelle) |
Liste<WmsAccounting-Allocation> |
Kontierungstabelle (WmsAccountingAllocation)
Die Tabelle des Typs WmsAccountingAllocation dient der Vorkontierung von Buchungssätzen und zur Aufteilung von Rechnungspositionen auf Kostenstellen.
In Abhängigkeit des Kennzeichens AccountingOnItemLevel enthält die Tabelle Kontierungsinformationen zu den einzelnen Rechnungspositionen oder bzw. der gesamten Rechnung. Entsprechend werden nicht alle Felder gefüllt.
Pflichtfelder
- Aufteilung der gesamten Rechnung auf Kostenstellen (AccountingOnItemLevel = false)
- AccountNo
- ContraAccountNo
- CostCategoryId1
- TaxKey
- Amount
- Quantity or Percentage (optional zur automatischen Berechnung des Betrages)
- Aufsplittung einer Position auf mehrere Konten/Kostenstellen (AccountingOnItemLevel = false)
- LineId
- AccountNo
- ContraAccountNo
- CostCategoryId1
- TaxKey
- Amount
- Percentage oder Quantity (optional zur automatischen Berechnung des Betrages)
Feldbezeichnung |
Beschreibung |
Datentyp |
InternalId |
Interne eindeutige ID des Datensatzes |
Integer |
LineItemInternalId |
Referenz zur RechnungspositionBei belegbasierter Kontierung bzw. bei Buchungen auf Beleg-Ebene (z.B. Vorsteuer) ist die LineItemInternalId nicht belegt (=0) |
Integer |
SplitType |
Der SplitType gibt an, nach welchem Kriterium der Gesamtbetrag aufgesplittet wird. Alle Splittbuchungen zu einer Position müssen denselben SplitType haben. Es stehen folgende Splitt-Typen zur Verfügung:
|
Enum |
PostOnDebit |
Kennzeichen, ob Buchung auf Soll / Haben (debit / credit) erfolgen soll
|
Boolean |
AccountNo |
Buchungskonto-Nr. (z.B. Wareneingang) |
String |
ContraAccountNoWird (automatisch) mit dem Sachkonto des Lieferanten befüllt
|
Gegenkonto der Buchung (z.B. Lieferant) |
String |
CostCenterId |
Kostenstelle |
String |
CostTypeId |
Kostenart (Sub-)Code falls feiner gegliedert |
String |
CostUnitId |
Kostenträger |
String |
TaxKey |
Steuerschlüssel |
String |
Amount |
Buchungsbetrag |
Decimal (15.3) |
Percentage |
Prozentualer Anteil (daraus wird dann die Menge berechnet) |
Decimal |
Quantity |
Menge |
Decimal |
Text |
(Buchungs-)Text |
String (60) |
LastModifyUser |
Letzter Bearbeiter der Zeile |
String |
LastModifyDate |
Datum der letzten Bearbeitung |
DateTime |
AdditionalInfo1-5 |
Zusatzinfo 1-5 |
String |
Zu klären:
Wie funktionieren Buchungen auf Rechnungen?
- Da mit WmsAccountingInformation ein übergeordnetes Objekt zur Verfügung steht, könnte dort das übergeordnete Sachkonto angegeben werden.
- Dann bräuchte man nur noch ein Buchungskennzeichen PostingIndicator, das anzeigt, ob die Buchung ins Soll oder ins Haben gestellt werden soll (pro Listeneintrag oder im übergeordneten Objekt WmsAccountingInformation)
Buchungstabelle
- Vorerst zurückgestellt.
- Buchungsdatensätze sollten aus obigen Informationen zusammengetragen werden können.
- Das Gegenkonto ergibt sich aus dem Lieferanten bzw. Kunden der Rechnung
Datev-Beschreibung von Buchungssätzen:
https://www.datev.de/dnlexom/client/app/index.html#/document/9211381
Verbuchung von Skono:
https://www.billomat.com/magazin/wie-bucht-man-mit-skonto-gezahlte-rechnungen-richtig/#
Validierungen
Validierung der Positionsliste
- Positionsnummern müssen eindeutig sein (unabhängig einer Kontierung)
Belegbasierte Kontierung
- Keine spezifische Validierung erforderlich
Positionsbasierte Kontierung
- Jede Position muss einen Gesamtbetrag enthalten
Validierung der Kontierungsliste
Belegbasierte Kontierung
- WmsAccountingInformation.TotalAmount darf nicht 0 sein
- Die Summe der Beträge aller Buchungssätze muss der angegebenen Gesamtsumme (WmsAccountingInformation.TotalAmount) entsprechen
Positionsbasierte Kontierung
- Die Summe der Beträge aller Buchungssätze einer Position (WmsAccountingAllocation.Amount) muss der Gesamtsumme der zugehörigen Position entsprechen (WmsInvoiceLineItem.LineTotalAmount)
- Splitt nach Menge (SplitType = Quantity)
- Percentage = 0 setzen
- Die Summe der Menge aller Buchungssätze muss der Gesamtsumme der zugehörigen Position entsprechen (WmsInvoiceLineItem.Quantity)
- Splitt nach Prozent (SplitType = Percentage)
- Quantity = 0 setzen
- Die Summe der Prozentangabe aller Buchungssätze muss 100% entsprechen
- Splitt nach Betrag (SplitType = Amount)
- Quantity und Percentage = 0 setzen
Pflichtinformationen gem. ERechV des Bundes
Bei der Erstellung elektronischer Rechnungen im Standard XRechnung oder anderen CEN-konformen Rechnungen ist zu beachten, dass gemäß § 5 der E-Rechnungsverordnung (ERechV) die folgenden Pflichtinformationen des Rechnungssenders des Bundes erforderlich sind:
Pflichtinformation |
Einzutragen in folgenden Elementen einer XRechnung |
Leitweg-ID |
BT-10 |
Bankverbindung |
Eine Rechnung (INVOICE) muss Angaben zu „PAYMENT INSTRUCTIONS" (BG-16) enthalten. |
Zahlungsbedingungen |
BT-20 |
E-Mail oder De-Mail |
BT-43 |
Lieferantennummer* |
BT-29 |
Bestellnummer* |
BT-13 |
* sofern durch Auftraggeber bekannt gegeben
Fragen und Anforderungen
Fragen
- Wo werden Zuordnungen von Buchungskonten, Steuerschlüsseln und Steuersatz gehalten?
- Eigenes Objekt?
- Auslesen aus Datenbank oder csv-Datei?
- Wo und wie werden Code-Listen bereitgestellt (zur Auswahl/Anzeige im Portal)?
Anforderungen
- Im Portal bei Konto, Kostenstellen und Kostenträger nur vorhandene Einträge auswählen lassen
Glossar
Abkürzung |
Beschreibung |
BG |
Business Group bzw. Gruppe von Informationselementen |
BT |
Business Term bzw. Informationselement |
ERechV |
E-Rechnungsverordnung |
Abbildungsverzeichnis
Es konnten keine Einträge für ein Abbildungsverzeichnis gefunden werden.