AR

An Odoo AI invoice assistant starts at overdue, not at post.

Receivables questions are the cleanest MCP demo: overdue, promised-to-pay, quiet customers. Posting and reconciliation stay human. The bot user should not have those rights.

Odoo MCP connecting ChatGPT, Claude, Gemini and MCP-compatible AI agents

Read tools only

search_invoices, search_payments (read), maybe invoice ageing as a dedicated tool. Not action_post, not write on amount_total, not unlink. Accounting already has posted-state locks — do not punch them with an agent. Restrict accounting users.

Gemini allowed_tools should match. Gemini. Default: read-only MCP.

Payroll and bank are not this assistant

Do not hang payslips or full IBANs off a sales/AR bot. Payroll · Security. Sales twin: sales assistant.

What AR actually asks

“What’s overdue over 60 days?” “Did they promise a date?” “Is there an open credit?” Those are reads. “Write off this balance” is not a chat command. Keep the tool list in that dialect.

If chatter holds the promise-to-pay, either expose a safe note search or keep that in Odoo. Do not dump full chatter to an LLM by default — it is a data-minimisation issue.

Month-end

Lock periods still apply. An agent that can post because someone reused the accountant user will post. Separate the AR-reader user from the poster. Calendar reminder at period close: confirm the bot still cannot post.

Sources

Official documentation

Questions

FAQ

Can it send dunning email?

Not as an unsupervised write. Draft a reminder for a human.

Can it post invoices?

No on the first tool list. Prefer never for a chat agent.

Start read-only. Ask a real question.

Sandbox on sample Odoo 19 data, or we put MCP on your instance.