Skip to content

Fatal

CII-DT-033: Check unit codes on billed quantities

In short

Fatal: fails the selected checks.

CII-DT-033 means a CII quantity has a unitCode attribute, but no invoice line has that attribute on ram:SpecifiedLineTradeDelivery/ram:BilledQuantity. Check your lines and add the correct unit to the billed quantities that need it.

On this page

What it means

For each CII element whose name ends in Quantity, the test passes if unitCode is absent or if any line's ram:SpecifiedLineTradeDelivery/ram:BilledQuantity has unitCode. The second condition is invoice-wide, not limited to the same line. Billed quantity and its unit are BT-129 and BT-130; price base quantity and its unit are BT-149 and BT-150. The test checks attribute presence, not unit-code values.

Why it matters

A price base quantity describes the basis of the unit price, not necessarily what the billed quantity measures. Its unit does not replace the billed quantity's own unit field.

How to fix it

Check ram:BilledQuantity inside ram:SpecifiedLineTradeDelivery on your invoice lines. Add the appropriate unitCode where needed, such as C62 for pieces, HUR for hours, DAY for days, KGM for kilograms or LTR for litres. Do not copy a price base unit without checking that it is correct for the billed quantity. Remove a unitCode elsewhere only if it is unintended. Export the corrected file and recheck it.

Once the file is corrected, check it again for free: Validate an invoice against EN 16931

Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice

The rule as published

unitCode should not be present

Where this rule applies

Rule set Version
EN 16931 (CII) 1.3.17
XRechnung 3.0 (CII) 3.0.2
NLCIUS (CII) 1.0.3.13
France CTC (CII) 1.4.0-04
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether CII-DT-033 still fails, and which other rules do.

Updated 6 November 2026