TTallystick

Convert a CII invoice to Excel

Drop a Cross Industry Invoice XML. The CII tree is mapped onto the same columns as UBL, so you do not have to learn two vocabularies for one invoice.

Drop your invoice files here
or choose them from your computer. Several files at once is fine.
XRechnung · ZUGFeRD · Factur-X · UBL · CII · Peppol · FatturaPA · Facturae · KSeF FA · X12 · EDIFACT · OFX · IIF · CSV
Files stay in your browser, nothing is uploaded No account, no daily limit No file at hand?
0 files uploaded, ever Test corpus comes from the official XRechnung, ZUGFeRD, Peppol and OASIS test suites.
Export Totals not checked Format
Invoice
Seller and buyer
Line items
#Description QtyUnit Unit priceVAT %Net amount
Tax breakdown and totals
CategoryRateTaxable baseVAT amount
Payment and references

The other half of EN 16931

EN 16931 allows two syntaxes and CII is the second one, the UN/CEFACT Cross Industry Invoice at D16B. It is what sits inside every ZUGFeRD and Factur-X PDF, and it is what German and French senders often produce even when the file arrives on its own. Its element names look nothing like UBL's, which is exactly the problem this page removes.

What you get out

Every field below is read from the file itself. Nothing is inferred, and a field the invoice does not carry is left empty rather than filled in with a plausible guess.

  • ExchangedDocument header, including type code and issue date
  • Seller and buyer trade parties with their tax registrations
  • IncludedSupplyChainTradeLineItem detail, line by line
  • ApplicableTradeTax per rate and category
  • The monetary summation, down to due payable amount

Questions

Which CII version does it read?

D16B, which is the version EN 16931, ZUGFeRD 2.x and Factur-X all use. Older D-directories usually still map, since the element names in the invoice branch changed little.

My file came out of a ZUGFeRD PDF. Same thing?

Yes, that attachment is CII. You can also drop the whole PDF and skip the extraction step.

Why do CII and UBL exports look identical?

Because that is the point. Both syntaxes are mapped to one set of column names, so a supplier switching syntax does not break your spreadsheet.