Skip to main content
Key: fr-ctc-flow2-v1 Module: github.com/invopop/gobl.fr.ctc Support for Flow 2 (“facturation”) of the French CTC reform: domestic B2B clearance, applied to invoices exchanged between two parties identifiable as French (SIREN or French VAT ID on both sides). Built on the EU EN16931 CIUS profile (declared as a dependency).

Sources

Scenarios

bill/invoice

Filters:
  • Types: standard
Output:
  • Extensions: untdid-document-type:380
Filters:
  • Types: standard
  • Tags: self-billed
Output:
  • Extensions: untdid-document-type:389
Filters:
  • Types: standard
  • Tags: factoring
Output:
  • Extensions: untdid-document-type:393
Filters:
  • Types: standard
  • Tags: self-billed, factoring
Output:
  • Extensions: untdid-document-type:501
Filters:
  • Types: standard
  • Tags: prepayment
Output:
  • Extensions: untdid-document-type:386
Filters:
  • Types: standard
  • Tags: self-billed, prepayment
Output:
  • Extensions: untdid-document-type:500
Filters:
  • Types: corrective
Output:
  • Extensions: untdid-document-type:384
Filters:
  • Types: corrective
  • Tags: self-billed
Output:
  • Extensions: untdid-document-type:471
Filters:
  • Types: corrective
  • Tags: factoring
Output:
  • Extensions: untdid-document-type:472
Filters:
  • Types: corrective
  • Tags: self-billed, factoring
Output:
  • Extensions: untdid-document-type:473
Filters:
  • Types: credit-note
Output:
  • Extensions: untdid-document-type:381
Filters:
  • Types: credit-note
  • Tags: self-billed
Output:
  • Extensions: untdid-document-type:261
Filters:
  • Types: credit-note
  • Tags: factoring
Output:
  • Extensions: untdid-document-type:396
Filters:
  • Types: credit-note
  • Tags: self-billed, factoring
Output:
  • Extensions: untdid-document-type:502
Filters:
  • Types: credit-note
  • Tags: prepayment
Output:
  • Extensions: untdid-document-type:503

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
  • Can convert to [EUR]
GOBL-FR-CTC-FLOW2-BILL-INVOICE-01
Invoice must be in EUR or provide an exchange rate to EUR
Invoice
  • Valid invoice code
GOBL-FR-CTC-FLOW2-BILL-INVOICE-02
Invoice code (with series, when set) must be 1-35 characters of alphanumerics plus -+_/ (BR-FR-01/02)
preceding[*]
  • Valid preceding code
GOBL-FR-CTC-FLOW2-BILL-INVOICE-03
Invoice preceding code (with series, when set) must be 1-35 characters of alphanumerics plus -+_/ (BR-FR-01/02)
preceding
  • Invoice tax ext untdid-document-type in [384, 471, 472, 473]
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-04
Invoice preceding is required for corrective invoices (BR-FR-CO-04)
preceding
  • Invoice tax ext untdid-document-type in [384, 471, 472, 473]
  • Length between 1 and 1
GOBL-FR-CTC-FLOW2-BILL-INVOICE-05
Invoice preceding must contain exactly one reference for corrective invoices (BR-FR-CO-04)
preceding
  • Invoice tax ext untdid-document-type in [261, 381, 396, 502, 503]
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-06
Invoice preceding must contain at least one reference for credit notes (BR-FR-CO-05)
tax
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-07
Invoice tax is required
tax.ext
  • Ext ‘untdid-document-type’ in [380, 389, 393, 501, 386, 500, 384, 471, 472, 473, 381, 261, 396, 502, 503, 262]
GOBL-FR-CTC-FLOW2-BILL-INVOICE-08
Invoice tax ext untdid-document-type must be a valid Flow 2 document type (BR-FR-04)
tax.ext
  • Ext require [fr-ctc-billing-mode]
GOBL-FR-CTC-FLOW2-BILL-INVOICE-09
Invoice tax ext fr-ctc-billing-mode is required
tax.ext
  • Invoice tax ext fr-ctc-billing-mode in [B4, S4, M4]
  • Ext ‘untdid-document-type’ not in [386, 500, 503]
GOBL-FR-CTC-FLOW2-BILL-INVOICE-10
Invoice tax ext untdid-document-type must not be an advance-payment code (386, 500, 503) when billing mode is factoring (B4, S4, M4) (BR-FR-CO-08)
supplier.inboxes
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-11
Invoice supplier inboxes are required for French B2B invoices (BR-FR-13)
supplier.identities
  • Has SIREN (legal scope)
GOBL-FR-CTC-FLOW2-BILL-INVOICE-12
Invoice supplier identities must include a SIREN identity with iso-scheme-id 0002 and scope legal (BR-FR-10/11)
supplier
  • Invoice tax ext untdid-document-type not in [389, 501, 500, 471, 473, 261, 502]
  • Has SIREN inbox
GOBL-FR-CTC-FLOW2-BILL-INVOICE-13
Invoice supplier must have an inbox with scheme 0225 matching the SIREN code (BR-FR-21/22)
customer.inboxes
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-14
Invoice customer inboxes are required for French B2B invoices (BR-FR-13)
customer.identities
  • Has SIREN (legal scope)
GOBL-FR-CTC-FLOW2-BILL-INVOICE-15
Invoice customer identities must include a SIREN identity with iso-scheme-id 0002 and scope legal (BR-FR-10/11)
customer
  • Invoice tax ext untdid-document-type in [389, 501, 500, 471, 473, 261, 502]
  • Has SIREN inbox
GOBL-FR-CTC-FLOW2-BILL-INVOICE-16
Invoice customer must have an inbox with scheme 0225 matching the SIREN code (BR-FR-21/22)
ordering.identities
  • Identities have at most one ext untdid-reference=AFL
GOBL-FR-CTC-FLOW2-BILL-INVOICE-17
Invoice ordering identities must not contain more than one entry with UNTDID reference ‘AFL’ (BR-FR-30)
ordering.identities
  • Identities have at most one ext untdid-reference=AWW
GOBL-FR-CTC-FLOW2-BILL-INVOICE-18
Invoice ordering identities must not contain more than one entry with UNTDID reference ‘AWW’ (BR-FR-30)
ordering
  • Invoice supplier is under STC scheme
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-19
Invoice ordering is required when supplier is under STC scheme (BR-FR-CO-15)
ordering.seller
  • Invoice supplier is under STC scheme
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-20
Invoice ordering seller is required when supplier is under STC scheme (BR-FR-CO-15)
ordering.seller.tax_id
  • Invoice supplier is under STC scheme
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-21
Invoice ordering seller tax_id is required when supplier is under STC scheme (BR-FR-CO-15)
ordering.seller.tax_id.code
  • Invoice supplier is under STC scheme
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-22
Invoice ordering seller tax_id code is required when supplier is under STC scheme (BR-FR-CO-15)
notes
  • Invoice supplier is under STC scheme
  • Has TXD note
GOBL-FR-CTC-FLOW2-BILL-INVOICE-23
Invoice notes must include an entry with subject TXD and text MEMBRE_ASSUJETTI_UNIQUE when supplier is under STC scheme (BR-FR-CO-14)
ordering
  • Invoice tax ext untdid-document-type in [262]
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-24
Invoice ordering is required for consolidated credit notes (BR-FR-CO-03)
ordering.contracts
  • Invoice tax ext untdid-document-type in [262]
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-25
Invoice ordering contracts is required for consolidated credit notes (BR-FR-CO-03)
ordering.contracts
  • Invoice tax ext untdid-document-type in [262]
  • Length between 1 and 0
GOBL-FR-CTC-FLOW2-BILL-INVOICE-26
Invoice ordering contracts must contain at least one entry for consolidated credit notes (BR-FR-CO-03)
delivery
  • Invoice tax ext untdid-document-type in [262]
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-27
Invoice delivery is required for consolidated credit notes (BR-FR-CO-03)
delivery.period
  • Invoice tax ext untdid-document-type in [262]
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-28
Invoice delivery period is required for consolidated credit notes (BR-FR-CO-03)
Invoice
  • Invoice tax ext fr-ctc-billing-mode not in [B2, S2, M2]
  • Due dates valid
GOBL-FR-CTC-FLOW2-BILL-INVOICE-29
Invoice payment terms due_dates must not be before the invoice issue date (BR-FR-CO-07)
payment
  • Invoice tax ext fr-ctc-billing-mode in [B2, S2, M2]
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-30
Invoice payment is required for final invoices (BR-FR-CO-09)
payment.terms
  • Invoice tax ext fr-ctc-billing-mode in [B2, S2, M2]
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-31
Invoice payment terms is required for final invoices (BR-FR-CO-09)
payment.terms.due_dates
  • Invoice tax ext fr-ctc-billing-mode in [B2, S2, M2]
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-32
Invoice payment terms due_dates must contain at least one entry for final invoices (BR-FR-CO-09)
totals
Calculated
  • Invoice tax ext fr-ctc-billing-mode in [B2, S2, M2]
  • Advances match total_with_tax
GOBL-FR-CTC-FLOW2-BILL-INVOICE-34
Invoice totals advance must equal total_with_tax for final invoices (BR-FR-CO-09)
totals
Calculated
  • Invoice tax ext fr-ctc-billing-mode in [B2, S2, M2]
  • Payable is zero
GOBL-FR-CTC-FLOW2-BILL-INVOICE-35
Invoice totals payable must be zero for final invoices (BR-FR-CO-09)
totals.advance
Calculated
  • Invoice tax ext fr-ctc-billing-mode in [B2, S2, M2]
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-33
Invoice totals advance is required for final invoices (BR-FR-CO-09)
notes
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-36
Invoice notes are required for French CTC invoices (BR-FR-05)
notes
  • Has required note subjects
GOBL-FR-CTC-FLOW2-BILL-INVOICE-37
Invoice notes must include entries with subjects PMT, PMD and AAB (BR-FR-05)
notes
  • No duplicate note subjects
GOBL-FR-CTC-FLOW2-BILL-INVOICE-38
Invoice notes must not contain duplicate subjects PMT, PMD, AAB or TXD (BR-FR-06/BR-FR-30)
attachments
  • At most one LISIBLE
GOBL-FR-CTC-FLOW2-BILL-INVOICE-41
Invoice attachments must not contain more than one entry with description ‘LISIBLE’ (BR-FR-18)
attachments[*].description
  • Present
GOBL-FR-CTC-FLOW2-BILL-INVOICE-39
Invoice attachment description is required (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-BILL-INVOICE-40
Invoice attachment description must be one of the allowed values (BR-FR-17)
FieldTestValidation Code / Message
identities
  • SIRET/SIREN coherent
GOBL-FR-CTC-FLOW2-ORG-PARTY-01
SIRET and SIREN must be coherent (BR-FR-09/10)
identities
  • Valid scheme format
GOBL-FR-CTC-FLOW2-ORG-PARTY-02
Identity scheme format invalid (BR-FR-CO-10)
inboxes[*]
  • Valid inbox
GOBL-FR-CTC-FLOW2-ORG-PARTY-03
Inbox code format invalid
FieldTestValidation Code / Message
code
  • Scheme 0224
  • Length between 0 and 100
GOBL-FR-CTC-FLOW2-ORG-IDENTITY-01
Must be no more than 100 characters long
code
  • Scheme 0224
  • Matches ^[A-Za-z0-9-+_/]+$
GOBL-FR-CTC-FLOW2-ORG-IDENTITY-02
Must be in a valid format
FieldTestValidation Code / Message
code
  • Scheme 0225
  • Length between 0 and 125
GOBL-FR-CTC-FLOW2-ORG-INBOX-01
The length must be between 0 and 125
code
  • Scheme 0225
  • Matches ^[A-Za-z0-9-+_/]+$
GOBL-FR-CTC-FLOW2-ORG-INBOX-02
Must be in a valid format
FieldTestValidation Code / Message
meta
  • No blank meta
GOBL-FR-CTC-FLOW2-ORG-ITEM-01
Meta values cannot be blank (BR-FR-28)