User guide

Odoo Document Scanner User Guide: AI Bills, Orders & Invoices

How to install, configure and use kalvyai Document Scanner for Odoo 19 and 20. It turns scanned vendor bills, customer orders and invoices into reviewed drafts, with 3-way matching and your own AI key.

KalvyAI Engineering · · 7 min read

Odoo Document Scanner User Guide: AI Bills, Orders & Invoices (cover)

kalvyai Document Scanner (technical name ki_document_scanner) reads business documents and turns them into draft records in Odoo. You upload a PDF, scan or photo, choose a workflow, and review what the AI extracted. You then create a draft vendor bill, sales quotation or customer invoice.

This guide covers what the app does, who it is for, how to install and configure it, and how to use each feature. You can buy and download it from the store page.

What the app is for

Typing invoice lines into Odoo by hand is slow, and mistakes are easy to miss. The scanner handles three jobs:

  • Purchase Bill: reads a vendor bill and checks its lines against your purchase orders and warehouse receipts. This is 3-way matching. It flags quantity differences, price changes and missing items before you create a draft vendor bill.
  • Sale Order: reads a purchase order sent by a customer and produces a draft sales quotation.
  • Customer Invoice: reads an outbound sales document and creates a draft customer invoice.

The app follows one firm rule. It only creates drafts. It never posts accounting entries or confirms orders on its own. A person always reviews and approves the result.

Who it helps

  • Accountants and AP clerks who enter vendor bills and need to catch overbilling or short deliveries.
  • Sales teams who receive customer POs as PDFs or photos and must re-key them into quotations.
  • ERP admins who want AI extraction but also want to choose the AI provider and keep control of costs.
  • Business owners who want faster data entry without letting software post to the books unsupervised.

Requirements

Before you install, check that you have:

  • Odoo 19.0 or 20.0, Community or Enterprise, running on Odoo.sh or your own server.
  • These standard Odoo modules: Invoicing/Accounting (account), Sales (sale), Purchase (purchase) and Mail.
  • The ki_ai_base module, which handles the connections to AI providers.
  • An API key for your chosen AI provider, for example Google Gemini, OpenAI or Anthropic Claude.

Odoo Online (SaaS) is not supported, because it does not allow custom modules.

Supported file formats: PDF, JPG, PNG and WEBP. That covers scans, e-invoices and photos.

Installation

  1. Buy and download the app from the store page.
  2. Copy both ki_document_scanner and ki_ai_base into a folder on your Odoo addons path. On Odoo.sh, commit them to the repository branch you deploy from.
  3. Restart the Odoo service so it picks up the new modules.
  4. Log in as an administrator, turn on developer mode, open Apps and click Update Apps List.
  5. Search for Document Scanner and click Install. Odoo installs the dependencies (account, sale, purchase, ki_ai_base) if they are not already installed.

On a self-hosted server you can also install from the command line:

# Replace mydb with your database name and adjust the config path
./odoo-bin -c /etc/odoo/odoo.conf -d mydb -i ki_ai_base,ki_document_scanner --stop-after-init

Try the install on a staging copy of your database first, especially if you run other custom modules.

Configure your AI provider

The scanner uses a vision-capable AI model to read documents. You bring your own API key (BYOK), so you are not tied to one vendor, and usage is billed straight to your own provider account.

  1. Open the AI Base settings. [CHECK: exact menu path for AI Base provider settings]
  2. Choose your provider. The listing names eight supported vision providers, including Google Gemini, OpenAI GPT-4o, Anthropic Claude, Groq and DeepSeek. [CHECK: full list of the eight supported providers]
  3. Paste your API key and save.
  4. If you want to run a local LLM, configure it in ki_ai_base as well. [CHECK: steps and requirements for connecting a local LLM]

A free-tier Google Gemini key works, which makes it an easy way to trial the app.

Using the main features

Upload a document

  1. Go to Document Scanner > Upload.
  2. Choose the document type: Bill, Order or Invoice.
  3. Drop your file into the upload area, or browse to it. You can upload single-page or multi-page PDFs, high-resolution scans, or photos taken on a phone, straight from the browser.
  4. Wait for extraction to finish. You are then taken to the case cockpit for review. [CHECK: whether the user lands in the cockpit automatically or opens the case from a list]

Process a vendor bill (Purchase Bill workflow)

  1. Upload the bill and choose Bill.
  2. The engine identifies the vendor and looks for that vendor's open purchase orders and inventory receipts.
  3. It compares each bill line with the ordered and received quantities and the purchase price.
  4. Any mismatch is flagged in the cockpit. See the next section.
  5. Once you are satisfied, click Create Draft. Odoo creates a draft vendor bill.
  6. Post the bill from Odoo's normal accounting screens, following your usual approval process.

Example

Say you ordered 100 units at 5.00 each. The warehouse received 90, and the vendor bills you for 100 units at 5.50. The scanner flags two issues: the billed quantity is higher than the received quantity, and the unit price is higher than the PO price. You can then contact the vendor or adjust the draft before anything is posted.

Process a customer purchase order (Sale Order workflow)

  1. Upload the customer's PO and choose Order.
  2. Review the matched customer and the extracted products, quantities and prices.
  3. Fix any line that did not match a product.
  4. Click Create Draft to generate a draft sales quotation.
  5. Confirm the quotation in Sales when you are ready.

Create a customer invoice (Customer Invoice workflow)

  1. Upload the outbound sales document and choose Invoice.
  2. Check the customer, lines and totals in the cockpit.
  3. Click Create Draft to create a draft customer invoice.
  4. Review and post it from Invoicing as you normally would.

Resolve discrepancies in the cockpit

The Discrepancy Resolution Cockpit lists every flagged issue next to an evidence snippet taken from the source document. You can see exactly which line on the scan caused the flag.

  1. Open the case and read each flagged line.
  2. Compare the evidence snippet with the PO or receipt values shown.
  3. Correct the extracted value, or accept the difference if it is legitimate. [CHECK: available actions on a flagged line, e.g. edit, accept, ignore]
  4. When everything is resolved, click Create Draft.

Partner and product matching

The scanner tries to link extracted data to existing records:

  • Contacts are matched by VAT number, email, phone and name.
  • Products are matched by internal reference (SKU), barcode and vendor supplier codes.

If no match is found, you will need to choose or create the record during review. [CHECK: how unmatched partners and products are shown and handled in the cockpit]

Audit log and document archive

Every extracted document and every matching decision is saved. The original file is attached to the record's chatter in Odoo. Months later, anyone can open a bill and see the source scan it came from.

Tips for better results

  • Keep your master data clean. Matching works best when vendors have VAT numbers and products have SKUs, barcodes or vendor codes filled in.
  • Add vendor product codes in Purchase. Supplier codes on the product's vendor lines help the engine match lines from vendor bills.
  • Validate receipts before scanning bills. 3-way matching compares against receipts, so record deliveries first.
  • Use clear photos. Vision models cope with wrinkled receipts and skewed scans, but good lighting and the whole page in frame still help.
  • Start with a free or low-cost key. Test on real documents before choosing a provider for daily use.
  • Watch your provider's usage dashboard. Costs are billed by the provider, not by the app.

Limitations

  • No Odoo Online support. You need Odoo.sh or a self-hosted server.
  • Drafts only. Every record needs manual review and confirmation before posting. This is intentional.
  • AI usage fees are separate. Your AI provider bills you directly. The listing describes the cost as pennies per page, but check your provider's current pricing.
  • Accuracy depends on the source. AI extraction is good but not perfect. Always review totals and tax lines before you post.

FAQ

Can it post or confirm invoices automatically without review?

No. For financial safety, every scanned document creates a draft record in Odoo for a person to review and approve.

Does it support photos from a smartphone?

Yes. You can upload phone photos from the browser. Modern vision models handle smartphone photos, wrinkled receipts and skewed scans well.

How does 3-way matching work?

When you process a vendor bill, the engine checks that vendor's open purchase orders and inventory receipts. It compares quantities and prices and flags any discrepancies.

Can I use a free Gemini API key?

Yes. You can use Google Gemini, including free-tier keys, or any other provider supported in ki_ai_base.

Which Odoo versions and editions are supported?

Odoo 19.0 and 20.0, Community and Enterprise, on Odoo.sh or on-premise.

Which file types can I upload?

PDF, JPG, PNG and WEBP.

Where are my original documents stored?

The original file is attached to the Odoo chatter, together with the log of extraction and matching decisions.

How KalvyAI can help

We build and connect Odoo, ERPNext and Shopify systems. We also add AI agents that work inside them, with human approvals, budgets and an audit trail. We can help you:

  • install the scanner on Odoo.sh or your own server
  • clean up vendor and product data so matching works well
  • fit the draft-and-approve flow into your existing accounting process

To get started, contact us. You can buy the app on the KalvyAI store.

  • User guide
  • Odoo
  • OCR
  • Vendor Bills
  • 3-Way Matching
  • AI Agents
  • Accounts Payable
  • Odoo 19

KalvyAI Engineering · Engineering team

The engineers who build, connect and fix business systems at KalvyAI: Odoo, ERPNext, Shopify and AI agents that work inside them with approvals, budgets and an audit trail.

Comments

No comments yet. Questions and corrections are welcome.

Rate this post or leave a comment

Your rating (optional)
Not rated

Comments appear after an editor approves them. See our privacy notice.