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
standard
standard
Filters:
- Types:
standard
- Extensions:
untdid-document-type:380
standard, #prepayment
standard, #prepayment
Filters:
- Types:
standard - Tags:
prepayment
- Extensions:
untdid-document-type:386
corrective
corrective
Filters:
- Types:
corrective
- Extensions:
untdid-document-type:384
credit-note
credit-note
Filters:
- Types:
credit-note
- Extensions:
untdid-document-type:381
credit-note, #prepayment
credit-note, #prepayment
Filters:
- Types:
credit-note - Tags:
prepayment
- 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).
fr-ctc-flow10-b2c-category
fr-ctc-flow10-b2c-category
| Code | Name |
|---|---|
TLB1 | Goods subject to VAT |
TPS1 | Services subject to VAT |
TNT1 | Not subject to French VAT |
TMA1 | VAT-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)
fr-ctc-billing-mode
fr-ctc-billing-mode
| Code | Name |
|---|---|
B1 | Goods - Deposit invoice |
B2 | Goods - Already paid invoice |
B4 | Goods - Final invoice (after down payment) |
B7 | Goods - E-reporting (VAT already collected) |
S1 | Services - Deposit invoice |
S2 | Services - Already paid invoice |
S4 | Services - Final invoice (after down payment) |
S5 | Services - Subcontractor invoice |
S6 | Services - Co-contractor invoice |
S7 | Services - E-reporting (VAT already collected) |
M1 | Mixed - Deposit invoice |
M2 | Mixed - Already paid invoice |
M4 | Mixed - Final invoice (after down payment) |
Validation Rules
bill.Invoice
bill.Invoice
| Field | Test | Validation Code / Message |
|---|---|---|
| Invoice |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-01Invoice must be in EUR or provide an exchange rate to EUR |
supplier.addresses[*].country |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-02Invoice supplier address country is required |
customer.addresses[*].country |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-03Invoice customer address country is required |
| Invoice |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-07Invoice 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 |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-04Invoice tax ext fr-ctc-flow10-b2c-category is required on B2C invoices (G1.68) |
supplier |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-05Invoice supplier is required on B2C invoices |
supplier |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-06Invoice supplier must have a SIREN identity (ISO/IEC 6523 scheme 0002) on a B2C invoice |
tax.ext |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-08Invoice tax ext untdid-document-type must be one of the Flow 10 permitted UNTDID 1001 codes |
tax.ext |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-09Invoice tax ext fr-ctc-billing-mode is required (G1.02) |
tax.ext |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-10Invoice 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 |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-11Invoice supplier is required for Flow 10 B2B invoices (G2.19) |
supplier |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-12Invoice supplier must declare a legal identity with an allowed ICD 6523 scheme (0002, 0223, 0227, 0228 or 0229) (G2.19) |
supplier |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-13Invoice supplier tax_id is required when legal identity scheme is SIREN (0002) or EU VAT (0223) (G2.33) |
| Invoice |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-14Invoice supplier tax_id or ordering.seller tax_id is required when the VAT breakdown contains an exempt (E) category |
| Invoice |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-15Invoice tax.notes must include an exempt-reason entry (key=exempt with non-empty text) when the VAT breakdown contains an exempt (E) category |
customer |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-16Invoice customer is required for Flow 10 B2B invoices (G2.19) |
customer |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-17Invoice customer must declare a legal identity with an allowed ICD 6523 scheme (0002, 0223, 0227, 0228 or 0229) (G2.19) |
customer |
| GOBL-FR-CTC-FLOW10-BILL-INVOICE-18Invoice customer tax_id is required when legal identity scheme is SIREN (0002) or EU VAT (0223) (G2.33) |
bill.Payment
bill.Payment
| Field | Test | Validation Code / Message |
|---|---|---|
| Payment |
| GOBL-FR-CTC-FLOW10-BILL-PAYMENT-03Payment VAT line percent must be one of the Flow 10 permitted values (G1.24) |
typeCalculated |
| GOBL-FR-CTC-FLOW10-BILL-PAYMENT-01Payment type must be ‘receipt’ for Flow 10 reporting |
value_date |
| GOBL-FR-CTC-FLOW10-BILL-PAYMENT-02Payment value_date (settlement date) is required |
supplier |
| GOBL-FR-CTC-FLOW10-BILL-PAYMENT-04Payment supplier is required |
supplier |
| GOBL-FR-CTC-FLOW10-BILL-PAYMENT-05Payment supplier must have a SIREN identity (ISO/IEC 6523 scheme 0002) |
lines[*].document |
| GOBL-FR-CTC-FLOW10-BILL-PAYMENT-06Payment line document is required when a customer is present |
lines[*].document.code |
| GOBL-FR-CTC-FLOW10-BILL-PAYMENT-07Payment line document code is required when a customer is present |
lines[*].document.issue_date |
| GOBL-FR-CTC-FLOW10-BILL-PAYMENT-08Payment line document issue_date is required when a customer is present |
org.Party
org.Party
| Field | Test | Validation Code / Message |
|---|---|---|
identities |
| GOBL-FR-CTC-FLOW10-ORG-PARTY-01Party identities must not duplicate iso-scheme-id values (BR-FR-CO-10) |
identities[*].ext |
| GOBL-FR-CTC-FLOW10-ORG-PARTY-02Party identity ext iso-scheme-id is required (BR-FR-CO-10) |