Skip to content

Fatal

CII-DT-081: An invoicing period must not contain a purpose code

In short

Fatal: fails the selected checks.

CII-DT-081 means an invoicing period in the file contains a PurposeCode element, which EN 16931 does not allow there. Fix it by deleting that element and keeping the start date and the end date of the period.

On this page

What it means

The invoicing period says which dates the invoice covers, for example the month a service was delivered. It is given once for the whole invoice (BG-14) and can also be given for a single line (BG-26). In the file it is a BillingSpecifiedPeriod block. The rule checks that this block has no PurposeCode element. The general CII format offers that element, but EN 16931 does not use it.

Why it matters

EN 16931 fixes which fields an e-invoice may use, so that every recipient reads the same file the same way. A field outside that list has no agreed meaning, so the file fails the check and the invoice is rejected.

How to fix it

The PurposeCode is written by the software that creates the file, so you rarely see it on the invoice itself. Look in the export or format settings for a choice of profile and pick EN 16931 (or XRechnung, if your buyer is a German public body) rather than Extended or a generic CII format. If there is no such setting, ask your software supplier to stop writing a PurposeCode in the invoicing period. If you edit the XML yourself, delete the PurposeCode line inside BillingSpecifiedPeriod.

The rule as published

PurposeCode shall not be used.

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-081 still fails, and which other rules do.

Updated 6 November 2026