AI Bank Matching for Odoo 19 Community documentation
A guide to AI bank matching: connecting the AI, asking for suggestions, reviewing and applying them, privacy and the access rights.
Documents version 1.0.0Updated Oct 24, 2026
Start here
In plain words: A bank statement arrives with hundreds of lines such as "POS 4421 CAFE NERO" or "TRF ACME LTD INV 118", and somebody has to decide who each one is and which account it belongs to. AI Bank Matching reads the label and the amount of every unreconciled transaction and suggests the partner and the account, with a confidence and a reason. It chooses only among your own partners and accounts: it never invents one. You review the suggestions and apply the good ones in one click.
Tip: Nothing changes until you apply a suggestion. Low-confidence ones are marked so that you look at them first.
What you get
| Feature | What it does |
|---|---|
| Suggest | For each unreconciled bank transaction: a partner and a counterpart account, from the label and the amount. |
| Your own lists only | The AI is given candidate partners (found from the words of the label) and your accounts, and answers with their numbers: it cannot invent one. |
| Your habits | It sees the account you usually used for each candidate partner. |
| Confidence and reason | A percentage and a short reason; high (80% and more), medium and low. |
| Apply or dismiss | One suggestion or many: applying fills the partner and moves the line from the suspense account to the account. |
| Kept | You see what was applied, by whom and when; a dismissed one can be reviewed again. |
| Batches | 30 transactions per run, sent 10 at a time. |
| Filters | By journal and period; filters for to review, applied and high confidence. |
| Arabic | Everything is translated and works right to left. |
Requirements
| Item | Details |
|---|---|
| Odoo | 19.0 (Community or Enterprise) |
| Apps needed | Invoicing / Accounting (account) |
| AI Connector | taqnix_ai_connector, included in the package |
| An AI provider | An account and an API key with an OpenAI-compatible service or with Anthropic, or a model on your own server. You pay your provider for what you use. |
| License | OPL-1 (Odoo Proprietary License v1.0) |
Install
- Unzip the package. Inside are
taqnix_ai_connector.zipandtaqnix_ai_bank_matching.zip; unzip them to get the two folders. - Copy the folders into one of the
addons_pathfolders of your Odoo server and restart Odoo. - Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
- Remove the “Apps” filter, search AI Bank Matching and press Install. The AI Connector is installed with it.
# or from the command line ./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_ai_bank_matching --stop-after-init
Connect your AI provider
In plain words: Before the first use, an administrator connects Odoo to an AI model: Settings → AI → Providers → New. Choose the type (an OpenAI-compatible service or Anthropic), the API address, your API key and the model name as your provider writes it, then press Test the connection. A model on your own server works too: leave the key empty.
| Field | Meaning |
|---|---|
| Type | OpenAI-compatible (chat completions) or Anthropic (Messages API). |
| API address | For OpenAI-compatible services the address up to /v1; for Anthropic https://api.anthropic.com. |
| API key | Kept in the database; only administrators can read it. |
| Model | The model name, for example the one your provider recommends for text. |
Tip: Members of the group Can use the AI features see the AI buttons: all the internal users get it when the connector is installed, and an administrator can take it away.
Ask for suggestions
In plain words: Open Accounting → Accounting → Transactions → AI bank matching. Choose the bank journal and, if you want, the period, then press Suggest. The unreconciled transactions of that journal and period are read, 30 at a time.
Review and apply
In plain words: AI suggestions (same menu) lists the transactions with the suggested partner and account, the confidence and the reason. Filter High confidence to start with the sure ones, tick the lines, and press Apply (or Dismiss). Applying sets the partner and moves the transaction from the suspense account to the account suggested; the transaction is then ready for you to reconcile or post.
Important: A transaction that already has a partner keeps it, and a transaction that is already partly matched is not changed: you are told, and you change it by hand.
Privacy
In plain words: Using an AI model means sending text to your provider. Matching sends the label and the amount of the transactions, and the names of the candidate partners and accounts. Before any text leaves Odoo, emails, phone numbers, IBANs and long numbers are masked (a company option, on by default). The usage log keeps the figures only (who, which feature, how many tokens, the estimated cost); it keeps the content of the requests only if you switch that on. A monthly token budget stops the features when it is used up.
Important: AI can be wrong. Treat what it writes as a draft: read it before you send it, save it or act on it.
Who can do what
| Who | Can |
|---|---|
| Accountants (Billing) in Can use the AI features | Ask for suggestions, apply and dismiss them. |
| AI administrators | Connect the AI and see the usage. |
| Other users | Do not see the menus. |
Arabic and right to left
Limits
| Limit | Detail |
|---|---|
| A suggestion is a suggestion | Check the partner and the account, mostly for low-confidence ones. |
| Candidates come from the label | A partner whose name shares no word with the label is not a candidate: the AI cannot pick it. |
| 30 per run | Run it again for the next transactions. |
| Reconciliation | The module does not reconcile: it prepares the partner and the account. |
For developers
In plain words: Skip this chapter if you only use the module.
wiz = env['taqnix.ai.bank.suggest'].create({'journal_id': bank_journal.id})
wiz.action_suggest() # creates one suggestion per unreconciled transaction (30 at a time)
suggestions = env['taqnix.ai.bank.suggestion'].search([('state', '=', 'pending'), ('confidence_level', '=', 'high')])
suggestions.action_apply() # sets the partner and the account on the transactionsTroubleshooting
| Problem | What to do |
|---|---|
| No unreconciled transaction | Everything of that journal and period is already reconciled. |
| No suggestion for a line | The AI found no fitting candidate: choose the partner by hand. |
| The transaction is already partly matched | Change its account by hand. |
| No AI bank matching menu | You are not in the group Can use the AI features or not an accountant. |
Updating and removing
Replace the folder with the new version, restart Odoo and run -u taqnix_ai_bank_matching. The suggestions are kept.
Support
Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.