Skip to main content
Key: fr-ctc-flow10-v1 Module: github.com/invopop/gobl.fr.ctc Support for the French CTC Flow 10 e-reporting reform. Covers transactions that fall outside Flow 2 clearance: B2C sales, cross-border B2B invoices, and payment receipts subject to e-reporting to the DGFiP via the PPF.

Sources

Scenarios

bill/invoice

Filters:
  • Types: standard
Output:
  • Extensions: untdid-document-type:380
Filters:
  • Types: standard
  • Tags: prepayment
Output:
  • Extensions: untdid-document-type:386
Filters:
  • Types: corrective
Output:
  • Extensions: untdid-document-type:384
Filters:
  • Types: credit-note
Output:
  • Extensions: untdid-document-type:381
Filters:
  • Types: credit-note
  • Tags: prepayment
Output:
  • Extensions: untdid-document-type:503

Extensions

B2C Transaction Category

Classifies a B2C transaction for French e-reporting to the PPF (G1.68). Required on Flow 10 B2C invoices.
  • TLB1: Goods deliveries subject to VAT.
  • TPS1: Services subject to VAT.
  • TNT1: Goods / services not subject to French VAT, including intra-EU distance sales per CGI articles 258 A and 259 B.
  • TMA1: Operations under the VAT-on-margin regime (CGI articles 266-1-e, 268, 297 A).
CodeName
TLB1Goods subject to VAT
TPS1Services subject to VAT
TNT1Not subject to French VAT
TMA1VAT-on-margin regime

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-FLOW10-BILL-INVOICE-01
Invoice must be in EUR or provide an exchange rate to EUR
supplier.addresses[*].country
  • Present
GOBL-FR-CTC-FLOW10-BILL-INVOICE-02
Invoice supplier address country is required
customer.addresses[*].country
  • Present
GOBL-FR-CTC-FLOW10-BILL-INVOICE-03
Invoice customer address country is required
Invoice
  • Invoice is B2C (no customer)
  • Allowed Flow 10 VAT percents
GOBL-FR-CTC-FLOW10-BILL-INVOICE-07
Invoice VAT line percent must be one of the Flow 10 permitted values 0%, 0.9%, 1.05%, 1.75%, 2.1%, 5.5%, 7%, 8.5%, 9.2%, 9.6%, 10%, 13%, 19.6%, 20%, 20.6% (G1.24)
tax.ext
  • Invoice is B2C (no customer)
  • Ext require [fr-ctc-flow10-b2c-category]
GOBL-FR-CTC-FLOW10-BILL-INVOICE-04
Invoice tax ext fr-ctc-flow10-b2c-category is required on B2C invoices (G1.68)
supplier
  • Invoice is B2C (no customer)
  • Present
GOBL-FR-CTC-FLOW10-BILL-INVOICE-05
Invoice supplier is required on B2C invoices
supplier
  • Invoice is B2C (no customer)
  • Party has SIREN
GOBL-FR-CTC-FLOW10-BILL-INVOICE-06
Invoice supplier must have a SIREN identity (ISO/IEC 6523 scheme 0002) on a B2C invoice
tax.ext
  • Invoice is B2B (has customer)
  • Ext ‘untdid-document-type’ in [380, 386, 384, 381, 503]
GOBL-FR-CTC-FLOW10-BILL-INVOICE-08
Invoice tax ext untdid-document-type must be one of the Flow 10 permitted UNTDID 1001 codes
tax.ext
  • Invoice is B2B (has customer)
  • Ext require [fr-ctc-billing-mode]
GOBL-FR-CTC-FLOW10-BILL-INVOICE-09
Invoice tax ext fr-ctc-billing-mode is required (G1.02)
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-FLOW10-BILL-INVOICE-10
Invoice tax ext untdid-document-type must not be an advance-payment code (386, 500, 503) when billing mode is final-after-advance (B4, S4, M4) (G1.60)
supplier
  • Invoice is B2B (has customer)
  • Present
GOBL-FR-CTC-FLOW10-BILL-INVOICE-11
Invoice supplier is required for Flow 10 B2B invoices (G2.19)
supplier
  • Invoice is B2B (has customer)
  • Party has allowed legal scheme
GOBL-FR-CTC-FLOW10-BILL-INVOICE-12
Invoice supplier must declare a legal identity with an allowed ICD 6523 scheme (0002, 0223, 0227, 0228 or 0229) (G2.19)
supplier
  • Invoice is B2B (has customer)
  • Party has TaxID when required
GOBL-FR-CTC-FLOW10-BILL-INVOICE-13
Invoice supplier tax_id is required when legal identity scheme is SIREN (0002) or EU VAT (0223) (G2.33)
Invoice
  • Invoice has exempt (E) VAT category
  • Supplier or tax rep has VAT ID
GOBL-FR-CTC-FLOW10-BILL-INVOICE-14
Invoice supplier tax_id or ordering.seller tax_id is required when the VAT breakdown contains an exempt (E) category
Invoice
  • Invoice has exempt (E) VAT category
  • Has exempt tax note
GOBL-FR-CTC-FLOW10-BILL-INVOICE-15
Invoice tax.notes must include an exempt-reason entry (key=exempt with non-empty text) when the VAT breakdown contains an exempt (E) category
customer
  • Invoice is B2B (has customer)
  • Present
GOBL-FR-CTC-FLOW10-BILL-INVOICE-16
Invoice customer is required for Flow 10 B2B invoices (G2.19)
customer
  • Invoice is B2B (has customer)
  • Party has allowed legal scheme
GOBL-FR-CTC-FLOW10-BILL-INVOICE-17
Invoice customer must declare a legal identity with an allowed ICD 6523 scheme (0002, 0223, 0227, 0228 or 0229) (G2.19)
customer
  • Invoice is B2B (has customer)
  • Party has TaxID when required
GOBL-FR-CTC-FLOW10-BILL-INVOICE-18
Invoice customer tax_id is required when legal identity scheme is SIREN (0002) or EU VAT (0223) (G2.33)
FieldTestValidation Code / Message
Payment
  • Allowed Flow 10 VAT percents
GOBL-FR-CTC-FLOW10-BILL-PAYMENT-03
Payment VAT line percent must be one of the Flow 10 permitted values (G1.24)
type
Calculated
  • One of [receipt]
GOBL-FR-CTC-FLOW10-BILL-PAYMENT-01
Payment type must be ‘receipt’ for Flow 10 reporting
value_date
  • Present
GOBL-FR-CTC-FLOW10-BILL-PAYMENT-02
Payment value_date (settlement date) is required
supplier
  • Present
GOBL-FR-CTC-FLOW10-BILL-PAYMENT-04
Payment supplier is required
supplier
  • Party has SIREN
GOBL-FR-CTC-FLOW10-BILL-PAYMENT-05
Payment supplier must have a SIREN identity (ISO/IEC 6523 scheme 0002)
lines[*].document
  • Payment is B2B (has customer)
  • Present
GOBL-FR-CTC-FLOW10-BILL-PAYMENT-06
Payment line document is required when a customer is present
lines[*].document.code
  • Payment is B2B (has customer)
  • Present
GOBL-FR-CTC-FLOW10-BILL-PAYMENT-07
Payment line document code is required when a customer is present
lines[*].document.issue_date
  • Payment is B2B (has customer)
  • Present
GOBL-FR-CTC-FLOW10-BILL-PAYMENT-08
Payment line document issue_date is required when a customer is present
FieldTestValidation Code / Message
identities
  • Unique iso-scheme-id
GOBL-FR-CTC-FLOW10-ORG-PARTY-01
Party identities must not duplicate iso-scheme-id values (BR-FR-CO-10)
identities[*].ext
  • Ext require [iso-scheme-id]
GOBL-FR-CTC-FLOW10-ORG-PARTY-02
Party identity ext iso-scheme-id is required (BR-FR-CO-10)