Skip to main content

Groups and Multi-Company Clients

The rule: one company that files tax is one GoRoute organisation. A client that is a group of three companies, each filing its own tax return, is onboarded as three organisations, and each company's ERP connection is set up from its own organisation.

Whyโ€‹

A Peppol participant carries one taxpayer's invoices. The participant ID is built from the company's own tax registration (for example 0248:OM1100500001 in Oman); it is the address the network delivers to and sends from, and GoRoute registers it for that company alone. So:

  • a company with no organisation of its own has no participant: invoices addressed to it have nowhere to arrive, and its sales can only leave under a sister company's participant;
  • an organisation sends only under participants of its own (or of organisations beneath it): GoRoute refuses any other sender (SENDER_NOT_ENTITLED);
  • each company's documents, tax reporting, Compass checks and history stay in its own organisation instead of being mixed with its sister companies'.

One organisation per company keeps each company's invoices, registration, users, API keys and history its own.

Set up a groupโ€‹

1. Onboard one organisation per companyโ€‹

In the partner console (Onboard Client), answer Companies that file tax with Several companies, then add one row per company:

Per companyNotes
Company nameThe legal entity behind that company's Peppol registration.
Tax numberThe country's tax identifier (the VATIN in Oman, the TIN in Nigeria, the ABN in Australia), checked in the country's format. One tax number is one organisation: the form refuses the same number on two rows.
Registration numberThe commercial registration (CR, CAC, ACN โ€ฆ) where the country asks for one.
First userEach company's own first portal user. A sign-in belongs to one organisation, so two companies cannot share one first user.

The contact, phone, registered address, logo, package and role are entered once and given to every company. The form checks every company before it creates any, then creates them one after another. If one fails after others were created, the result says exactly which exist, and Onboard the remaining companies brings back only the ones that do not.

Each company becomes its own organisation under your partner organisation (a GoRoute administrator can place them under a group's own organisation instead), with its own API key, its own first user, the package you chose, and its own Peppol registration request to GoRoute. Up to 20 companies go in one onboarding; onboard a larger group in two.

2. One connector per organisation, the same ERP loginโ€‹

Connect the group's ERP from each company's organisation, choosing that company in the connection. The same ERP credentials can be used every time; only the company changes.

ERPWhere the company is chosenWhat the connection stores
OdooThe guided wizard's company stepcompany_id: the poller and inbound delivery see only that company
Zoho BooksThe organisation list after Connect with Zohoorganization_id: every call is made inside that Zoho Books organisation

When the ERP holds more than one company, neither form chooses one for you: you pick, and the form says why. A connection that does not name its company is refused:

  • Odoo: a connect on a multi-company database without company_id answers 400 COMPANY_SELECTION_REQUIRED and saves nothing, unless exactly one company's VAT number is registered to this organisation, in which case that company is chosen. The refusal lists the companies in its message and as companies (id, name, vat), which is how the guided wizard asks which one. An Odoo company whose VAT number is registered to another organisation is refused with 409 VATIN_BELONGS_TO_ANOTHER_ORG: connect it from that organisation instead.
  • Zoho Books: a connect without organization_id answers 400 ORGANIZATION_SELECTION_REQUIRED and saves nothing.
  • Afterwards: while an Odoo connector is connected, POST /api/v1/connectors and PATCH /api/v1/connectors/{connector_id} cannot remove or change its company_id (422 COMPANY_SCOPE_REQUIRED). To send for another company, connect again choosing it, or connect that company from its own organisation.

Each connector keeps its own copy of the credentials. When the Odoo API key or the Zoho authorisation is replaced, reconnect every company's organisation.

3. Work across the groupโ€‹

Your partner key reads across the organisations beneath you with scope=group, and Compass rolls findings up per organisation: see Reporting across your customers. Each company's own sends and webhooks stay in its organisation, as for any customer (For Software Vendors and Resellers).

What not to doโ€‹

  • One organisation for the whole group. It sends every company's invoices under one participant.
  • One connector for a whole multi-company database. Even in the right organisation it would pull the other companies' invoices too; that is why the connection must name its company.
  • Connecting company B from company A's organisation. Company B's invoices would leave under company A's registration. Open company B's organisation and connect there.