B2Bi
E-report Transactions - Income Invoices B2Bi in France - Flow 10.1
What has to be e-reported - Summary (10.1 and 10.2)
In case of B2Bi within the European Community, this is a summary of the most regular cases:
| Direction | Activity | French VAT Terminology | e-report 10.1 Transaction | e-report 10.2 Payment |
|---|---|---|---|---|
| FR->EU | Goods – intra-Community supply | TVA sur les débits | yes | no |
| FR->EU | Service - Standard B2B service – reverse charge | TVA sur les débits | yes | no |
| FR->EU | Service - with FR VAT due on collection | TVA sur les encaissements | yes | yes |
| EU->FR | Goods – intra-Community acquisition | TVA sur les débits | yes | no |
| EU->FR | Standard B2B service – reverse charge in France | yes | no |
Keep in mind that there are special scenario's and exceptions, check documentation (including Use Case 43) and if needed your tax consultant.
Most common scenario's in case of B2Bi non-EU :
| Direction | Activity | VAT situation | e-report 10.1 Transaction | e-report 10.2 Payment |
|---|---|---|---|---|
| FR → non-EU | Goods exported from France | Export, VAT exempt | yes | no |
| FR → non-EU | B2B service, taxable outside France | Typical international B2B service | yes | no |
| FR → non-EU | Service subject to French VAT, VAT due on collection | FR supplier liable for VAT | yes | yes |
| FR → non-EU | Service subject to French VAT but TVA sur les débits | VAT due on debit | yes | no |
| non-EU → FR | Goods imported into France | Import VAT/customs | no | no |
| non-EU → FR | B2B service taxable in France, reverse charge | FR customer self-accounts VAT | yes | no |
| non-EU → FR | Goods already located in France, foreign supplier → FR buyer | Usually reverse charge depending on circumstances | Yes where Article 290 scope applies | no |
| non-EU → FR | Service where foreign supplier itself is liable for FR VAT | Special situation | Reporting responsibility depends on VAT liability | Potentially yes if VAT due on collection |
API related POST commands
| API command | Required | Result | More info and example |
|---|---|---|---|
| Create invoice : Post v1/order | yes | Document created in Billit, appears in income section | https://docs.billit.be/docs/content-requirements-pa |
| Send invoice Post v1/order/commands/send | no | Only to activate when you want to send the document to the customer | https://docs.billit.be/docs/send-sales-invoice-france |
How will Billit know it is B2Bi ?
| Property in Customer Segment | Description |
|---|---|
| VATNumber | Must be filled with a VAT number |
| Country of VAT | Country of counter party must have a non-French VAT-number |
| VATLiable | is by default true when VAT number is filled. setting it to true is can be set but is not mandatory as this is the default value |
Types of e-reports in case of B2Bi
| Content | Content |
|---|---|
| Transactions | Summary of invoice or credit note |
| Payments | Information about payment |
What needs to be e-reported in case of B2Bi
Short summary of the main parameters:
| What | Income | Expenditure |
|---|---|---|
| Transaction 10.3 | yes | yes |
| Payment 10.4 | depends | no |
*1 Most common decision elements are:
- French VAT due on collection (TVA sur les encaissements)? → Flux 10 payment reporting required (10.4)
- No French VAT due (export, intra-Community supply, place of supply outside France, etc.) → No Flux 10 payment reporting
For more detailed information on the conditions:
- Check French tax legislation documentation
- Check with your tax consultant
In case of transfer of ownership for the delivery of goods for export :
- Transport to the destination country may be carried out by the seller as part of an international stock transfer, with the sale and transfer of ownership of the goods taking place once they arrive at their destination.
- In this case, the sale and transfer of ownership take place on the purchaser's territory and fall outside the scope of international B2B sales e-reporting.
Information about the VAT when no positive Tax Amount
The correct tax information is very important. When the tax amount is not positive, then a specific VAT code is applicable.
The most simple method is to include the ventilation code in the API-content.
| Field | Description | Example |
|---|---|---|
| OrderDirection | Indicating it is expenditure | "OrderDirection": income" |
| Ventilation code | Include it when VAT amount is 0, not applicable, exempt | "VentilationCode": "51" |
| Payment | If the invoice is prepaid, include payment information (alternative : update it as a separate payment message, more info see separate chapter) | "Paid": true |
| Totals of the invoice | When no totals are included, Billit calculates the totals. If totals are included, Billit includes the totals delivered. |
The ventilation code triggers Tax information, including :
- Taxcategory/Code
- Taxcategory/TaxExemptionReason
More information on the ventilation codes for France: https://docs.billit.be/docs/tax-codes-pa-france .
Sample API content for B2Bi
Below examples of B2Bi content (reporting of transactions)
{
"OrderNumber": "524558888",
"OrderDate": "2026-05-6T00:00:00",
"ExpiryDate": "2026-06-04T00:00:00",
"OrderType": "Invoice",
"OrderDirection": "Income",
"BusinessProcessType": "B1", //mandatory for B2Bi E-reporting
"Paid": false, // at the moment of creation, no payment was received
"Comments": "additional info",
"Currency": "EUR",
"Customer": {
"Name": "Billit",
"VATNumber": "BE0563846944", // indicating customer is VAT liable
"PartyType": "Customer", //Income : must be customer
"VATLiable": true, // confirms company is VAT liable
"Addresses": [
{
"AddressType": "InvoiceAddress",
"Name": "Billit",
"Street": "Oktrooiplein",
"StreetNumber": "1a",
"City": "Ghent",
"Zipcode" : "9001",
"Box": "301",
"CountryCode": "BE" //other country code then FR
}
]
},
"OrderLines": [
{
"Quantity": 1.00000,
"UnitPriceExcl": 400.00000,
"Description": "just a single line",
"DescriptionExtended": "some extended description",
"VATPercentage": 0.00,
}
],
}{
"OrderNumber": "524558888",
"OrderDate": "2026-05-6T00:00:00",
"ExpiryDate": "2026-06-04T00:00:00",
"OrderType": "Invoice",
"OrderDirection": "Income",
"BusinessProcessType": "B1", //mandatory for B2Bi E-reporting
"Paid": false, // at the moment of creation, no payment was received
"Comments": "additional info",
"Currency": "EUR",
"VentilationCode": "22",
"Customer": {
"Name": "Billit",
"VATNumber": "BE0563846944", // indicating customer is VAT liable
"PartyType": "Customer", //Income : must be customer
"VATLiable": true, // confirms company is VAT liable
"Addresses": [
{
"AddressType": "InvoiceAddress",
"Name": "Billit",
"Street": "Oktrooiplein",
"StreetNumber": "1a",
"City": "Ghent",
"Zipcode" : "9001",
"Box": "301",
"CountryCode": "BE" //other country code then FR
}
]
},
"OrderLines": [
{
"Quantity": 1.00000,
"UnitPriceExcl": 400.00000,
"Description": "just a single line",
"DescriptionExtended": "some extended description",
"VATPercentage": 0.00,
}
],
}Updated about 5 hours ago