Skip to main content
Deduce - AI Invoice, Receipt & Expense OCR + EU VAT Deduction

How Deduce works inside Odoo: menus, scheduled task and the path of a capture

Deduce adds its own menu to Odoo where you upload a photo of a receipt or invoice, the AI reads its data and the module tells you whether you can deduct the VAT before posting it as a vendor bill or employee expense. Behind it a scheduled task, Deduce: procesar capturas pendientes, runs every 10 minutes, and you follow everything from Cockpit, Form 303 preparation and Recoverable VAT (total).

FlexigoTech · Editor in charge: Víctor Gómez · Updated 4 November 2026

Key facts

Versions
Odoo 17, 18 and 19
Checked
in the module's source code, version 19.0 · against the sources linked at the end
Reading time
5 min

What Deduce solves, according to its listing

The module's listing starts from one idea: a receipt without your tax ID can't reclaim VAT. From there, Deduce reads the receipt or invoice the moment you capture it, tells you when to ask for a full invoice and posts the expense in Odoo. What's left for you is taking the photo and reviewing.

The listing sums up the flow in four moves: you snap a receipt, the AI reads it, Deduce tells you if you can deduct the VAT and you post it. Its motto is «zero typing»: the AI reads, you review. The rest of this article explains where each of those things happens inside Odoo.

The menus Deduce adds

Once installed, these entries appear, named exactly as they are in the module:

  • Deduce › Captures: where captured receipts and invoices live.
  • Deduce › Queues: a menu with several submenus underneath.
  • Deduce › Cockpit
  • Deduce › Form 303 preparation
  • Deduce › Recoverable VAT (total)
  • Deduce › Tax rules
  • Deduce › Configuration

The Cockpit is a kanban view with one card per company. In the screenshot below, the My Company card brings together VAT at risk, captures to review, validated but not posted, duplicates and quarterly deductible VAT.

Deduce advisory cockpit kanban view with one card for the company My Company
The Deduce cockpit with a single company card: VAT at risk, to review, validated not posted, duplicates and quarterly deductible VAT

The scheduled task running in the background

Deduce ships with a single scheduled task, active out of the box:

  • Name: Deduce: procesar capturas pendientes.
  • Frequency: every 10 minutes.

Its name says what it does: process the captures that are pending. If you upload several captures in a row, this is the task that comes back to whatever is still pending every 10 minutes. If you deactivate it, it stops running, so it's worth checking it is still active after installing or updating the module.

The path of a capture, step by step

A new capture is opened from Deduce › Captures. The empty form already shows the pieces you'll work with: the Upload your file button, the destination (Vendor Bill in the screenshot), the merchant fields and the Tax details and Text / AI tabs.

New Deduce capture form with the Upload your file button, Vendor Bill destination and Tax details and Text / AI tabs
A freshly created capture, not yet filled in and in the New state

This is the order in which you use it:

  1. Go to Deduce › Captures and create a new capture. The form starts in the New state.
  2. Upload the photo or file with Upload your file.
  3. Choose the destination. The listing says a record can end up as a vendor bill or as an employee expense; in the example form the destination shown is Vendor Bill.
  4. Let Deduce read the document. According to the listing, it reads it the moment you capture it; the Deduce: procesar capturas pendientes task also goes over pending captures every 10 minutes.
  5. Review the data the AI has read. In the example in the screenshot below, the form shows that data, the Detalle fiscal tab and the Needs review state, with an OdooBot message in the chatter.
  6. Read the deductibility notice. Deduce tells you whether you can deduct the VAT and when to ask for a full invoice; in the example a green deductible VAT notice is shown.
  7. Post it. The listing states that Deduce posts the expense in Odoo.
  8. Follow the whole picture from Deduce › Cockpit, where each company card brings together what is at risk, what is waiting for review and what is validated but not posted.
Capture form titled Factura completa (foto) with a green deductible VAT notice, AI-read data and Needs review state
A full invoice read by the AI, with the Detalle fiscal tab, the Needs review state and an OdooBot message in the chatter

If you'd like to see the three screens in a row, this is the sequence:

Sequence of Deduce screens: form of a full invoice already read, advisory cockpit and new capture form
The read capture in Needs review, the cockpit with the My Company card and a new, empty capture in the New state

For the settings and fields to fill in before your first receipt, see setting up Deduce.

The pieces working underneath

Behind the menus sit several Odoo models. Their technical descriptions help you understand what is stored and what is worked out:

  • deduce.capture: the captured receipt or invoice.
  • deduce.extraction.service: the extraction service, described as native AI plus an optional bring-your-own key. The listing puts it as «your AI or keyless, on your server».
  • deduce.deductibility.engine: the EU VAT deductibility engine.
  • deduce.rule: the deductibility rule, with editable limits. In the menu you'll find Deduce › Tax rules.
  • deduce.nif.validator: a fiscal ID validator for ES, FR and DE.
  • deduce.client.cockpit: the advisory cockpit per client.
  • deduce.iva303.readiness: VAT-return readiness per client and quarter.

The listing mentions 10 countries, each with its own VAT rules. What the module applies in each case is whatever you have in its rules; don't treat it as settled legal advice and check it with your accountant.

Versions and price

Deduce is published on Odoo Apps for Odoo 17.0, 18.0 and 19.0, and the listing for each of those versions shows €39, a one-off payment per version, excluding VAT. You can check it on the Odoo Apps listing or on the module page.

How FlexigoTech can help

If you're rolling out Odoo or already use it and want Deduce to fit your accounting, FlexigoTech implements Odoo and builds bespoke connectors and integrations. We can help you set up the rules, the destination for each capture and the follow-up from the cockpit.

Keep reading

Setting up Deduce in Odoo: a checklist for settings, states and your first weekWhich Deduce fields to fill in, which states each capture goes through, which errors appear on validating or posting, and what to check in the first week.How Flexigo Spain Equality Pay Register works inside OdooThe menus Flexigo Spain Equality Pay Register adds to Odoo 17, 18 and 19, the records it stores under the hood and how to walk through each screen.Flexigo Spain Equality Pay Register errors: what each message asks for and how to fix itThe error messages of Flexigo Spain Equality Pay Register in Odoo, verbatim: what each one asks for on measures, budget, plan, diagnosis and signatories.
Checked in the module's source code (version 19.0) and the linked sources

Sources

  • Module source code: deduce_base 19.0 (2ef1ed0e): views/deduce_capture_views.xml
  • Module source code: deduce_base 19.0 (2ef1ed0e): views/deduce_cockpit_views.xml
  • Module source code: deduce_base 19.0 (2ef1ed0e): views/deduce_report_views.xml
  • Module source code: deduce_base 19.0 (2ef1ed0e): views/deduce_rule_views.xml
  • Module source code: deduce_base 19.0 (2ef1ed0e): views/res_config_settings_views.xml
  • Module source code: deduce_base 19.0 (2ef1ed0e): data/deduce_cron_data.xml
  • Module source code: deduce_base 19.0 (2ef1ed0e): static/description/index.html
  • Module source code: deduce_base 19.0 (2ef1ed0e): models/deduce_capture.py
  • Module source code: deduce_base 19.0 (2ef1ed0e): models/deduce_client_cockpit.py
  • Module source code: deduce_base 19.0 (2ef1ed0e): models/deduce_deductibility_engine.py
  • Module source code: deduce_base 19.0 (2ef1ed0e): models/deduce_extraction_service.py
  • Module source code: deduce_base 19.0 (2ef1ed0e): models/deduce_iva303_readiness.py
  • Module source code: deduce_base 19.0 (2ef1ed0e): models/deduce_nif_validator.py
  • Module source code: deduce_base 19.0 (2ef1ed0e): models/deduce_rule.py
  • apps.odoo.com/apps/modules/19.0/deduce_base
  • apps.odoo.com/apps/modules/17.0/deduce_base
  • apps.odoo.com/apps/modules/18.0/deduce_base
  • flexigotech.com/en/services.html