Wagos AI-OCR Expense Digitization
Read employee expense receipts with your own Gemini or OpenAI tokens
Version: 19.0.3.0.0
Expenses
Wagos AI-OCR Expense Digitization
Odoo's receipt scanning, running on your own AI account
Odoo Enterprise already reads expense receipts beautifully — it just charges you In-App Purchase credits to do it. This module keeps the whole experience and replaces only the part that costs money, sending the receipt to your own Google Gemini or OpenAI account instead.
Nothing New to Learn
Your team sees exactly what they saw yesterday. Every part of Odoo's digitization stays untouched:
- Automatic on attachment — drop a photo on an expense and it reads itself. Email one to the expense alias and it reads itself.
- The same scanning banner, the same Digitize document button, the same batch action on the list.
- The same setting under Settings → Expenses: digitize automatically, on demand, or not at all.
- The same field logic — description, category prediction, date, and the total converted into company currency at the right rate.
Your Tokens, Your Bill
- No IAP credits are ever consumed. Extraction is billed directly to your own Google or OpenAI account.
- Every request is logged with its model, token count and duration, so the cost per receipt is a number you can actually look up.
- Your documents are not kept for training. Requests are sent with
store: false, and the corrections Odoo would normally return to its own service are discarded rather than forwarded. - Choose your provider and model. Gemini or OpenAI, with the model name editable — providers retire model names regularly.
Built to Survive Upgrades
- One method overridden. The integration hooks the single point Odoo documents as replaceable, so an upgrade that reworks the banner or the field mapping carries this module along with it.
- Absent until it works. With no API key configured the feature does not appear at all — no button, nothing sent, no red banners an employee cannot act on.
- Uploads never block. Receipts are queued and read in the background, so dropping thirty receipts at the end of a trip returns instantly.
- Failures are contained. A receipt that cannot be read is retried twice, then set aside — never re-billed in a loop, and never blocking the rest of the queue.
Requirements
Odoo 19 Enterprise (this module extends hr_expense_extract), plus a Google Gemini or OpenAI API key configured under Settings → Wagos AI.