Skip to main content

Central Directory (Annuaire)

The Annuaire is the centralized public registry managed by the French government (Portail Public de Facturation — PPF) that acts as the single source of truth for routing electronic invoices. Its primary role is to map every company operating in France to its chosen receiving platform (Plateforme Agréée), allowing sending platforms to correctly identify where an invoice must be transmitted.

Since private businesses cannot query the PPF Annuaire directly via API (the government only exposes a manual web browser interface), A-Cube bridges this gap by offering a dedicated endpoint to programmatically search the directory.

To guarantee maximum performance and avoid latency during invoice transmission, A-Cube maintains a synchronized local copy of the entire PPF Annuaire, updated every 24 hours. Every query goes through this local database.


Querying the Annuaire

GET /french-directory

Returns a paginated collection of directory entries matching the provided filters. At least one query parameter should be supplied to narrow results.

Query Parameters

ParameterTypeDescription
sirenstring9-digit national company identifier — exact match
siretstring14-digit establishment identifier — exact match
namestringCompany name — case-insensitive substring match (e.g. ?name=acube matches "ACUBE PARTNER SARL")
pageintPage number (default: 1)
itemsPerPageintItems per page (default: 30)

Response Object

Each item in the collection has the following structure:

FieldTypeDescription
displayNamestringCompany name as registered in the Annuaire
countryCodestringISO 3166-1 alpha-2 country code (e.g. "FR")
typeLEGAL_UNIT | OFFICE | nullWhether the entry represents a legal unit (SIREN level) or an office (SIRET level)
sirenstring | null9-digit SIREN number, if available
siretstring | null14-digit SIRET number, if available
networkIdentifiersarrayList of electronic routing identifiers registered on the Annuaire

Each networkIdentifiers item:

FieldTypeDescription
typesiren | siret | routing_code | suffixIdentifier type
valuestringThe electronic address used for invoice routing (e.g. "0225:324730001")
validFromstringISO 8601 date from which the identifier is valid (e.g. "2026-01-01")

Example: Search by SIREN

GET /french-directory?siren=123456789

{
"hydra:member": [
{
"displayName": "ACUBE CLIENT SAS",
"countryCode": "FR",
"type": "LEGAL_UNIT",
"siren": "123456789",
"siret": null,
"networkIdentifiers": [
{
"type": "siren",
"value": "0225:123456789",
"validFrom": "2026-01-01"
},
{
"type": "suffix",
"value": "0225:123456789_freetext",
"validFrom": "2026-01-01"
}
]
}
],
"hydra:totalItems": 1
}

Example: Search by Company Name

GET /french-directory?name=acube

{
"hydra:member": [
{
"displayName": "ACUBE PARTNER SARL",
"countryCode": "FR",
"type": "LEGAL_UNIT",
"siren": "987654321",
"siret": null,
"networkIdentifiers": [
{
"type": "siren",
"value": "0225:987654321",
"validFrom": "2025-07-01"
}
]
}
],
"hydra:totalItems": 1
}

Errors

StatusCause
503 Service UnavailableThe upstream French directory service is temporarily unavailable. Retry after a short delay.

Usage in Invoice Issuance

Before sending an outbound invoice, use this endpoint to:

  1. Verify that the recipient has a valid and active entry in the Annuaire.
  2. Identify the correct network identifier to place in the invoice's receiver address field.
  3. Confirm that your invoice format is compatible with the receiver's registered identifiers.

The networkIdentifiers[].value field (e.g. "0225:987654321") is the electronic address that must be used in the invoice to ensure correct routing to the recipient's platform.