Zeven regels draaien om hetzelfde blok. BR-49, BR-61 en BR-50 komen uit de Europese norm EN 16931 en gelden voor elk formaat; de BR-DE-regels gelden alleen voor XRechnung (KoSIT Schematron v2.6.0):
- BR-DE-1 (fatal): "Eine Rechnung (INVOICE) muss Angaben zu "PAYMENT INSTRUCTIONS" (BG-16) enthalten." Zonder betalingsblok is de XRechnung niet geldig.
- BR-49 (fatal): "A Payment instruction (BG-16) shall specify the Payment means type code (BT-81)."
- BR-61 (fatal): "If the Payment means type code (BT-81) means SEPA credit transfer, Local credit transfer or Non-SEPA international credit transfer, the Payment account identifier (BT-84) shall be present."
- BR-50 (fatal): "A Payment account identifier (BT-84) shall be present if Credit transfer (BG-17) information is provided in the Invoice."
- BR-DE-23-a (fatal): "Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), muss BG-17 "CREDIT TRANSFER" übermittelt werden."
- BR-DE-23-b (fatal): "Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), dürfen BG-18 und BG-19 nicht übermittelt werden." Een overschrijving mag niet tegelijk kaartgegevens (BG-18) of incassogegevens (BG-19) bevatten.
- BR-DE-19 (warning): ""Payment account identifier" (BT-84) soll eine korrekte IBAN enthalten, wenn in "Payment means type code" (BT-81) mit dem Code 58 SEPA als Zahlungsmittel gefordert wird." Dit is een waarschuwing: bij code 58 zou de rekening een geldig IBAN moeten zijn.

De betaalmiddelen die je gaat zien
- 30
- Overschrijving (credit transfer). Dit zet Odoo op een factuur met een Recipient Bank.
- 58
- SEPA-overschrijving. Dit zet onze module XRechnung en ZUGFeRD.
- ZZZ
- Onderling overeengekomen (mutually defined). Dit zet Odoo op een factuur zonder bank.
- 57
- Doorlopende opdracht (standing agreement). Dit zet Odoo op creditnota's.
Wat Odoo met een factuur doet
In Odoo 17, 18, 19 en 20 is de beslissing dezelfde en hangt ze af van het veld Recipient Bank van de factuur. Heeft die een bank, dan is het middel 30 en gaat de rekening in BT-84: BR-61, BR-50 en BR-DE-23-a zijn dan vanzelf in orde. Heeft ze er geen, dan is het middel ZZZ. Het blok BG-16 bestaat, dus BR-DE-1 slaat niet aan, maar de factuur zegt niet naar welke rekening je moet betalen.
Daarbovenop herhaalt Odoo, vóór het bestand wordt gegenereerd, de controle van BR-61: is het middel 30 of 58 en heeft de factuur geen Recipient Bank, dan stopt het met de melding dat het veld verplicht is. Met de logica hierboven is dat moeilijk te bereiken, maar een module die het betaalmiddel wijzigt kan het wel veroorzaken.
Met onze module XRechnung en ZUGFeRD
De module kijkt niet naar de Recipient Bank: de betalingsinstructies komen uit het XRechnung-IBAN van je bedrijf, met middel 58, het IBAN in BT-84 en de BIC als die er is. Is dat IBAN leeg, dan genereert de module niets en stopt hij meteen met de melding "Company IBAN (BT-84) is required for XRechnung generation.". Zo gaat met de module een factuur zonder BG-16 nooit de deur uit.

In Odoo 18, 19 en 20 gaat met het abonnement op FlexigoTech Cloud elke XRechnung die wordt gegenereerd ook door de KoSIT-regels, en alleen een die ze haalt krijgt de status Ready to send. In Odoo 17 valideert de gepubliceerde versie niet.
Zo los je het op
- Kies in Odoo in het veld Recipient Bank van de factuur de bankrekening waarop je int, voordat je de XRechnung genereert.
- Vul met onze module het XRechnung-IBAN van je bedrijf in (en de BIC als je klant die vraagt).
- Controleer of het IBAN klopt: bij middel 58 waarschuwt BR-DE-19 als dat niet zo is.
- Genereer de XRechnung opnieuw; degene die je al hebt verstuurd blijft zoals hij was.
Lees verder
Gecontroleerd in de broncode van de module (versie 17.0 en 20.0) en in de gelinkte bronnen
Bronnen
- Broncode van de module: flexigo_germany_xrechnung 20.0 (446f2f68): models/account_move.py
- github.com/odoo/odoo/blob/6f00fdadb875342de2d14a179f25431f93cd63c9/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/6f00fdadb875342de2d14a179f25431f93cd63c9/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2982b5f44af03fae6a9888f20632c1cc19f623ba/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/4d2d4b5895db70596863df941d9a1f0beeb117f8/addons/account_edi_ubl_
- github.com/odoo/odoo/blob/2fec20391a8a61ea3a3bf15e9f24d59dba910a8d/addons/account_edi_ubl_
- Broncode van de module: flexigo_germany_xrechnung 20.0 (446f2f68): lib/generators/ubl_generator.py
- Broncode van de module: flexigo_germany_xrechnung 20.0 (446f2f68): models/xrechnung_cloud.py
- Broncode van de module: flexigo_germany_xrechnung 17.0 (ad05de8f): __manifest__.py
- github.com/ConnectingEurope/eInvoicing-EN16931/releases/tag/validation-1.3.17
- github.com/itplr-kosit/xrechnung-schematron/releases/tag/v2.6.0
