Reporting

Submit a French B2C report

Submit French daily sales or payment totals for transactions with private individuals.

Submit French daily sales or payment totals for transactions with private individuals. You do not need to create or submit a regulatory file yourself.

Use a sales report for the normal daily transaction totals, regardless of when customers pay. This endpoint accepts one sales summary per day, category and currency. The current integration supports taxable goods and taxable services.

Use a payment report only as an additional report for services using cash-basis VAT (TVA sur les encaissements), where VAT becomes due when the customer pays. Submit the sales report as usual, then submit the payment report for the day payment is received. Payment reports are only accepted for companies registered with VAT due on payment.

The company must be registered for French e-reporting first, through PUT /:companyId/reporting/fr/declarant. Reports for playground and test-network teams are recorded but not filed.

Choose a new, unique reference for every report, including corrections and cancellations. Retrying the exact same request with the same reference is safe: it returns the report filed the first time instead of filing a second one. A correction or cancellation acts on the report identified by the data in the request (the day and category of a daily total, or the document number of an invoice) and carries the optional action field.

A submitted report is recorded alongside your sent documents and counts towards your document quota.

POST
/api/v1/{companyId}/reporting/fr/b2c
AuthorizationBasic <token>

Basic API key authentication. Create a new API key and secret in the Recommand dashboard.

In: header

Path Parameters

companyId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

The normal daily report for sales to private individuals. It records the sale date, category, transaction count, amounts excluding VAT, and VAT totals. Submit it regardless of whether customers paid immediately or will pay later. This does not send invoices to consumers. The current integration supports taxable goods and taxable services only. A day, category and currency are reported once; use action: correct with a new reference to replace that report.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://app.recommand.eu/api/v1/string/reporting/fr/b2c" \  -H "Content-Type: application/json" \  -d '{    "reference": "SALES-2026-07-01-GOODS",    "type": "sales",    "date": "2026-07-01",    "category": "goods",    "taxExclusiveAmount": "10000.00",    "taxAmount": "2000.00",    "transactionCount": 42,    "vatBreakdown": [      {        "percentage": "20.00",        "taxableAmount": "10000.00",        "taxAmount": "2000.00"      }    ]  }'
{
  "success": true,
  "id": "string",
  "duplicate": true
}
{
  "success": false,
  "errors": {
    "property1": [
      "string"
    ],
    "property2": [
      "string"
    ]
  },
  "invalidInputDetails": [
    {
      "path": "string",
      "message": "string",
      "unionErrors": [
        [
          {
            "path": "string",
            "message": "string"
          }
        ]
      ]
    }
  ]
}
{
  "success": false,
  "errors": {
    "property1": [
      "string"
    ],
    "property2": [
      "string"
    ]
  }
}
{
  "success": false,
  "errors": {
    "property1": [
      "string"
    ],
    "property2": [
      "string"
    ]
  }
}