Connect your Odoo
Readout reads your Odoo through a read-only connection. You’ll give it four things: your Odoo URL, the database name, a username, and an API key.
1. Create a read-only API key in Odoo
In Odoo, use a user with read access to Accounting (Invoicing) and to Sales. Accounting is the one that matters: every report Readout builds is invoiced revenue, read from journal items (account.move.line). Sales access is needed so the sync can also pull your orders. Under that user’s My Profile → Account Security, create a new API key and copy it — Odoo shows it only once.
Tip: use a dedicated reporting user with the minimum access it needs. Readout never writes to Odoo, so read access is enough.
2. Add the connection in Readout
Open Settings → Odoo connection in the dashboard and fill in the form:
- Odoo URL — your instance address, e.g.
https://acme.odoo.com - Database — the Odoo database name, e.g.
acme-prod - Username — the login of the reporting user
- Odoo API key — the key you just created
Your API key is encrypted at rest and never shown again — it appears masked, and you only re-enter it if you want to replace it.
3. Test the connection
Press Test connection. Readout runs a live, read-only probe against your Odoo to confirm it can read sales. A green result means you’re good to go; a red result explains what failed (wrong key, unreachable host, or missing sales access).
Afterwards the same check lives under the ⋯ menu beside the connection’s status, where it re-tests the credentials you saved. The button in the form becomes Test these values and appears only once you have typed a new key — it checks what is on screen without saving it, so you can find a wrong value before committing all four.
Troubleshooting
- Connected, but every report is empty— almost always Accounting access. Readout reports invoiced revenue, so a user who can read Sales but not Invoicing connects successfully and then has nothing to report on. Grant read access to Accounting (Invoicing) and test again.
- Host unreachable / timeout— double-check the URL (scheme included) and that the instance is publicly reachable.
- Wrong database— the database name is case-sensitive and separate from the URL; confirm it in your Odoo login screen.
Next: Billing →