Until now, AI in most ERP systems answered questions. According to the Odoo 20 release notes, AI agents in Odoo 20 go further: they can create and update records and run inside automated and scheduled actions, not only in a chat window. For a finance team that is a real capability and a real control question at the same time. An agent that posts or edits records on a schedule is doing work that, done by a person, would sit inside your approval matrix.
What is an AI agent in Odoo 20?
The release notes describe an agent as a record with instructions, reusable skills, knowledge sources and triggers wired to automation rules. Every run is logged. Agents can also connect to outside assistants through MCP. In finance terms, an agent is a standing instruction with the ability to act: it wakes on a trigger, reads what its knowledge sources allow, and changes records within the rights it has been given.
What can agents do for finance today?
The release notes name a few finance uses directly. The accounting AI assistant answers questions about receivables, gross profit or cash flow with figures from the reports, and can review suspected bank reconciliation errors and return recommendations. In purchasing, an agent points out vendors worth renegotiating with, and a vendor quality rating is built from past orders. Beyond these, what an agent does depends on how you configure it, which is exactly why configuration is a finance decision and not only an IT one.
Who can use them, and what do they cost?
AI agents are part of Odoo 20 Enterprise, not Community. AI features consume IAP credits, bought separately from user licences and billed per request. That includes requests fired by scheduled triggers: a trigger that runs every hour consumes credits every hour, whether or not there was anything useful to do. A cost that grows with a schedule rather than with use is easy to miss in the budget and easy to fix once someone owns it.
- Name an owner for the IAP credit balance and review consumption monthly, by agent.
- Set trigger frequency to the business need: a daily review does not need an hourly trigger.
- Disable agents that no longer have a clear purpose instead of letting them run quietly.
How should finance govern an agent that can change records?
The same way it governs a person with the same rights. The fact that the actor is software does not remove the need for authorisation; it removes the excuse that somebody looked.
- The agent drafts. Anything that affects the ledger, a payment or master data stays in draft until a person reviews it.
- A named person approves. Not a role mailbox and not the agent’s owner by default, but a specific approver with authority for that type and size of item.
- Segregation of duties applies. The person who configures an agent’s instructions should not be the only person who approves its output.
- Rights are minimal. Give the agent access to the records it needs and no more, and review those rights when its instructions change.
- Logs are kept. Every run is logged in Odoo; decide how long you keep them and who reviews them, and treat them as audit evidence.
What should internal audit look at?
Start with an inventory: which agents exist, what triggers them, what records they can create or update, and who owns each one. Then sample the run logs against the records changed, and check that every ledger-affecting change has an approval by someone other than the agent’s configurer. Check external connections through MCP separately, because they move data beyond the walls of the database. Finally, compare IAP credit consumption with the agents that should be running; unexplained consumption is often the first sign of a forgotten trigger.
An agent with write access and no approver is not automation. It is an unreviewed journal entry with a schedule.
How does this compare with MFT’s own approach?
It is the rule we built MFT Intelligence on, and the subject of our earlier article, Agents draft. People approve. Our agents prepare findings, correcting entries and adjustments; named, registered approvers sign them according to materiality; and corrections are made as reversals, never deletions. Odoo 20 agents can be governed the same way. The tool provides triggers and logs. The approval design is yours to set, before the first agent goes live, not after the first surprise.
If you are evaluating Odoo 20 agents, write down for each one its purpose, its trigger, its rights, its approver and its expected credit use. If you cannot fill in the approver, the agent is not ready.