How to Import Email Orders and RFQs into Odoo Automatically
Stop retyping PDF, Excel, and scanned purchase orders into Odoo by hand
If your customers send orders and requests for quotation by email — as attachments in every imaginable format — someone on your team is copying that data into Odoo line by line. This guide shows how to import email orders into Odoo automatically with Mail2ERP: an email arrives, the data is extracted, and the sales order or quotation appears in Odoo within seconds. Setup takes about five minutes, no developer required, and the first month is free.
🎯 Why Manual Order Entry into Odoo Is So Expensive
Every emailed order looks different. One customer sends a clean PDF, another an Excel sheet with their own column layout, a third photographs a signed form and attaches the picture. A person has to open each email, find the products, quantities, references, and delivery dates, then retype everything into Odoo. That process has three hidden costs:
- Time: a routine multi-line order can take several minutes to key in correctly. At dozens of orders per day, that is a full-time job that produces nothing new — it only moves data from one screen to another.
- Errors: a mistyped quantity or a wrong product code becomes a wrong delivery, a credit note, and an unhappy customer. Manual entry errors surface late, when they are most expensive to fix.
- Delay: orders received on Friday evening sit unprocessed until Monday. Quotations answered a day late are quotations lost to faster competitors.
The volume is rarely small, either. One real Mail2ERP customer, IMP Kontakt, processes around 4,700 RFQs and orders per month through email — a workload that would be impossible to type by hand without a dedicated data-entry team.
🔍 What Odoo Users Usually Try First
The built-in Odoo email gateway
Odoo can create records from incoming email out of the box. It works well for what it was designed for: it logs the email and opens a lead or a blank quotation. What it does not do is read the attachment. The PDF with twenty order lines is attached to the record — and a human still has to open it and type in every line.
Custom scripts and template-based OCR
Some companies build parsers for their biggest customers’ documents. These work until the customer changes their layout, adds a column, or a new customer arrives with a completely different format. Template-based extraction means permanent maintenance: every document variation is a new development ticket.
Zapier-style connectors
Generic automation platforms can move an email into Odoo, but they struggle with the hard part — understanding an unstructured attachment in an unknown layout and language, matching free-text product descriptions to your actual Odoo product codes, and knowing whether the document is an order or a request for quotation. They also add a middleware layer between your mailbox and your ERP.
⚠️ The real requirement
To automate email orders for real, a tool must handle any format, any layout, any language — with no templates, classify RFQ vs. order, match lines to your Odoo catalog, and write a correct record with a full audit trail. That is exactly what Mail2ERP was built for.
⚙️ The Automated Way: Set Up Mail2ERP for Odoo in 5 Minutes
Customer email arrives
Mail2ERP extracts & validates
Order created in Odoo
Email filed to PROCESSED
Here is the complete setup, start to finish:
- Step 1 — Create your account: register at bots4.me/bots and add Mail2ERP to your dashboard. Every app comes with a free first month and no setup fees.
- Step 2 — Connect your email: use secure Quick Connect. Gmail/Google Workspace, Office 365, and Yahoo connect via managed OAuth in two clicks; any other provider works over IMAP. No middleware sits between your mailbox and the bot.
- Step 3 — Connect Odoo: install the free BOTS4.me Connect module (supports Odoo 13–19). On Odoo.sh and on-premise you get the full one-click Python connector; on Odoo Online (which forbids custom Python) a zero-code XML helper module does the same job — just create an API key under Settings → Users → Account Security and paste it at bots4.me.
- Step 4 — Start in Demo Mode: Mail2ERP processes your real emails and reports exactly what it would import — but writes nothing to Odoo. You review the reports risk-free.
- Step 5 — Graduate the access level: move from email-only, to Odoo read access (matching against your real customers and products), to full production writes — only when you are confident.
- Step 6 — Teach it your exceptions: drag emails into
_Mail2ERP/QUOTATION,_Mail2ERP/ORDERS, or_Mail2ERP/DO_NOT_IMPORTfolders in your mailbox. One move teaches the bot how to treat that sender’s pattern in the future.
📅 What Day-to-Day Operation Looks Like
Once live, Mail2ERP monitors your inbox around the clock and processes new mail on your chosen schedule. AI extraction reads PDF, Excel, Word, CSV, HTML, images, and scanned documents via OCR — even handwriting — in any language or script, with no templates. Each email is classified as an RFQ or an order, matched against your Odoo catalog (including Smart Multi-Code Matching when customers quote their own part numbers), and written into Odoo with a complete audit trail.
- Successful imports are filed to a PROCESSED folder — the quotation or sales order is already waiting in Odoo.
- Anything ambiguous stays in your INBOX, unread, so nothing ever disappears from view. Fix the cause (for example, add the missing product) and drag the email to a Mail2ERP folder to force a retry.
- Duplicate detection prevents double entry when a customer emails two addresses or forwards the same order twice.
- Reports and logs: you receive an email report after every run, and the dashboard’s Logs tab shows every decision the bot made. Every feature is individually toggleable, AI level runs from Essential to Ultra, and Bot Power switches everything off instantly.
The platform is EU-hosted and GDPR-native, protected by 2FA, and the interface is available in 31 languages. One Odoo connector serves all eleven BOTS4.me apps, so adding order fulfilment or payment automation later requires no new integration work.
🌍 Works Beyond Odoo Too
This guide targets Odoo, but Mail2ERP connects directly to 21+ ERP and CRM systems: Odoo (13–19), SAP Business One, SAP S/4HANA, Microsoft Dynamics 365, Oracle NetSuite, QuickBooks, Xero, ERPNext, Salesforce, HubSpot, Zoho, SugarCRM, Sage, Epicor, Infor, Acumatica, Workday, Freshworks, Pipedrive, Zendesk, and Offeris. If your system is missing, new integrations are added regularly — contact us.
❓ Frequently Asked Questions
Can Odoo import orders from email attachments automatically?
Not out of the box. Odoo’s built-in email gateway can create a record from an incoming email, but it does not read PDF or Excel attachments — the order lines still have to be typed in manually. Mail2ERP adds that missing layer: it extracts line items, quantities, and references from any attachment and creates the complete quotation or sales order in Odoo automatically.
Does Mail2ERP work with Odoo Online (SaaS), or only Odoo.sh and on-premise?
All three hosting types work, on Odoo versions 13 through 19. Odoo.sh and on-premise installations use the full one-click Python connector from the free BOTS4.me Connect module. Odoo Online forbids custom Python, so it uses a zero-code XML helper module instead — you create an API key in Settings → Users → Account Security and paste it at bots4.me. Either way, one connector serves all eleven BOTS4.me apps.
Can it read scanned or handwritten purchase orders?
Yes. Mail2ERP uses OCR and vision-capable AI to read scanned PDFs, photographed documents, and even handwritten orders. It handles all languages including non-Latin scripts such as Thai, Arabic, Japanese, Chinese, Russian, Hebrew, Korean, and Hindi — with no templates required.
How does Mail2ERP tell an RFQ from a purchase order?
AI classification analyzes the email and attachment content to decide whether it is a request for quotation or a firm order, and creates the corresponding record in Odoo. If it ever guesses wrong for a sender, drag that email into the _Mail2ERP/QUOTATION or _Mail2ERP/ORDERS folder — the system remembers the correction and applies it to that sender’s future emails.
What happens to emails that can’t be fully processed?
They stay in your INBOX, unread, so nothing silently disappears. The run report and decision logs tell you why extraction stopped — for example a product missing from Odoo. Once you fix the cause, drag the email into a Mail2ERP folder to force an immediate retry.
Will duplicate orders be created if a customer emails the same order twice?
No. Mail2ERP’s duplicate detection recognizes when the same order arrives at multiple addresses or is forwarded again, moves the copy to a DUPLICATES folder, and imports the order into Odoo exactly once.
How long does setup take, and do I need a developer?
About five minutes, and no developer is needed. Email connects via OAuth Quick Connect, Odoo connects through the free BOTS4.me Connect module plus an API key, and you start in Demo Mode where nothing is written to your database. The first month is free, and you can cancel anytime.
📚 Related Odoo Automation Guides
- Next step after import: How to Automate Order Confirmation, Delivery and Invoicing in Odoo — AutoERP takes over once the order exists.
- The purchasing mirror image: How to Import Supplier Order Confirmations into Odoo Automatically — same idea, applied to your vendors’ emails.
- Close the money loop: How to Automate Payment Reminders in Odoo — escalating dunning for the invoices those orders become.
- Connector details: How to Connect Odoo to BOTS4.me (Odoo 13–19).
- The big picture: How to Automate Odoo End-to-End: From Email Order to Paid Invoice.
Let Odoo Type Its Own Orders
Connect your mailbox and Odoo in five minutes, watch Mail2ERP work in Demo Mode, and go live only when you are confident. First month free, cancel anytime.