Tax Codes PA in France
Tax codes when using French PA network
Ventilation Codes to Use for France
For General use of ventilation codes, see https://docs.billit.be/docs/ventilation-codes .
Domestic overview
For tax percentages below, Ventilation codes do not have to be included:
| Tax Percentage | Billit Ventilation Code (optional) | UBL TaxCategory ID | Extra Info |
|---|---|---|---|
| 20 % | 4 | S | |
| 10 % | 3 | S | |
| 8,5 % | S | French overseas territories (DROM) including La Réunion | |
| 5,5 % | S | ||
| 2,1 % | 1 | S | Reduced |
| 0 % | 1 | Z |
Following percentages will be available soon : 8,5 % (oversees).
Specific French codes for 0 %, exempt and related:
| Description | Billit Ventilation Code | UBL TaxCategory ID | VAT Exempt Reason Code | Extra Info |
|---|---|---|---|---|
| VAT Reverse charges | 21 | AE | VATEX-EU-AE | Reverse Charges, the customer is liable for VAT - French TVA en autoliquidation |
| Miscelaneous non-VAT | 22 | O | Will be O for doctype FRCiusExtended, for non-extended will be set to E (O not allowed by validation rule). Constraint : seller cannot mention VAT-number (otherwise reject) | |
| Margin | 24 | E | VATEX-EU-F, VATEX-EU-I, VATEX-EU-J, VATEX-EU-D | Set VATExemptReasonCode via Custom Field |
| IC of goods | 51 | K | VATEX-EU-IC | |
| IC Services | 55 | K | VATEX-EU-IC | |
| Import/Export | 70 | G | VATEX-EU-G | |
| OSS | 104 | E |
Set Specific French Tax Exemption Reason
In case of Tax Exempt, in UBL 2 fields can be applicable:
| UBL Fields | Type | How content is filled by Billit - Default | Custom Field for overruling the content |
|---|---|---|---|
| TaxExemptionReason | Free text | Determined by Ventilation Code | Yes |
| TaxExemptionReasonCode | Structured Code | Determined by Ventilation Code | Yes |
When can you overule the Billit Default via API ?
- TaxExemptionReason : when you want to add your preferred specific code
- TaxExemptionReasonCode : only when you have to select a code out of a list of allowed value
Examples:
"CustomFields": {
"TaxExemptionReason": "Exonération TVA, art. 262 ter-I du CGI" //as header field
},"CustomFields":
{
"TaxExemptionReason": "Dummy tax exemption reason as description", //as header field
"TaxExemptionReasonCode": "VATEX-EU-F"
},French Overseas Areas
For Guadeloupe, Martinique and La Réunion are applicable:
- indicate country code : FR
- VAT rates:
- 2,1 %
- 8,5 %
- special rates : 1,75 % and 1,05 % (not active in Billit)
Franchise en base de TVA
When this VAT regime must be applied, see guidelines below:
- VAT % is 0
- VAT number :
- When counter party has VAT number: mention the VAT number
- When counter party has no VAT number : not foreseen yet at Billit
-
- "VentilationCode": "104", (to trigger tax code exempt)
- "CustomFields":
- "TaxExemptionReason": "TVA non applicable, article 293 B du CGI", //correct description
- "TaxExemptionReasonCode": "VATEX-FR-FRANCHISE" //the official and mandatory Tax Exemption Reason code
Example below:
-
{ "OrderNumber": "General02", "OrderDate": "2026-09-09T00:00:00", "ExpiryDate": "2026-10-04T00:00:00", "OrderType": "Invoice", "BusinessProcessType": "S1", "OrderDirection": "Income", "VentilationCode": "104", "Currency": "EUR", "CustomFields": { "TaxExemptionReason": "TVA non applicable, article 293 B du CGI", "TaxExemptionReasonCode": "VATEX-FR-FRANCHISE" }, "Customer": { "Name": "TestCustomer", "Addresses": [ { "AddressType": "InvoiceAddress", "Name": "TestCustomer", "Street": "teststreet 1", "Zipcode": "75001", "City": "PARIS", "CountryCode": "FR" }, ], "VATNumber": "FR01227010099", "PartyType": "Customer", "Identifiers": [ { "IdentifierType": "CTC", "Identifier": "227010099_TEST", }, { "IdentifierType": "SIREN", "Identifier": "227010099", } ], }, "OrderLines": [ { "Quantity": 1.0, "UnitPriceExcl": 400.0, "Description": "just a single line", "VATPercentage": 0.0, "Unit": "PCE", } ] }
Updated about 11 hours ago
Did this page help you?