Reporting

Register a company for French e-reporting

Registers the company as a declarant for French e-reporting, so its B2C and cross-border reports can be filed with the French tax administration on its...

Registers the company as a declarant for French e-reporting, so its B2C and cross-border reports can be filed with the French tax administration on its behalf. Registration is an explicit step: it starts the company's reporting periods, so only register companies that will actually submit reports.

The company must be registered in France with a valid SIREN or SIRET, and must be verified with a signed French mandate. The registration is usually completed immediately; when the state stays pending, it is retried in the background. A blocked state means support has to intervene, for example because the SIREN is already registered by another platform.

Calling this endpoint again updates the VAT regime and exigibility. Changing the regime mid-period can leave that period unfiled, so coordinate such a change with support.

PUT
/api/v1/{companyId}/reporting/fr/declarant
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.

Response Body

application/json

application/json

application/json

application/json

curl -X PUT "https://app.recommand.eu/api/v1/string/reporting/fr/declarant" \  -H "Content-Type: application/json" \  -d '{    "vatRegime": "REEL_NORMAL_MENSUEL",    "vatExigibility": "DEBITS"  }'
{
  "success": true,
  "declarant": {
    "environment": "PROD",
    "siren": "123456789",
    "issuerName": "string",
    "vatRegime": "REEL_NORMAL_MENSUEL",
    "vatExigibility": "ENCAISSEMENTS",
    "enabled": true,
    "state": "pending",
    "simulated": true,
    "lastError": "string",
    "registeredAt": "string",
    "createdAt": "string",
    "updatedAt": "string"
  }
}
{
  "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"
    ]
  }
}