Data flow reference
What moves between Odoo and Payhawk, and in which direction.
Push: Odoo → Payhawk
| Odoo object | Becomes in Payhawk | Trigger |
|---|---|---|
Expense accounts (account.account, group expense) | Account codes | Scheduled / manual sync |
Purchase taxes (account.tax, selected) | Tax rates | Scheduled / manual sync |
Expense products (product.product, selected) | Categories | Export Expense Categories / sync (if enabled) |
Analytic plans (account.analytic.plan) | Custom fields | Scheduled / manual sync |
Analytic accounts (account.analytic.account) | Custom field values | Scheduled / manual sync |
Departments (hr.department) | Teams | Scheduled / manual sync |
| Asset models (OCA / Enterprise) | Amortizations | Scheduled / manual sync |
Pull: Payhawk → Odoo
| Payhawk object | Becomes in Odoo | Trigger |
|---|---|---|
| Reviewed expense | Vendor bill or receipt (linked) | Webhook expense.reviewed + sync |
| Expense payment details | Payment info on the move | Webhook expense.payment-details.updated |
| Fund-account transactions | Bank statement lines | Scheduled sync (if Import Bank Statements) |
| Suppliers | res.partner (tagged Payhawk Supplier) | Sync + webhooks |
Two-way: Suppliers
Suppliers reconcile in both directions. Matching priority:
- VAT / Tax ID
- External ID (Odoo partner ID stored on the Payhawk supplier)
- Name
New Odoo suppliers are pushed to Payhawk (batches of 50/run); new Payhawk suppliers without an external ID are imported into Odoo and back-linked. Invalid emails are skipped with a warning rather than failing the run.
Identity & integrity
- The connector stores the Odoo instance identifier in a hidden Payhawk custom field (
odoo_internal_data→instance_id) to guard against cross-instance mixups. - The Account ID links the Odoo company to a specific Payhawk account; it is discovered and stored on first sync.
Timing
- Scheduled: "Payhawk Data Sync Runner" every 15 minutes (incremental — pulls what changed since the last success watermark).
- Real-time: webhooks for expense review, payment changes, supplier create/update.