Skip to content

Multiple Odoo companies in one Payhawk entity

Payhawk is billed per entity (account). If you run several companies in Odoo but want to operate a single Payhawk entity, this optional feature lets you decide — per expense — which Odoo company each vendor bill is posted into.

When enabled, the connector publishes a custom field named “Odoo Company” in Payhawk. The value chosen on each expense routes the resulting bill to the matching Odoo company.

Optional — off by default

Leaving this off keeps the standard one-entity-to-one-company behaviour, so existing setups are unaffected. Available in the connector for Odoo 16, 17, 18 and 19.

How it works

Payhawk entity“Odoo Company” field on each expense → bill posted in the chosen Odoo company

  • A reviewed expense tagged with a mapped company → its bill is created in that company, using that company's own journals and accounts.
  • An expense with no value, or an unmapped one → the bill falls back to the entity company (the one holding the Payhawk API key) and a note is added to the Sync Log.

Enable and configure

  1. Turn it on. Go to Settings → Payhawk and tick “Use many Odoo companies in one Payhawk entity”, then Save.
  2. Map your companies. A new Company Mapping tab appears. Add one line per Odoo company that should receive expenses from this entity. The Payhawk Value defaults to the company name — this is the label your team will pick in Payhawk.
  3. Synchronize. Click Synchronize data with Payhawk. The connector creates the “Odoo Company” custom field in Payhawk with one value per mapped company.
  4. Tag expenses in Payhawk. On each expense, set the Odoo Company field, then review/approve it as usual.
  5. Import. On the next sync, each reviewed expense's bill is posted in the company you chose — no manual re-assignment.

Routing rules

In PayhawkIn Odoo
Expense tagged with a mapped companyBill created & posted in that company
Not tagged, or an unmapped valueBill created in the entity company (default) + Sync-Log note
Still in draft (not reviewed)Not imported yet — only reviewed expenses sync

Your other custom-field mappings (analytic accounts, etc.) continue to apply on top of the company routing.

Requirements

  • Each target company needs its own chart of accounts and a purchase journal — bills are posted in that company's books.
  • Only reviewed Payhawk expenses are imported (drafts are skipped).
  • The entity company's base currency should match the Payhawk account's. For mixed-currency setups, turn off Match Base Currencies (see Sync options) and expenses post as normal foreign-currency bills.
  • Works with Payhawk group accounts — several entities can each feed several Odoo companies.

Troubleshooting

SymptomResolution
Company Mapping tab is missingEnable the option above and Save — the tab appears once it is on.
An expense never appears in OdooConfirm it is reviewed in Payhawk and the Odoo Company value is set.
Bill won't post in the target companyMake sure that company has a chart of accounts and a purchase journal.
Payhawk's base currency … does not match …Match the entity company's currency, or disable Match Base Currencies.
Odoo instance ID … does not match the one in PayhawkThe Payhawk account is linked to a different Odoo database — contact PLANA support to re-link it.

See also: Sync options · Configuration · Troubleshooting

© PLANA Digital Ltd.