100 % API estándar de Odoo. La misma interfaz XML-RPC que viene con cada instalación de Odoo desde la versión 8, utilizada exactamente como la documentación de Odoo indica. Tu Odoo se mantiene como Odoo Inc. lo diseñó; togrant.com es simplemente un cliente API bien comportado que se instala a su lado.
▶ Ver la sincronización completa en acción — the 3-minute walkthrough shows every read and write between togrant.com and Odoo.
togrant.com writes into three standard Odoo models — the ones already designed for project work and analytic accounting. Everything else in your Odoo keeps doing what it was doing.
We never write to res.partner, account.move,
account.move.line, or anything in the chart of accounts.
That's finance's territory.
Odoo 17 introduced multi-plan analytic accounting, and that's the mechanism togrant.com leans on. Each plan slices analytic lines by a different axis; combined, they give you per-project + per-donor + per-line-item drill-down.
| Plan | Axis | Example accounts |
|---|---|---|
| Plan 1 — Project | Which togrant.com project | PRJ-001 Civic Voices UgandaPRJ-002 Civic Voices Burundi |
| Plan 2 — Donor budget line | Which donor category | HRTRVEQPIND |
| Plan 3 — Donor budget detail | Which specific budget line | 1.1.1.a Project Director2.1 International flights |
A single bill in Odoo can be tagged with one analytic account from each plan. Sum across one axis to get per-project actuals; sum across another to get per-donor-line actuals. Same data, different views.
Every write goes through an idempotency key shaped like
tenant_id:entity_type:entity_id:operation. Before any
mutation, we check whether the operation has already succeeded. If
it has, we skip and reuse the existing Odoo ID. This means:
Every call writes a sync_log row: timestamp, tenant,
entity, operation, idempotency key, HTTP status, response size,
latency, error message (if any).
Read the sync log chapter in the manual
for a tour of the columns + how to read a failed sync. The log is:
password|secret get scrubbed before write.A 5-minute cron pings each tenant's Odoo with a no-op call and records the result. The admin dashboard shows a green / amber / red pill per tenant. Integration health is its own manual chapter with what each state means and the steps to recover. Red for more than 15 minutes triggers an alert to the support team — usually before the customer notices.
Some parts of your Odoo are the parts your finance team built their workflow around. togrant.com respects those boundaries so the people doing the books keep doing what they were doing:
res.partner stays curated by finance for actual transactions.Clean boundaries mean an Odoo upgrade rarely needs anything from us, and a togrant.com release rarely needs anything from your finance team.