Sync options reference
Every option below lives on a company's Settings page in connect.planapulse.com. Sensible defaults are on, so most teams never change these — but here is the full list, grouped by what it controls. Direction shows which way the data flows: Payhawk → Odoo, Odoo → Payhawk, two-way, or — for a local setting that moves nothing on its own.
Documents
| Option | What it does | Default | Direction |
|---|---|---|---|
| Import expenses as vendor bills | Turns each reviewed Payhawk expense into a vendor bill in Odoo. | On | Payhawk → Odoo |
| Attach receipt documents | Attaches the receipt image/PDF to the Odoo bill. | On | Payhawk → Odoo |
| Back-link to Payhawk | Adds a link on the Odoo bill back to the original Payhawk expense. | On | Payhawk → Odoo |
| Auto-post bills | Posts imported bills automatically instead of leaving them as drafts. | On | In Odoo |
| Apply Payhawk corrections to draft bills | Copies only what you corrected in Payhawk onto the bill, while it is an unpaid draft, and keeps what your team edited in Odoo. See the note below. | Off | Payhawk → Odoo |
| Refresh a draft bill before paying it | Once Payhawk marks an expense paid, rebuilds its unpaid draft bill from the expense, every line included. Replaces anything your team edited on that draft. | Off | Payhawk → Odoo |
Apply Payhawk corrections to draft bills
A bill is created once. With this option on, a correction you make in Payhawk afterwards is copied onto the bill, but only the fields you changed:
- A field you changed in Payhawk, such as the document number, a date, the supplier, an account, a tax, an amount or an analytic choice, is updated on the bill.
- A field you did not change in Payhawk keeps whatever your team put there in Odoo. So does a line your team added.
- A line you add in Payhawk is added to the bill. A line you remove in Payhawk is never deleted from the bill: the run log tells you, and your team removes it in Odoo if it should go.
- Only an unpaid draft is changed. A posted or paid bill is left as it is, and the run log names the expense once for each correction. Reset the bill to draft in Odoo and the correction is copied at the next full sync, within a day.
- The bill's chatter lists what was copied, and anything that was not.
It works from the day you switch it on. Bills that already differ from Payhawk at that moment keep their values, and only corrections made from then on are copied.
When it is on, Refresh a draft bill before paying it does nothing.
Master data
| Option | What it does | Default | Direction |
|---|---|---|---|
| Sync suppliers | Links each Payhawk supplier to one Odoo vendor — matched by tax ID then name — and creates whichever side is missing it. Odoo is the master record: later edits to a linked vendor are pushed Odoo → Payhawk, never the other way. | On | Two-way |
| Suppliers per run | How many vendors one run handles per direction. The rest follow on the next runs, so nothing is skipped. 0 = no limit. | 200 | Two-way |
| Sync tax rates | Publishes your Odoo purchase taxes to Payhawk so reviewers pick the same taxes. | On | Odoo → Payhawk |
| Which taxes to sync | Optional pick-list of which purchase taxes to publish. | Empty = all active purchase taxes | Odoo → Payhawk |
| Sync chart of accounts | Publishes your Odoo expense accounts as Payhawk account codes. | On | Odoo → Payhawk |
| Sync departments / analytics / branches / assets | Publishes analytic accounts, departments, branches and asset models to Payhawk. | On | Odoo → Payhawk |
Payments
| Option | What it does | Default | Direction |
|---|---|---|---|
| Import payments / bank movements | Brings settled card and reimbursement payments into a dedicated Payhawk journal. | On | Payhawk → Odoo |
| Group into bank statements | Wraps payments into bank statements; off keeps modern bare statement lines. | Off (bare lines) | Payhawk → Odoo |
| Set supplier on payments | Fills the supplier/partner on each imported payment. | On | Payhawk → Odoo |
| Update currency rates | Keeps Odoo's exchange rates aligned with the payment currencies. | On | Payhawk → Odoo |
Behaviour
| Option | What it does | Default | Direction |
|---|---|---|---|
| Target Odoo company | The Odoo company bills and payments land in. | Required | — |
| Import from date | The connector does nothing at all before this date. See the note below. | Empty | — |
| Max records per run | Caps how many records one sync processes. | 200 | — |
| Real-time webhooks | Triggers a sync the moment an expense is reviewed, instead of waiting. | On | Payhawk → Odoo |
| User mapping | For reimbursements: maps a Payhawk person to an Odoo user or employee. | — | — |
Import from date
Leave it empty and the connector considers your whole Payhawk account, which is how every link worked before this setting existed.
Set it and the connector stops at that date, in both directions of the word:
- An expense Payhawk reviewed or settled earlier is never imported.
- It is never looked at again either. This is the part that matters. Without a date, the nightly full pass re-reads the whole account, so a bill you delete in Odoo comes back. With one, a deletion before the date is permanent.
- Bank movements from before the date are left alone, including a movement that would have paid an older bill. If such a bill is still open in Odoo, settle it by hand: the connector will not reach back for it.
The date is per company, because each company is its own link with its own settings.
Set it to the day you went live, and everything your accountant already closed stays closed.
Guards
| Option | What it does | Default | Direction |
|---|---|---|---|
| Match base currencies | Refuses to sync if the Payhawk entity and Odoo company use different base currencies. | On | — |
Auto-post safety
Auto-post bills is on by default, but it never posts something questionable. A bill whose tax code could not be matched to an Odoo tax is always left as a draft with a warning for you to review — it is never auto-posted. So the worst case is a bill waiting for you, never a wrong posting.
Which taxes to sync
Leave Which taxes to sync empty and PLANA Connect publishes every active purchase tax to Payhawk — this is what most teams want. Use the pick-list only when you want reviewers to see a shorter, curated set of taxes (for example, hiding taxes you keep for reporting but don't use on expenses).
How taxes are handled
For each expense line, PLANA Connect maps Payhawk's tax to the matching Odoo purchase tax by its name and derives the net from Payhawk's gross. It does not compute the tax itself — when the bill is posted, Odoo recomputes the full tax accounting (the accounts behind each tax, VAT-return boxes, reverse-charge, non-deductible, and so on). If a tax can't be matched, the line is left untaxed and the bill stays a draft with a warning, so nothing wrong is ever posted automatically.
Where next
Coming from 8. Go live? These settings are what you fine-tune afterwards. If something isn't behaving as expected, see troubleshooting.