Skip to content

Integration · Odoo

AI quote and sales order automation for Odoo

ERP Agent reads the customer’s request from email, PDF or Excel, identifies the right products in your Odoo catalogue, prices each line with that customer’s pricelist and creates a quotation in Odoo Sales once your rep has approved it, or a confirmed sales order when the request is an order. We set up the Odoo connection for your company during onboarding.

What ERP Agent reads from Odoo

The connection runs through Odoo’s external API: the JSON-2 API from Odoo 19, and XML-RPC or JSON-RPC on earlier versions. It signs in with the API key of a dedicated Odoo user that has only the access rights the work needs.

What ERP Agent reads from Odoo
Data in OdooModelWhat ERP Agent does with it
Products and variantsproduct.product (Internal Reference, barcode)Identifies the right product and variant for every request line from the customer’s own wording, and checks each one exists in Odoo before anything is written
Units of measureuom.uomPuts each line in a unit of measure Odoo knows for that product
Customersres.partnerFinds the customer behind the request, warns the rep when none matches and flags a delivery address that differs from the one in Odoo
Pricelistsproduct.pricelist, the customer’s pricelistPrices each line with the pricelist Odoo applies to that customer, its rules and discounts included

Your products, pricelists and contacts stay exactly as they are: the agent reads them and never changes them.

What ERP Agent writes to Odoo

Two documents, both written only after a rep has approved the draft.

What ERP Agent writes to Odoo
DocumentModelWhat is written
Quotationsale.order with sale.order.lineThe customer, the customer reference and every approved line with product, quantity, unit of measure and price from the customer’s pricelist, or the price your rep set in review
Sales ordersale.order, confirmedThe same lines, plus the delivery address and delivery date taken from the request; the quotation is confirmed, so Odoo treats it as a sales order from the start

In Odoo a quotation and a sales order are the same record: confirming the quotation makes it a sales order. Either way it is an ordinary record your team opens in Odoo Sales, and when a customer accepts a quotation you confirm it as usual.

Why distributors on Odoo add an AI quote agent

The hard part of a quote is not typing it into Odoo. It is reading “fire damper 315 EI60” or a customer’s own code and knowing which product that is, what this customer pays for it and which lines need a second look. According to our case study, a sales rep spends on average 4–7 minutes per line when creating quotes and orders by hand; for a 30-line enquiry, that is two to three and a half hours.

ERP Agent does that groundwork. It is the first agentic AI layer for wholesale distribution ERP systems, and on Odoo it works on top of the database you already run: no new modules to maintain, and nothing changes for your customers. They get answers sooner, reps spend their time on judgement and selling, and new reps are productive sooner. Put a number on today’s manual work with the quote cost calculator.

The same agent runs quote automation and order entry automation on any ERP; this page covers what it does inside Odoo.

How Odoo quote automation works

  1. A request reaches the agent

    Reps forward the customer’s email from Outlook to your company’s own agent mailbox, or paste it into the web app as it is and choose quotation or sales order. PDF (scanned too), Excel, CSV, Word, images and forwarded emails all work. Your own systems can send requests through the REST API or the MCP server.

  2. It finds the customer and the products

    The customer is identified from the request and matched in your Odoo contacts. Abbreviations, dimensions, materials, manufacturer numbers and customer part numbers are mapped to your products, and candidates that contradict a stated size or rating class are pushed down. A request in one language finds products described in another. A line too vague to identify goes on your placeholder product with the customer’s wording kept, never a guess.

  3. Prices come from Odoo

    Each line carries the price from the pricelist Odoo applies to that customer. Standard fee rows, such as packing, are added following your rules.

  4. A rep reviews the draft

    Lines appear in the table as they are matched. The rep checks the marked ones, takes an alternative where needed, makes changes in quote chat and approves.

  5. It is created in Odoo

    Every product is checked against Odoo first, so a document never carries a product Odoo doesn’t know. A short countdown lets the rep cancel. The lines your team sends teach the agent: the next time a customer writes the same thing, it picks the same product.

Example: a ductwork list becomes an Odoo quotation

A mechanical contractor emails a ventilation list to an HVAC wholesaler that runs Odoo. The rep forwards it to the agent mailbox, which is set to create quotations.

Customer requestIllustrative example
“Quote please for the Riverside school job, list below. Delivery to site in two weeks.”
  1. 30 x spiral duct 200 3m
  2. 12 x bend 90 200
  3. 8 x fire damper 315 EI60
  4. 4 x attenuator 250 600L
  5. 20 x our code RV-160
  6. 1 x misc hangers and fixings
Proposed lines · Illustrative example
Request lineProposed Odoo productQtyMatchNote
spiral duct 200 3mSpiral duct Ø200 mm, galvanised, 3 m3096Diameter and length match.
bend 90 200Pressed bend 90°, Ø200 mm1292Angle and diameter match.
fire damper 315 EI60Circular fire damper Ø315 mm, EI 60 S887EI 30 models pushed down.
attenuator 250 600LCircular silencer Ø250 mm, length 600 mm, 50 mm insulation477Insulation not stated: 50 mm is what this customer buys; 100 mm offered as an alternative. Marked for review (under 80).
our code RV-160Ceiling diffuser Ø160 mm, white2098The customer’s own code, learned from an earlier order.
misc hangers and fixingsPlaceholder product, wording kept1–Too vague to identify; the rep decides.

Illustrative example with sample products, codes and scores. In a real draft each line also carries the price from the customer’s Odoo pricelist, and the school’s site address is flagged because it differs from the customer’s address in Odoo.

What the rep sees before anything reaches Odoo

  • A match score from 0 to 100. Lines under 80 are marked, so review starts where judgement is needed. How the match score works.
  • Reasoning. Open a line to see why the agent chose that product.
  • Alternatives. Runner-up products are kept for every line; take one instead with a click.
  • Quote chat. Add or remove rows or change quantities and prices, then approve or reject each proposed edit line by line.
  • Your team stays in control. The rep approves the draft before it is created in Odoo, and nothing reaches a customer without approval.
ERP Agent quote review interface with sample data
Sample data: request lines beside proposed products and match scores. Open full size

Security and control

  • GDPR-compliant, zero data retention. ERP Agent is GDPR-compliant, and models run with zero data retention. More on security and data handling.
  • Access agreed first. Before setup, we agree which data the agent needs and which systems it can access.
  • A dedicated Odoo user with the minimum rights. The connection uses its own bot user, as Odoo recommends for integrations, with only the access rights the work needs. Odoo checks every call against that user’s access rights and record rules, and its access log shows what the bot did.
  • A person approves. Nothing is written to Odoo until a rep approves the draft, and nothing reaches a customer without your team.
  • Reads, never rewrites. Products, pricelists and contacts are read; the agent creates quotations and sales orders and changes nothing else.

Onboarding: what we need from you

We set up the Odoo connection for your company during onboarding. Your reps don’t wait for it: they start with a catalogue file the same week.

  1. A catalogue export

    An export of your products from Odoo, for example to Excel or CSV. Reps forward real requests from the first week, reviewing every draft in the web app. See starting from a catalogue file.

  2. A bot user and an API key

    Your Odoo administrator creates a dedicated user for ERP Agent with the access rights we agree, and an API key for it under Preferences › Account Security. We send the exact list of rights.

  3. Your database

    Which Odoo database and company the agent works in, whether on Odoo Online, Odoo.sh or your own servers. Start on a staging or duplicate database if you prefer.

  4. Your rules and history

    Which placeholder product takes lines too vague to identify, which fee rows the agent adds, and past quotations or Outlook email history, so the agent learns how your customers write.

  5. Live in Odoo

    Once the connection is live, customer prices come from Odoo and approved quotations and sales orders are created there directly.

ERP Agent in numbers

4–7 min
per line to create quotes and orders by hand, according to our case study
95%
average automation across our customers
3–8 min
for the agent to prepare a typical request
1–3 min
in fast mode, for requests of up to about 50 lines
The review screen in use (1 min 27 s). Watch on YouTube: Quote Agent v2 film

Odoo today, any ERP tomorrow

ERP Agent integrates with Odoo, Business Central, SAP, NetSuite, Sage and any other ERP or CRM. We set up the connection for your company during onboarding, and you can start with a catalogue file the same week. Group companies on different systems use the same agent and the same review screen on each. See Business Central, Exact, Sage and all integrations.

ERP Agent is live with steel, HVAC and fastener distributors. What it checks on each line follows your trade: duct sizes and fire ratings for HVAC wholesalers, DIN and ISO codes for fastener distributors, manufacturer numbers and customer codes for industrial supplies distributors.

Frequently asked questions

Does ERP Agent work with Odoo?

Yes. ERP Agent reads products, contacts and pricelists from Odoo through its external API and creates quotations and sales orders in Odoo Sales after a rep approves. We set up the connection for your company during onboarding, and you can start with a catalogue file the same week.

Does it create quotations or sales orders in Odoo?

Both. In the web app the rep chooses quotation or sales order for each request; emails forwarded to the agent mailbox become the document type your company has chosen. A sales order is created as a confirmed sale.order, so it moves on to delivery in Odoo as usual. For customer purchase orders arriving by email, see purchase order to sales order automation.

Does ERP Agent replace Odoo’s own AI agents?

No, it adds a dedicated quote and order agent alongside them. Odoo’s AI agents are general assistants you configure inside Odoo. ERP Agent is built for wholesale requests: it identifies the right products from customers’ shorthand and own codes in requests of several hundred lines, scores every line from 0 to 100 with its reasoning and alternatives, matches across languages and learns from the lines your team sends.

What does ERP Agent need access to in Odoo?

A dedicated Odoo user with read access to products, units of measure, contacts and pricelists, and the right to create and confirm sales orders, plus an API key for that user. Odoo applies that user’s access rights and record rules to every call, and we agree the scope with you before setup.

Which Odoo versions and hosting options does it work with?

Odoo 19 and later through the JSON-2 API, and earlier versions through XML-RPC or JSON-RPC, which Odoo keeps available until Odoo 22. It works on Odoo Online, Odoo.sh and Odoo on your own servers, wherever the external API is open to your database. We check the access with you during onboarding.

How do we get started?

Book a call and bring a few real requests. You start with a catalogue file the same week, and we set up the Odoo connection during onboarding. Pricing is a setup fee plus a monthly subscription, with an itemised quote before you start. See pricing.

Let’s look at your quote workflow

Bring a request from your inbox

Book a 30-minute call with a few real requests; we’ll show how the agent handles them with your products and what connecting your Odoo involves.

  • Your requests and product catalogue
  • Your pricing and review process
  • A clear scope for the next step
Lauri Pelkonen

Lauri Pelkonen

Founder & CEO

Book a 30-minute call Request a demo by email

Or use the address directly