Salta al contingut
Log in

Primers passos

Configurar les dades fiscals dels comptes [OBLIGATORI]

Section titled “Configurar les dades fiscals dels comptes [OBLIGATORI]”

Des de l’app, icona d’engranatge, o via API a través de l’endpoint /accounts. Creeu tants comptes com necessiteu al sandbox per fer proves.

  • eDocExchange: creeu comptes per a les vostres empreses a l’App amb l’enllaç manual a la secció Developers. Si sou reseller, podeu automatitzar l’aprovisionament d’eDocExchange per oferir un servei més complet als vostres clients finals.
  • eDocSync: creeu comptes d’usuari via API amb POST /accounts.
Finestra del terminal
curl --request POST \
--url https://api-staging.b2brouter.net/accounts \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"account": {
"country": "{COUNTRY_CODE}",
"tin_value": "{YOUR_TAX_IDENTIFICATION_NUMBER}",
"tin_scheme": "{YOUR_TAX_IDENTIFICATION_SCHEME}",
"name": "{ENTERPRISE_NAME}",
"address": "{YOUR_STREET}",
"city": "{YOUR_CITY}",
"postalcode": "00000",
"email": "{MAIN_EMAIL}"
}
}'

Quan creeu un compte via API, llegiu l’id de la resposta i deseu-lo al vostre entorn per a futures peticions d’aquella empresa.

Activar transports [Recomanat: b2brouter, mail i peppol] [Opcional] [OBLIGATORI per a casos Peppol BE]

Section titled “Activar transports [Recomanat: b2brouter, mail i peppol] [Opcional] [OBLIGATORI per a casos Peppol BE]”
Finestra del terminal
curl --request POST \
--url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/transports \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"transport": {
"code": "peppol",
"enabled": true,
"reception": true,
"standard_documents": true,
"invoice": true,
"credit_note": true,
"application_response": true,
"pin_scheme": "{YOUR_IDENTIFICATION_SCHEME}",
"pin_value": "{YOUR_IDENTIFICATION_NUMBER}"
}
}'

Activar Tax Report [OBLIGATORI en casos ES i IT]

Section titled “Activar Tax Report [OBLIGATORI en casos ES i IT]”
Finestra del terminal
curl --request POST \
--url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/tax_report_settings \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"tax_report_setting": {
"code": "verifactu",
"auto_generate": true,
"auto_send": true,
"enabled": true,
"reason_vat_exempt": "E1",
"special_regime_key": "01",
"special_regime_key_igic": "01",
"reason_no_subject": "N1",
"credit_note_code": "R1"
}
}'

Llistar comptes per recuperar l’ACCOUNT_ID [Opcional]

Section titled “Llistar comptes per recuperar l’ACCOUNT_ID [Opcional]”

Si encara no teniu els IDs del vostre grup d’integració, aquesta és la manera més ràpida de llistar-los. També podeu copiar l’ID d’un compte des de la pestanya App → Developers.

Finestra del terminal
curl --request GET \
--url 'https://api-staging.b2brouter.net/accounts?offset=0&limit=25' \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json'

Pas següent: seguiu la guia del flux d’enviament end-to-end per crear contactes, crear o importar factures, enviar-les i recuperar o descarregar els documents finals.

Si el trobeu, podeu saltar directament al pas 4) recuperant l’id.

Finestra del terminal
curl --request GET \
--url 'https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/contacts?offset=0&limit=25&name=B2Brouter%20Global%20S.L.' \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json'

Si existeix, podeu fer servir les dades per crear el contacte.

Finestra del terminal
curl --request GET \
--url https://api-staging.b2brouter.net/directory/es/ESB63276174 \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json'
Finestra del terminal
curl --request POST \
--url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/contacts \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"contact": {
"language": "en",
"is_client": true,
"is_provider": true,
"public_sector": false,
"name": "B2Brouter Global S.L.",
"tin_value": "ESB63276174",
"tin_scheme": "9920",
"country": "es",
"email": "john.doe@example.com",
"address": "Avda. Diagonal, 433 1º1ª",
"postalcode": "08036",
"province": "Barcelona",
"city": "Barcelona",
"transport_type_code": "b2brouter",
"document_type_code": "xml.facturae.3.2.2",
"payment_method": 1
}
}'

Si no teniu clar quin tin_scheme, transport_type_code o document_type_code cal utilitzar, recordeu que podeu fer servir els endpoints de Code Lists.

Crear i enviar una factura simple [OBLIGATORI]

Section titled “Crear i enviar una factura simple [OBLIGATORI]”

Recordeu que, si no voleu gestionar contactes a B2Brouter, en lloc d’utilitzar contact_id, podeu incrustar un objecte contact complet dins de invoice a la mateixa petició POST /invoices; en aquest cas, haureu de proporcionar les dades del contacte a cada factura. Si el vostre sistema ja genera un XML de factura electrònica reconegut, la integració més simple és importar-lo directament. Ara bé, si doneu servei a clients de diversos països, JSON acostuma a ser més portable perquè alguns formats tenen camps específics de país. Utilitzeu GET /document_types per comprovar els tipus de document disponibles.

Finestra del terminal
curl --request POST \
--url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/invoices \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'content-type: application/json' \
--data '{
"send_after_import": true,
"invoice": {
"type": "IssuedInvoice",
"bank_account": {
"type": "iban"
},
"terms": "custom",
"invoice_lines_attributes": [
{
"unit": 1,
"quantity": 1,
"description": "Example Service",
"price": 10,
"taxes_attributes": [
{
"name": "VAT",
"category": "S",
"percent": 21
}
]
}
],
"apply_taxes_to_charge": false,
"charge_is_reimbursable_expense": false,
"number": "123456",
"contact_id": {CONTACT.ID},
"date": "2025-09-24",
"due_date": "2025-10-24"
}
}'

Recuperar les dades de la factura emesa [OPCIONAL]

Section titled “Recuperar les dades de la factura emesa [OPCIONAL]”

Un cop enviada, podeu recuperar l’invoice.id de la resposta i fer un GET amb tota la informació. Si teniu Tax Report activat, casos ES o IT, també podeu recuperar el tax_report_id per veure’n tots els detalls. Recordeu que podeu configurar Webhooks per als canvis d’estat.

Per obtenir les factures més recents en JSON:

Finestra del terminal
curl --request GET \
--url 'https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/invoices?offset=0&limit=25' \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json'

Per recuperar una factura específica en JSON:

Finestra del terminal
curl --request GET \
--url 'https://api-staging.b2brouter.net/invoices/{INVOICE_ID}?include=lines' \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json'

Obtenir una factura amb un tipus de document específic

Section titled “Obtenir una factura amb un tipus de document específic”

Si necessiteu la factura electrònica renderitzada en un format concret:

Finestra del terminal
curl --request GET \
--url https://api-staging.b2brouter.net/invoices/{INVOICE_ID}/as/{document_type_code} \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json'

Fent un GET sobre el download_legal_url proporcionat al payload de la factura, podeu descarregar el document legal lliurat a l’usuari final per reenviar-lo o arxivar-lo al vostre sistema.

Obteniu tots els detalls d’una declaració, incloent-hi l’enllaç i el QR:

Finestra del terminal
curl --request GET \
--url https://api-staging.b2brouter.net/tax_reports/{TAX_REPORT_ID} \
--header 'X-B2B-API-Key: {YOUR_API_KEY}' \
--header 'X-B2B-API-Version: {YOUR_API_VERSION}' \
--header 'accept: application/json'

  1. Registreu-vos, si encara no ho heu fet, a https://app.b2brouter.net/en/register
  2. Un cop dins, aneu a Subscription i subscriviu-vos a eDocExchange mensual segons el volum aproximat de transaccions.
  3. Canvis tècnics mínims per migrar:
    • Des de sandbox: canvieu la clau test_ per una clau de producció. La base URL, https://api.b2brouter.net, es manté igual.
    • Des de staging: canvieu el domini de api-staging.b2brouter.net a api.b2brouter.net i feu servir la clau API de producció.
    • Actualitzeu l’{ACCOUNT_ID}, si difereix entre entorns.
    • El payload i el comportament funcional són els mateixos a tots els entorns.

No cal tenir tota la integració acabada: podeu passar a producció amb el flux bàsic i continuar desenvolupant amb el suport dels tècnics de B2Brouter.

  • Si gestioneu múltiples empreses i necessiten accés a B2Brouter, separeu-les en grups per privacitat.
  • No envieu factures reals des de sandbox o staging via email o b2brouter a destinataris reals.
  • Eviteu utilitzar NIF/Tax IDs reals de tercers amb qui no us integrareu.
  • Simplifiqueu el procés: busqueu un flux net i global.
  • Prioritzeu JSON. Encara que B2Brouter pugui convertir a la majoria de formats globals, treballar amb el nostre format base facilita facturar globalment sense problemes legals.

Per als usuaris que necessiten utilitzar l’aplicació web, la documentació de la plataforma és aquí:

https://www.b2brouter.net/docs/#/en/README

Recordeu que durant tot el procés estarem encantats d’ajudar-vos a través de Support.

Bona sort amb el vostre procés d’integració!