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 company | Notes |
|---|---|
| Company name | The legal entity behind that company's Peppol registration. |
| Tax number | The 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 number | The commercial registration (CR, CAC, ACN โฆ) where the country asks for one. |
| First user | Each 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.
| ERP | Where the company is chosen | What the connection stores |
|---|---|---|
| Odoo | The guided wizard's company step | company_id: the poller and inbound delivery see only that company |
| Zoho Books | The organisation list after Connect with Zoho | organization_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_idanswers 400COMPANY_SELECTION_REQUIREDand 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 ascompanies(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 409VATIN_BELONGS_TO_ANOTHER_ORG: connect it from that organisation instead. - Zoho Books: a connect without
organization_idanswers 400ORGANIZATION_SELECTION_REQUIREDand saves nothing. - Afterwards: while an Odoo connector is connected,
POST /api/v1/connectorsandPATCH /api/v1/connectors/{connector_id}cannot remove or change itscompany_id(422COMPANY_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.