UBL-CR-646
Warning EN 16931 (UBL)
Official rule text
[UBL-CR-646]-A UBL invoice should not include the InvoiceLine SubInvoiceLine
What it means
cac:SubInvoiceLine (sub-lines nested under an invoice or credit note line) is valid UBL 2.1 but sits outside the EN 16931 semantic model, so the CEN artefacts flag it as a warning like the other UBL-CR 'not part of the data model' rules. Anything you put there is invisible to EN 16931 consumers and may be dropped in conversion.
How to fix it
Flatten sub-lines into regular top-level cac:InvoiceLine elements (BG-25) and remove every cac:SubInvoiceLine; if you need line grouping, BT-132 (order line reference) or item attributes are the model-compatible options.
Business terms involved: BG-25
🇫🇷 En français
cac:SubInvoiceLine (sous-lignes imbriquées sous une ligne de facture ou d'avoir) est valide en UBL 2.1 mais hors du modèle sémantique EN 16931 : les artefacts CEN le signalent en warning, comme les autres règles UBL-CR « not part of the data model ». Ce que vous y mettez est invisible pour les consommateurs EN 16931 et risque d'être perdu à la conversion.
Correction : Aplatissez les sous-lignes en cac:InvoiceLine de premier niveau (BG-25) et supprimez tout cac:SubInvoiceLine ; pour regrouper des lignes, la référence de ligne de commande (BT-132) ou les attributs d'article restent compatibles avec le modèle.
Seeing UBL-CR-646 in a rejection?
Run your file through the free validator to see every violation at once — or let NormDrift watch your reference invoices so the next ruleset release never surprises you.