Naar hoofdinhoud
EN 16931 · codelijsten

Fout BR-CL-23: de maateenheid van de regel is geen UN/ECE-code

Elke regel van een elektronische factuur bevat zijn hoeveelheid met een eenheid, geschreven als een code uit Aanbeveling 20 van de UN/ECE: C62 voor één stuk, bijvoorbeeld. BR-CL-23 controleert of de code op de lijst staat, BR-23 of er een is en PEPPOL-EN16931-R130 of de prijseenheid gelijk is aan de hoeveelheidseenheid.

FlexigoTech · Verantwoordelijk: Víctor Gómez · Bijgewerkt op 4 november 2026

In het kort

Versies
Odoo 17, 18, 19 en 20
Gecontroleerd
in de broncode van de module, versie 17.0 en 20.0 · in de bronnen onderaan
Leestijd
3 min
  1. BR-23, fatal "An Invoice line (BG-25) shall have an Invoiced quantity unit of measure code (BT-130)." De regel moet een eenheid bevatten.
  2. BR-CL-23, fatal "Unit code MUST be coded according to the UN/ECE Recommendation 20 with Rec 21 extension" De eenheid moet een code van de lijst zijn.
  3. PEPPOL-EN16931-R130, fatal "Unit code of price base quantity MUST be same as invoiced quantity." Als de prijs per basishoeveelheid geldt, is de eenheid ervan gelijk aan die van de regel.

De eerste twee komen uit EN 16931 (Schematron validation-1.3.17). De derde komt uit Peppol BIS (3.0.22) en XRechnung past die ook toe.

Kaart met de regels voor maateenheden
BR-CL-23, BR-23 en PEPPOL-EN16931-R130 op BT-130 en het attribuut unitCode.

Waar Odoo de code vandaan haalt

De code die Odoo in het bestand schrijft, komt afhankelijk van de versie van een andere plek:

  • Odoo 17, 18 en 19: een tabel koppelt de Odoo-eenheden (via hun externe identificatie) aan UN/ECE-codes. Een eenheid die je zelf hebt aangemaakt staat niet in de tabel en gaat eruit als C62, één stuk.
  • Odoo 20: elke maateenheid heeft een eigen veld voor de UN/ECE-code, en die code gaat naar het bestand. Odoo zet hem in hoofdletters, maar vergelijkt hem niet met de lijst.

BR-CL-23 slaat aan wanneer de code in het bestand niet op de lijst staat. In Odoo 20 volstaat een verkeerd ingetikte code op de maateenheid. In Odoo 17 tot 19 geeft de tabel altijd een code van de lijst, dus de regel slaat alleen aan als de code via een andere weg binnenkomt, bijvoorbeeld via een module die hem wijzigt.

Er is ook een probleem dat geen enkele regel ziet: een eigen eenheid ("pallet", "doos van twaalf") die Odoo 17 tot 19 zonder waarschuwing in C62 omzet. Het bestand slaagt voor BR-CL-23, omdat C62 op de lijst staat, maar je klant ontvangt "stuks" waar jij dozen hebt verkocht.

Voor wie de factuur ontvangt, telt de code: zijn software leest hem om de regel te koppelen aan zijn bestelling en aan de ontvangen goederen. Als hij dozen besteld heeft en de factuur zegt stuks, klopt de hoeveelheid niet met wat hij ontvangen heeft, ook al is het bedrag hetzelfde, en blijft de factuur hangen in zijn controle.

Met onze module XRechnung en ZUGFeRD

De module heeft een eigen, bewerkbare tabel van Odoo-eenheden naar UN/ECE-codes, zodat elke eenheid van jou zijn code krijgt in BT-130. Een eenheid die niet in die tabel staat, gaat eruit als C62, net als in Odoo 17 tot 19, en de enige waarschuwing komt in het serverlogboek terecht, dat je vanuit de factuur niet ziet. Een regel zonder eenheid gaat eveneens eruit als C62.

Tabel van de XRechnung-module die Odoo-eenheden koppelt aan UN/ECE-codes in Odoo 20
Minuten, stuks, uren, vierkante meter, kilowattuur en meer, met hun code voor BT-130. Schermafbeelding van Odoo 20 met demogegevens.

In Odoo 18, 19 en 20, met het abonnement op FlexigoTech Cloud, wordt elke XRechnung en elke ZUGFeRD EN 16931 gevalideerd met de regels van KoSIT, en een code buiten de lijst verschijnt als BR-CL-23 onder Validation Errors. In Odoo 17 valideert de gepubliceerde versie niet.

Wat controleren

  1. Kijk welke eenheid de regel in de XML draagt (attribuut unitCode).
  2. Open in Odoo 20 de maateenheid en vul de UN/ECE-code in.
  3. Gebruik je in Odoo 17, 18 en 19 eigen eenheden, houd er dan rekening mee dat ze als C62 eruit gaan. Met onze module voeg je ze in elke versie toe aan de tabel: de ontbrekende gaan ook als C62 eruit.
  4. Als de prijs per basishoeveelheid geldt (bijvoorbeeld per honderd stuks), moet de eenheid ervan gelijk zijn aan die van de regel.
  5. Genereer het bestand opnieuw en controleer het attribuut unitCode van elke regel voordat je het verstuurt.

Lees verder

Fout UBL-SR-48: een factuurregel met twee belastingen of geenUBL-SR-48 en BR-CO-04 eisen op elke regel van de e-factuur één btw-categorie, en maar één. De melding van Odoo 17, 18, 19 en 20, samen met BR-25 en BR-16.Fout BR-CO-15 in de e-factuur: het totaal met btw is niet netto plus btwBR-CO-15, BR-CO-14, BR-CO-16 en BR-CO-17 controleren of de totalen van de e-factuur kloppen. Wat elk optelt en welke er op één cent misgaan.Fouten BR-09 en BR-11: adres van verkoper of koper zonder landcodeBR-09 en BR-11 vragen om de landcode in het adres van verkoper en koper; BR-08 en BR-10 om het adres zelf. Het bericht van Odoo 17, 18, 19 en 20 en wat je moet invullen.
Gecontroleerd in de broncode van de module (versie 17.0 en 20.0) en in de gelinkte bronnen

Bronnen