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 →