AI Invoice Reader for Odoo 19 Community documentation
A guide to the AI invoice reader: connecting the AI, reading one bill, uploading many, the record of the readings, privacy and the access rights.
Documents version 1.0.0Updated Oct 24, 2026
Start here
In plain words: Typing vendor bills is slow and full of small mistakes. With AI Invoice Reader you attach the PDF or the photo of the bill, press Read with AI, and the vendor, the number, the dates, the currency, the lines and the taxes are filled in for you. Or drop many files at once: a draft bill is created and read for each. You check the bill, then you post it.
Tip: The bill stays a draft. The AI fills in; you check and post.
What you get
| Feature | What it does |
|---|---|
| Read with AI | A button on the draft vendor bill reads the attached PDF (its text) or picture and fills the bill. |
| Vendor | Found by its tax number, then by its name; if there is none, you are told and the field stays empty. |
| Lines and taxes | The description, the quantity and the price of each line; the purchase tax matching the rate on the document. |
| Dates and currency | The invoice date, the due date, the reference and the currency (if it is active). |
| Total check | The total on the document is compared with the bill: a difference is flagged. |
| Many bills at once | Accounting → Vendors → Read bills with AI: choose a journal and add the files; one draft bill is created per file. |
| Nothing overwritten | A bill that already has lines keeps them; the AI only fills what is empty. |
| Record | Every reading is kept with what the AI returned and what could not be filled in. |
| 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_invoice_reader.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 Invoice Reader 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_invoice_reader --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.
Read one bill
In plain words: Create a vendor bill (or open a draft one), attach the PDF or the picture of the supplier's document in the chatter, and press Read with AI in the header.
In plain words: The vendor, the reference, the dates, the lines and the taxes are filled in. A message tells you whether everything was found, or what was not (a vendor that does not exist, a tax with no matching rate, a total that differs).
Important: A PDF that is only a scan has no text: attach a photo or a picture of the bill instead. A picture is read by the model, so choose a model that can read images.
Read many bills at once
In plain words: Open Accounting → Vendors → Read bills with AI, choose the journal, add the files (PDFs and pictures) and press Create and read the bills. A draft bill is created for each file and read. If a file cannot be read, the others still are, and you are told which.
The record of the readings
In plain words: Accounting → Vendors → AI readings (accounting managers) lists every reading: the vendor and the number the AI saw, the total, the difference with the bill (highlighted when there is one), who did it. A bill that has been read shows an AI readings button.
Privacy
In plain words: Using an AI model means sending text to your provider. Reading a bill sends the text of the PDF, or the picture, to your provider: it contains your supplier's data. 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 | Read bills with AI, upload many bills. |
| Accounting managers | See the AI readings. |
| AI administrators | Connect the AI and see the usage. |
| Other users | Do not see the AI buttons. |
Arabic and right to left
Limits
| Limit | Detail |
|---|---|
| Check before posting | AI can misread a number. The total check helps, but you must look at the bill. |
| Scans | A PDF without text cannot be read: use a picture. |
| Only drafts | A posted bill is never changed. |
| Existing lines | A bill with lines is not modified. |
| Taxes | A tax is found by its rate among your purchase taxes: if none matches, the line has no tax. |
For developers
In plain words: Skip this chapter if you only use the module.
bill = env['account.move'].browse(bill_id) # a draft vendor bill with a PDF or an image attached
bill.action_ai_read()
reading = env['taqnix.ai.invoice.reading'].search([('move_id', '=', bill.id)], limit=1)
reading.vendor_name, reading.invoice_number, reading.total, reading.differenceTroubleshooting
| Problem | What to do |
|---|---|
| No Read with AI button | The bill is not a draft vendor bill, or you are not in the group Can use the AI features. |
| Attach the PDF or the picture of the bill first | There is no attachment on the bill. |
| The PDF has no text | It is a scan: attach a picture. |
| Vendor not found | Create the vendor with its tax number; the next reading finds it. |
| The total differs | Compare the lines with the document and correct them. |
Updating and removing
Replace the folder with the new version, restart Odoo and run -u taqnix_ai_invoice_reader. The readings 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.