Skip to main content
Key: fr-ctc-flow2-v1 Support for the French CTC (Continuous Transaction Control) Flow 2 B2B e-invoicing requirements from the French electronic invoicing reform. This addon provides the necessary structures and validations to ensure compliance with the French CTC specifications for B2B electronic invoicing. It requires the EN16931 addon as it extends the European standard with French-specific requirements for the e-invoicing reform. This addon is required for regulated invoice. This refers to invoices between two parties registered for VAT in France. This addon should not be used for invoices which should be reported. Note on currency conversion (BR-FR-CO-12): When an invoice is issued in a non-EUR currency, the gobl.ubl library will automatically handle the conversion to EUR and present the invoice with both the original currency and EUR equivalents for tax amounts, ensuring compliance with French accounting requirements.

Sources

Extensions

Billing Mode

Code used to describe the billing framework of the invoice. The billing mode indicates the nature of goods/services and the payment context. Code prefixes indicate the invoice nature:
  • “B”: Goods invoice (Biens)
  • “S”: Services invoice
  • “M”: Mixed/dual invoice (goods and services that are not accessory to each other)
The numeric suffix indicates the payment type (1=deposit, 2=already paid, 4=final after down payment, 5=subcontractor, 6=co-contractor, 7=e-reporting).
CodeName
B1Goods - Deposit invoice
B2Goods - Already paid invoice
B4Goods - Final invoice (after down payment)
B7Goods - E-reporting (VAT already collected)
S1Services - Deposit invoice
S2Services - Already paid invoice
S4Services - Final invoice (after down payment)
S5Services - Subcontractor invoice
S6Services - Co-contractor invoice
S7Services - E-reporting (VAT already collected)
M1Mixed - Deposit invoice
M2Mixed - Already paid invoice
M4Mixed - Final invoice (after down payment)

Validation Rules

FieldTestValidation Code / Message
Invoice
  • Valid invoice code
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-01
Must be 1-35 characters, alphanumeric plus -+_/ (BR-FR-01/02), including the series
preceding[*]
  • Valid preceding code
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-02
Preceding code must be 1-35 characters, alphanumeric plus -+_/ (BR-FR-01/02), including the series
preceding
  • Corrective invoice
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-03
Corrective invoices must have exactly one preceding invoice reference (BR-FR-CO-04)
preceding
  • Corrective invoice
  • Length between 1 and 1
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-04
Corrective invoices must have exactly one preceding invoice reference (BR-FR-CO-04)
preceding
  • Credit note
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-05
Credit notes must have at least one preceding invoice reference (BR-FR-CO-05)
tax
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-06
Tax is required
tax.ext
  • Ext ‘untdid-document-type’ in [380, 389, 393, 501, 386, 500, 384, 471, 472, 473, 261, 262, 381, 396, 502, 503]
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-07
UNTDID document type must be valid (BR-FR-04)
tax.ext
  • Ext require [fr-ctc-billing-mode]
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-08
Billing mode extension is required
tax.ext
  • Factoring mode
  • Ext ‘untdid-document-type’ not in [386, 500, 503]
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-09
Advance payment document types not allowed for factoring billing modes (BR-FR-CO-08)
supplier.inboxes
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-10
Seller electronic address required for French B2B invoices (BR-FR-13)
supplier.identities
  • Has SIREN
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-11
SIREN identity required for French parties with scheme 0002 and scope legal (BR-FR-10/11)
supplier
  • B2B non-self-billed
  • Has SIREN inbox
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-12
Party must have endpoint ID with scheme 0225 (SIREN) (BR-FR-21/22)
customer.inboxes
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-13
Buyer electronic address required for French B2B invoices (BR-FR-13)
customer.identities
  • B2B transaction
  • Has SIREN
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-14
SIREN identity required for French parties with scheme 0002 and scope legal (BR-FR-10/11)
customer
  • B2B self-billed
  • Has SIREN inbox
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-15
Party must have endpoint ID with scheme 0225 (SIREN) (BR-FR-21/22)
ordering.identities
  • No dup AFL
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-16
Only one ordering identity with UNTDID reference ‘AFL’ is allowed (BR-FR-30)
ordering.identities
  • No dup AWW
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-17
Only one ordering identity with UNTDID reference ‘AWW’ is allowed (BR-FR-30)
ordering
  • Supplier STC
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-18
Ordering with seller is required when supplier is under STC scheme (BR-FR-CO-15)
ordering.seller
  • Supplier STC
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-19
Seller is required when supplier is under STC scheme (BR-FR-CO-15)
ordering.seller.tax_id
  • Supplier STC
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-20
Tax ID is required when supplier is under STC scheme (BR-FR-CO-15)
ordering.seller.tax_id.code
  • Supplier STC
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-21
Code is required when supplier is under STC scheme (BR-FR-CO-15)
notes
  • Supplier STC
  • Has TXD note
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-22
For sellers with STC scheme (0231), a note with code ‘TXD’ and text ‘MEMBRE_ASSUJETTI_UNIQUE’ is required (BR-FR-CO-14)
ordering
  • Consolidated credit note
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-23
Ordering with contracts is required for consolidated credit notes (BR-FR-CO-03)
ordering.contracts
  • Consolidated credit note
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-24
At least one contract reference is required in ordering details for consolidated credit notes (BR-FR-CO-03)
ordering.contracts
  • Consolidated credit note
  • Length between 1 and 0
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-25
At least one contract reference is required in ordering details for consolidated credit notes (BR-FR-CO-03)
delivery
  • Consolidated credit note
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-26
Delivery details are required for consolidated credit notes (BR-FR-CO-03)
delivery.period
  • Consolidated credit note
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-27
Delivery period is required for consolidated credit notes (BR-FR-CO-03)
Invoice
  • Not advance or final
  • Due dates valid
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-28
Due dates must not be before invoice issue date (BR-FR-CO-07)
payment
  • Final invoice
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-29
Payment details are required for final invoices (BR-FR-CO-09)
payment.terms
  • Final invoice
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-30
Payment terms required for final invoices (BR-FR-CO-09)
payment.terms.due_dates
  • Final invoice
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-31
At least one due date required for final invoices (BR-FR-CO-09)
totals
Calculated
  • Final invoice
  • Advances match
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-33
Advance amount must equal total with tax for final invoices (BR-FR-CO-09)
totals
Calculated
  • Final invoice
  • Payable zero
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-34
Payable amount must be zero for final invoices (BR-FR-CO-09)
totals.advance
Calculated
  • Final invoice
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-32
Advance amount is required for already-paid invoices (BR-FR-CO-09)
notes
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-35
Notes are required for French CTC invoices (BR-FR-05)
notes
  • Has required notes
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-36
Missing required note codes (BR-FR-05)
notes
  • No duplicate notes
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-37
Duplicate note codes found (BR-FR-06/BR-FR-30)
notes
  • Valid BAR text
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-38
BAR note text must be one of: B2B, B2BINT, B2C, OUTOFSCOPE, ARCHIVEONLY
attachments
  • Unique LISIBLE
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-41
Only one attachment with description ‘LISIBLE’ is allowed per invoice (BR-FR-18)
attachments[*].description
  • Present
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-39
Must be one of the allowed attachment descriptions (BR-FR-17)
attachments[*].description
  • One of [RIB, LISIBLE, FEUILLE_DE_STYLE, PJA, BON_LIVRAISON, BON_COMMANDE, DOCUMENT_ANNEXE, BORDEREAU_SUIVI, BORDEREAU_SUIVI_VALIDATION, ETAT_ACOMPTE, FACTURE_PAIEMENT_DIRECT, RECAPITULATIF_COTRAITANCE]
GOBL-FR-CTC-FLOW2-V1-BILL-INVOICE-40
Must be one of the allowed attachment descriptions (BR-FR-17)
FieldTestValidation Code / Message
identities
  • SIRET/SIREN coherent
GOBL-FR-CTC-FLOW2-V1-ORG-PARTY-01
SIRET and SIREN must be coherent (BR-FR-09/10)
identities
  • Valid scheme format
GOBL-FR-CTC-FLOW2-V1-ORG-PARTY-02
Identity scheme format invalid (BR-FR-CO-10)
inboxes[*]
  • Valid inbox
GOBL-FR-CTC-FLOW2-V1-ORG-PARTY-03
Inbox code format invalid
FieldTestValidation Code / Message
code
  • Scheme 0224
  • Length between 0 and 100
GOBL-FR-CTC-FLOW2-V1-ORG-IDENTITY-01
Must be no more than 100 characters long
code
  • Scheme 0224
  • Matches ^[A-Za-z0-9-+_/]+$
GOBL-FR-CTC-FLOW2-V1-ORG-IDENTITY-02
Must be in a valid format
FieldTestValidation Code / Message
code
  • Scheme 0225
  • Length between 0 and 125
GOBL-FR-CTC-FLOW2-V1-ORG-INBOX-01
The length must be between 0 and 125
code
  • Scheme 0225
  • Matches ^[A-Za-z0-9-+_/]+$
GOBL-FR-CTC-FLOW2-V1-ORG-INBOX-02
Must be in a valid format
FieldTestValidation Code / Message
meta
  • No blank meta
GOBL-FR-CTC-FLOW2-V1-ORG-ITEM-01
Meta values cannot be blank (BR-FR-28)