France: onboarding and KYC

France treats a participant differently from most countries. The participant gives Arratech a signed mandate, and it has to be registered in the French government directory, the Annuaire, before it can exchange documents. Arratech is an accredited platform (Plateforme Agréée) and does that registration for you. This page explains the steps and who does what. The API reference holds the endpoints, fields and error codes.

The identifier

French participants use the Peppol scheme 0225 (FR:CTC). The value starts with the participant's 9-digit SIREN, which must pass the Luhn check. It can be followed by an underscore and a suffix, such as a SIRET or a routing code. For example:

  • 0225:123456789 (SIREN only)
  • 0225:123456789_12345678901234 (SIREN and SIRET)
  • 0225:123456789_12345678901234_ROUTING01 (SIREN, SIRET and a routing code)

A participant with a 0225: identifier can only be created on an access point with jurisdiction FR, together with an FR SMP. An FR access point only accepts 0225: identifiers.

If the same electronic address is already registered in the Annuaire with another platform, the create is refused. The address must first be transferred to Arratech, and that is arranged with Arratech rather than through the API.

The sequence

  1. You create the participant, giving its SIRET. It starts in PENDING_MANDATE.
  2. Arratech opens the KYC record. This happens inside the same create, so you do not ask for it.
  3. You upload the documents, one file per upload.
  4. You can check the details on the KYC record and correct them. This step is optional.
  5. An admin of your organisation approves the KYC, or Arratech does.
  6. Arratech registers the participant in the Annuaire. The participant waits in PENDING_TAX_REGISTRATION meanwhile.
  7. Arratech writes the Local Registrar record, activates the participant and registers its document types. You do nothing for this step.

Until the participant is ACTIVE it is still being onboarded and is read-only. A participant waiting in PENDING_TAX_REGISTRATION cannot be deleted. While a participant is waiting in PENDING_MANDATE or PENDING_TAX_REGISTRATION, it does not count toward your organisation's participant total.

Opening the KYC record yourself

Opening the KYC record yourself is only for a participant that has no record: one created without a SIRET, or one whose record you deleted, for example after a rejection. If a record already exists, asking again is refused. The SIRET is stored on the KYC record, not on the participant, and it must be 14 digits and start with the participant's SIREN.

What you supply

  • The participant's SIREN (9 digits) and SIRET (14 digits, starting with the SIREN).
  • The signed mandate. It designates Arratech as the participant's platform and is signed by someone empowered to bind the entity.
  • Proof of legal identity, such as a KBIS extract, showing the entity and the signatory's authority.

Documents are PDF, JPEG or PNG files of up to 10 MiB each. The type you declare is checked against the file's actual content.

The signed mandate is what approval rests on. It is your authority for Arratech to act as your platform and to claim your address in the Annuaire. The KBIS supports it by showing that the signatory could give that authority.

Approval is refused if the record has no documents, but one document is a floor, not the standard. Approval is a compliance decision. A record without a valid signed mandate should be rejected, with a reason of 10 to 1,000 characters. A rejection is final for that KYC record: it cannot be approved later. To try again, delete the KYC record, open a new one and upload the documents again.

After approval

Nothing more is asked of you. Approval moves the participant on, registers it in the Annuaire under Arratech's platform matricule, and, once the registration is confirmed, activates it and publishes its mandatory French document types to the SMP. A participant that stalls before approval is waiting for a document or a correction from you. After approval, it is Arratech's to chase.

The Local Registrar record

When the PPF confirms the Annuaire registration, the platform writes the participant's Local Registrar record itself, creating it first if it does not exist. The record shows whether the participant is registered in the Annuaire, when, and the PPF's confirmation reference. It also holds the platform role the participant is registered under.

The platform writes the record first, and only then asks for the activation. A failure at either point is retried, so the participant either completes the whole step or stays where it was. You do not need to create the record or keep it up to date.

Store the confirmation reference. It identifies the directory line at the PPF, not the participant or the mandate, and any later correction to that line is made against it.

Creating a Local Registrar record by hand is only for a participant that needs one created directly, and it is refused while the participant is still pending.

Mandatory document types

When a French participant becomes ACTIVE, the document types of the French regulated process (urn:peppol:france:billing:regulated) are registered automatically. They cannot be removed while the participant is active, and each supported document type shows whether it is mandatory. French participants can also supply supported document types when they are created. These are registered on activation, together with the mandatory ones.

Send-only External participants

Some French companies keep receiving through another platform and send through Arratech. Such a company is created as an External participant. This is enabled per environment, so ask Arratech whether it is on where you integrate. Its KYC record is the mandate Arratech sends under, and approving it is the whole of its onboarding.

  1. You create the participant with allowExternal set to true and without a SIRET. It starts in PENDING_MANDATE as an External participant.
  2. You open the KYC record, giving the participant's SIREN.
  3. You upload the signed mandate.
  4. An admin of your organisation, or Arratech, approves the KYC. The participant becomes ACTIVE.

This mandate lets Arratech send on the participant's behalf. It does not make Arratech the participant's receiving platform, which stays with the other platform.

Approval activates the participant and clears its FR_EXTERNAL_KYC gating condition in the same call. Nothing follows: no Annuaire registration, no tax registration and no SMP document types, because the other platform holds the participant's registration. Until approval the participant cannot send, and the condition cannot be cleared or reverted through the gating endpoints.

Sending to French recipients

Before a document goes to a French recipient, Arratech checks that the recipient is registered in the Annuaire. The check applies when the document is sent under the French regulated process, and also when no process can be detected. It does not apply to documents with an explicitly non-French process, or to status documents (CDAR and MLS), which are sent through their own endpoints. It applies to every sender, wherever the sender is based. The rules and error codes are in the API reference under Sending to France.

Between two French participants, delivery and lifecycle acknowledgement use the French CDAR status document instead of Peppol MLS. These statuses are emitted automatically:

  • 200 Déposée: on deposit
  • 202 Reçue par la plateforme: on receipt
  • 203 Mise à disposition: when made available to the recipient
  • 213 Rejetée: on validation failure, with a rejection reason code

Reversing an onboarding

Removing a French participant completely, including de-registering it from the Annuaire, is done by Arratech. Contact us.

In the API reference