A partir del setembre de 2026, totes les empreses franceses hauran d’encaminar les seves factures i dades d’IVA a través d’una plataforma certificada. B2Brouter ho simplifica: tu envies les dades de la factura amb una crida REST API, i B2Brouter s’encarrega del registre al PPF, la generació del document (UBL/CII/Factur-X), l’encaminament cap als teus clients i la declaració fiscal a la DGFiP, tot des d’una sola integració.
B2Brouter és una Plateforme Agréée (PA) certificada per a la reforma francesa de facturació electrònica de la DGFiP. Connecta’t via REST API i B2Brouter gestionarà per tu tota la capa de compliance:
Què fa B2Brouter per tu
Detalls
Registre al PPF
Publica automàticament el teu SIREN/SIRET a l’Annuaire quan actives el servei
Flux 1 — facturació electrònica B2B
Genera UBL/CII/Factur-X, transmet al PPF i encaminа a la plataforma del comprador
Flux 6 — cicle de vida de la factura
Gestiona els missatges d’estat CDAR (Déposée, Reçue, Approuvée, Refusée, Encaissée)
Flux 10 — e-Reporting
Agrega operacions B2C i B2B transfrontereres (intra-UE i extra-UE) en Ledgers diaris enviats al PPF
Recepció Peppol 0225
Rep factures de qualsevol plataforma francesa o connectada a Peppol
Generació de documents
Tu envies dades de factura en JSON i B2Brouter genera el document UBL/CII/Factur-X compliant i el transmet al PPF. No cal que generis XML pel teu compte
Formats d’entrada
JSON REST API, Factur-X PDF/A-3 (amb CII XML incrustat), UBL 2.1 XML, CII XML
Arxiu legal
Tots els documents transmesos (factures, tax reports, missatges CDAR) s’emmagatzemen a B2Brouter durant el període legal obligatori de 10 anys. No cal cap infraestructura addicional al teu costat
Context normatiu: La reforma francesa de facturació electrònica estableix que totes les empreses franceses han d’utilitzar una Plateforme Agréée (PA) certificada o el PPF (Portail Public de Facturation) de l’Estat per transmetre factures i declarar dades d’IVA a la DGFiP a partir del setembre de 2026. Com a PA certificada, B2Brouter gestiona completament la connexió amb el PPF en nom teu: sense SFTP, sense certificats electrònics i sense cap integració directa amb el PPF.
Hi ha dos casos d’ús principals per integrar-se amb B2Brouter per a la facturació electrònica a França:
eDocExchange: per a empreses o grups d’empreses que integren directament el seu programari de gestió (ERP, plataforma comptable) amb B2Brouter. El procés d’onboarding (creació del compte, configuració de Tax Report Settings) normalment es fa una vegada per empresa des de la interfície web. L’operativa del dia a dia, com emetre factures i seguir-ne el cicle de vida, es fa via API. Per afegir més comptes d’empresa al teu grup d’integració, només cal seguir el mateix assistent d’onboarding des del mateix usuari de B2Brouter; no cal cap crida API separada.
eDocSync: per a vendors de programari i proveïdors ERP que volen oferir compliment DGFiP als seus clients des del seu propi producte. És el model white-label / embedded / marque blanche de B2Brouter: B2Brouter opera completament en segon pla, els clients finals només interactuen amb la interfície del vendor i no saben que B2Brouter hi és al darrere. El vendor és responsable del provisionament de comptes, l’enviament de factures i el seguiment del cicle de vida via l’API de B2Brouter. Els clients finals no necessiten login ni subscripció a B2Brouter.
Per a eDocSync, el volum de provisionament de comptes determina el pla adequat:
Poques empreses (model reseller): afegeix cada empresa client com a compte dins del teu grup d’integració de B2Brouter des de la interfície web, seguint l’assistent estàndard. Funciona bé per a desenes d’empreses i comparteix una única API key.
100+ empreses: contacta amb el nostre equip comercial o obre un ticket de suport per parlar d’un pla eDocSync dedicat amb provisionament massiu.
En tots dos casos, totes les funcionalitats de compliance específiques de França (registre a l’Annuaire, transmissió Flux 1/6/10, cicle de vida CDAR) funcionen igual.
B2Brouter és una Plateforme Agréée: t’integres amb B2Brouter; no és un relay ni un connector cap a una altra PA. Si el teu SIREN/SIRET ja està registrat amb una altra PA, activar B2Brouter (pas 2) transferirà automàticament l’entrada de l’Annuaire. No pots utilitzar B2Brouter com a passarel·la per enviar factures sota la certificació d’una altra PA.
Encaminament a destinataris d’altres PA: quan el comprador està registrat amb una PA diferent, B2Brouter encamina la factura utilitzant el model estàndard Peppol de quatre cantonades (C2 → C3): el punt d’accés Peppol de B2Brouter (C2) consulta l’adreça Peppol del destinatari a l’Annuaire i entrega el document al punt d’accés del comprador (C3), independentment de quina PA utilitzi. No cal cap configuració extra al teu costat.
Entorns de prova: utilitza sandbox per a les primeres proves d’API i validació de payloads. Els enviaments DGFiP es simulen al sandbox i no cal cap SIRET fictici. Per a proves completes end-to-end amb l’entorn QAS (qualification) de la DGFiP, utilitza l’entorn staging de B2Brouter, tal com s’explica a continuació.
No barregis entorns. Producció utilitza números SIREN/SIRET reals i connecta amb l’Annuaire de producció de la DGFiP. Staging utilitza identificadors ficticis de prova i connecta amb l’entorn QAS de la DGFiP. API keys, comptes i contactes no es comparteixen entre entorns.
Registra’t a app.b2brouter.net per començar una integració en producció. Quan activis el DGFiP Tax Report Setting, el SIREN/SIRET de la teva empresa es publicarà a l’Annuaire real del PPF i serà visible per qualsevol plataforma de l’ecosistema francès de facturació electrònica.
Aquesta opció està pensada per a factures B2B reals a partir del setembre de 2026. Mentrestant, la DGFiP netejarà els registres del període QAS abans que la reforma entri en vigor, de manera que les factures que enviïs durant el pilot no generaran obligacions de compliment. És el millor punt de partida si ja has escollit B2Brouter i vols provar la integració completa amb dades reals de la teva empresa.
Registra’t a app-staging.b2brouter.net per utilitzar l’entorn de proves de B2Brouter, connectat a l’entorn QAS de la DGFiP.
És la millor opció si:
Estàs avaluant diverses plataformes abans de decidir-te
El teu SIREN/SIRET ja està publicat a l’Annuaire amb una altra PA i activar B2Brouter en producció en transferiria l’entrada
Prefereixes no associar l’identificador de la teva empresa amb activitat de proves
L’entorn staging és autoprovisionat: un cop tinguis identificadors de prova, pots començar proves end-to-end en menys de 24 hores.
Validació del SIRET a staging: a l’entorn staging, qualsevol número vàlid de 14 dígits s’accepta com a SIRET sense validar el checksum. Els identificadors ficticis del CSV QAS de Chorus Pro ja estan preregistrats a l’annuaire QAS de la DGFiP i funcionen end-to-end. En producció sí que es valida el format i checksum del SIRET.
Important: la DGFiP no permet SIREN ni SIRET reals al seu entorn QAS. Has d’utilitzar identificadors ficticis de prova. Pots obtenir-los tu mateix mitjançant el portal QAS de Chorus Pro (gratuït, procés d’uns 5 minuts) o demanar-ne un conjunt preassignat obrint un ticket de suport a l’app de staging.
Un compte per SIREN: B2Brouter crea un compte per SIREN i la clau del VAT number es deriva del SIREN. Si proporciones un SIRET, se n’extreu el SIREN. Dos SIRET diferents de la mateixa empresa (mateix SIREN) es resolen com un mateix compte. Si la teva empresa opera des de diversos establiments (SIRET diferents), aquests es modelen com a unitats organitzatives dins del mateix compte de B2Brouter, no com a comptes separats. Contacta amb Support si necessites configurar facturació multiestabliment. Tingues-ho present quan seleccionis files del CSV: tria SIRET amb SIREN diferents (els primers 9 dígits) per a cada empresa independent que vulguis provar.
Obtenir identificadors de prova via Chorus Pro QAS
El portal Chorus Pro QAS et permet generar un “Matelas de données” (joc de dades), és a dir, un fitxer CSV amb identificadors ficticis SIREN/SIRET preregistrats a l’entorn de proves de la DGFiP. Segueix aquests passos:
Pots utilitzar una adreça de correu temporal, com ara temp-mail.io.
Pots posar qualsevol nom; aquest compte només serveix per obtenir identificadors de prova.
Revisa la teva safata d’entrada per trobar el correu “Initialisation de mot de passe Chorus Pro” i defineix la teva contrasenya. L’enllaç és vàlid durant 60 minuts.
Inicia sessió → ves a Domaines → Matelas de données → fes clic a Générer un matelas de données i confirma.
Ves a Consultation du matelas de données. Espera fins que tots dos estats mostrin “Disponible”:
Statut pour Chorus Pro: Disponible
Statut pour l’annuaire de facturation PPF: Disponible
La generació acostuma a trigar pocs minuts. Refresca la pàgina per comprovar-ho.
Fes clic a “Générer et télécharger le fichier CSV du matelas structures et utilisateurs” per descarregar els teus identificadors de prova.
El CSV conté diversos números ficticis SIREN/SIRET en files etiquetades com “Privé” i “Public”. Utilitza només les files de la secció “Privé” per als teus comptes de prova. Les entitats del sector públic (SIREN 'Public') són rebutjades per l’annuaire QAS de la DGFiP; si intentes activar l’e-Reporting en un compte del sector públic rebràs un HTTP 422. És el comportament correcte: les entitats públiques utilitzen Chorus Pro directament, no una PA.
Utilitza un SIREN del sector privat per al compte emissor i un altre per al contacte de prova.
Crea el compte de la teva empresa utilitzant un SIREN del CSV (vegeu Pas 1).
Subscriu-te a un pla eDocExchange. Les subscripcions a staging són simulades i no tenen cost.
Activa els DGFiP Tax Report Settings (vegeu Pas 2).
⚠️ Després d’activar el DGFiP Tax Report Setting, el registre de la teva empresa a l’Annuaire pot trigar fins a 24 hores a propagar-se, tant a staging com a producció. És una limitació de la infraestructura DGFiP, no un retard de B2Brouter. No podràs enviar factures fins l’endemà.
L’endemà, crea un contacte de prova amb un segon SIREN del CSV (vegeu Pas 3).
L’autenticació utilitza una API key estàtica enviada a la capçalera HTTP X-B2B-API-Key. No hi ha cap flux OAuth2: genera la teva API key des de la interfície de B2Brouter a Settings → API Keys. Guarda-la de manera confidencial i no la incloguis mai en codi client-side. A més, estableix X-B2B-API-Version a cada petició.
Base URL: tots els exemples següents utilitzen https://api-staging.b2brouter.net. Per a producció, substitueix-lo per https://api.b2brouter.net.
Pas 1: recupera o crea el compte de la teva empresa
Si ja tens un compte de B2Brouter per a la teva empresa, recupera el seu id amb l’endpoint List Accounts i salta’t el pas de creació.
Si encara no l’has creat, utilitza l’endpoint Create Account (camí eDocSync/API) o l’assistent d’onboarding de la interfície web (camí eDocExchange). Tots dos produeixen el mateix resultat.
En crear un compte d’empresa francesa:
cin_scheme: "0002" per a SIREN (9 dígits) o "0009" per a SIRET (14 dígits). Utilitza SIRET quan sigui possible; identifica un establiment concret i és el valor preferit pel PPF.
cin_value: el SIREN o SIRET de la teva empresa.
tin_value: número d’IVA francès en format FR{kk}{siren}, on kk és el checksum de dos dígits. Aquest camp és opcional en la creació del compte: si l’omets, B2Brouter el derivarà automàticament del SIREN quan activis el DGFiP Tax Report Setting. És obligatori per a la facturació DGFiP, però no l’has de calcular tu.
Aquest és el pas clau de l’onboarding. Quan crees un Tax Report Setting amb code: "dgfip", B2Brouter:
Registra la teva empresa a l’Annuaire del PPF: el teu SIREN/SIRET passa a ser visible per a qualsevol plataforma de l’ecosistema francès de facturació electrònica.
Crea un transport Peppol 0225: això permet que la teva empresa rebi factures electròniques de qualsevol plataforma francesa connectada a Peppol.
⚠️ Substitució del transport:
Si el teu compte ja té un transport Peppol, es substituirà pel nou transport 0225 (FRCTC Electronic Address) durant l’activació. Si el teu SIREN/SIRET estava registrat prèviament amb una altra PA, B2Brouter tancarà l’entrada existent a l’Annuaire i n’obrirà una de nova. Actualitza qualsevol integració existent que faci referència a l’identificador de l’antic transport.
El start_date determina quan comença la declaració fiscal. A partir d’aquesta data, les factures que emetis generaran tax reports i es transmetran al PPF.
Quan comença la declaració fiscal. Ha de ser avui o una data futura. Si s’omet, el valor per defecte és demà.
type_operation
string
Sí
Tipus d’operació per defecte per a aquesta empresa: "services", "goods" o "mixed". Determina el codi de procés DGFiP (S1/B1/M1, etc.) utilitzat als tax reports. Tria "mixed" si l’empresa ven tant béns com serveis. Aquest ajust es pot modificar després de l’activació.
naf_code
string
Sí
El codi NAF/APE de l’empresa. És el codi de secció de 2 dígits assignat per l’INSEE que identifica l’activitat econòmica principal de l’empresa. La DGFiP l’utilitza per classificar la declaració fiscal.
enterprise_size
string
Sí
La categoria de mida de l’empresa definida per l’INSEE. Valors admesos: "micro", "pme", "eti" o "ge".
reason_vat_exempt
string
No
Codi per defecte del motiu d’exempció d’IVA per a l’empresa. Per defecte és "VATEX-FR-FRANCHISE".
email
string
No
Correu de contacte per a notificacions fiscals.
auto_generate
boolean
No
Sempre true per a DGFiP per obligació legal. No es pot canviar.
auto_send
boolean
No
Transmet automàticament els tax reports al PPF. Per defecte és true.
enabled
boolean
No
Indica si la configuració està activa. Per defecte és true. El registre a l’Annuaire només es produeix quan és true.
Si el registre a l’Annuaire falla, per exemple per SIREN/SIRET invàlid o per una caiguda temporal dels serveis DGFiP, la creació del Tax Report Setting es desfà i es retorna un error. Corregeix el problema i torna-ho a provar.
Un contacte B2B francès necessita identificadors d’encaminament i identificació fiscal.
Camp
Valor
Finalitat
cin_scheme
"0009" (SIRET) o "0002" (SIREN)
Identificador de l’organització, utilitzat per cercar el destinatari a l’Annuaire
cin_value
SIRET o SIREN
Identificador registrat a l’Annuaire
tin_scheme
9957
Tax ID, codi ISO 6523 per a l’identificador fiscal francès
tin_value
FR{kk}{siren}
Número d’IVA francès que apareix a l’UBL XML
country
"fr"
Obligatori per a la lògica d’encaminament DGFiP
currency
"EUR"
Moneda per defecte per a les factures d’aquest contacte
transport_type_code
"peppol"
Recomanat per garantir l’entrega via xarxa Peppol
document_type_code
"xml.ubl.invoice.frcius.v1"
Recomanat: format de factura UBL France CIUS
Transport i tipus de document: per a contactes francesos registrats a l’Annuaire, recomanem establir explícitament transport_type_code: "peppol" i document_type_code: "xml.ubl.invoice.frcius.v1". L’esquema PIN dels participants francesos registrats és 0225 (FRCTC Electronic Address). Pots verificar abans si un contacte està registrat a l’Annuaire fent servir el Directory lookup o el Peppol Directory oficial.
Contactes a Bèlgica, Alemanya i altres països de la UE: per a factures B2B a empreses no franceses, utilitza l’esquema nacional corresponent i el country adequat. Si el destinatari té un access point Peppol actiu, B2Brouter encaminarà la factura via Peppol BIS 3.0. Per a qualsevol transacció amb un contacte amb country diferent de "fr", es generarà automàticament Flux 10 d’e-Reporting transfronterer.
B2Brouter encamina les factures automàticament. Si vols inspeccionar com s’encaminarà un destinatari abans d’enviar, per exemple per confirmar si està registrat a l’Annuaire, utilitza la consulta al directori:
B2Brouter verifica automàticament si els contactes francesos (country: "fr") estan registrats a l’Annuaire de la DGFiP. Aquesta verificació determina el flux de declaració fiscal:
Contacte registrat a l’Annuaire (in_dgfip_annuaire: true o encara no verificat): la factura genera un tax report de Flux 1.
Contacte NO registrat a l’Annuaire (in_dgfip_annuaire: false): la factura no genera tax report. Això evita enviaments Flux 1 invàlids a destinataris que el PPF no pot encaminar.
Contacte encara no verificat (in_dgfip_annuaire: nil): B2Brouter és permissiu; la factura continua i genera tax report. La verificació es fa de manera asíncrona en segon pla.
Si crees un contacte francès i immediatament hi envies una factura, és possible que la verificació de l’Annuaire encara no hagi acabat. És intencionat: B2Brouter no bloqueja la creació de factures mentre la verificació està pendent. Si després resulta que el contacte no està registrat, les futures factures cap a aquest contacte no generaran tax reports Flux 1 fins que el contacte es registri en una PA.
La comprovació de l’Annuaire només s’aplica a contactes francesos domèstics (country: "fr"). Els contactes no francesos sempre segueixen el camí d’e-Reporting Flux 10 independentment de l’estat de l’Annuaire.
Un cop la teva empresa ha completat l’onboarding i el DGFiP Tax Report Setting està activat, la creació de factures funciona mitjançant l’Invoice API estàndard. B2Brouter gestiona automàticament tots els requisits específics de França: generació de tax reports, format UBL/CII/Factur-X i transmissió al PPF via Flux 1.
Utilitza send_after_import: true per crear i transmetre en un sol pas. Estableix-lo a false si vols crear la factura primer i revisar-la abans d’enviar-la; en aquest cas, la factura quedarà en estat new fins que en desencadenis la transmissió amb una crida separada o des de la interfície de B2Brouter.
Facturació seqüencial: l’API processa una factura per petició. En escenaris batch o massius, itera sobre la llista de factures i crida l’endpoint per a cada document. L’API admet peticions concurrents, de manera que pots paral·lelitzar múltiples POSTs.
Quan una línia té category: "E" (exempta d’IVA), també has de proporcionar un comment amb el codi d’exempció VATEX-FR-CGI261-* aplicable.
⚠️ Bloqueig silenciós: si s’omet comment en una línia de categoria E, la factura es crea però mai no es transmet al PPF. La resposta contindrà un array errors no buit, així que cal revisar-lo fins i tot en respostes exitoses.
Codis d’exempció d’IVA DGFiP
Codi
Referència legal
Categoria
Descripció
VATEX-FR-FRANCHISE
Art. 293 B CGI
Z
Franchise en base de TVA
VATEX-FR-CNWVAT
—
E
No establert a França
VATEX-FR-AE
—
E
Autoliquidació
VATEX-FR-CGI261-1
Art. 261-1° CGI
E
Cures i serveis mèdics
VATEX-FR-CGI261-2
Art. 261-2° CGI
E
Serveis paramèdics
VATEX-FR-CGI261-3
Art. 261-3° CGI
E
Ensenyament escolar, universitari i formació professional
Les empreses sota el règim franchise en base de TVA operen a tipus zero (categoria Z), no com a exemptes (E). Per a aquestes factures, estableix percent: 0.0, category: "E" i comment: "VATEX-FR-FRANCHISE" a cada línia d’impost; B2Brouter transcodificarà automàticament la categoria a Z.
Per emetre una nota de crèdit, estableix is_amend: true i referencia la factura original amb amended_number i amended_date. B2Brouter generarà un UBL CreditNote amb codi de tipus 381 i inclourà la referència de facturació.
El codi de procés determina el flux cadre del PPF. B2Brouter l’assigna automàticament segons type_operation del Tax Report Setting i les característiques de la factura.
Configura endpoints de webhook des de la interfície de B2Brouter a Settings → Webhooks. Un cop configurats, B2Brouter enviarà un HTTP POST al teu endpoint cada vegada que la factura arribi a un nou estat.
Quan una factura arriba a l’estat sent, la resposta de GET /invoices/{id} inclou el camp download_legal_url. Fes-lo servir per descarregar el document de factura que s’ha transmès.
El Flux 10 cobreix transaccions fora de l’obligació de facturació electrònica B2B domèstica però que igualment s’han d’informar a la DGFiP. B2Brouter gestiona el Flux 10 automàticament.
Vendes a particulars no registrats a l’IVA a França. Utilitza "type": "IssuedSimplifiedInvoice". El contact_id i els camps de pagament no són obligatoris per a factures B2C.
Operacions transfrontereres (B2B intra-UE i extra-UE)
Les vendes o compres amb empreses establertes fora de França s’han d’informar via Flux 10. Utilitza el tipus estàndard IssuedInvoice o ReceivedInvoice i estableix el country de la contraparte a un valor diferent de "fr". B2Brouter detectarà automàticament la naturalesa transfronterera.
B2Brouter agrupa tots els tax reports Flux 10 d’un dia natural en Ledgers enviats al PPF una vegada al dia. Pots identificar-los perquè tenen ledger_id no nul a la resposta del tax report.
Com a empresa francesa registrada a l’Annuaire amb transport Peppol 0225, rebràs automàticament factures electròniques d’altres plataformes franceses i connectades a Peppol.