Connectors
A connector links one organization to one accounting system, so invoices reach the Peppol network without anyone re-keying them. An organization can run several โ one row per organization and connector type.
Most customers set a connector up in the portal rather than through the API. The endpoints below exist for platforms that onboard customers programmatically, and are documented in full under API Reference โ Connectors.
Two kinds of connectorโ
The distinction decides who initiates the traffic, and it is the first thing to get right when you plan an integration.
Pull connectorsโ
GoRoute holds credentials for your accounting system and polls it. You give us access once; new invoices are picked up, converted and sent without further action.
| System | connector_type |
|---|---|
| Odoo | odoo |
| SAP S/4HANA | sap |
| Zoho Books | zoho |
Pull connectors are the ones that have a connect/disconnect lifecycle, because there are credentials to hold.
Push connectorsโ
Your system authenticates to GoRoute with an API key and pushes documents to us. There is nothing for us to poll and no credentials of yours for us to store.
Accepted values: xero, quickbooks, zuora, oracle_ebs, tally, api, custom.
Calling /connect on a push connector returns 400 โ "it authenticates to GoRoute with
an API key rather than being polled. Nothing to connect." That is the API telling you
the integration runs the other way round, not an error in your request.
Lifecycle of a pull connectorโ
POST /api/v1/connectors register the connector type
POST /api/v1/connectors/{id}/connect hand over credentials
POST /api/v1/connectors/{id}/test confirm we can reach it
POST /api/v1/connectors/{id}/sync pull now, instead of waiting
POST /api/v1/connectors/{id}/disconnect forget the credentials
DELETE /api/v1/connectors/{id} remove it entirely
GET /api/v1/connectors lists what the organization has configured and the status of
each.
Odooโ
Odoo connects over XML-RPC. You supply the address the customer opens to use Odoo, the database, a username and an Odoo API key (scope RPC).
POST /api/v1/connectors/discover probes a server before you commit credentials โ use
it to confirm the address is an Odoo instance and to read back the database name.
On a multi-company database, set company_id to the company you are sending for. Both
the poller and inbound delivery are scoped to it; leave it unset on single-company
databases.
Zoho Booksโ
Zoho connects over OAuth. The portal runs a one-click flow; if you are integrating
directly, POST /api/v1/connectors/zoho/oauth/start begins it and the callback parks a
refresh token you then consume with use_pending: true.
Supply the data centre your Zoho account lives in โ com, eu, in, au, jp or
sa โ and the organization_id of the Zoho Books organization to send for.
Zoho also supports a webhook, so an invoice can leave Zoho and reach the network without
waiting for the next poll. GET /api/v1/connectors/{id}/zoho/webhook-url returns the URL
to register in Zoho.
SAP S/4HANAโ
SAP connects over OData. It takes config and credentials objects rather than flat
fields, because it carries a party mapping that the others have no equivalent for.
POST /api/v1/connectors/{id}/documents/{doc_id}/send sends one specific document.
What comes backโ
A connector is not one-way. Once a document has been sent and the network has responded, the outcome is written back where your accountants already work โ so the accounting system, not just the GoRoute portal, shows what happened to each invoice.
Next Stepsโ
- Send your first document
- Webhook Setup
- Connector API - register connectors and read their health
- Full connector endpoint reference