Skip to main content

Reference Lists

The Reference Lists section gathers the standard code lists required by the French e-invoicing reform and by the underlying European semantic model (EN 16931 / Factur-X). Each list is a controlled vocabulary — country codes, currency codes, invoice types, VAT categories, etc. — that NomaUBL uses to validate UBL documents and populate dropdowns in the UI.

Most of these lists come from international standards (ISO, UN/CEFACT, CEN); a couple are PA-side codes specific to the French infrastructure (action codes, rejection reason codes). NomaUBL ships with a curated default content for each list; the editors let you customise labels (notably the bilingual FR/EN translations) and add codes specific to your activity.

This page applies to documents from any source system — JD Edwards, SAP, NetSuite, custom ERP — once the source is mapped to UBL.


At a glance​

Reference Lists💾 SaveLISTS · 12 standardcurrency-codescountry-codesinvoice-typesvat-categoriesvat-exemptionunit-of-measurepayment-meansallowance-chargescheme-idstax-schemeaction-codesrejection-reasonscurrency-codesISO 4217 · BT-5, BT-6, BT-19CODE · LABEL FR · LABEL ENEUR · Euro · Euro×USD · Dollar US · US Dollar×GBP · Livre sterling · Pound sterling×CHF · Franc suisse · Swiss franc×JPY · Yen · Yen×CAD · Dollar canadien · Canadian dollar×…+ Add rowcurated defaults shipped; custom rows allowed12 standard listsISO · UN/CEFACT · CEN · PA-sideThree-column tableCode · Label FR · Label ENAdd rowextend with site-specific codes

How each list is edited​

Every reference list is presented as a simple table with the same three columns. The interaction model is identical across all fifteen lists; the difference is only in the codes themselves and the regulatory reference behind each.

ColumnDescription
CodeThe standard code, exactly as defined by the reference standard (e.g. EUR, 380, S, 0088).
Label FRFrench label displayed when the active locale is French.
Label ENEnglish label displayed when the active locale is English.

Use the + Add button at the bottom of the table to add a custom row, and the × button on a row to remove one. Rows are sorted by code.

Custom (non-standard) lists

The fifteen lists below are the regulated catalogs shipped with NomaUBL. Operator-defined lists — used to drive grid dropdowns and filters from outside data — live on a separate page: Custom Lists. Those can also be synced from an API or SQL connector instead of being edited row by row.


Standard lists shipped with NomaUBL​

The fifteen reference lists below are built into NomaUBL and aligned with the regulation. They cover everything the French e-invoicing pipeline needs to validate UBL documents end-to-end.

ListStandard / business termPurpose
Country CodesISO 3166-1 alpha-2Two-letter country codes used for buyer / seller / delivery addresses.
Currency CodesISO 4217 — BT-5 / BT-6Document currency and accounting currency on invoices.
Invoice Type CodesUNTDID 1001 — BT-3Type of invoice document (e.g. commercial invoice, credit note, corrected invoice), each marked as an invoice or a credit note — see below.
Note Type CodesUNTDID 4451 — BT-22Qualifier of free-text notes attached to the invoice.
Payment Means CodesUNTDID 4461 — BT-81How the invoice is to be paid (transfer, direct debit, card, …).
Profile IDsBT-23 (Cadre de facturation)Business process / invoicing framework identifier.
Customization IDsBT-24Specification identifier; it decides which Schematron flavour applies (CIUS-FR or extended CTC FR).
Scheme IDsBT-29 / BT-30 / BT-34 / BT-49 / BT-71Identifier scheme references (electronic addressing schemes, party identifier schemes).
Unit of Measure CodesUN/ECE Recommendation 20 — BT-130Quantity unit codes for invoice lines (piece, kilogram, hour, …).
VAT Category CodesUN/ECE 5305 — BT-118 / BT-151VAT category at document and line level (standard rate, zero rated, exempt, reverse charge, …, including L Canary Islands IGIC and M Ceuta and Melilla IPSI).
VATEX Exemption Reason CodesVATEX — BT-121Codified VAT exemption reasons referenced when a line is exempt.
VAT Point Date CodesUNTDID 2005 — BT-8Whether VAT is due on the invoice date, the delivery date or the payment date.
Document Reference CodesUNTDID 1153 — BT-128-1Scheme of an invoiced object identifier (delivery note, purchase order…).
Expected Action CodesY56ACTN (Action attendue)Action codes expected by the Plateforme Agréée (PA-side catalog).
Rejection Reason CodesY56RSRC (Motif de rejet)Reasons returned by the PA when an invoice is rejected.

The lists hold the complete code lists of their standard — for example 62 invoice type codes, 84 payment means codes, 30 units of measure. An upgrade adds the codes a list is missing and never removes or relabels a code already there, so labels adapted on an instance are kept.

Invoice types: invoice or credit note​

The Invoice Type Codes editor has a fourth column, Type, with Invoice or Credit note (the EN 16931 reading of each code; stored as code = labelFr|labelEn|INVOICE or CREDIT). Thirteen codes are credit notes out of the box: 81, 83, 261, 262, 296, 308, 381, 396, 420, 458, 502, 503, 532. The type decides:

  • whether the UBL is produced as a CreditNote document rather than an Invoice;
  • how a document counts in the Billing overview (credit notes are subtracted from the revenue);
  • the sign of the B2C amounts in e-reporting.

A code missing from the list, or listed without a type, follows the EN 16931 table.


Tips & best practices​

  • Stick to the standard codes. Adding a custom code outside its referential breaks validation downstream — the PA, the receiver's PA and the PPF directory all expect the standard values.
  • Customise labels, not codes. Translating a label to better fit your business vocabulary is safe; renaming the underlying code is not.
  • Bilingual labels are not optional. Always fill both Label FR and Label EN — the UI falls back to the raw code when the active locale's label is empty.
  • Keep VATEX consistent with your VAT categories. VATEX codes are only meaningful when paired with an exempting VAT category — using one without the other produces invalid invoices.
  • Action / Rejection codes are PA-defined. If your PA renames or adds codes in its catalog, mirror the change here so the UI and the API payloads stay aligned.