bots4.me

Category: Blog

  • AI Email Knowledge Base Autoresponder

    BOTS4.me Logo

    AI Email Knowledge Base: Answer Customer Emails Automatically

    A knowledge base that builds itself from your inbox — and answers every customer in their own language

    Every business answers the same customer questions by email, over and over — opening hours, delivery terms, product specs, return rules. The answers already exist: in old emails, in PDF price lists, in Word manuals nobody opens. This guide shows how an AI email knowledge base like Mail2KNOW turns those emails and attachments into categorized company knowledge, answers customer emails automatically from it, and — when it doesn’t know — asks you once, learns the reply, and never asks again. A self-building FAQ that works your support inbox 24/7.

    🎯 The Repeated-Questions Problem

    In most small and mid-sized companies, “customer support” is one shared mailbox and whoever has time. The knowledge needed to answer it is real — but it lives in the wrong places:

    • In people’s heads. The owner or one veteran employee knows every answer; when they’re on holiday, replies stop. Knowledge leaves the company every time someone does.
    • Scattered across the inbox. The perfect answer to today’s question was written six months ago — in a sent email nobody can find. So it gets written again, slightly differently, by someone else.
    • Locked in attachments. Price lists as PDFs, terms as Word files, spec tables as Excel — machine-unreadable to a normal autoresponder, so a human has to open, read and retype.
    • Answered too slowly. Customers expect a reply in hours; a busy inbox delivers one in days. Slow answers cost orders, and the questions that pile up are overwhelmingly the same ten questions.
    • Language-limited. A question in French or Polish waits for the one colleague who speaks it — even when the answer itself is trivial.

    The information exists. What’s missing is a system that collects it, organizes it, and puts it in front of customers automatically — without anyone building and maintaining a knowledge base by hand.

    🔧 The Usual Approaches — and Their Gaps

    A static FAQ page on the website

    Useful, but customers email anyway — and the page goes stale the moment it’s published. Someone has to notice new recurring questions, write answers, and update the site. In practice, nobody does.

    Canned autoresponders and help-desk macros

    Template replies handle “we received your message,” not “does the X200 fit a 40mm mount?” Macros still need a human to read the question, pick the template and fill the blanks — the reading and deciding is the actual work, and it remains manual.

    Chatbots with hand-built knowledge bases

    Modern AI chatbots answer well — if someone first writes and structures the knowledge base, keeps it current, and if customers use the chat widget at all. B2B customers don’t: they email. And the setup project (collect documents, write articles, tag intents) is exactly the work a small business never has time for.

    ⚠️ The question to ask any support automation tool

    “Who builds and maintains the knowledge base?” If the answer is “you do,” the tool has moved your workload, not removed it. The best answer: the system builds the knowledge base itself — from the emails and files you already have — and grows it from every question it couldn’t answer.

    🤖 The Automated Way: Mail2KNOW

    Mail2KNOW by BOTS4.me is an AI customer support autoresponder with a self-building knowledge base. You connect one mailbox and feed it what you already have — emails, PDF catalogs, Word documents, Excel sheets, CSV exports, and, once you switch them on, scanned documents and images via OCR. Mail2KNOW reads everything, extracts the facts and organizes them into categorized company knowledge. From then on, when a customer emails a question, it finds the answer in that knowledge and writes the reply in the customer’s own language — 31 languages supported. In DEMO you approve every answer with one click; in LIVE confident answers go out automatically and the ones it is unsure about come to you as drafts. No ERP, no help-desk suite, no website widget required: it works entirely over the mailbox your customers already write to.

    📧

    Customer question arrives by email

    →
    📚

    Mail2KNOW searches your company knowledge

    →
    🤖

    Answer found → reply sent in the customer’s own language

    →
    🙋

    No answer? It asks YOU, learns the reply, answers the customer

    🔁 The ask-back loop: a FAQ that writes itself

    This is the part no static FAQ or template autoresponder can do. When Mail2KNOW meets a question its knowledge base can’t answer, it doesn’t guess and it doesn’t go silent — it emails the question to you. You reply once, in plain language, from any device. Mail2KNOW stores your answer as new knowledge, sends the customer a proper reply, and handles that question itself forever after. Every gap in the knowledge base closes exactly once. After a few weeks, the questions reaching you are only the genuinely new ones.

    Setup in about 5 minutes

    • Step 1 — Start your free Discovery month: Sign in at bots4.me/bots, click Start free Discovery month on the Mail2KNOW card and accept the Terms once — no credit card needed.
    • Step 2 — Connect your mailbox: Open Settings (gear) → Mail2KNOW → Access Manager → Add Source: Secure Quick Connect (OAuth) for Gmail and Office 365, or IMAP for any other provider. One mailbox is all Mail2KNOW needs — the one your customers already write to — and each connected mailbox gets its own knowledge base.
    • Step 3 — Feed it knowledge: Copy your Learning token (LEARN-…) from Mail2KNOW Control on the Control tab — it appears after the first run. Then email what you have to the connected mailbox with the token in the subject or the text — or drag emails into its _Mail2KNOW/LEARN folder — from your account address, a colleague of your own company domain, or an outside address listed under Who may teach and ask: past Q&A emails, price lists, terms and conditions, product sheets — PDF, Word, Excel, CSV, HTML and plain text; switch on Scanned PDF (OCR) and Images for scans and photos. Each document becomes categorized knowledge, and a confirmation email lists what was learned.
    • Step 4 — Set the rules: On the Control tab, set your operating hours and the weekend toggle (Mail2KNOW checks the mailbox every few minutes around the clock; there is no run-frequency setting), your Company name with Sign answers with your company name, and Open requests expire after — how long a draft or an unanswered ask-back stays open before the customer gets a polite hand-off (default 2 days; you get one reminder after 1 day).
    • Step 5 — Start in DEMO: every customer question becomes a [D-xxxx] draft for you with Send answer, Edit and Reject buttons — nothing reaches the customer until you click. Questions from your colleagues are answered straight back. When the drafts look right, set Mode to LIVE on the Control tab: Mail2KNOW then answers customers automatically and sends you a draft only when it is unsure.

    🧭 Try It in Your Free Discovery Month

    Your Discovery month gives you the full Personal plan. That includes every document format, the ask-back loop, one-click approval in DEMO and automatic answers in LIVE: the best way to see how good the answers are.

    Day 1 — Start and connect

    • Sign in at bots4.me/bots, click Start free Discovery month on the Mail2KNOW card and accept the Terms once — no credit card needed.
    • Open Settings (gear) → Mail2KNOW → Access Manager → Add Source and connect the mailbox your customers write to. A mailbox used only for Mail2KNOW answers every question; on a mailbox Mail2ERP also reads, it answers only the emails you move into the _Mail2KNOW folder.

    Day 1 — Feed it your first knowledge

    • On the Control tab, open Mail2KNOW Control and copy your Learning token (LEARN-…). Check Approvals & reports to — one or more addresses, comma-separated. Colleagues of your own company domain may teach already; list only outside addresses under Who may teach and ask.
    • If your documents include scans or photos, switch on Scanned PDF (OCR) and Images. Set your Company name and switch on Sign answers with your company name.
    • Email your FAQ, price list, terms and two or three product sheets to the mailbox with the token in the subject or the text — or drag them into _Mail2KNOW/LEARN. A confirmation lists every article it created, with its ID. Send an email with [LIST] in the subject at any time to get the whole knowledge base.

    Days 2–5 — Watch it answer in Demo Mode

    • Ask a test question from an address outside your company. In DEMO Mail2KNOW writes the full answer and sends it to you as a draft — nothing reaches the person who asked until you click Send answer. A question from a colleague at your own company domain is answered straight back.
    • When knowledge is missing you get a [Q-xxxx] email. Reply in plain words or attach a document, or click Edit (Teach & answer) — Mail2KNOW learns it for every future question.
    • Wrong or outdated fact? Send an updated document (an article with the same title replaces the old one) or click Forget on the article’s note in _Mail2KNOW/LOGS.

    Week 2 — Let it answer real customers

    • When the drafts look right, set Mode to LIVE on the Control tab. Mail2KNOW now answers customers automatically; when it is unsure, cites no knowledge article or cannot confirm live ERP data, the answer arrives as a [D-xxxx] draft — by email, in _Mail2KNOW/LOGS and in the Logs tab — with Send answer, Edit and Reject. With Learn from approved answers (on by default), every answer you approve becomes a new article.
    • Under every answer the customer can click 👍 or 👎. Ratings appear in the _Mail2KNOW/FEEDBACK folder of your mailbox and in the Logs tab; a 👎 row has Edit & resend, so the customer gets a corrected answer and Mail2KNOW learns it. Every click is carried out within a few minutes, also outside your Operating Hours.
    • If you have not approved a draft within an hour, the customer gets a short note that the question was received.
    • Check the dashboard statistics — Questions answered, Answers drafted, Asked you for info, Questions awaiting you — to see how much it already handles.

    When the month ends

    When the month ends, Mail2KNOW continues on the free plan by itself, within the free plan’s monthly limit: once it is reached, new items wait until next month or until you choose a plan, and an item already started always finishes. Choose a plan to keep all features — see the plan table on the Mail2KNOW product page.

    On the free plan your knowledge base is kept, Mail2KNOW learns from email text, HTML and CSV, and it prepares a small number of answers each month: you approve each answer in DEMO; LIVE answers on its own. A plan brings PDF, Word, Excel and scan learning back at once.

    📚 What the Knowledge Base Actually Does

    Mail2KNOW is not a pile of documents with a search box. Incoming material is broken down into individual facts and answers, organized into categories, and kept ready for matching against real customer questions:

    • Any format in: email text, HTML, CSV, PDF, Word, Excel — plus scanned PDFs and images via OCR once you switch on Scanned PDF (OCR) and Images. If a human could read it, Mail2KNOW can learn from it.
    • Categorized knowledge out: facts are grouped by topic, so related questions (“what’s the delivery time?”, “how fast do you ship?”) hit the same knowledge, not keyword-matched fragments.
    • 31 languages: knowledge learned in one language answers questions asked in another — a Slovak price list can answer a German customer, in German.
    • Answers, not links: the customer gets a written reply to their actual question, in a normal email with your signature — not a link to a portal.
    • Shared knowledge bases: several mailboxes — for example sales@ and support@ — can share one knowledge base, so what one learns, all of them answer from.
    • A token that stays secret: the learning token is never sent in any email; if it shows up in an email from someone who may not teach, it is replaced automatically.
    • Reports and logs: a weekly email with what was learned (Edit and Forget on every new article), a monthly summary of your knowledge base by email, an email whenever an answer needs your approval or a fact is missing, plus full activity logs in the dashboard — every feature individually toggleable, protected by 2FA, EU-hosted and built for GDPR.

    🎛️ You stay in control

    Mail2KNOW only answers from your knowledge — what it learned from your documents and your ask-back replies. It doesn’t improvise from the open internet. Anything it can’t answer goes to you; if you don’t reply, you get one reminder, and when the request expires the customer is politely asked to contact you directly. Demo Mode lets you review every answer before anything is sent, and you pick a plan that matches your volume — never a price per agent seat.

    🌍 Who It Fits — and What You Don’t Need

    You need exactly one thing: a mailbox. Gmail, Office 365, Yahoo, Exchange or any IMAP provider. No ERP, no CRM, no help-desk platform, no website changes — which makes Mail2KNOW the rare BOTS4.me app with zero integration prerequisites. It fits e-shops answering product questions, manufacturers fielding spec requests, service businesses explaining terms and availability, and any company where one inbox absorbs the same questions daily.

    And if you do run more automation, Mail2KNOW shares the platform with the rest of the BOTS4.me suite: AutoSPAM cleans the mailbox first so only real questions get answered, Mail2CLOUD backs up the same mailbox to storage you own, and Mail2ERP handles the emails that are orders rather than questions. On a mailbox that Mail2ERP, Supplier2ERP or Pay2ERP also reads, Mail2KNOW answers only the emails you hand it — drag one into the _Mail2KNOW folder or press Answer with Mail2KNOW on its LOGS note — unless you switch on Also answer mail Mail2ERP did not import.

    ❓ Frequently Asked Questions

    How does an AI email knowledge base learn my company’s answers?

    Two ways. First, from material you already have: Mail2KNOW reads emails and attachments — PDF, Word, Excel, CSV, HTML, even scans via OCR — and extracts the facts into categorized knowledge. Second, from you: whenever it can’t answer a customer question, it emails you the question, you reply once in plain language, and that answer becomes permanent knowledge.

    What happens when the AI doesn’t know the answer to a customer email?

    It never guesses. The customer gets a short “we received your question”, and Mail2KNOW emails you a [Q-xxxx] message describing exactly what is missing — to every address under Approvals & reports to in the Mail2KNOW settings. Reply from any device or click Edit (Teach & answer); Mail2KNOW learns your answer, sends the customer a proper reply, and answers that question itself from then on. You get one reminder after a day; if the request expires unanswered (Open requests expire after, default 2 days), the customer is politely asked to contact you directly.

    Can it answer customer emails in other languages?

    Yes — 31 languages. The knowledge base is language-independent: facts learned from documents or ask-back replies in one language are used to answer questions asked in any supported language. Each reply goes out in the language the customer wrote in; when that language cannot be recognized, in your App Language.

    Do I need an ERP, CRM or help-desk system to use Mail2KNOW?

    No. Mail2KNOW works entirely over one email mailbox — the one your customers already write to. Connect it via OAuth (Gmail, Office 365) or IMAP (any other provider), copy your Learning token and send it your first documents. No software to install, no website widget, no integration project.

    Can I check what it would send before it emails my customers?

    Yes. Mail2KNOW starts in DEMO: every customer question becomes a draft for you, and nothing reaches the customer until you click Send answer. In LIVE, answers go out automatically and you still get a draft when it is unsure. You can switch back to DEMO at any time.

    What file formats can it learn knowledge from?

    Email text, HTML, CSV, PDF, Word and Excel on every paid plan from Personal — including your free Discovery month — plus scanned PDFs and images via OCR once you switch on Scanned PDF (OCR) and Images. Price lists, terms and conditions, product sheets, manuals and old Q&A emails all become categorized, answerable knowledge.

    How much does an AI customer support autoresponder cost?

    Mail2KNOW uses the same subscription model as every BOTS4.me app: you pick the plan that matches your volume — never a price per agent seat — and can move to a larger plan at any time; current prices are shown on the product page. The first month is a free Discovery month with no credit card needed, and without a plan Mail2KNOW continues on the free plan.

    Is it safe to let an AI answer emails — what about GDPR?

    The platform is EU-hosted, built for GDPR and offers 2FA, with full activity logs for every answer sent and every piece of knowledge learned. Mail2KNOW answers only from your own knowledge base — never by improvising from the open internet — and anything outside that knowledge goes to a human: you.

    📚 Related Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Stop Answering the Same Email Twice

    Connect one mailbox, feed Mail2KNOW your documents, and watch Demo Mode draft the answers. Every question you answer once is answered forever. Your first month is a free Discovery month — no credit card needed.

  • Email Automation For Business

  • Import Email Orders Into Odoo

    BOTS4.me Logo

    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 minutes during the operating hours you set. Setup takes about five minutes, no developer required, and the first month is a free Discovery month.

    🎯 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, receives thousands of RFQs and orders a month by 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 — Start your free Discovery month: Sign in at bots4.me/bots, click Start free Discovery month on the Mail2ERP card and accept the Terms once — no credit card needed.
    • Step 2 — Connect your email: use Secure Quick Connect. Gmail/Google Workspace and Office 365 connect via managed OAuth in two clicks; Yahoo and any other provider work over IMAP with an app password. 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 Python connector, installed once and connected in one click. Odoo Online forbids custom Python, so there you create an API key under Settings → Users & Companies → Users → your user → Account Security and paste it at bots4.me under Settings → Mail2ERP → Access Manager → Add Destination → ERP → Odoo. Odoo Online needs Odoo’s Custom plan for API access.
    • Step 4 — Start in DEMO: Mail2ERP processes your real emails and emails you exactly what it would import — but writes nothing to Odoo. When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email.
    • 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_IMPORT folders in your mailbox. One move teaches the bot how to treat that sender’s pattern in the future.

    🧭 Try It in Your Free Discovery Month

    Your first month of Mail2ERP is a free Discovery month: the usage allowance of the Personal plan with Separate External, Smart Multi-Code Matching and RFQ Detection unlocked to try, and no credit card needed. Here is how to get from zero to your first imported order inside it.

    Day 1 — Start and connect

    • Sign in at bots4.me/bots, click Start free Discovery month on the Mail2ERP card and accept the Terms once — no credit card needed.
    • Open Settings (gear) → Mail2ERP → Access Manager → Add Source to connect your mailbox. Gmail and Microsoft 365 use Secure Quick Connect; other providers connect over IMAP with an app password — see Getting Connected.
    • Or connect no mailbox at all: click Add Source and add the BOTS4.me Mailbox (one click, no password), then forward order emails to mail2erp@bots4.me from your account email address. Other senders can be allowed under Forward to us – accept email from on the Control tab.
    • Connect Odoo: in the same Access Manager click Add Destination → ERP → Odoo, or install the free BOTS4.me Connect module in Odoo and press Connect. On Odoo Online you paste an API key instead.
    • Odoo Online needs Odoo’s Custom plan for API access.
    • With an API key, give that Odoo user Sales (Administrator), Contact Creation and Purchase (User) rights.

    Day 1 — Check the Control tab

    • Mode: Mail2ERP starts in DEMO. For every order or inquiry it reads, it emails you what it would import, and nothing is written to Odoo. In LIVE it creates real quotations and sales orders.
    • Operating Hours and Weekends: Mail2ERP runs only inside these hours, which start as weekday office hours. Widen them and switch on Weekends if evening and weekend orders should be imported too.
    • AI Mode: the Discovery month includes Essential AI. With AI Mode Off, product codes, quantities and prices are read by rules only and nothing is sent to an AI provider.
    • Mail2ERP Features: all file formats, Email Reports and Logs in your mailbox are already on.
    • Switches with a Discovery tag on the Control tab are included in your free month and start switched off — switch on the ones you want to try.
    • For Mail2ERP these are Separate External (unknown senders go to _Mail2ERP/EXTERNAL instead of staying in your INBOX), the four Smart Multi-Code Matching switches (Vendor Codes, Barcodes, Manufacturer Part Number, Customer References) and RFQ Detection (turns a reply that quotes your quotation number into an order).

    Day 1 — Send a test order

    Mail2ERP imports only from senders who are customers in Odoo, and it finds products by the codes in your catalog. For your first test, send an order from an email address that belongs to a customer contact in Odoo and list two or three product codes (the Internal Reference in Odoo) with quantities — in the email text or as a PDF or Excel attachment. After the next run the DEMO report arrives, and the decision shows in the Logs tab and in the _Mail2ERP/LOGS folder of your mailbox.

    Week 1 — Teach it, then go LIVE

    • Look at your INBOX a few times a day: emails Mail2ERP could not import stay there, unread; imported ones move to _Mail2ERP/PROCESSED. The log line tells you why, for example a sender that is not a customer in Odoo or no product codes found.
    • Correct it with folders: drag an email into _Mail2ERP/QUOTATION or _Mail2ERP/ORDERS to retry it as a quotation or an order, into _Mail2ERP/DO_NOT_IMPORT to skip that kind of email in future, or into _Mail2ERP/SUPPLIER to stop a sender, such as a vendor, from ever being imported. Folder names follow your app language.
    • When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email.

    📅 When the Discovery month ends

    When the month ends, Mail2ERP continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes. Choose a plan to keep all features — see the plan table on the Mail2ERP product page.

    The free plan reads email text, PDF, CSV and HTML; scanned PDFs, images, Excel, Word and the Discovery switches need a plan. Nothing you imported is undone.

    📅 What Day-to-Day Operation Looks Like

    Once live, Mail2ERP works through new mail on your chosen schedule, within the operating hours you define. It reads PDF, Excel, Word, CSV, HTML, images, and scanned documents or photographed orders via OCR — in any language or script, with no templates. Each email is classified as an RFQ or an order, matched against your Odoo catalog (from the Family plan also by barcodes, manufacturer part numbers and customer references — Smart Multi-Code Matching), 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 in Odoo) and drag the email into _Mail2ERP/QUOTATION or _Mail2ERP/ORDERS — it is retried on the next run.
    • Duplicate detection prevents double entry when a customer emails two addresses or forwards the same order twice.
    • Reports and logs: Email Reports sends you a short report for every document imported into Odoo, the dashboard’s Logs tab shows every decision the bot made, and the same rows appear in the _Mail2ERP/LOGS folder of your mailbox. Every feature is individually toggleable, AI Mode goes from Off up to the level your plan includes, and Bot Power switches everything off instantly.

    The platform is EU-hosted and built for GDPR, offers 2FA, and sends its reports, logs and mailbox folders in 31 languages. One connection serves every BOTS4.me app that works with Odoo, so adding order fulfillment or payment automation later requires no new integration work.

    🌍 Works Beyond Odoo Too

    This guide targets Odoo, but Mail2ERP also runs on ERPNext 15 and 16, Zoho (Books / Inventory), Dolibarr 23 and newer, Microsoft Dynamics 365 Business Central (online), QuickBooks Online, Xero and SAP Business One. Any other ERP with an API — SAP S/4HANA, Microsoft Dynamics 365 Finance / Sales, Oracle NetSuite and more — is connected on request. If yours is missing, 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: Odoo 13 through 19 on-premise, and the current versions that Odoo.sh and Odoo Online run. Odoo.sh and on-premise installations use the full Python connector from the free BOTS4.me Connect module, installed once and connected in one click. Odoo Online forbids custom Python, so you connect with an API key instead — you create it in Settings → Users & Companies → Users → your user → Account Security and paste it at bots4.me. Odoo Online needs Odoo’s Custom plan for API access. Either way, one connection serves every BOTS4.me app that works with Odoo.

    Can it read scanned or photographed purchase orders?

    Scanned and photographed orders, yes: Mail2ERP reads scanned PDFs, photos and image-based documents with OCR, in all languages including non-Latin scripts such as Thai, Arabic, Japanese, Chinese, Russian, Hebrew, Korean, and Hindi — with no templates required. Handwriting is not reliably readable; on the Enterprise plan, the Ultra AI level reads the original file with vision-capable models and gives the best results on difficult documents.

    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 Logs tab and the _Mail2ERP/LOGS folder tell you why the import stopped — for example a product missing from Odoo. Once you fix the cause, drag the email into _Mail2ERP/QUOTATION or _Mail2ERP/ORDERS and it is retried on the next run.

    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 _TRASH/DUPLICATES, 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 Secure Quick Connect (OAuth) — or you simply forward orders to mail2erp@bots4.me — Odoo connects through the free BOTS4.me Connect module (or an API key on Odoo Online), and you start in DEMO, where nothing is written to your database. The first month is a free Discovery month, with no credit card needed.

    📚 Related Odoo Automation Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    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. The first month is a free Discovery month, with no credit card needed.

  • Odoo Automation Hosting Comparison

    BOTS4.me Logo

    Odoo Online vs Odoo.sh vs On-Premise: Which Can You Automate?

    The honest comparison of Odoo’s three hosting types — through the automation lens

    Most Odoo hosting comparisons argue about price and control. This one asks the question that bites later: once your data is in, how much can you actually automate? The answer differs sharply between Odoo Online, Odoo.sh, and on-premise — because one of the three doesn’t allow custom Python modules at all, which silently rules out most automation add-ons. Here’s how the three compare, what each means for automation, and how BOTS4.me connects to all three (Odoo versions 13–19).

    🎯 Why Your Hosting Choice Decides Your Automation Options

    The trap usually springs months after go-live. A company picks Odoo Online for its simplicity — no servers, automatic upgrades, predictable cost. Then the team wants to automate something real: import email orders, match bank payments, send dunning reminders. They find a promising module on the app store, click install… and discover it can’t be installed, because Odoo Online does not allow custom or third-party Python modules. Only Odoo’s own standard apps run there.

    That single platform rule divides the Odoo world in two: hosting where you can extend the server (Odoo.sh and on-premise), and hosting where you can’t (Odoo Online). Any automation strategy that depends on installing code inside Odoo works on the first group and fails on the second. The good news: automation that talks to Odoo from the outside, through Odoo’s standard API, works everywhere — and that’s the approach this guide recommends regardless of hosting.

    🏗️ The Three Hosting Types in Plain Terms

    ☁️ Odoo Online (SaaS)

    Odoo’s fully managed cloud. Zero infrastructure work, version upgrades handled by Odoo, fastest start. The trade-off is extensibility: no custom Python modules, no server access, no third-party app-store modules that contain Python code. You configure what Odoo ships — and integrate externally via the API, which Odoo includes in its Custom plan.

    🚀 Odoo.sh (PaaS)

    Odoo’s managed cloud platform for customized databases. You get git-based deployment, staging branches, and full support for custom and third-party modules — without running your own servers. More capable than Online, more to manage than Online (developers, module updates, upgrade testing).

    🖥️ On-Premise / Self-Hosted

    Odoo Community or Enterprise on your own servers or cloud VMs. Total freedom — any module, any customization, full database and OS access — and total responsibility: hosting, security, backups, monitoring, and version upgrades are all yours.

    Automation criteria ☁️ Odoo Online 🚀 Odoo.sh 🖥️ On-Premise
    Custom Python modules ❌ Not allowed ✅ Full support ✅ Full support
    Third-party automation add-ons (app store) ❌ Most won’t install ✅ Yes ✅ Yes
    External API access (for outside integrations) ✅ Yes, with API keys (Custom plan) ✅ Yes ✅ Yes
    Infrastructure & maintenance burden ✅ None — Odoo manages it ⚠️ Low-medium — platform managed, modules yours ❌ High — everything is yours
    Version upgrades ✅ Managed by Odoo ⚠️ Tooling provided, testing yours ❌ Fully manual
    BOTS4.me connector type ✅ API key (+ optional zero-code XML helper) ✅ Python connector (one-click connect) ✅ One-click Python connector
    Start the free Discovery month On the app’s card at bots4.me/bots In Odoo, on the app’s row (or at bots4.me/bots) In Odoo, on the app’s row (or at bots4.me/bots)
    Connecting Odoo and the mailbox to an app Odoo URL, login and API key in the Access Manager; mailbox via Gmail / Microsoft 365 sign-in or IMAP One click: + This Odoo as ERP and + My IMAP mail One click: + This Odoo as ERP and + My IMAP mail
    Whose rights the bots use ⚠️ The user whose API key you paste: you grant the rights ✅ A technical user that gets only the rights of your active apps (it counts as an Odoo user) ✅ A technical user that gets only the rights of your active apps (it counts as an Odoo user)
    API key renewal (Odoo 18 and later) ⚠️ Create a new key and paste it before the old one expires ✅ Banner in Odoo; Disconnect, then Connect ✅ Banner in Odoo; Disconnect, then Connect
    BOTS4.me apps that work with Odoo ✅ Same on all three ✅ Same on all three ✅ Same on all three

    Honest summary: Odoo Online is the easiest to run and the hardest to extend internally. Odoo.sh and on-premise can be extended freely — at the cost of owning more of the stack.

    Plan note: Odoo Online needs Odoo’s Custom plan for API access; Odoo.sh and on-premise work on any plan.

    ☁️ Automating Odoo Online — Despite the No-Python Rule

    Because Odoo Online forbids custom Python, most automation add-ons simply don’t exist for it. But Odoo Online supports its standard external API on the Custom plan, authenticated with per-user API keys — and that is exactly the path BOTS4.me uses:

    • Step 1: In your Odoo Online database, open Settings → Users & Companies → Users, pick the user the bots should act as, open Account Security (switch on developer mode if the tab is hidden) and click New API Key. Copy it; Odoo shows it only once.
    • Step 2 (optional): Install “BOTS4.me for Odoo Online” from apps.odoo.com. It is a data-only module with no Python in it, so Odoo Online accepts it, and it adds a BOTS4.me app with Connect / Dashboard, a Setup Guide and How to Create an API Key.
    • Step 3: Sign in at bots4.me/bots, click Start free Discovery month on the app’s card and accept the Terms once — no credit card needed. Then open Settings (gear) → the app → Access Manager → Add Destination or Add Source → ERP → Odoo. Enter your Odoo URL (the Database Name fills itself in for yourcompany.odoo.com), the user’s login email and the API key, then click Add ERP Account. The bots now talk to your Odoo from the outside, over HTTPS.

    No server access, no code deployment, no risk to your automatic upgrades. The bots work with the rights of the user whose key you pasted, so give that user what your apps need: Sales (Administrator), Contact Creation and Purchase (User) for Mail2ERP; Sales (Administrator), Contact Creation, Invoicing (Billing) and Inventory (User) for AutoERP; Invoicing (Billing) and Accounting (Accountant) for Pay2ERP; Invoicing (Billing) for AutoCASH; Purchase (User) and Contact Creation for Supplier2ERP. A dedicated integration user keeps Odoo’s logs clean but counts as a paid Odoo user; your own administrator’s key works too.

    🚀 Automating Odoo.sh and On-Premise — the Full Connector

    On Odoo.sh and self-hosted Odoo, custom modules are welcome, so you get the richer experience: the free “BOTS4.me Connect” Python module from apps.odoo.com — added once to your Odoo.sh repository or addons folder, then connected in one click — adds:

    • Guided login — connect to your BOTS4.me account from inside Odoo, with a two-factor code when 2FA is on for your account.
    • Launchpad menu — your bots appear as a menu inside Odoo, one click from your daily screens.
    • Signed-in dashboard links — admins open the BOTS4.me dashboard, logs and settings from inside Odoo without a second sign-in.

    Under the hood, the Python connector signs every request it sends to BOTS4.me with HMAC over HTTPS only, keeps the keys visible to Odoo admins only, and lets the bots work through a dedicated technical user that receives only the Odoo user groups your active apps need; on Odoo Online the bots act with the rights of the user whose API key you paste. The full walkthrough is in the Odoo connector install guide.

    🧭 Try It in Your Free Discovery Month — on Any Hosting

    The first month of each start-free app (Mail2ERP, Pay2ERP, AutoCASH, Supplier2ERP, AutoERP, AutoSTOCK, AutoPURCHASE and ClientFACTORY, plus AutoSPAM, Mail2CLOUD and Mail2KNOW for your mailbox and AutoGEO for your website) is a free Discovery month: the usage allowance of the Personal plan with many Family and Business features unlocked to try, and no credit card needed.

    • Odoo Online: sign in at bots4.me/bots, click Start free Discovery month on the app’s card and accept the Terms once, then add your Odoo in Settings → the app → Access Manager (URL, login, API key).
    • Odoo.sh and on-premise: in Odoo, open BOTS4.me Connect → Settings, click Complete billing first once, then Start free Discovery month on the app. This Odoo, and its IMAP mailbox if it has one, is connected in the same click.
    • Then, on every hosting type: in the app’s Control tab switch Bot Power on and keep the Mode on DEMO. Switches with a Discovery tag on the Control tab are included in your free month and start switched off — switch on the ones you want to try. Read the DEMO report email and the Logs tab.
    • Go LIVE: when the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email.
    • After the month: the app continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes. Choose a plan to keep all features — see the plan table on the app’s product page.

    Full step-by-step for each hosting type: Odoo connector install guide.

    🤖 One Connection, Every Odoo App, Versions 13–19

    🔌

    Connect once
    (XML helper or Python module)

    →
    ⚙️

    Start each app
    from one dashboard

    →
    ✅

    Automate order-to-cash
    and procure-to-pay

    Whichever hosting you run, one connection serves every BOTS4.me app that works with Odoo: Mail2ERP (email orders in), AutoERP (confirm, ship, invoice), Pay2ERP (match bank payments), AutoCASH (payment reminders) and Supplier2ERP (supplier confirmations), plus AutoSTOCK (reorder points), AutoPURCHASE (draft purchase orders) and ClientFACTORY (new leads). AutoSPAM, Mail2CLOUD and Mail2KNOW need only a mailbox. Every Odoo app supports Odoo versions 13 through 19 and starts in DEMO: it emails you what it would do and writes nothing. When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. The first month of each start-free app is a free Discovery month; when it ends, the app continues on the free plan by itself, with a small monthly allowance, unless you choose a plan.

    ⚠️ Don’t migrate hosting just to automate

    If you’re on Odoo Online and considering a costly move to Odoo.sh purely to unlock automation modules, check first whether external automation covers your needs. Order import, payment reconciliation, payment reminders and supplier confirmations work on Online through Odoo’s standard API, and you keep Odoo-managed upgrades and zero maintenance. The only extra work is pasting an API key and renewing it before it expires. Odoo Online needs Odoo’s Custom plan for API access.

    ❓ Frequently Asked Questions

    Can you install custom modules on Odoo Online?

    No. Odoo Online (the SaaS edition) does not allow custom or third-party Python modules — only Odoo’s standard apps run there. That’s why most automation add-ons from the app store can’t be installed on Odoo Online. Automation is still possible through Odoo’s standard external API, which Odoo Online supports on the Custom plan with per-user API keys.

    Does BOTS4.me work with Odoo Online?

    Yes. Odoo Online forbids Python modules, so you connect from bots4.me: create an API key in Settings → Users & Companies → Users → your user → Account Security, then add your Odoo in the app’s Access Manager at bots4.me/bots. The optional data-only helper “BOTS4.me for Odoo Online” adds a BOTS4.me menu inside Odoo. Every BOTS4.me app that works with Odoo then runs on Odoo Online as it does on Odoo.sh or on-premise. Odoo Online needs Odoo’s Custom plan for API access.

    Where do I create the API key in Odoo Online?

    Log in to Odoo as the user the bots should act as, go to Settings → Users & Companies → Users → that user → Account Security (turn on developer mode if the tab is hidden) and create a new API key; on Odoo 18 and later choose how long it stays valid. Paste that key, together with your database URL, into the connection form at bots4.me/bots.

    What’s the difference between the BOTS4.me connector on Odoo Online and on Odoo.sh?

    The bots do the same work on both. On Odoo.sh and on-premise, the full Python connector (“BOTS4.me Connect” on apps.odoo.com) adds: a guided login inside Odoo, Start free Discovery month and one-click Odoo and IMAP connection on each app’s row, a technical user that gets only the rights of your active apps, a renewal banner for Odoo 18+ API keys, and signed-in links to the BOTS4.me dashboard. On Odoo Online you paste an API key at bots4.me instead: the bots use that user’s rights, and you renew the key yourself before it expires.

    Which Odoo versions does BOTS4.me support?

    Odoo versions 13 through 19: Community and Enterprise on-premise, plus Odoo.sh and Odoo Online on the versions Odoo runs there. One connection serves every BOTS4.me app that works with Odoo; you start each app separately at bots4.me/bots or, with the connector, from its row inside Odoo.

    Do I need to migrate from Odoo Online to Odoo.sh to automate my processes?

    Usually not. Migration makes sense when you need deep in-database customization (custom models, modified workflows, bespoke UI). For automating order import, payment reconciliation, payment reminders, purchasing, and reorder rules, API-based automation like BOTS4.me runs on Odoo Online as-is on a plan with external API access (Odoo’s Custom plan) — you keep Odoo-managed upgrades and zero server maintenance.

    How secure is connecting an external automation service to Odoo?

    The BOTS4.me Python connector signs its requests with HMAC over HTTPS only, and the bots act through a dedicated technical user that receives only the Odoo user groups your active apps need (on Odoo Online, through the user whose API key you paste). The platform is EU-hosted, built for GDPR, offers 2FA, and every bot starts in Demo Mode — showing what it would do without writing anything — before you switch it to LIVE.

    📚 Related Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Whatever You Host, You Can Automate

    Odoo Online, Odoo.sh or on-premise: connect once, start an app and watch its first run in DEMO. The first month is free, with no credit card; afterwards the app simply continues on the free plan.

  • Optimal Ordering in Odoo

    BOTS4.me Logo

    How to Set Optimal Reorder Points in Odoo from Real Sales History

    Turn guesswork min/max reordering rules into data-driven stock targets — updated automatically

    Odoo’s reordering rules are powerful — if the min/max numbers in them are right. In most companies they were typed in once, based on gut feeling, and never touched again. This guide explains what stale reorder points cost, why spreadsheet recalculations don’t stick, and how AutoSTOCK computes an optimal stock target for every product from your real Odoo sales history and writes it back as standard stock.warehouse.orderpoint rules your procurement already understands.

    💸 What Guesswork Reorder Points Cost You

    Every product in your warehouse answers to two numbers: the minimum that triggers replenishment and the maximum you fill up to. Get them wrong in either direction and you pay:

    • Set too low: stockouts on your best sellers. Customers wait, orders are canceled, and sales quietly leak to competitors who had the item on the shelf.
    • Set too high: working capital frozen in slow movers, shelf space wasted, and dead stock that eventually gets written off.
    • Set once and forgotten: demand changes every season, but rules typed in two years ago still drive today’s purchasing. The gap between real demand and stored rules widens every month.
    • Not set at all: Odoo’s replenishment has nothing to work with, so purchasing runs on memory, hallway conversations, and panic orders with expensive express shipping.

    The math behind a good reorder point — average demand, demand variability, vendor lead time, desired service level — is well understood. The problem is nobody has time to run it for hundreds or thousands of SKUs, month after month.

    🔧 How Teams Usually Try to Fix It

    1. Manual rules in Odoo

    Odoo lets you create a reordering rule per product with min and max quantities, and its scheduler will faithfully act on them. But Odoo does not tell you what the numbers should be — that judgment is yours, per product, forever. With more than a few dozen SKUs, the rules fossilize.

    2. The quarterly spreadsheet

    Export sales, build formulas, compute new min/max values, then retype them into Odoo one by one. It works — once. The export is stale the day after, the retyping introduces errors, and the exercise is painful enough that “quarterly” becomes “yearly” becomes “never”.

    3. Custom scripts or heavyweight planning modules

    A developer can script the statistics, but the script needs maintenance, and its output still has to land in Odoo safely. Full-blown demand planning suites do the math well but bring their own database, their own screens, and an implementation project — heavy for an SMB that just wants correct min/max values in the system it already runs.

    🤖 The Automated Way: AutoSTOCK

    AutoSTOCK is a BOTS4.me bot that analyzes your real sales history in Odoo — 120 days by default, configurable — computes an optimal stock target per product, and writes the result back as native Odoo reordering rules. No new planning screens: your Odoo keeps working exactly as before, just with numbers that are finally right and kept fresh automatically.

    📊

    Real sales history analyzed

    →
    🤖

    Optimal target computed per product

    →
    💾

    Native min/max rules written to Odoo

    →
    ✅

    Report emailed after every run

    📐 Five optimization modes — pick the one that fits

    Coverage: the default. The reorder point (min) covers what sells during the vendor lead time plus a 50% buffer; the order-up-to level (max) adds N months of average demand on top (default 2). Simple, predictable, easy to explain to the whole team.

    Service level: statistical Gaussian safety stock for a chosen availability target between 80% and 99%, using each product’s real vendor lead time from Odoo — longer lead times automatically mean more safety stock. Erratic or thin demand is excluded so statistics are never applied where they don’t belong.

    Demand percentile: distribution-free safety stock derived directly from your actual demand pattern — no normality assumption at all.

    Hybrid: automatic per product — AutoSTOCK classifies every product by how regularly it actually sells, then applies Service level math to the steady sellers and Demand percentile math to the erratic ones. Products too sparse for either are left alone instead of getting a misleading target.

    Recent-weighted: no cut-off date — the same idea as Coverage, but recent sales count more than old ones: a sale counts half as much once one lead time has passed, a quarter after two. Nothing drops off a cliff at the edge of the analysis window.

    ⚠️ Qualification gates — one-off items never get stocked

    A product only receives a stock target if enough different customers bought it enough times — both thresholds configurable. That one special-order machine you sold once will never appear on your shelf as “safety stock”.

    From Free Month to Fresh Reordering Rules

    • Step 1 — Start your free Discovery month: sign in at bots4.me/bots, click Start free Discovery month on the AutoSTOCK card and accept the Terms once — no credit card needed. Want help with the setup? Tell us which ERP you run, and we set it up together with you. You can also click through the sample-data dashboard at bots4.me/bots_demo first.
    • Step 2 — Connect Odoo: on Odoo.sh or on-premise, install the free BOTS4.me Connect module (Odoo 13–19) and connect it in one click. On Odoo Online, create an API key under Settings → Users & Companies → Users → your user → Account Security, then open Settings (gear) → AutoSTOCK → Access Manager → Add Source → ERP → Odoo at bots4.me and paste it there; the Odoo user behind the key needs Inventory (User) rights. Odoo Online needs Odoo’s Custom plan for API access. An optional zero-code XML helper adds a BOTS4.me menu inside Odoo. One connection serves every BOTS4.me app that works with Odoo.
    • Step 3 — Pick mode and period: in the Control tab of AutoSTOCK choose the Optimization mode (Coverage, Service level, Demand percentile, Hybrid or Recent-weighted), the Analysis period (120 days by default) and the qualification gates Min. unique customers and Min. orders. Coverage works on every paid tier; the other modes are available at the Business tier.
    • Step 4 — Start in DEMO: AutoSTOCK starts in DEMO. It runs the full analysis and emails the complete report (reorder point and order-up-to level per product, stock plus incoming, and which rules would change) while changing nothing in Odoo. In DEMO a new analysis is produced at most about once a day and uses your usage allowance like a live run. You can stay report-only as long as you like.
    • Step 5 — Go live: in the Control tab switch the mode from DEMO to LIVE (it unlocks after your first DEMO report) and switch on Write Reorder Rules (every paid plan, including the free Discovery month). Both are needed. Choose a Run Schedule (daily or weekly) and Operating hours, and from then on targets are recomputed and the rules AutoSTOCK manages are refreshed automatically.

    Your First Week with AutoSTOCK

    • Read the summary of the first report: how many products had sales in the analysis period, how many qualified for a target and how many did not, how many are below their reorder point, and how many reordering rules were (or in DEMO would have been) created or updated.
    • Check the product table: it shows the Reorder point (min), Order up to (max), Stock + incoming and Status for every product that gets a rule, so you can sanity-check each target against what you know. Rules you set yourself are listed under “Left as you set them”.
    • Tune the gates: if too many products qualify, raise Min. unique customers or Min. orders; if regular sellers are missing, lower them. Products without a vendor lead time in Odoo use the Default lead time.
    • Try a second mode before going live: switch the Optimization mode and compare the next DEMO report with the first one. Coverage is the simple, predictable starting point.
    • Go LIVE when the targets convince you: switch the mode to LIVE and turn on Write Reorder Rules. The rules then appear as normal reordering rules in Odoo, and the Logs tab and the Reorder Rules Updated stat show what each run changed.
    • On the Business plan, let the data choose: Monthly mode & window comparison compares every mode and analysis period on your own sales history once a month and emails the winner with the exact settings to apply, without touching your ERP. The optional SMART layers (Trend Adjustment, Seasonal Look-ahead, Seasonal Purchase Reminders) refine the demand figure and are off until you switch them on; Outlier Dampening is on by default on every paid plan.
    • Then close the loop: AutoPURCHASE orders against the targets AutoSTOCK wrote. Schedule AutoSTOCK to run before AutoPURCHASE so the targets are always fresh.

    📅 What Day-to-Day Operation Looks Like

    After each analysis — or only when rules change, or weekly, as you choose — you receive a stock report: the reorder point and order-up-to level per product, the products below their reorder point, and exactly which rules changed. Reports and logs come in your choice of 31 languages. In the dashboard at bots4.me/bots you get per-app Control, Logs, and Settings tabs, Bot Power on/off, and every feature individually toggleable — with full decision logs for every run. The platform is EU-hosted, built for GDPR, and offers 2FA.

    Because AutoSTOCK writes standard Odoo reordering rules (regular stock.warehouse.orderpoint min/max records), nothing else in your workflow has to change: Odoo’s own replenishment, your buyers, and your existing reports all keep working with the same records — now continuously kept honest by real sales data. It runs on the same platform on which IMP Kontakt turns thousands of emailed RFQs and orders a month into ERP records with Mail2ERP.

    🔄 From Stock Targets to a Closed Inventory Loop

    Correct reorder points are step one of a fully automated replenishment loop. Step two: AutoPURCHASE turns those targets into draft purchase orders — computing per-product needs, grouping lines per preferred vendor, and respecting vendor minimums, so you only review and confirm. Step three: when suppliers confirm, Supplier2ERP reads the confirmation emails and updates your POs in Odoo with confirmed prices, quantities, and delivery dates.

    AutoSTOCK sets the targets → AutoPURCHASE drafts the orders → Supplier2ERP keeps them honest. Own all three and replenishment becomes something you supervise, not something you do.

    🌍 Odoo First, Other ERPs Too

    AutoSTOCK supports Odoo versions 13 through 19 (Odoo Online, Odoo.sh, and on-premise), ERPNext 15 and 16, Zoho Inventory, Dolibarr 23 and newer, Microsoft Dynamics 365 Business Central (online), QuickBooks Online, Xero and SAP Business One (on the last four BOTS4.me keeps the reorder rules for you) today. Any other ERP with an API (SAP S/4HANA, Oracle NetSuite, Dynamics 365 Finance / Sales and others) is connected on request, so if you need stock optimization on another system, tell us which one.

    ❓ Frequently Asked Questions

    How do I calculate optimal reorder points in Odoo automatically?

    Odoo itself executes reordering rules but does not compute what min/max should be. AutoSTOCK adds the missing calculation: it analyzes your real sales history from Odoo (120 days by default), computes an optimal target per product using one of five optimization modes — coverage, service level, demand percentile, hybrid, or recent-weighted — and writes the result back as standard Odoo reordering rules on a schedule you choose.

    What data does AutoSTOCK use to compute stock targets?

    Your actual Odoo sales history over a configurable period (default 120 days), plus each product’s real vendor lead time from Odoo, used in every mode. Targets are based on what customers really bought — not on assumptions or industry averages.

    What is the difference between the coverage, service level, demand percentile, hybrid, and recent-weighted modes?

    Coverage sets the reorder point to what sells during the vendor lead time plus a buffer and adds N months of average demand (default 2) as the order-up-to level — simple and predictable. Service level computes Gaussian safety stock for a chosen availability target between 80% and 99%, using real vendor lead times. Demand percentile derives safety stock directly from your demand distribution without assuming it is normal. Hybrid classifies each product by how regularly it sells and applies Service level math to the steady sellers, Demand percentile math to the erratic ones. Recent-weighted works like Coverage but lets recent sales count more than old ones, so nothing drops off a cliff at the edge of the window. You can switch modes anytime in the dashboard.

    Does AutoSTOCK overwrite my existing Odoo reordering rules?

    No. AutoSTOCK manages only the rules it created and Odoo’s empty rules (min and max at 0). Rules you set yourself stay as they are and are listed in the report, unless you switch on Take Over My Rules, and a never-stock list keeps chosen products out. It writes standard stock.warehouse.orderpoint min/max records, so your own procurement flow keeps working with them. If you prefer to look before anything is written, report-only mode and Demo Mode run the full analysis and email the report without changing your ERP.

    How do I stop one-off or special-order products from getting a reorder point?

    AutoSTOCK’s qualification gates only assign a stock target when enough different customers bought a product enough times — both thresholds are configurable. Products that fail the gates simply never get a rule, so one-off items stay out of your warehouse.

    Does it work with Odoo Online, Odoo.sh, and on-premise?

    Yes — Odoo 13 through 19 on-premise, plus the current versions of Odoo.sh and Odoo Online. Odoo.sh and on-premise use the free BOTS4.me Connect Python module, installed once and connected in one click; Odoo Online, which forbids custom Python, connects with an API key from Settings → Users & Companies → Users → your user → Account Security.

    Can I try AutoSTOCK before it writes anything?

    Yes. Your first month is a free Discovery month, with no credit card needed. It starts in DEMO: you get the full stock analysis and the email report, with no reordering rules written to your ERP, until you switch to LIVE and turn on Write Reorder Rules.

    📚 Related Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Stop Guessing Your Reorder Points

    Start your free Discovery month: connect your Odoo, and your first full stock optimization reports arrive in DEMO, with nothing written to your ERP until you switch to LIVE.

  • Become Our Odoo Partner

    BOTS4.me Logo

    How to Earn Recurring Revenue as an Odoo Partner or Integrator

    The BOTS4.me Growth Partner program — 14–20% of every paid subscription for 24 months, then 10% for as long as your client pays and you remain a partner

    If you implement or support Odoo for a living, you know the problem with project revenue: it ends when the project ends. Your clients keep running Odoo for years — and keep manually retyping emailed orders, chasing invoices, and reconciling payments — while you invoice nothing between change requests. The BOTS4.me Growth Partner program turns those existing clients into a recurring income stream: introduce ready-made automation bots that plug into their Odoo through a free connector, and earn 14–20% of every subscription payment, on every paid plan, for 24 months, then 10% for as long as the client pays and you remain a partner. No development work and no support duties: BOTS4.me supports the client.

    🎯 Why This Fits Odoo Integrators, Freelancers, and Agencies

    You already have the two hardest assets to acquire: clients who trust you, and knowledge of exactly where their Odoo workflows still hurt. Every client who receives orders by email, chases overdue invoices, or matches bank payments by hand is a candidate for one of the twelve BOTS4.me apps — Mail2ERP, AutoERP, Pay2ERP, AutoCASH, Supplier2ERP, AutoSTOCK, AutoPURCHASE, AutoSPAM, Mail2CLOUD, Mail2KNOW, ClientFACTORY, and AutoGEO.

    The alternative ways integrators try to build recurring revenue each have a catch. Custom automation development earns once, then you maintain it for free — or lose the client at the next Odoo upgrade. Maintenance retainers are recurring but cap out at the hours you can sell. Generic affiliate programs typically pay once, on the first sale, and disconnect you from the client afterwards.

    The Growth Partner program is built differently: the commission is a revenue share on every subscription payment, on every paid plan, month after month, year after year, while you remain a partner: the full rate for 24 months, then 10%. Setup is genuinely light: the free BOTS4.me Connect module (Odoo 13–19, LGPL-3, on apps.odoo.com) connects a client’s Odoo in minutes, one connection serves every BOTS4.me app that works with Odoo, and every bot starts in DEMO, so you can show the client what it would do before anything is written to their database.

    💶 How the Commission Works

    You earn a share of every subscription payment made by the clients linked to you, on every paid plan: the full rate for the first 24 months, then 10% for as long as the client pays and you remain a partner. The full rate scales with two things: the client’s plan (Personal, Family and Business share one rate ladder, Enterprise starts higher) and the billing period (longer billing periods pay a higher share).

    • Range: 14% to 20% of each subscription payment. A Personal, Family or Business client on monthly billing sits at the 14% end (Enterprise monthly: 16%); Personal, Family and Business clients on annual billing and Enterprise clients on semiannual or annual billing reach the full 20%. Extra usage packs a client buys while holding a paid plan pay 14%, and 10% from year 3.
    • Duration: not a one-off bounty. The full rate applies for 24 months from the client’s first paid order on any plan; after that you earn 10% on every payment for as long as the client pays and you remain a partner.
    • Payouts: monthly, via bank transfer, Wise or Revolut, once your balance reaches €50.
    • Clawbacks: honest and symmetric — if a client’s payment is refunded, the corresponding commission is deducted.
    • Every paid plan: Personal and Family plans earn commission too. Only the free Discovery month and orders of 0 € earn nothing. A client who joins through your link on the free plan stays linked to you, and your commission starts automatically with their first paid order.

    📈 The compounding effect

    Because the share continues for as long as each client pays and you remain a partner (the full rate for 24 months, then 10%), your income builds up: a client you connect this quarter can still pay you next year, on top of every client you connect after them. Ten business clients each running two or three bots is a meaningful monthly income for work you largely did once — and because automation demonstrably saves the client hours every week, retention is in everyone’s interest.

    🗓️ Full Rate for 24 Months, Then 10%

    Every client follows the same simple rule. There are no partner levels to climb: every approved partner earns on every paid plan from day one.

    🚀 Months 1–24

    The full rate of 14–20% on every payment, counted from the client’s first paid order on any plan.

    🔁 From month 25

    10% on every payment, for as long as the client pays and you remain a partner.

    📅 Fixed by the payment date

    Each payment keeps the rate of the day it is paid: an annual plan paid in month 24 earns the full rate for that whole year.

    🤝 What Partners Actually Do — and Who Supports the Client

    Your part is the introduction: you know which of your clients still retype orders, chase invoices or match payments by hand, you show them the demo or switch on Demo Mode on their own mailbox, and you help them choose the right bots. If a client wants help with the setup, you can give it — you arrange and charge that directly with the client. You have no support duties. BOTS4.me supports every client at support@bots4.me: questions, settings and technical issues all come to us, not to you. Connecting a client takes minutes with the free connector, the bots run themselves with per-run reports and full decision logs, and every bot starts in DEMO, so nothing is written to a client’s database before the client decides.

    For your sales conversations, the honest proof points are real: one production client, IMP Kontakt, turns thousands of emailed RFQs and orders a month into ERP records with Mail2ERP, and AutoSPAM survived a 1.5-million-email mail-bomb in 15 minutes. The platform is EU-hosted, built for GDPR, offers optional 2FA and sends its reports in 31 languages. The first month of each start-free app is free, which makes the pitch easy: “switch it on in DEMO and see what it would have done this week.” Full pitch material: How to automate Odoo end-to-end.

    ⏳ Open to Everyone — How to Apply

    This guide is written for Odoo partners, but anyone who knows companies can refer them: consultants, accountants, IT service companies and agencies are welcome too. There is no limit on places, and every application is reviewed by hand, within 5 business days. Apply on bots4.me/earn-with-us.

    📝

    Apply at
    bots4.me/earn-with-us

    →
    ✅

    Review within
    5 business days

    →
    🔌

    Connect your
    first client

    →
    💶

    Monthly payouts
    via bank transfer, Wise or Revolut

    • Step 1: Fill in the form under “Apply to Become a Growth Partner” at bots4.me/earn-with-us: your name, work email, company and website, and how many ERP/Odoo clients you work with. Agree to the Terms and click Submit Application. You can also write to support@bots4.me.
    • Step 2: We reply by email within 5 business days. Once approved, you get your partner dashboard at bots4.me/earn-with-us, with your partner code and referral link. Add your payout details (IBAN or Wise email) straight away; commission cannot be paid without them.
    • Step 3: Try the apps on your own Odoo first so you can demo from experience. Once approved, your dashboard opens in Partner Mode, with every setting visible. Real runs follow your own plan, so start the free Discovery month on the apps you want to show; more access is available on request for demos and product familiarity. The connector install takes minutes. Do not enter your own partner code on your own account.
    • Step 4: Bring your first clients in through your referral link or partner code (see “How a client becomes yours” below) and show them Demo Mode during their free Discovery month. Your commission starts with their first paid order on any plan; BOTS4.me handles all support.

    🔗 How a Client Becomes Yours — and Tries the Apps Free

    Your commission depends on the client being linked to you, so this part is worth getting right. Your partner dashboard at bots4.me/earn-with-us shows your partner code and your referral link.

    • 1 — Send your referral link. Your link looks like https://bots4.me/?partner=YOURCODE. A client who signs up through it is connected to you automatically on their first dashboard visit, even if they finish signing up later. The first partner wins: if the client already has a partner, the link does nothing.
    • 2 — Or give your code. A client who creates their account from inside Odoo, with the BOTS4.me Connect wizard (“Create a new account at www.bots4.me”), enters your code in the Partner Code field. A client on any plan can also enter it on the partner code page.
    • 3 — The client starts a free Discovery month. They sign in at bots4.me/bots, click Start free Discovery month on the app’s card and accept the Terms once — no credit card needed. Odoo.sh and on-premise clients can click the same button on the app’s row in Odoo, which connects their Odoo in the same click.
    • 4 — Run the first week in DEMO. Switches with a Discovery tag on the Control tab are included in the client’s free month and start switched off — you can help the client switch on the ones worth trying, and walk through the DEMO report emails and the Logs tab together. When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email.
    • 5 — After the month. The app continues on the free plan by itself, with a small monthly allowance, or the client chooses a plan. The free plan pays no commission, but the client stays linked to you. Your commission starts automatically with their first paid order on any plan.

    🔄 Once linked, the link stays

    Once a client is linked to you, the link changes only through BOTS4.me at support@bots4.me. The client sees that you introduced them and what you can see: their company name, login e-mail, plan and payments — never their e-mails or bot data. After the partnership ends, you may not move your former clients to a competing service for twelve months.

    ❓ Frequently Asked Questions

    How much can an Odoo integrator earn in the BOTS4.me partner program?

    Partners earn 14–20% of every subscription payment made by the clients linked to them, on every paid plan, for 24 months from the client’s first paid order on any plan. After that they earn 10% on every payment for as long as the client pays and they remain a partner. The exact full rate depends on the client’s plan and billing period — Personal, Family and Business share one ladder (14% monthly up to 20% annual), Enterprise starts at 16% and reaches 20% on semiannual and annual billing. Extra usage packs pay 14% while the client holds a paid plan, and 10% from year 3. Payouts run monthly via bank transfer, Wise or Revolut, once your balance reaches €50.

    Is this a one-time affiliate commission or true recurring revenue?

    True recurring revenue. The share applies to every renewal payment on every paid plan, not just the first sale: the full rate for 24 months, then 10% for as long as the client pays and you remain a partner. If a client’s payment is refunded, the matching commission is clawed back — the share tracks real revenue, in both directions.

    Do I need to write any code to connect my clients’ Odoo databases?

    No. The free BOTS4.me Connect module (apps.odoo.com, LGPL-3, Odoo 13–19) links a client’s Odoo.sh or on-premise database in one guided flow, and Odoo Online clients use a zero-code API-key path. One connection serves every BOTS4.me app that works with Odoo, and each app is started from the BOTS4.me dashboard or from its row in Odoo. There is no custom development to build or maintain across Odoo upgrades.

    Do I have to support my clients?

    No. BOTS4.me provides all support to your clients at support@bots4.me. Your part is to introduce BOTS4.me and show the demo or Demo Mode. If a client wants help with the setup, you can give it and charge for it directly. There are no tickets to answer, no monthly check-ins and no client ratings of partners.

    What happens after the first 24 months?

    You keep earning. The full rate (14–20%) applies for 24 months from the client’s first paid order on any plan. After that you earn 10% on every payment the client makes, for as long as the client pays and you remain a partner. The rate is fixed by the date of each payment, so an annual plan paid in month 24 earns the full rate for that whole year. A fully refunded first order does not start the 24 months.

    Can I white-label BOTS4.me automation for my Odoo clients?

    You stay the visible expert: you recommend BOTS4.me and, if the client wants, help with the setup under your own name. BOTS4.me runs the infrastructure, bills the client directly and provides support. Selected apps also offer white-label features on higher plans (for example ClientFACTORY white-label campaigns from Business). Ask about your specific white-label scenario when you apply at bots4.me/earn-with-us.

    How do I apply, and how fast will I hear back?

    Apply through the form at bots4.me/earn-with-us or email support@bots4.me. The program is open to everyone who knows companies: Odoo partners, implementers and integrators, and also consultants, accountants, IT service companies and agencies. Every application is reviewed by hand, and we reply by email within 5 business days. There is no limit on places.

    📚 Know the Product Before You Pitch It

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Open to Everyone. Reviewed in 5 Business Days.

    Your Odoo clients already need this automation. Be the one who brings it to them — and get paid on every renewal: the full rate for 24 months, then 10% for as long as they pay and you remain a partner.

  • Backup Email to Your Own Cloud

  • How to Automate Odoo

    BOTS4.me Logo

    How to Automate Odoo End-to-End: From Email Order to Paid Invoice

    Odoo automation without development — 12 bots, one free connector, Odoo 13–19

    Odoo is a great system of record, but out of the box a human still retypes every emailed order, confirms every quotation, chases every overdue invoice, and matches every bank payment by hand. This guide shows how to automate Odoo end-to-end — the complete order-to-cash chain and the procure-to-pay chain — using the BOTS4.me suite: no custom development, no middleware, one free connector for Odoo 13–19, and every bot starts in a safe Demo Mode.

    🎯 Why Automate Odoo at All?

    Most Odoo companies automate the database and leave the workflow manual. A customer emails a PDF order — someone opens it, finds the products, and types a sales order. The order sits as a draft until someone confirms it. Stock is ready, but the delivery waits for a click. The invoice goes out late, the customer pays late, and the payment sits unreconciled until month-end. Every one of those steps is minutes of skilled labor spent on copy-paste, and every retype is a chance for a wrong quantity, a wrong product code, or a missed order entirely.

    The options people usually try each fall short somewhere. Manual processing works until volume grows or a key person goes on vacation. The built-in Odoo email gateway can create records from emails, but it does not read PDF attachments, Excel files, or scanned documents — which is how real customers actually send orders. Custom development gives you exactly what you want, but you pay for it twice: once to build it and again every time Odoo upgrades. Zapier-style connectors are fine for simple field-mapping triggers, but they are not built to understand a three-page order PDF in Polish, match product codes against your catalog, or decide whether a delivery should ship partially.

    BOTS4.me takes a different approach: twelve specialized bots, each doing one business job well, controlled from one dashboard at bots4.me/bots, and every bot that works with Odoo connects through the same free connector. You subscribe only to the bots you need, and each one starts in Demo Mode — it shows you what it would do before it writes anything.

    💶 The Order-to-Cash Chain: Email Order → Paid Invoice

    📧

    Mail2ERP
    imports the emailed order

    →
    ⚙️

    AutoERP
    confirms, ships, invoices

    →
    🔔

    AutoCASH
    reminds when overdue

    →
    ✅

    Pay2ERP
    matches the payment

    Step 1 — Mail2ERP: the emailed order becomes an Odoo sales order

    Mail2ERP watches your inbox and AI-extracts orders and RFQs from any attachment — PDF, Excel, Word, CSV, HTML, even scans and photos via OCR — in any language, with no templates. It classifies RFQ vs Order, matches products against your Odoo catalog, detects duplicates, and writes the record into Odoo with a full audit trail. One real-world data point: IMP Kontakt turns thousands of emailed RFQs and orders a month into ERP records with Mail2ERP. Full walkthrough: How to import email orders into Odoo automatically.

    Step 2 — AutoERP: the order confirms, ships, and invoices itself

    Once an order exists in Odoo, AutoERP takes over for every order you tag AutoERP (whole order) or AutoERP_partial (line by line): it confirms draft orders, sends proformas and confirmation emails, ships full or partial deliveries the moment stock is ready (oldest orders first, with a configurable minimum delivery value), detects pickup orders, and blocks shipments to customers with overdue balances via credit checking. Invoicing runs immediately or in collection batches — daily, weekly, or monthly. Guide: How to automate order confirmation, delivery and invoicing in Odoo.

    Step 3 — AutoCASH: overdue invoices get chased automatically

    AutoCASH finds overdue invoices in Odoo and escalates step by step — an invoice list, a 1st reminder, a 2nd reminder and a final reminder, one level per run while the invoices stay unpaid — starting a configurable number of days after the due date. Reminders repeat at an interval you set so no customer is double-reminded, customers on your “Never chase these customers” list and debts below your minimum are skipped, and a day-before preview tells you exactly what will go out. Guide: How to automate payment reminders in Odoo.

    Step 4 — Pay2ERP: the payment reconciles itself

    Pay2ERP captures incoming payments from bank notification emails and from the Wise API (Revolut on request), extracts the amount and payment reference using 34 built-in patterns in 12 languages, matches them to open invoices — including combinatorial matching for batch payments — and records the payment in Odoo with automatic reconciliation. It also tells AutoCASH to stop reminding the moment a payment lands. Guide: How to match bank payments to invoices in Odoo automatically.

    🔗 The chain effect

    Each bot is useful alone, but the chain is where the hours disappear: an order emailed at 08:02 can be in Odoo by 08:05, confirmed and scheduled for delivery the same morning, invoiced on shipment, politely chased if it goes overdue, and reconciled the minute the bank notification arrives — with a human touching nothing but the exceptions.

    📦 The Procure-to-Pay Chain: Stock Targets → Confirmed Purchase Orders

    📊

    AutoSTOCK
    sets stock targets

    →
    🛒

    AutoPURCHASE
    drafts purchase orders

    →
    📥

    Supplier2ERP
    imports confirmations

    AutoSTOCK — reorder points from real sales history

    AutoSTOCK analyzes your actual Odoo sales history (120 days by default), computes an optimal target per product using one of five modes (coverage, service level, demand percentile, hybrid or recent-weighted), and writes native Odoo reordering rules (stock.warehouse.orderpoint min/max). Qualification gates keep one-off items out of stock, and a report lands in your inbox after every run. Guide: How to set optimal reorder points in Odoo from real sales history.

    AutoPURCHASE — draft POs computed from real needs

    AutoPURCHASE computes need as (stock target + confirmed undelivered sales) − (on-hand + incoming POs), then creates draft purchase orders grouped per preferred vendor, respecting vendor minimum order quantities, your minimum order value, a maximum stock-cover cap and a never-order list. You review and confirm the drafts, and a later run appends to its own open draft for that vendor instead of creating a second order. Guide: How to automate purchasing in Odoo.

    Supplier2ERP — supplier confirmations update your POs

    When suppliers email back their order confirmations, Supplier2ERP reads the PDF, Word, Excel, or scanned attachment, anchors line items against your Odoo product catalog, matches them to open purchase orders, and updates quantities, prices, and delivery dates within your configured tolerance — flagging large differences for review instead of silently accepting them. Guide: How to import supplier order confirmations into Odoo automatically.

    🛡️ The Email Foundation — and the Growth Engine

    Everything above runs on email, so the email layer needs to be clean, answered, and safe. Three bots handle that:

    • AutoSPAM — spam control you teach by moving one email into a folder; one move becomes a permanent server-side rule across all your accounts and devices. It quarantines unknown senders, filters dangerous attachments, and survived a real 1.5-million-email mail-bomb attack in 15 minutes. Keeping junk out means junk never reaches your ERP as a false order. Guide: How to stop spam permanently · product page.
    • Mail2CLOUD — 100% rule-based email backup (no AI reads your mail) that mirrors your mailbox to your own cloud storage — Dropbox, Google Drive, OneDrive, S3, and more — preserving folder structure, with optional AES-256 encryption and one-click restore. Your order history is business evidence; back it up where you control it. Guide: How to back up email to your own cloud · product page.
    • Mail2KNOW — the same customer questions arrive every day: shipping times, product specs, return policies. Forward a document once and it becomes a searchable knowledge article. Mail2KNOW then drafts answers to incoming emails around the clock, in the language the customer wrote in. You approve each draft with one click, and from the Family plan you can let it send automatically. Fewer repetitive replies for the same people who handle your orders. Guide: AI email knowledge base autoresponder · product page.
    • ClientFACTORY — once the back office runs itself, feed it. ClientFACTORY writes a three-step cold-email sequence in your target language, discovers relevant B2B leads 24/7, and sends from your own domain with safeguards built in: one-click unsubscribe, suppression lists, warm-up throttling, bounce auto-halt, and no sending to recipients in Germany or Austria. Guide: How to automate B2B lead generation · product page.
    • AutoGEO — when new prospects look you up, make sure they find you. AutoGEO keeps your WordPress website and WooCommerce shop optimised for search engines and for AI assistants such as ChatGPT: meta titles and descriptions, product texts, image alt texts, and short answer blocks and FAQs built only from your own facts. It starts in Demo Mode, long texts wait for your approval, and every change can be undone with one click. product page.

    ⚙️ How to Set It Up — About 5 Minutes per Bot

    The whole suite connects to Odoo through one free module, BOTS4.me Connect, published on apps.odoo.com and supporting Odoo 13 through 19. Odoo Online, which forbids custom Python, connects with a standard Odoo API key instead. Odoo Online needs Odoo’s Custom plan for API access. One connection serves every BOTS4.me app that works with Odoo, and you start each app separately from the dashboard.

    • Step 1 — Start your free Discovery month: Sign in at bots4.me/bots, click Start free Discovery month on the card of each app you want and accept the Terms once — no credit card needed. Want help with the setup? We set it up together with you.
    • Step 2: Open Settings (gear) → the app → Access Manager → Add Source and connect your mailbox with Secure Quick Connect (Gmail, Outlook / Microsoft 365, Zoho Mail: you sign in on the provider’s own page and your password never reaches us), or with IMAP for any other provider.
    • Step 3: Connect Odoo with the free connector — full step-by-step in the Odoo connector install guide.
    • Step 4: Start in Demo Mode: each bot shows exactly what it would do and writes nothing.
    • Step 5: When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. Every feature is individually toggleable there, every decision is logged in the Logs tab, and each bot emails you its report after each run or as a regular summary.

    ⚠️ You stay in control

    Bot Power on/off per app, AI Mode from Off (pure rules) up to Essential, Premium or Ultra depending on the app, a Run Schedule (the choices depend on the app), Operating hours, and full decision logs. Platform-wide: optional 2FA, reports, logs and mailbox folders in 31 languages, EU-hosted, built for GDPR.

    🧭 Try It in Your Free Discovery Month

    The first purchase of each self-service app starts with a free Discovery month: the usage allowance of the Personal plan (fair use) with many Family and Business features unlocked to try, and no credit card needed. It is enough to see on your own Odoo data what a bot would do.

    • Start it: sign in at bots4.me/bots, click Start free Discovery month on the app’s card and accept the Terms once. The card confirms that your free Discovery month is active, and the dashboard counts down the days left.
    • Connect: open Settings (gear) → the app → Access Manager and add the mailbox and/or Odoo it needs with Add Source or Add Destination (which one depends on the app), using Secure Quick Connect where available or the free Odoo connector. See Getting Connected.
    • Stay in DEMO first: the bots start in DEMO, so they read your data and email you what they would have done, but change nothing. Set the AI mode, Run Schedule and Operating hours in the Control tab.
    • Switch on what Discovery unlocks: switches with a Discovery tag on the Control tab are included in your free month and start switched off — switch on the ones you want to try. After the month, they come with the plan named in their tooltip.
    • Watch the results: the Logs tab shows every decision, and each bot emails its report. Several bots can also write their log into a LOGS folder in your mailbox.
    • Go LIVE: when the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email.

    Worth switching on during the month

    • Mail2ERP: RFQ Detection, plus product matching by Vendor Codes (cross-trade), Barcodes (EAN/UPC/GTIN), Manufacturer Part Number and Customer References.
    • AutoERP: Partial Shipping (ship the lines that are in stock, oldest orders first) and Credit Checking (hold shipments for overdue customers or unpaid proformas).
    • Pay2ERP: Daily Export, a daily Excel list of all processed payments for your accountant.
    • AutoCASH: Escalate up to and Repeat reminders every — their tooltip says they are included in your free Discovery month — to try the full reminder ladder at your own pace.
    • Supplier2ERP: Auto-Update Quantities, so confirmed quantity changes are applied to the purchase order instead of only being reported.

    Deleting and other real-world actions, such as Supplier2ERP price edits, are not part of the Discovery month.

    When the month ends, each app continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes. Choose a plan to keep all features — see the plan table on each product page.

    🌍 Works Beyond Odoo Too

    This guide is Odoo-first because the connector is deepest there; the ERP-connected bots also run on ERPNext 15 and 16, Zoho (Books / Inventory), Dolibarr 23 and newer, Microsoft Dynamics 365 Business Central (online), QuickBooks Online, Xero and SAP Business One, and any other ERP with an API — SAP S/4HANA, Microsoft Dynamics 365 Finance / Sales, Oracle NetSuite and more — is connected on request. Choosing or comparing Odoo hosting first? See Odoo Online vs Odoo.sh vs on-premise: which can you automate? If your focus is the mailbox rather than the ERP, start with email automation for small business.

    Are you an Odoo integrator or agency? You can plug these bots into your existing clients and earn a recurring revenue share — see how to earn recurring revenue as an Odoo partner.

    ❓ Frequently Asked Questions

    Can I automate Odoo without custom development?

    Yes. BOTS4.me connects to Odoo 13–19 through a free connector module from apps.odoo.com — no custom development, no middleware, no code of your own to maintain across Odoo upgrades. You configure everything from the dashboard at bots4.me/bots, and each bot starts in Demo Mode so nothing is written until you approve.

    Which Odoo versions and hosting types are supported?

    Odoo 13 through 19 on-premise, and the current versions that Odoo.sh and Odoo Online run. Odoo.sh and on-premise installs use the full Python connector (installed once, connected in one click); Odoo Online connects with an API key (external API access is part of Odoo’s Custom plan), because Odoo Online does not allow custom Python modules. All three end up with the same automation capabilities.

    Do I have to buy all twelve bots to automate Odoo?

    No. Each bot is a separate subscription and works standalone. Most companies start with one pain point — usually Mail2ERP for emailed orders or Pay2ERP for bank reconciliation — and add the next bot in the chain once the first one has proven itself. The first month of each self-service app is a free Discovery month; when it ends, the app continues on the free plan by itself with a small monthly allowance unless you choose a paid plan.

    Is it safe to let a bot write into my Odoo database?

    You decide when. Every bot starts in Demo Mode (it reports what it would do and writes nothing, even while it reads your Odoo data), and it gets write access only when you switch Demo off. Every action is logged with a full audit trail, the bots email you their reports, and you can switch any bot or any individual feature off at any time. The connector module signs every request it sends to BOTS4.me with HMAC-SHA256, over HTTPS only.

    Can Odoo automatically create sales orders from email PDF attachments?

    Not natively — Odoo’s built-in email gateway creates records from email text but does not read PDF, Excel, or scanned attachments. Mail2ERP fills exactly that gap: it AI-extracts order lines from any attachment format and any language, matches products to your Odoo catalog, and creates the sales order or quotation with an audit trail.

    How is this different from Zapier-style connectors for Odoo?

    Generic trigger-action connectors map fields between apps, which works for simple events. They are not built to read a scanned order PDF, match ambiguous product codes against your catalog, decide partial-shipment logic, run escalating dunning sequences, or reconcile batch bank payments. BOTS4.me bots are purpose-built for those specific business processes and write native Odoo records.

    What does end-to-end Odoo automation cost?

    Each bot is priced as its own subscription — current pricing for every app and tier is on the product pages at bots4.me. Self-service apps start with a free Discovery month with no commitment and then continue on the free plan with a small monthly allowance, and setup help is free, so you can measure the saved hours before paying anything.

    📚 All Guides in This Series

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Start Automating Odoo Today with a Free Discovery Month

    Pick the one process that costs you the most hours, switch that bot on in Demo Mode, and watch what it would have done this week.

  • Odoo Connector Install Guide

    BOTS4.me Logo

    How to Connect Odoo to BOTS4.me: Connector Install Guide (Odoo 13–19)

    One free connector for Odoo.sh and on-premise, a zero-code path for Odoo Online — and every BOTS4.me app that works with Odoo.

    Connecting Odoo to an external automation platform usually means custom endpoints, shared admin passwords, or a middleware server someone has to babysit. The BOTS4.me Connect module removes all of that: a free, open-source (LGPL-3) module from apps.odoo.com that links your Odoo — versions 13 through 19 — to the whole BOTS4.me suite in one guided flow. This guide walks through both install paths, step by step, and explains exactly how the security works.

    🧭 First, Pick Your Path: Where Does Your Odoo Run?

    There are two install paths, and the only thing that decides between them is your Odoo hosting type. Both end in the same place: one connection serves every BOTS4.me app that works with Odoo.

    Path A — Odoo.sh or On-Premise

    You can install custom modules, so you get the full Python connector: a guided login (with a two-factor code when 2FA is on), automatic key provisioning, and an app overview inside Odoo showing each app’s live status.

    Path B — Odoo Online (SaaS)

    Odoo Online forbids custom Python modules, so you use the zero-code XML helper plus an API key you create yourself in Odoo’s settings — about five minutes, no code at all.

    Not sure which hosting you have — or still choosing? See Odoo Online vs Odoo.sh vs on-premise: which can you automate?

    Plan note: Odoo Online needs Odoo’s Custom plan for API access; Odoo.sh and on-premise work on any plan.

    🔌 Path A: Odoo.sh & On-Premise — the One-Click Connector

    📥

    Install module
    from apps.odoo.com

    →
    🔐

    Log in to
    your BOTS4.me account

    →
    🔑

    Keys created
    automatically

    →
    🚀

    App overview
    shows your apps

    • Step 1 — Create your BOTS4.me account. Register at bots4.me/bots, or skip this step and create the account inside Odoo in Step 3. Each start-free app then begins with a free Discovery month.
    • Step 2 — Install “BOTS4.me Connect”. On apps.odoo.com, open BOTS4.me Connect, choose your Odoo version (13.0 to 19.0) and download the free zip; it contains one folder, b4m_connect. On-premise: put that folder into a directory on your addons path, restart the Odoo service, switch on developer mode, open Apps → Update Apps List, search for “BOTS4.me Connect” and click Activate (Install on older versions). Odoo.sh: commit the folder to your repository (try a staging branch first) and push; when the build is green, install it from Apps in that build’s database. The single-app modules on the store (for example “Mail2ERP by BOTS4.me”) install the same way and show only their own app. The source is LGPL-3, so you or your integrator can read every line before installing.
    • Step 3 — Run the connect wizard. As an Odoo administrator, open BOTS4.me Connect → Settings and click Connect. Choose “Create a new account at www.bots4.me” (enter your email; if a BOTS4.me partner recommended us, put their code in Partner Code) or “I already have an account at www.bots4.me” (email and password). Then enter the 6-digit code from your email, or from your authenticator app if you use one. The wizard talks directly to bots4.me over HTTPS; no credentials are typed into any third-party screen.
    • Step 4 — Keys are minted for you. On successful login, BOTS4.me issues an API key and an HMAC signing secret for this specific Odoo database, and the module creates a local technical user, “BOTS4.me Connect”, so the bots read and write Odoo records over XML-RPC with their own identity, never your personal admin login. That user gets only the Odoo rights of the apps you activate. Like any internal user, it counts toward a per-user Odoo Enterprise subscription. On Odoo 18 and later, Odoo limits how long API keys stay valid: when the module shows “API key expires soon”, click Disconnect, then Connect, and no app settings are lost.
    • Step 5 — Setup forms are pre-filled. The connector sends your Odoo’s metadata (URL, database UUID, company billing block, IMAP mail-server addresses) to pre-fill the BOTS4.me setup forms. Mail passwords stay inside your Odoo until you hand a mailbox to an app, either with + My IMAP mail (1 click) or by clicking Start free Discovery month on an app that reads email. They are encrypted before they leave your Odoo.
    • Step 6 — Activate your first app. Under Apps, every app shows its status (Not activated, Needs setup, Active, Configured). Click Complete billing first once, fill your billing details on bots4.me, then click Start free Discovery month on the app you want. That single click activates the app, connects this Odoo as its ERP and, for apps that read email, hands over your Odoo IMAP mailbox. Anything still missing gets its own button on the app: + This Odoo as ERP (1 click), + My IMAP mail (1 click), + Mailbox (Gmail, Microsoft 365) or + Cloud storage. Dashboard, Logs and Settings open bots4.me already signed in.

    ⚠️ If something does not appear

    No Connect button? Only Odoo administrators see it; other users see a note asking an administrator to connect.

    No apps listed after connecting? Fill your billing information on bots4.me (Open Billing on BOTS4.me), then click Refresh. Accounts are usually approved within minutes.

    “API key expires soon”? Click Disconnect, then Connect. Your app settings are kept.

    ☁️ Path B: Odoo Online — Zero-Code Setup with an API Key

    Odoo Online (the SaaS edition at odoo.com) does not allow custom Python modules — that’s a platform rule, not a BOTS4.me limitation. So the Online path uses a zero-code XML helper module plus a standard Odoo API key that you create yourself (external API access is part of Odoo’s Custom plan):

    • Step 1 — Create your BOTS4.me account at bots4.me/bots.
    • Step 2 — Create an Odoo API key. In your Odoo Online database, go to Settings → Users & Companies → Users → your user → Account Security (switch on developer mode if the tab is hidden) and click New API Key. Name it “BOTS4.me”, choose how long it stays valid (Odoo 18 and later ask) and copy the key; Odoo shows it only once. Before it expires, create a new one and paste it into the same Odoo connection at bots4.me (Edit → Update ERP Account).
    • Step 3 — Start the app and paste the key at bots4.me. Sign in at bots4.me/bots, click Start free Discovery month on the app’s card and accept the Terms once — no credit card needed. Then open Settings (gear) → the app → Access Manager, click Add Destination or Add Source (the app shows the one it needs), choose ERP → Odoo and fill in the Odoo URL (for https://yourcompany.odoo.com the Database Name fills itself in), your login email as Username, and the API key in Password or API Key. Click Add ERP Account.
    • Step 4 — Add the zero-code helper (optional). The module “BOTS4.me for Odoo Online” on apps.odoo.com contains data records only, no Python, so Odoo Online accepts it. It adds a BOTS4.me app to your Odoo with Connect / Dashboard, Setup Guide and How to Create an API Key. The bots connect through Odoo’s standard external API either way.
    • Step 5 — Verify in DEMO. In the app’s Control tab, switch Bot Power on and leave the Mode on DEMO. After the first run you get a DEMO report email listing what the bot read and what it would have written, and the Logs tab shows every decision; nothing changes in Odoo. When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email.

    ⚠️ Tip: use a dedicated Odoo user

    For clean audit trails, create a dedicated Odoo user (e.g. “BOTS4.me Integration”) and mint the API key under that user. Every record the bots create or update is then attributed to it in Odoo’s own logs. Give it the rights your apps need: Sales (Administrator) plus Contact Creation and Purchase (User) for Mail2ERP; Purchase (User) plus Contact Creation for Supplier2ERP; Invoicing (Billing) plus Accounting (Accountant) for Pay2ERP; Invoicing (Billing) for AutoCASH; Sales (Administrator), Contact Creation, Invoicing (Billing) and Inventory (User) for AutoERP. A dedicated user counts as a paid Odoo user; your own administrator’s key works too. On Odoo.sh and on-premise the connector grants these rights to its own technical user automatically.

    🧭 Try It in Your Free Discovery Month

    The first month of each start-free app is a free Discovery month: the usage allowance of the Personal plan with many Family and Business features unlocked to try, and no credit card needed. Here is the shortest route from “connected” to a first result in Odoo.

    • 1 — Start the app. In Odoo (Odoo.sh, on-premise): BOTS4.me Connect → Settings, click Complete billing first once, then Start free Discovery month on the app. On Odoo Online: sign in at bots4.me/bots, click Start free Discovery month on the app’s card and accept the Terms once — no credit card needed. Either way the dashboard then shows “Free Discovery month — N days left”.
    • 2 — Connect what the app needs. In Odoo, starting the app already connects this Odoo and, if your Odoo has an IMAP mail server, its mailbox. Use + This Odoo as ERP (1 click) or + Mailbox (Gmail, Microsoft 365) for anything still missing. On Odoo Online, add the Odoo connection in the Access Manager as described in Path B, and the mailbox with Add Source.
    • 3 — Run it in DEMO. Open the app’s Control tab (or Quick control in Odoo), switch Bot Power on and leave the Mode on DEMO. Switches with a Discovery tag on the Control tab are included in your free month and start switched off — switch on the ones you want to try.
    • 4 — Check the result. Read the DEMO report email after the first run and the Logs tab: every document the bot read, and what it would have created or changed in Odoo.
    • 5 — Go LIVE. When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. The bot now writes to Odoo through the connection you set up, with the rights of its Odoo user.
    • 6 — After the month. When the month ends, the app continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes. Choose a plan to keep all features — see the plan table on the app’s product page.

    💡 Good first apps for an Odoo database

    Mail2ERP turns emailed orders and RFQs into quotations, Pay2ERP matches bank payments to open invoices, and AutoCASH previews the payment reminders it would send.

    🔒 The Security Model, Honestly Explained

    You are giving an external service access to your ERP, so you should demand specifics — not just a “bank-grade security” badge. Here is exactly how BOTS4.me Connect is built:

    • HTTPS only, hard-coded. The API endpoint is fixed to https://bots4.me in the module source — it is not an editable settings field, so a compromised configuration record can’t redirect your API traffic to a hostile server. Every URL returned by the API is verified before your browser opens it; non-HTTPS or off-host responses are rejected.
    • HMAC-SHA256 request signing. Every call the module makes to BOTS4.me is signed with the per-database secret, so requests can’t be forged or tampered with in transit.
    • Credentials restricted to admins. The API key, signing secret, and technical-user fields carry field-level access limited to Odoo’s admin group (base.group_system). Regular internal users can see the launchpad and app statuses, but the secrets never appear in any record read they could run — and all connect/disconnect/configure actions are admin-only.
    • Open source, LGPL-3. The full source ships inside the zip you download from apps.odoo.com, so your integrator can audit exactly what leaves your server: metadata to pre-fill forms, a mailbox password only when you hand that mailbox to an app (encrypted before it leaves), and never your business documents.
    • Audit trail on both sides. The module keeps a local event log of connects, configuration changes, and errors inside Odoo; the BOTS4.me dashboard keeps full per-run decision logs.
    • Automatic entitlement refresh. A scheduled cron re-checks your subscriptions regularly, so app statuses in the launchpad stay current — and a canceled app stops being served promptly.

    More on platform security and graduated access: bots4.me/security and access levels. The platform is EU-hosted, built for GDPR, and 2FA is available on every account.

    ✅ After Connecting: One Connection for Every Odoo App

    You install the connector exactly once; nothing extra to install per app. One connection serves every BOTS4.me app that works with Odoo: Mail2ERP, AutoERP, Pay2ERP, Supplier2ERP and AutoCASH, plus AutoSTOCK, AutoPURCHASE and ClientFACTORY. AutoSPAM, Mail2CLOUD and Mail2KNOW need only a mailbox, which the connector can hand over from your Odoo in one click. You start each app separately, from its row in Odoo or its card at bots4.me/bots.

    Each app starts in DEMO: it reads, decides and emails you a DEMO report, but writes nothing. When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. On bots4.me, each app’s Control tab holds Bot Power, the Mode, AI Mode (Off, Essential AI, Premium AI or Ultra, depending on the app), the Run Schedule and Operating hours where the app has them, and its feature toggles. The Logs tab shows every decision. In Odoo, Quick control on the app row covers Bot Power, Run Schedule, Demo Mode and AI Mode. For what to automate first, see the hub guide: How to automate Odoo end-to-end.

    ❓ Frequently Asked Questions

    Is the BOTS4.me Connect module for Odoo really free?

    Yes. The connector module on apps.odoo.com is free and open source under LGPL-3, for all supported Odoo versions 13 through 19. You pay only for the BOTS4.me apps you use. The first month of each start-free app is a free Discovery month, with no credit card.

    Does the connector work with Odoo Online (the SaaS version)?

    Yes, via the zero-code path. Odoo Online forbids custom Python modules platform-wide, so instead of the Python connector you create a standard API key under Settings → Users & Companies → Users → your user → Account Security in Odoo, paste it at bots4.me, and optionally add the data-only XML helper module. The automation capabilities are the same. Odoo Online needs Odoo’s Custom plan for API access.

    Which Odoo versions does BOTS4.me support?

    Odoo 13.0 through 19.0 — Community and Enterprise on-premise, plus Odoo.sh and Odoo Online on the versions Odoo runs there. The connector is built from a single source tree with per-version compatibility shims, so old and new databases get the same features.

    Do I need to install a separate connector for each BOTS4.me app?

    No. The BOTS4.me Connect module lists every app; you start each one with Start free Discovery month (or a plan) and connect it with the buttons on its row. The single-app modules on the store, such as “Mail2ERP by BOTS4.me”, are the same connector limited to one app. Admins open any app’s settings on bots4.me without a second sign-in.

    Can regular Odoo users see the API key or change the connection?

    No. The API key, signing secret, and technical-user fields are protected with field-level access limited to the Odoo admin group, and all connect, disconnect, configure and dashboard sign-in actions are admin-only. Regular internal users can view app statuses, nothing more.

    What data does the connector send to BOTS4.me?

    During setup it sends metadata to pre-fill your forms: the Odoo URL, database UUID, company billing details and IMAP mail-server addresses. A mailbox password leaves your Odoo only when you hand that mailbox to an app, with + My IMAP mail (1 click) or by starting the Discovery month of an app that reads email, and it is encrypted before it is sent. All traffic runs over HTTPS, the module’s requests are signed with HMAC-SHA256, and the endpoint is hard-coded so it cannot be redirected.

    Can I test the connection without letting bots write to Odoo?

    Yes, that’s the default. Every app starts in DEMO: it reads data, makes its decisions and emails you a DEMO report of what it would have done, writing nothing. When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. You do this app by app, and switch individual features on or off on your own schedule.

    📚 Related Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Connect Your Odoo in Minutes — First Month Free

    Create your account, install the free connector, and run your first bot in Demo Mode today. Nothing is written to Odoo until you say so.

  • Stop SPAM Permanently

    BOTS4.me Logo

    How to Stop Spam Permanently for Your Whole Company

    One move, one rule, every account, every device — forever

    You mark an email as junk. Tomorrow the same sender is back — on your phone, in a colleague’s inbox, in the shared sales mailbox. This guide explains why “Mark as Spam” never stops spam permanently, and how a spam filter that learns server-side blocks a sender once, across all your email accounts, devices and providers at the same time.

    💸 What Spam Really Costs a Team

    Spam is rarely treated as a business problem, yet every person in your company pays for it several times a day. Each junk email costs a glance, a decision and a delete. Multiply that by dozens of messages, by every mailbox in the company, by every working day — and spam quietly becomes hours of lost attention per week.

    The direct time loss is only half the damage. The other half is worse:

    • Lost customer emails. Aggressive built-in filters occasionally swallow a real order, an RFQ or an invoice. Nobody notices until the customer calls, annoyed.
    • Security exposure. Phishing, fake-sender messages that imitate your own domain, and attachments carrying executables or macro-enabled Office files land in inboxes where one tired click is enough.
    • Repeated work. Every employee trains their own filter, on every device, and loses that training the moment they switch email clients or providers.
    • No visibility. When someone asks “why was this email blocked?”, built-in filters have no answer. They are a black box.

    Stopping spam permanently means solving all four problems at once — not just hiding today’s junk.

    🔧 What Companies Try First — and Why It Doesn’t Last

    Clicking “Unsubscribe”

    Legitimate newsletters honor it. Actual spammers use your click as proof that the address is alive — and sell it on. Unsubscribing from real spam typically increases the volume.

    “Mark as Spam” in Gmail, Outlook or Apple Mail

    Built-in filters are genuinely useful, but they have hard structural limits no setting can remove. The training is per account and per provider: teach Gmail about a sender and your Office 365 account knows nothing. It usually blocks one address, not the whole domain. Switch providers and years of training are gone. And there is no way to share what one colleague learned with the rest of the team.

    Manual rules and IT blocklists

    Server-side rules work — until they don’t scale. Someone in IT has to add every sender by hand, per mailbox or per mail server, and spammers rotate domains faster than anyone can type. Rules also can’t judge content, frequency or sender reputation; they only match strings.

    ⚠️ The core problem

    All of these approaches store the learning in the wrong place — inside one email client, one account or one admin’s rule list. To block spam across all email accounts permanently, the learning has to live server-side, above all providers, and follow you everywhere.

    🤖 The Permanent Way: Teach Once, Blocked Everywhere

    AutoSPAM is an AI-powered email defense system by BOTS4.me. Instead of settings screens, you teach it the way you already work: by moving an email into a folder. One move creates a permanent server-side rule that applies to all your connected accounts — Gmail, Office 365, Yahoo, Exchange, any IMAP provider — on every device.

    📧

    Spam arrives in any inbox

    →
    📂

    You move it to _AutoSPAM/SPAM

    →
    🤖

    Rule saved server-side, forever

    →
    ✅

    Blocked on ALL accounts & devices

    Setup in about 5 minutes

    • Step 1 — Start your free Discovery month: Sign in at bots4.me/bots, click Start free Discovery month on the AutoSPAM card and accept the Terms once — no credit card needed.
    • Step 2 — Know what the month includes: the usage allowance of the Personal plan with Pre-processing, Custom folders, Frequency-Based Filter, Smart Text Analysis, SPAM by Email and two extra attachment filters unlocked to try, and no credit card needed. When the month ends, AutoSPAM continues on the free plan by itself unless you choose a plan.
    • Step 3 — Connect your accounts: Open Settings (gear) → AutoSPAM → Access Manager → Add Source. Secure Quick Connect signs you in at Gmail, Outlook / Microsoft 365 or Zoho Mail — your password never reaches us. Yahoo and other providers connect over IMAP, usually with an app password, and the credentials are encrypted at input. Connect up to 25 accounts (50 on Business and Enterprise).
    • Step 4 — Let the folders appear: AutoSPAM creates _AutoSPAM/ALLOW and _AutoSPAM/SPAM in each mailbox. Switch on VIP List and REFUSED Folder on the Control tab to add _AutoSPAM/VIP and the _AutoSPAM/REFUSED quarantine (both stay off until you switch them on); _AutoSPAM/SUPPLIER appears when you use Mail2ERP, Supplier2ERP or Separate Suppliers. Folder names follow your app language — 31 languages, set under Settings → Billing Information → App Language.
    • Step 5 — Teach by moving: Drag junk to SPAM, important senders to VIP, vendors to SUPPLIER. Each move is learned permanently.
    • Step 6 — Read your DEMO report, then go LIVE: New AutoSPAM accounts start in Demo Mode — AutoSPAM judges your new emails and emails you a report of where it would sort each one, but moves nothing (your drags into its folders already teach it). When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. From then on every decision is visible in the dashboard’s Logs tab and in the _AutoSPAM/LOGS folder in your mailbox.

    AutoSPAM runs in short processing cycles within the operating hours you set, so a rule you teach at your desk protects your phone minutes later. You control the run schedule, operating hours and every individual feature toggle from the dashboard. The platform is EU-hosted, built for GDPR and offers 2FA.

    🧭 Try It in Your Free Discovery Month

    The Discovery month is enough to see AutoSPAM working on your real mailboxes. Follow these steps in order — each one names the exact switch or folder.

    Day 1 — Start and connect

    • Sign in at bots4.me/bots, click Start free Discovery month on the AutoSPAM card and accept the Terms once — no credit card needed.
    • Open Settings (gear) → AutoSPAM → Access Manager → Add Source and connect each mailbox — Secure Quick Connect where offered, otherwise IMAP. Details: Getting Connected guide.
    • Folder names follow your app language: set it under Settings → Billing Information → App Language.

    Day 1 — Switch on what you want to try

    Open the Control tab and choose AutoSPAM. The switches below start off — tick the ones you want. Those with a Discovery tag are included in your free month; after it, they come with the plan named in their tooltip.

    • VIP List and REFUSED Folder — add _AutoSPAM/VIP (priority senders go to _VIP) and the _AutoSPAM/REFUSED quarantine for unknown senders.
    • Frequency-Based Filter — blocks senders who suddenly flood you.
    • Smart Text Analysis — content analysis in 31 languages.
    • Pre-processing — new mail waits in _AutoSPAM/QUEUED and only clean mail reaches your inbox.
    • SPAM by Email — adds _AutoSPAM/SPAM_EMAIL to block one address instead of a whole domain.
    • Custom folders (up to three, for example FAMILY,CUSTOMERS) and Monthly LISTS Export with a Lists password — for your own sorting and for sharing your training.
    • Block Uncommon Archives and Block Web Content — two extra attachment filters.

    Fake-Sender Protection, Learn from Junk Folder, Learn from Sent and Logs in your mailbox are already on. Automatic Clean-up and Clean Sent Folder delete emails, so they are not part of the Discovery month.

    Days 1–3 — Teach it while it runs in Demo Mode

    • AutoSPAM starts in Demo Mode: it judges every new email but moves nothing, and emails you a report of where each one would go and why.
    • Teach it meanwhile — this already works in Demo Mode: drag junk into _AutoSPAM/SPAM, people you always want into _AutoSPAM/ALLOW, key contacts into _AutoSPAM/VIP. For a company address a SPAM move blocks the whole domain; for a Gmail-type address only that address.
    • When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. AutoSPAM then sorts for real, every few minutes and around the clock by default.

    Week 1 — Check that it works

    • The Logs tab (category AutoSPAM) and the _AutoSPAM/LOGS folder show every decision; rows that need you arrive unread, with one-click buttons such as ALLOW and SPAM.
    • Once a day, sort _AutoSPAM/REFUSED if you switched it on. Once a week, look through _TRASH/SPAM, where everything AutoSPAM blocks lands (the Logs tab says why each email was moved), and move any real email to _AutoSPAM/ALLOW — that also resets the sender.
    • The statistics on the dashboard (for example SPAM Regular, SPAM Automatic, Refused emails, VIP emails) show how much AutoSPAM handled for you.

    When the month ends

    When the month ends, AutoSPAM continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes. Choose a plan to keep all features — see the plan table on the AutoSPAM product page.

    On the free plan your manual lists keep working and executables, disk images and scripts stay blocked; the AI-learned list and the Discovery features pause and come back the moment you choose a plan.

    🛡️ What Protection Looks Like Day to Day

    • _AutoSPAM/REFUSED quarantine (optional): Switch on REFUSED Folder on the Control tab and unknown senders wait in _AutoSPAM/REFUSED until you approve them once, so your inbox contains only people you know. It stays off until you switch it on — by default all mail keeps arriving in your inbox.
    • AI checks and content analysis in 31 languages: From the Personal plan, the AI auto-learner judges unknown senders and moves suspicious mail to _TRASH/SPAM automatically. From the Business plan, Smart Text Analysis adds content analysis in 31 languages — urgency tricks, scam phrases and phishing patterns, not just English ones. Both are part of your free Discovery month.
    • Attachment security: Seven categorical filters block executables (.exe, .msi), scripts (.ps1, .vbs, .js), macro-enabled Office files, disk images and more — executables, scripts and disk images are always blocked, and archives, macro files and web content can each be switched on or off.
    • Mass-attack protection: The Frequency-Based Filter (Family plan, included in your Discovery month) blocks senders who suddenly flood you. In a real incident, a client was hit with 1.5 million spam emails in 15 minutes — AutoSPAM filtered the attack automatically and normal business email kept flowing.
    • Fake-Sender Protection: Blocks messages pretending to come from your own domain.
    • Team learning: Switch on Monthly LISTS Export (Family plan and higher). Once a month you receive your learned lists in a password-protected ZIP; colleagues or family import them by mailing them to autospam@bots4.me from their own connected address, inside the password-protected ZIP. One person’s training protects everyone.
    • Full decision logs: Every accept, block and quarantine decision is visible and reversible in the dashboard — no black box.

    🆓 Free forever, upgrade when ready

    AutoSPAM has a permanent free plan — manual ALLOW / SPAM / VIP lists, blocking of executables, disk images and scripts, no time limit, any provider, with a small monthly allowance and smaller active lists (see the plan table on the AutoSPAM product page). Paid plans add the AI auto-learner, the crowd-sourced GLOBAL spam list and much larger lists, and scale by monthly volume. Your first month is a free Discovery month with no credit card needed; when it ends, AutoSPAM continues on the free plan by itself, and once the monthly allowance is used, new emails wait until next month or until you choose a plan. If you downgrade, your manual rules keep working.

    🌍 Works With Every Mailbox You Have

    Because the rules live at BOTS4.me rather than inside any single provider, AutoSPAM protects a mixed fleet with one shared rule set: Gmail and Google Workspace, Office 365 and Outlook.com, Yahoo, iCloud, AOL, Zoho, Yandex, GMX, on-premise Exchange, and any IMAP-compatible mailbox. Mixing a Gmail sales address with an Office 365 support mailbox and a legacy IMAP account is exactly the scenario it was built for — and if you ever change providers, your training moves with you instead of dying with the old account.

    ❓ Frequently Asked Questions

    How do I stop spam permanently instead of deleting it every day?

    Move the learning server-side. With AutoSPAM you move one email into the _AutoSPAM/SPAM folder and the sender is blocked permanently across every connected account and device. The rule is stored at BOTS4.me, not in your email client, so it survives new devices, new clients and even a change of email provider.

    Can one spam filter really work across all my email accounts and providers?

    Yes. AutoSPAM connects Gmail, Office 365, Yahoo, Exchange and any IMAP provider to one shared rule set — up to 25 accounts (50 on Business and Enterprise). Teach a rule in one mailbox and it applies to all of them, which built-in per-account filters fundamentally cannot do.

    Will I miss important emails from new senders?

    No. The _AutoSPAM/REFUSED quarantine for unknown senders is optional and stays off until you switch on REFUSED Folder — nothing is deleted, new senders simply wait for your one-time decision. Without it, all mail arrives in your inbox as usual. With VIP List switched on, VIP senders get their own _VIP folder, and every automated decision is logged and reversible from the dashboard. Look through _TRASH/SPAM now and then and move any real email to _AutoSPAM/ALLOW.

    Is there a free spam filter tier with no time limit?

    Yes. AutoSPAM’s free plan is permanent: manual ALLOW / SPAM / VIP lists, blocking of executables, disk images and scripts, dashboard access, logs, 31 languages and any email provider, with a small monthly allowance and smaller active lists (see the plan table on the product page). Paid plans add the AI auto-learner and much larger lists, and your first month is a free Discovery month.

    What happens during a mass spam attack or mail bomb?

    Frequency-based protection blocks senders that suddenly flood your mailbox, automatically. AutoSPAM survived a real attack of 1.5 million spam emails delivered in 15 minutes to one client — the flood was filtered while legitimate business mail continued to be processed, and auto-cleanup removed the debris afterwards.

    Can I share my spam training with my team?

    Yes. Switch on Monthly LISTS Export (Family plan and higher). You receive your learned lists once a month in a password-protected ZIP; colleagues or family import them by mailing them to autospam@bots4.me from their own connected address, inside the password-protected ZIP. One person maintains the training; everyone benefits from it.

    Can AutoSPAM block dangerous attachments like .exe files and macros?

    Yes. Seven categorical attachment filters cover executables (.exe, .dll, .msi), scripts (.ps1, .vbs, .js), macro-enabled Office files (.xlsm, .docm), disk images, archives and web content. Executables, scripts and disk images are always blocked; the other categories can be switched on or off individually at bots4.me/bots → Control → AutoSPAM.

    Does this help if we import orders from email into our ERP?

    Very much. If you use Mail2ERP to import email orders into Odoo or another ERP, AutoSPAM filters spam and phishing before it can become a false entry in your ERP. See our guide on importing email orders into Odoo.

    📚 Related Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Ready for a Permanently Clean Inbox?

    Set up AutoSPAM in about 5 minutes. A free Discovery month to start, no credit card needed, and a free plan afterwards.

  • Automate Payment Reminders in Odoo

    BOTS4.me Logo

    How to Automate Payment Reminders in Odoo (Escalating Dunning)

    Stop chasing overdue invoices by hand — let escalation rules do the awkward work

    Every business with payment terms has the same Friday-afternoon job: pull the overdue invoice list from Odoo, work out who already got a reminder, and write polite-but-firm emails one by one. This guide shows how to automate payment reminders in Odoo with AutoCASH: a 4-level escalating dunning engine that finds overdue invoices in your ERP, sends the right reminder at the right level on your schedule, and stops as soon as the payment is recorded in Odoo. Setup takes about five minutes and the first month is free.

    🎯 Why Manual Invoice Follow-Up Quietly Drains Cash Flow

    Unpaid invoices are not just an accounting annoyance — they are your working capital sitting in someone else’s bank account. Manual dunning fails in predictable ways:

    • It happens late or not at all. Reminders are nobody’s favorite task, so they slip. Every week of delay in the first reminder pushes the whole payment cycle back by a week.
    • It’s inconsistent. One customer gets a firm notice at 30 days, another hears nothing for 90 — depending on who was busy. Customers learn quickly which suppliers tolerate late payment.
    • It’s error-prone. Reminding a customer who paid yesterday is embarrassing; reminding a key account you meant to handle personally can damage the relationship; sending two reminders in one week looks unprofessional.
    • It doesn’t scale. Checking each invoice against bank statements, previous reminders, and account status takes real time — time that grows linearly with your customer base.

    Effective dunning is really just a policy applied consistently: who gets reminded, when, how firmly, and when to stop. Policies are exactly what software applies better than people.

    🔍 The Usual Approaches — and Where They Fall Short

    Spreadsheets and calendar reminders

    The default in most SMBs: an aging report exported to a spreadsheet, colored cells, and copy-pasted email templates. It works at ten invoices a month and collapses at a hundred — and it has no memory of cooldowns, exclusions, or escalation history.

    Odoo’s built-in follow-up features

    Odoo Enterprise’s follow-up reports define reminder levels by days after the due date, and for simple cases they help (Odoo Community has no follow-up module). In practice, teams often want more operational control than they get out of the box: a preview of exactly who will be contacted before anything goes out, per-company exclusions and repeat gaps, a minimum amount, run reports after every cycle, and a pause while incoming payments are still being recorded. Assembling that reliably usually means customization.

    Generic email automation tools

    Zapier-style connectors and marketing email tools can send scheduled emails, but they don’t read invoice state from Odoo, track escalation levels per company, or stop when the invoice is paid. Dunning that isn’t driven by live ERP data will eventually remind someone who already paid.

    ⚠️ The bar for trustworthy dunning

    You are letting software email your paying customers about money. That demands previews before every run, complete logs after, hard exclusion lists, cooldowns against double-sends, and a payment-aware stop switch. AutoCASH is built around those safeguards.

    ⚙️ The Automated Way: AutoCASH’s 4-Level Escalation Engine

    📊

    Level 0 — list of open invoices sent to the customer

    →
    📧

    Level 1 — gentle reminder

    →
    📨

    Level 2 — firmer follow-up

    →
    ⚠️

    Level 3 — final reminder

    Each level has its own email template. Start with Level 1 only and enable the firmer levels once you are comfortable. Here is the full setup:

    • Step 1 — Start your free Discovery month: Sign in at bots4.me/bots, click Start free Discovery month on the AutoCASH card and accept the Terms once — no credit card needed.
    • Step 2 — Connect Odoo: open Settings (gear) → AutoCASH → Access Manager → Add Source → ERP → Odoo (for AutoCASH your ERP is the source). Odoo.sh and on-premise use the free one-click BOTS4.me Connect module (Odoo 13–19); Odoo Online uses a zero-code XML helper with an API key from Settings → Users & Companies → Users → your user → Account Security (turn on developer mode if the tab is hidden). Odoo Online needs Odoo’s Custom plan for API access. The Odoo user needs Invoicing (Billing) rights. One connection serves every BOTS4.me app that works with Odoo.
    • Step 3 — Set your dunning policy in the Control tab: Run on these days (pre-filled 1,15; weekday names such as friday also work; an empty field means AutoCASH contacts nobody), Only chase after (days past due), Ignore debts below (a customer’s overdue total) and Never chase these customers (Odoo customer IDs of key accounts or internal entities). Escalate up to and Repeat reminders every are Family-plan settings; their tooltip says they are included in your free Discovery month.
    • Step 4 — Run in Demo Mode: AutoCASH reads your real invoices but sends nothing — whenever anyone would be reminded, you receive a preview report showing exactly which companies and at what level.
    • Step 5 — Go live gradually: when the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. Keep Escalate up to on 1st reminder at first and raise it as confidence grows. From the Personal plan — your Discovery month included — Send Previews emails you the day before each run with exactly who will be contacted, so you can still pull someone off the list.

    Who sends the reminders — and in whose name

    With Odoo, AutoCASH sends the invoice lists and reminders itself, in each customer’s language and in your company’s name. Add your own mailbox as the AutoCASH destination in the Access Manager and they go out from your address; without one they go out from the BOTS4.me mailbox, with replies going to your account email or to the Reply-To for reminders address you set. Fill in Payment details in reminders (one bank account per currency) and Signature in reminders in the Control tab, or leave them empty to use the accounts Odoo knows and your company name.

    📅 Day-to-Day Operation: Previews, Reports, and a Stop Switch

    Once live, AutoCASH runs on your schedule days: it queries Odoo for overdue invoices, applies your thresholds and exclusions, checks each company’s cooldown and current escalation level, and sends the appropriate reminder. After every run you get an execution report — how many companies were reminded, at which levels, total overdue amounts, and any errors. The dashboard’s Logs tab keeps the full decision history.

    The safeguards keep working in production: a repeat gap between reminders prevents accidental double-sends, excluded customers are never contacted, customers whose overdue total is below your minimum or whose invoices are not yet past your overdue-days gate are skipped, and a customer whose open credit notes cover their invoices is never reminded. Bot Power switches the app off instantly, and every feature is individually toggleable. The platform is EU-hosted, built for GDPR, offers 2FA, and sends its reports in 31 languages.

    💳 The killer combination: AutoCASH + Pay2ERP

    The worst dunning mistake is reminding a customer who already paid. Pair AutoCASH with Pay2ERP, which reads incoming payments from bank notification emails and the Wise and Revolut Business APIs and records them against the open invoices in Odoo — so a paid customer is off AutoCASH’s list before the next run. Keep Hold reminders while payments are unprocessed on (it is on by default): while Pay2ERP still has payment notifications it has not finished, AutoCASH holds the run and tries again later instead of reminding someone whose payment is still on its way, and it never holds for more than a few days. See the companion guide on matching bank payments to invoices in Odoo automatically.

    🎁 Try It in Your Free Discovery Month

    Your first AutoCASH month is a free Discovery month: the usage allowance of the Personal plan with the Family-plan settings Escalate up to and Repeat reminders every unlocked to try, and no credit card needed. AutoCASH uses no AI at all, so nothing about your customers goes to an AI provider — in the free month or later.

    • Day 1 — Start and connect: sign in at bots4.me/bots, click Start free Discovery month on the AutoCASH card and accept the Terms once — no credit card needed. Then open Settings (gear) → AutoCASH → Access Manager → Add Source → ERP → Odoo, and optionally Add Destination with your own mailbox so reminders go out from your address.
    • Day 1 — Set the rules: in the Control tab check Run on these days, Only chase after, Ignore debts below and Never chase these customers, and fill in Payment details in reminders and Signature in reminders. Leave Escalate up to on 1st reminder for now.
    • Day 1–2 — Read the DEMO report: AutoCASH starts in DEMO and sends a first DEMO report soon after you start, within your Operating Hours — you do not have to wait for a run day. It lists the money (total open, overdue and how it splits across the levels), who would be contacted and who would not, and why. No customer hears anything.
    • Before the first run day — go LIVE: when the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. With Send Previews on you get an email the day before each run with exactly who is about to be contacted; to pull someone off, add their customer ID to Never chase these customers and it applies to tomorrow’s run.
    • Weeks 2–4 — Try what Discovery unlocks: raise Escalate up to to 2nd reminder or Final reminder, and set Repeat reminders every to the gap that suits your customers — their tooltip says they are included in your free Discovery month. If you also run Pay2ERP, keep Hold reminders while payments are unprocessed on — it is on by default.
    • Check it worked: after each run read the execution report and the Logs tab — every customer, level, amount and the address the reminder went to. Watch the dashboard’s Level 0–3 counters and Total Amount Reminded grow.
    • After the month: when the month ends, AutoCASH continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes. The day-before previews and the Family escalation settings need a plan — see the plan table on the AutoCASH product page.

    🌍 Works Beyond Odoo Too

    AutoCASH works with Odoo (13–19), ERPNext (15–16), Zoho (Books / Inventory), Dolibarr (23 and newer), Microsoft Dynamics 365 Business Central (online), QuickBooks Online, Xero and SAP Business One today. Any other ERP with an API — SAP S/4HANA, Microsoft Dynamics 365 Finance / Sales, Oracle NetSuite and more — is connected on request. Contact us if yours is missing.

    ❓ Frequently Asked Questions

    Does Odoo send payment reminders automatically out of the box?

    Only partly. Odoo Enterprise’s follow-up reports send reminders at levels you define by days after the due date; Odoo Community has no follow-up module. What usually requires customization is the operational layer: day-before previews of exactly who will be contacted (every paid tier), per-company exclusions and repeat gaps, minimum amount thresholds, execution reports after every run, and automatically holding reminders when a matching payment is already being processed. AutoCASH provides all of that without development work.

    What are the escalation levels, and how does escalation advance?

    Four levels: Level 0 sends the customer a friendly list of their open invoices (the first contact); Level 1 sends a gentle first reminder; Level 2 a firmer follow-up; Level 3 a final reminder. Escalation is sequential — each scheduled run moves a customer one level up while any invoice from their last reminder is still unpaid, and the top level repeats. You set the entry gate in Only chase after (14 days by default), and Escalate up to (Family plan, open to try in your free Discovery month) lets you roll out escalation gradually.

    Can I exclude key accounts or specific customers from automatic reminders?

    Yes. Add their customer IDs from Odoo to “Never chase these customers” to keep key accounts, parent companies, or internal entities out of automated dunning entirely — you handle those relationships personally while AutoCASH covers everyone else. You can also skip small debts with a minimum overdue amount and minimum overdue days.

    Will customers get a reminder after they’ve already paid?

    Not if the payment is recorded in Odoo — AutoCASH reads live invoice status from your ERP on every run. Pay2ERP closes the gap by recording incoming payments in Odoo automatically, and with Hold reminders while payments are unprocessed on (the default), AutoCASH waits while Pay2ERP still has payment notifications it has not finished, instead of reminding a customer whose payment is still on its way. It never holds for more than a few days, and the report says so when it sends anyway.

    Can I preview payment reminders before they are sent?

    Yes, twice over. In DEMO, AutoCASH reads your real invoices but sends nothing — you only get reports showing exactly what it would send. In LIVE, from the Personal plan (your Discovery month included), Send Previews emails you the day before each run with the companies about to be reminded and at what level, so you can still pull someone off the list before anything goes out.

    How often do the reminders go out?

    On the schedule you choose — the classic 1st and 15th of the month, weekly, or any custom set of days. Cooldown periods per company prevent double-sends between cycles, so a tighter schedule never means a customer gets hammered with duplicate emails.

    Is there a limit to how many payment reminders I can send?

    Each plan carries a monthly usage allowance that is topped up every billing period; reminders are counted against it per customer reminded, and you can top up extra usage anytime — see the plan table on the product page. Your first month is a free Discovery month with no credit card needed, so you can run a full dunning cycle on your real receivables before paying anything. When the month ends, AutoCASH continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes.

    📚 Related Odoo Automation Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Get Paid Without Chasing

    Connect Odoo in five minutes, review AutoCASH’s DEMO report of exactly what it would send, and switch on live reminders when you trust the policy. Your first month is a free Discovery month — no credit card needed.

  • Automate Purchasing In Odoo

    BOTS4.me Logo

    How to Automate Purchasing in Odoo: Draft POs from Real Needs

    Purchase orders that write themselves — grouped per vendor, minimums respected, you keep the final say

    Creating purchase orders by hand means juggling stock levels, open sales orders, incoming shipments, vendor minimums, and pricelists — for every supplier, every week. This guide covers what manual PO creation costs, where Odoo’s built-in replenishment stops, and how AutoPURCHASE computes exactly what to buy from live Odoo data and creates draft purchase orders per preferred vendor, ready for your review and confirmation.

    💸 What Manual PO Creation Really Costs

    The purchasing question sounds simple: what do we need to order today? Answering it correctly for every product means combining four numbers — the stock target, confirmed customer orders not yet delivered, what is on hand, and what is already on the way. Do that in your head or in a spreadsheet and the failure modes are predictable:

    • Double ordering: the incoming PO from last week is forgotten, so the same need is ordered twice and lands as overstock.
    • Forgotten commitments: a confirmed customer order that has not shipped yet does not show as missing stock — until it is time to ship and the goods are not there.
    • Vendor minimums missed: a three-unit order goes out, the supplier rejects it or adds surcharges, and the buyer starts the round again.
    • Slow movers over-ordered: without a stock-cover cap, “round up to a full box” quietly turns into two years of supply.
    • Hours in spreadsheets: a competent buyer spends the best part of a day building order proposals that a machine could compute in seconds.

    🔧 The Options Teams Try First

    1. Odoo’s built-in replenishment

    Odoo’s reordering rules and “Replenishment” screen are genuinely useful: when stock falls below the minimum, Odoo can propose or create an RFQ. But the quality of the output depends entirely on the min/max values stored in the rules — and Odoo does not compute those for you. Built-in replenishment also gives you limited say over business guardrails like per-supplier minimum order values, a maximum stock-cover cap, or a never-order list, so buyers still post-process every proposal.

    2. The weekly spreadsheet ritual

    Export stock, export open sales and purchase orders, merge, compute needs, then retype the result as POs in Odoo. It works, but it consumes hours, breaks when a column moves, and is only as current as the last export.

    3. Custom automation

    Scheduled server actions or custom scripts can create POs, but the edge cases — vendor grouping, minimums, re-runs that extend the open order instead of duplicating it — are exactly the parts that make it a real software project with real maintenance.

    🤖 The Automated Way: AutoPURCHASE

    AutoPURCHASE is a BOTS4.me bot that computes per-product needs from live Odoo data and creates draft purchase orders (RFQs), grouped per preferred vendor — so the buyer’s job shrinks to review and confirm.

    🧮 One honest formula

    need = (stock target + confirmed undelivered sales) − (on-hand stock + incoming POs)

    Nothing you already ordered is ordered twice, and confirmed customer commitments are never forgotten. With Use AutoSTOCK Targets on, the stock targets come from the latest AutoSTOCK run that wrote its rules to Odoo. If there is no recent one, or you do not own AutoSTOCK, AutoPURCHASE uses Odoo’s own reordering rules.

    📊

    Needs computed from live Odoo data

    →
    🤖

    Lines grouped per preferred vendor

    →
    💾

    Draft POs (RFQs) created in Odoo

    →
    ✅

    You review, confirm, send

    Business guardrails are built in, not bolted on:

    • Vendor minimums respected: vendor minimum order quantities are honored, and each supplier’s combined order must reach your minimum order value. Tiny orders are skipped and listed in your report instead of annoying suppliers.
    • Over-ordering protection: a maximum stock-cover cap keeps slow movers from being over-ordered; a never-order blacklist keeps discontinued and special products out of every proposal.
    • One open draft per supplier: a later run appends new lines to AutoPURCHASE’s own open draft for that supplier instead of creating a second order, and drafts made by people or by Odoo are never touched — safe to run hourly, daily or weekly.
    • Drafts by default: nothing is sent to a supplier without you — you send the RFQ from Odoo. From the Family plan, orders below a value cap you set can be confirmed automatically (off by default).
    • Purchase Hold: put customers on credit stop or in dispute on hold. No stock is bought for their open orders, their undelivered quantities are subtracted from every purchase need, and each report shows how much was excluded. Available from the Business plan.

    From Free Month to First Draft Orders

    • Step 1 — Start your free Discovery month: sign in at bots4.me/bots, click Start free Discovery month on the AutoPURCHASE card and accept the Terms once — no credit card needed. Want help with the setup? Tell us which ERP you run and how you buy today, and we set it up together with you. You can also click through the sample-data dashboard at bots4.me/bots_demo first.
    • Step 2 — Connect Odoo: on Odoo.sh or on-premise, install the free BOTS4.me Connect module (Odoo 13–19) and connect it in one click. On Odoo Online, create an API key under Settings → Users & Companies → Users → your user → Account Security (turn on developer mode if the tab is hidden), then open Settings (gear) → AutoPURCHASE → Access Manager → Add Source → ERP → Odoo at bots4.me and paste it there; the Odoo user behind the key needs Purchase (User) rights. Odoo Online needs Odoo’s Custom plan for API access. One connection serves every BOTS4.me app that works with Odoo.
    • Step 3 — Set your rules: in the Control tab of AutoPURCHASE set Min. order value (the combined value a supplier’s order must reach), Max. cover cap (the months of average demand you never order beyond) and the Never-order list (product codes, comma-separated). Round to packaging rounds quantities up to each vendor’s minimum quantity.
    • Step 4 — Start in DEMO: AutoPURCHASE starts in DEMO. Each run there produces a full purchase proposal report (per-supplier orders with values, suppliers skipped and why, products missing a vendor) while nothing is created in Odoo. In DEMO a new proposal is produced at most about once a day, and it uses your usage allowance like a live run.
    • Step 5 — Go live: in the Control tab switch the mode from DEMO to LIVE (it unlocks after your first DEMO report); Create Purchase Orders is on by default on every plan. Then choose a Run Schedule (hourly, daily or weekly) and Operating hours, and your buyers will find clean draft RFQs in Odoo, grouped per supplier.

    Your First Week with AutoPURCHASE

    • Read the first proposal report: the summary shows the settings the run used, how many supplier orders it proposed with their total value, which suppliers were skipped for being below your Min. order value, and which products need ordering but have no vendor in Odoo.
    • Fix missing vendors: a product without a vendor cannot be placed on any RFQ. Add the vendor to the product in Odoo (the first vendor line is the preferred one) and the next run includes it.
    • “No stock targets found”? AutoPURCHASE needs targets to order against. Add min/max reordering rules to your products in Odoo (on Odoo 14 and later with Trigger set to Manual, so Odoo does not order them by itself), or let AutoSTOCK write them (LIVE, with Write Reorder Rules on) and keep Use AutoSTOCK Targets on.
    • Check every number: the order lines table shows Target, On hand, Incoming and Open sales next to each order quantity, plus the supplier price and line value. If quantities look too big, lower the Max. cover cap and check the vendor’s minimum quantity used by Round to packaging, then compare the next DEMO proposal.
    • Watch the dashboard: the Logs tab records what every run did and why, and the stats show Products Needing Order, Purchase Orders Created and Suppliers Skipped.
    • Go LIVE when the proposals match what you would have ordered: draft RFQs then appear in Odoo Purchase, one per supplier. A later run appends new lines to AutoPURCHASE’s own open draft for that supplier instead of creating a second order, so re-runs never stack orders; drafts made by people or by Odoo are never touched.
    • Auto-Confirm Orders comes last: it is available from the Family plan, off by default, and confirms only orders below your value caps. Turn it on only after several weeks in which the drafts consistently matched your own decisions.

    📅 What Day-to-Day Operation Looks Like

    On each scheduled run, AutoPURCHASE recomputes needs from live ERP data, groups them by each product’s preferred vendor using your Odoo vendor and pricelist data, and creates one clean draft order per supplier — not a pile of single-line POs. A purchase proposal report lands in your inbox after every run, in your choice of 31 languages.

    You stay in control from the dashboard at bots4.me/bots: Bot Power on/off, per-feature toggles, Run Schedule and Operating hours, and full decision logs in the Logs tab. The platform is EU-hosted, built for GDPR, with optional 2FA. It is the same platform on which IMP Kontakt turns thousands of emailed RFQs and orders a month into ERP records with Mail2ERP.

    🔄 The Middle of the Odoo Inventory Loop

    AutoPURCHASE is strongest as the middle link of a three-bot loop. Upstream, AutoSTOCK computes optimal stock targets from your real sales history and keeps Odoo’s reordering rules fresh — so the “stock target” in the formula is a statistically sound number, not a guess. Downstream, once you confirm and send the POs, Supplier2ERP reads supplier confirmation emails and writes confirmed prices, quantities, and delivery dates back to the POs in Odoo.

    AutoSTOCK decides how much to keep → AutoPURCHASE drafts what to buy → Supplier2ERP records what suppliers actually promised. The result: replenishment runs on data end to end, and your team’s role is judgment, not data entry.

    🌍 Odoo First, Other ERPs Too

    AutoPURCHASE supports Odoo versions 13 through 19 (Odoo Online, Odoo.sh, and on-premise), ERPNext 15 and 16, Zoho Inventory, Dolibarr 23 and newer, Microsoft Dynamics 365 Business Central (online), QuickBooks Online, Xero and SAP Business One today. Any other ERP with an API (SAP S/4HANA, Oracle NetSuite, Dynamics 365 Finance / Sales and others) is connected on request — tell us what you run.

    ❓ Frequently Asked Questions

    Can Odoo create purchase orders automatically?

    Partially. Odoo’s reordering rules can trigger RFQs when stock drops below a minimum, but the min/max values must be maintained by you, and guardrails like per-supplier minimum order values, a stock-cover cap, or a never-order list are limited. AutoPURCHASE computes needs from stock targets, confirmed sales, on-hand stock, and incoming POs, then creates vendor-grouped draft POs with those guardrails built in.

    How does AutoPURCHASE calculate what to order?

    Per product: (stock target + confirmed-but-undelivered customer orders) minus (on-hand stock + purchase orders already incoming). Confirmed sales are never forgotten and nothing already on order is ordered twice. Stock targets come from AutoSTOCK if you own both apps, otherwise from Odoo’s own reordering rules.

    Will it send orders to my suppliers without my approval?

    No. By default AutoPURCHASE creates draft purchase orders (RFQs) in Odoo — you review and confirm before anything reaches a supplier, and sending the RFQ to the vendor stays in Odoo. From the Family plan, orders below a value cap you set can be confirmed automatically (off by default).

    How does it handle vendor minimum order quantities and values?

    Vendor minimum order quantities from your Odoo vendor pricelists are respected (with Round to packaging on, quantities are rounded up to them), and every supplier’s order must reach your minimum order value. Orders that fall below it are skipped and listed in the purchase proposal report, so you can decide whether to wait or top the order up.

    What stops it from creating the same purchase order twice?

    AutoPURCHASE counts purchase orders already incoming as covered need, and a later run appends new lines to its own open draft for that supplier instead of creating a second order. Drafts made by people or by Odoo are never touched, so even frequent scheduled runs do not stack orders.

    Do I need AutoSTOCK to use AutoPURCHASE?

    No. Standalone, AutoPURCHASE uses the min/max reordering rules already in your Odoo — on Odoo 14 and later, the rules you set to Trigger = Manual; rules left on automatic stay with Odoo. Owning both is better: AutoSTOCK recomputes optimal targets from real sales history on schedule, and AutoPURCHASE always orders against fresh, data-driven numbers.

    Does AutoPURCHASE use AI to decide what to buy?

    No. AutoPURCHASE is purely rule-based. Purchase orders are built from your stock targets, confirmed customer orders, stock on hand and purchase orders already on the way, the same input always gives the same result, and nothing is ever sent to an AI provider.

    Which Odoo versions are supported, and can I try it first?

    Odoo 13 through 19: Odoo.sh and on-premise with the one-click Python connector, Odoo Online with an API key. Odoo Online needs Odoo’s Custom plan for API access. Your first month is a free Discovery month, with no credit card needed. It starts in DEMO, and you receive full purchase proposal reports before a single order is created in Odoo.

    📚 Related Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Let Your Purchase Orders Write Themselves

    Start your free Discovery month: connect your Odoo, and your first purchase proposal reports arrive in DEMO, with nothing created in your ERP until you switch to LIVE.

  • Automated B2B Lead Generation

    BOTS4.me Logo

    How to Automate B2B Lead Generation and Cold Outreach from Your Own Domain

    AI finds the prospects, writes the emails, and runs responsible campaigns with safeguards built in — under your name, from your own SMTP

    Automated B2B lead generation usually means one of two bad trades: hours of manual prospecting, or renting a mass-mail platform that sends from a shared pool and burns someone else’s reputation — until it burns yours. This guide shows a third way with ClientFACTORY: describe your product once, let AI discover relevant business contacts across the web 24/7, and send an AI-written cold email sequence from your own domain — with one-click unsubscribe, suppression lists, warm-up throttling, and bounce protection built in.

    🎯 Why Manual B2B Prospecting Doesn’t Scale

    Every new client starts as a stranger. The classic pipeline — search directories, open company websites, hunt for a contact address, write a personal email, remember to follow up twice — works, but the economics are brutal:

    • Prospecting eats selling time. Finding and qualifying one good contact can take longer than the sales conversation it leads to. Founders and small sales teams end up doing outreach “when there’s time” — which means never.
    • Follow-ups are where deals live and die. Most replies come from the second or third touch, yet manual follow-up is the first thing that slips when the week gets busy.
    • Writing is a bottleneck. A good cold email is short, specific, and written in the prospect’s language. Producing that for every market you sell into is real work.
    • Compliance is easy to get wrong. Unsubscribe handling, suppression of opt-outs, a legally required postal address in the footer — miss one and a single complaint can hurt your domain and your brand.
    • Deliverability is invisible until it’s broken. Blast 200 emails from a cold domain on day one and you may spend months digging your reputation out of the spam folder.

    🔧 What People Try First — and the Catch

    Buying lead lists

    Purchased lists are fast but stale: outdated addresses inflate your bounce rate (a deliverability killer), the same list has been mailed by everyone who bought it before you, and you rarely know how the data was collected — an uncomfortable position under GDPR.

    Mass-mail platforms and shared infrastructure

    Newsletter tools and some cold-email platforms send from shared IPs or their own domains. Your deliverability depends on every other tenant’s behavior, and the reputation you build belongs to the platform. Many newsletter tools also explicitly prohibit cold outreach in their terms.

    DIY: spreadsheets + mail merge

    Merge tools can personalize a first email, but they don’t discover leads, don’t manage sequences, don’t throttle volume for warm-up, don’t process bounces, and don’t maintain a suppression list. You become the compliance engine — manually.

    🚀 The Automated Way: ClientFACTORY

    ClientFACTORY is the lead-generation bot in the BOTS4.me suite. You describe your company and product once; the bot does the rest — around the clock.

    📝

    You describe
    your product once

    →
    🤖

    AI writes a 3-step
    email sequence

    →
    🔍

    AI discovers leads
    across the web 24/7

    →
    📧

    Responsible campaigns
    from YOUR domain

    Setup in about 5 minutes

    • Step 1 — Start your free Discovery month: sign in at bots4.me/bots and click Start free Discovery month on the ClientFACTORY card — no credit card needed. Want help with the setup? Tell us what you sell and where, and we set up your first campaign together with you.
    • Step 2 — Fill in your campaign settings in the Control tab: Company name, Company website, Postal address (shown in every footer, as CAN-SPAM requires), Product name, Product description (the most important field — the AI writes your emails and your searches from it), Target market, Target languages, Target countries, Privacy policy page and Send from. Nothing is sent until your product info is filled in.
    • Step 3 — AI writes your campaign: A 3-step cold-email sequence — intro, value, follow-up — generated per target language you pick. Change your product description and the templates regenerate automatically.
    • Step 4 — Connect your own mailbox: open Settings (gear) → ClientFACTORY → Access Manager → Add Destination → Email — Gmail or Microsoft 365 by sign-in, Zoho or any other provider with SMTP and a password — and keep Send from on My own mailbox (recommended). Campaigns go out under your identity, with your signature, replies come back to you and follow-ups stop when a prospect answers. With the BOTS4.me mailbox instead, emails go out as “your company via BOTS4.me” and only the first email is sent. Set up SPF, DKIM and DMARC on your domain before the first send.
    • Step 5 — Preview in DEMO: ClientFACTORY starts in DEMO. At most once a day it emails your own address a short list of companies it would contact — with where each was found — and the full first email as that company would receive it; each newly written template is also previewed to you once. Nothing reaches a prospect, and nobody is marked as contacted.
    • Step 6 — Go live: when the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. Lead discovery then writes search queries from your product and market, scores the results, crawls company contact pages and feeds qualified business contacts into your sequence. Autonomous discovery starts with the Personal plan for your first target country; Family adds AI Search and multi-language search in every target country; Business adds directory crawling and multiple search sources.

    🌐 Why “from your own domain” matters

    Sender reputation is the currency of cold email. When campaigns go through your SMTP and your domain, every properly-run send builds reputation that belongs to you — not to a platform’s shared pool. White-label (Business tier and up) even removes the small “Powered by” line, so your outreach looks entirely in-house.

    🗓️ Your First Week with ClientFACTORY

    Start your free Discovery month at bots4.me/bots — or ask us and we set it up together with you. This is how to get from an empty campaign to your first conversations.

    • Day 1 — Describe your offer: in the Control tab fill in every campaign setting. Spend your time on Product description: one or two sentences on what it is, one on who it is for, one on the single most compelling result. Leave Target countries empty to stay in your own country.
    • Day 1 — Connect your mailbox: open Settings (gear) → ClientFACTORY → Access Manager → Add Destination → Email, ideally an address on your own domain with SPF, DKIM and DMARC in place. Keep Send from on My own mailbox (recommended) so follow-ups can stop when someone replies.
    • Day 1 — Optional, connect Odoo: Add Source → ERP → Odoo, and every genuine reply becomes a lead in your Odoo CRM with the reply as an internal note. Replies that arrive before Odoo is connected are kept and pushed later.
    • Day 1 — Bring your own contacts (optional): email your lists as .txt, .csv, .xlsx or .zip attachments to clientfactory@bots4.me from your registered account email. They join the campaign on the next run, and contacts from your own lists use no discovery credits.
    • Days 1–3 — Read the demo mail: ClientFACTORY starts in DEMO and emails you, at most once a day, a short list of companies it would contact and the first email as they would read it. Wrong targets? Sharpen Target market or Product description and press Regenerate Templates. The Logs tab shows what each run found and, if the campaign is paused, why.
    • When the list and the copy look right — go LIVE: when the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. Sending starts small and grows week by week through automatic warm-up, on weekdays in each recipient’s business hours, up to your plan’s daily limit.
    • End of week one — check it worked: watch Emails sent, Contacts discovered, Bounced and Unsubscribed on the dashboard. A rising bounce count means the targeting or the domain needs attention — ClientFACTORY halts the campaign by itself if bounces climb too high. Replies arrive in your own inbox.

    Plans, daily limits and what each tier unlocks are in the table on the ClientFACTORY product page; the ClientFACTORY guide explains every setting.

    📊 Day-to-Day: What Runs While You Sleep

    • Autonomous discovery: AI keeps generating queries for your target countries, scoring the results against your product profile and crawling company contact pages (business directories too, from Business) — keeping only business addresses on domains that accept mail, one contact per company. Crawling runs outside your sending hours and all day on weekends.
    • Sequenced sending: Intro → value → follow-up, in each prospect’s language, on weekdays during the recipient’s business hours, throttled by automatic warm-up so volume ramps gradually. A reply stops the sequence for that company (out-of-office replies don’t), and with Odoo connected every genuine reply becomes a lead in your CRM.
    • Reports and logs in your language: Contacts discovered, emails sent, bounces, unsubscribes — on the dashboard and in report emails, in 31 languages.
    • Credit billing: credits are used per email sent and per new verified contact found; web searches and the AI that finds contacts and writes your emails are not billed separately, and contacts from your own lists are free. Credits are checked before anything is sent. Daily send limits grow with your plan, and Enterprise has no daily limit from the plan (warm-up still applies).
    • Full control: Bot Power on/off, every feature individually toggleable, complete decision logs, 2FA, EU-hosted.

    ⚖️ Responsible B2B Outreach: What’s Built In, What’s on You

    Responsible B2B outreach is a division of labor. ClientFACTORY automates the mechanical safeguards on every single send:

    • RFC 8058 one-click unsubscribe headers plus a visible unsubscribe link in every email.
    • Suppression lists: anyone who opts out is never contacted again — enforced automatically.
    • Postal address footer: your registered address appears in every email, as the US CAN-SPAM Act requires and many EU countries’ sender-identification rules expect.
    • Bounce auto-halt: if a campaign’s bounce rate climbs too high, it stops automatically to protect your domain.
    • Warm-up throttling: sending volume ramps gradually — no day-one blast.
    • Why-you-get-this note: every email says why the recipient gets it and where the address was found, with a link to your privacy page.
    • Data retention: contacts are deleted 24 months after the last activity, opted-out addresses stay blocked, and anyone can ask to be erased.
    • No cold email to Germany or Austria: prior consent is required there, so recipients in those countries are skipped automatically.

    ⚠️ Your side of the deal

    ClientFACTORY is built for B2B outreach only: contact business addresses, never consumer inboxes. Keep the postal address and the privacy policy page in your dashboard accurate, check the e-privacy rules of every country you target, and configure SPF, DKIM and DMARC DNS records for your sending domain before your first campaign — without them, even great emails land in spam.

    ❓ Frequently Asked Questions

    What safeguards does ClientFACTORY apply to B2B cold outreach?

    B2B outreach can be run responsibly when the safeguards regulators care about are in place: a working one-click unsubscribe (RFC 8058), a suppression list that is honored permanently, your postal address in every footer, business addresses only, and prompt bounce handling. ClientFACTORY enforces all of these automatically on every send and excludes recipients in Germany and Austria, where cold B2B email generally needs prior consent. Your side is to target business contacts, check the rules of each market you target, and keep your sender details accurate.

    How does AI find B2B leads automatically?

    ClientFACTORY’s AI generates search queries from your product description and target market for each of your target countries, runs them across the web, scores the results for relevance to your offer, crawls company contact pages and keeps only business addresses on domains that accept mail — one contact per company. Autonomous discovery runs by itself from the Personal plan; multi-language search in every target country comes with Family, and directory crawling with Business.

    Why send cold email from my own domain instead of a platform’s servers?

    Deliverability is driven by sender reputation. On shared platform infrastructure, your inbox placement depends on every other customer’s behavior, and the reputation you build belongs to the platform. Sending through your own SMTP and domain means every well-run campaign strengthens a reputation you own — and your emails carry your identity and signature, not a third party’s.

    What are SPF, DKIM and DMARC, and do I really need them for cold outreach?

    They are DNS records that prove email from your domain is genuinely yours: SPF lists your authorized sending servers, DKIM cryptographically signs each message, and DMARC tells receivers what to do when checks fail. Major mailbox providers effectively require them from bulk senders — without them, even perfectly written emails are likely to land in spam. Set all three up before your first campaign.

    How many cold emails can I send per day?

    Daily limits grow with your plan, and Enterprise has no account-wide limit — add sender mailboxes to scale. On top of that, automatic warm-up throttling ramps volume gradually for new senders — the limits exist to protect your domain reputation and keep deliverability high.

    Can I see the campaign before any prospect does?

    Yes. In DEMO, ClientFACTORY emails your own address, at most once a day, a short list of companies it would contact and the full first email as they would receive it, and previews each newly written template to you once. Nothing reaches a real prospect until you set Mode to LIVE.

    What does automated B2B lead generation cost to run?

    ClientFACTORY bills with credits: per email sent and per new verified contact found, while web searches and the AI behind discovery and copywriting are not billed separately and contacts from your own lists are free. Your first month is a free Discovery month, and the plans and what each includes are on the product page.

    📚 Related Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Your Next Clients Are Already Out There

    Describe what you sell, preview your AI-written campaign in your own inbox, and go live from your own domain. Your first month is a free Discovery month — we are happy to help with the setup.

  • Import Supplier Confirmations Into Odoo

    BOTS4.me Logo

    How to Import Supplier Order Confirmations into Odoo Automatically

    Update purchase order prices, quantities, and delivery dates in Odoo — without retyping a single supplier PDF

    Every purchase order you send comes back as a confirmation email: a PDF, an Excel sheet, sometimes just a few lines of text. Someone on your team opens each one, compares it line by line against the PO in Odoo, and updates prices, quantities, and delivery dates by hand. This guide shows why that manual loop breaks down, what the usual workarounds miss, and how Supplier2ERP imports supplier confirmations into Odoo automatically — with your tolerance rules deciding what gets updated and what gets flagged.

    💸 What Manual Confirmation Entry Really Costs

    A supplier order confirmation looks harmless — until you multiply it by every PO you send. Each confirmation has to be opened, read, and compared against the purchase order in Odoo. Did the supplier confirm the full quantity? Did the unit price change? Did the delivery date slip by two weeks? Every answer means clicks and retyping in the Purchase app.

    The damage of skipping that work is worse than the work itself. When confirmations are not entered, Odoo quietly shows the wrong picture:

    • Wrong incoming dates: Odoo still expects goods on the original date, so your scheduled receipts, sales promises, and replenishment planning are built on stale data.
    • Wrong prices: the vendor bill arrives and does not match the PO, so accounting chases purchasing for an explanation weeks after anyone remembers the order.
    • Silent short shipments: the supplier confirmed 60 of 100 units, nobody updated the line, and the stockout surfaces only when a customer order cannot ship.
    • Hours of skilled time lost: procurement people spend their day copying numbers between a PDF and a browser tab instead of negotiating or solving supply problems.

    The task is pure comparison and data entry — exactly the kind of work software should do, and exactly the kind of work people do worst when bored.

    🔧 The Ways Teams Usually Try to Solve It

    1. Keep doing it manually

    Works at five POs a week. At fifty, confirmations pile up unread, and the ones that get entered are entered in a hurry. Manual comparison is also where transposed digits and skipped lines are born.

    2. The built-in Odoo email gateway

    Odoo’s incoming mail gateway is great at attaching an email to a record — it can log the confirmation in the chatter of a purchase order. But it does not read the PDF, does not compare confirmed values against your PO lines, and does not update quantities, prices, or dates. The document is filed; the work remains.

    3. Generic OCR tools and Zapier-style connectors

    Template-based OCR tools can extract fields from a document — after you build and maintain a template per supplier layout. Suppliers change their formats without warning, and a connector that extracts text still cannot answer the real question: does this match my open PO in Odoo, and is the difference within tolerance? Extraction without ERP-aware matching just moves the manual comparison one step downstream.

    4. Custom scripts

    A developer can script the happy path for your top three suppliers. Then supplier number four sends a scanned image, the layout changes, the developer leaves, and the script becomes one more thing nobody dares touch.

    🤖 The Automated Way: Supplier2ERP

    Supplier2ERP is a BOTS4.me bot that watches your mailbox, reads supplier confirmations in any format, matches them to open purchase orders in Odoo, and updates delivery dates, quantities and — from the Business plan — prices according to tolerance rules you set.

    📧

    Supplier confirmation arrives

    →
    🤖

    Data extracted from PDF, Excel, Word, or scan

    →
    ⚙️

    Matched to your open PO

    →
    💾

    Odoo PO updated within tolerance

    →
    ✅

    Report emailed, differences flagged

    🧠 Three-tier extraction — rules first, AI as backup

    Tier 1 — Code anchoring: Supplier2ERP looks for your own product codes from the Odoo item catalog inside the supplier document. No templates, works with any layout from day one.

    Tier 2 — Learned patterns: once a supplier’s format has been processed, its extraction rules are saved. Future confirmations from the same supplier process instantly.

    Tier 3 — AI fallback: only when rules and learned patterns are not enough does AI extract and verify the data — including scanned images via OCR.

    Set it up in about five minutes

    • Step 1 — Start your free Discovery month: Sign in at bots4.me/bots, click Start free Discovery month on the Supplier2ERP card and accept the Terms once — no credit card needed.
    • Step 2 — Connect your mailbox: use Secure Quick Connect (OAuth for Gmail, Office 365; any IMAP provider supported). No middleware, no forwarding rules.
    • Step 3 — Connect Odoo: install the free BOTS4.me Connect module (Odoo 13–19). Odoo.sh and on-premise get the Python connector, installed once and connected in one click. Odoo Online users create an API key under Settings → Users & Companies → Users → your user → Account Security and paste it at bots4.me under Settings → Supplier2ERP → Access Manager → Add Destination → ERP → Odoo (an optional zero-code XML helper adds a BOTS4.me menu inside Odoo). Odoo Online needs Odoo’s Custom plan for API access. One connection serves every BOTS4.me app that works with Odoo.
    • Step 4 — Tell it your suppliers and tolerances: once Odoo is connected, Supplier2ERP picks up the vendors that have open purchase orders and emails you the list; teach it any other supplier by dragging one of their confirmations into _Supplier2ERP/IMPORT, and stop one with _Supplier2ERP/DO_NOT_IMPORT. On the Control tab, Max price/quantity change and Max item differences decide how big a difference may be before a confirmation is flagged instead of applied.
    • Step 5 — Start in DEMO: the bot reads real confirmations, matches them to your real purchase orders and emails you exactly what it would update — writing nothing. When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email.

    🧭 Try It in Your Free Discovery Month

    Your first month of Supplier2ERP is a free Discovery month: the usage allowance of the Personal plan with Auto-Update Quantities and Pre-processing unlocked to try, and no credit card needed. Here is how to get your first purchase order updated from a real supplier confirmation.

    Day 1 — Start and connect

    • Sign in at bots4.me/bots, click Start free Discovery month on the Supplier2ERP card and accept the Terms once — no credit card needed.
    • Open Settings (gear) → Supplier2ERP → Access Manager → Add Source to connect your mailbox (Secure Quick Connect for Gmail and Microsoft 365, IMAP with an app password for other providers). Or add the BOTS4.me Mailbox (one click, no password) and forward confirmations to supplier2erp@bots4.me from your account email address.
    • Connect Odoo: click Add Destination → ERP → Odoo, or install the free BOTS4.me Connect module in Odoo and press Connect. On Odoo Online you paste an API key instead.
    • Odoo Online needs Odoo’s Custom plan for API access.
    • With an API key, give that Odoo user Purchase (User) and Contact Creation rights.

    Day 1 — Tell it your suppliers

    • Vendors with open purchase orders: once Odoo is connected, Supplier2ERP picks them up automatically and emails you the list of suppliers it will read.
    • Any other supplier: drag one of their confirmations into _Supplier2ERP/IMPORT. It is read on the next run, and from then on every confirmation from that sender. The sender is also marked as a supplier, so Mail2ERP will not import it as a customer order.
    • A sender to ignore: drag one of its emails into _Supplier2ERP/DO_NOT_IMPORT. The folders appear after the first run and follow your app language.

    Day 1 — Check the Control tab

    • Mode: Supplier2ERP starts in DEMO — it matches real confirmations to real purchase orders and emails you what it would change, without writing anything.
    • Supplier2ERP Features: ERP Matching, ERP Updates, Template Extraction, AI Extraction Fallback and Logs in your mailbox are on. Switch on Scanned PDF Files if suppliers send scans or photos as PDF.
    • Switches with a Discovery tag on the Control tab are included in your free month and start switched off — switch on the ones you want to try.
    • For Supplier2ERP the one to switch on is Auto-Update Quantities, so confirmed quantity changes are applied, not only reported (Pre-processing also needs AutoSPAM). Auto-Update Prices needs the Business plan; until then price differences are reported to you.
    • Tolerances: Max price/quantity change is the largest change per line that may be applied, and Max item differences is how many lines may differ before the whole order goes to you for review.
    • Reports: choose under Email reports whether you hear about clean confirmations after each one, once per run, or as a daily or weekly summary. Optional: Daily delay alerts emails you the deliveries that are late or at risk.
    • Operating Hours and Run Schedule: Supplier2ERP runs only inside the Operating Hours, which start as weekday office hours.

    Week 1 — Check it, then go LIVE

    • Test with a real confirmation: it should quote your Odoo PO number, or come from the email address on the vendor in Odoo, and list your product codes. Each DEMO report shows line by line what matched and what would change.
    • Look where the results land: applied confirmations move to _Supplier2ERP/PROCESSED; flagged or unreadable ones stay unread in your INBOX, or in _Supplier2ERP/MANUAL when they came through IMPORT. The Logs tab and the _Supplier2ERP/LOGS folder say why. A missed confirmation can be dragged into _Supplier2ERP/IMPORT to try again.
    • When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email.

    📅 When the Discovery month ends

    When the month ends, Supplier2ERP continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes. Choose a plan to keep all features — see the plan table on the Supplier2ERP product page.

    On the free plan, delivery dates are still updated, while quantity updates, scanned PDF reading, template learning and the LOGS folder need a plan. Nothing you updated is reversed.

    📅 What Day-to-Day Operation Looks Like

    Once live, Supplier2ERP runs on the Run Schedule you choose, within the Operating Hours you define. Each run works through new supplier emails and attachments:

    • Within tolerance: confirmed delivery dates are written to the matching PO lines in Odoo, together with confirmed quantities (with Auto-Update Quantities on, from the Family plan) and unit prices (with Auto-Update Prices on, from the Business plan); the processed email is filed into _Supplier2ERP/PROCESSED. Without those switches the differences are reported to you instead of applied.
    • Outside tolerance: large differences are flagged in your report and the email stays unread — in your INBOX, or in _Supplier2ERP/MANUAL when it came through _Supplier2ERP/IMPORT — and the PO is left untouched until you review it. Nothing gets buried.
    • Full transparency: a difference report shows what was extracted, what matched, what changed, what was skipped and why — after each confirmation, once per run, or as a daily or weekly summary, as you choose under Email reports. Confirmations that need you always arrive straight away. The dashboard’s Logs tab and the _Supplier2ERP/LOGS folder in your mailbox keep the decision history.
    • Full control: Bot Power on/off, per-feature toggles and AI Mode from Off up to the level your plan includes, all in the Control tab at bots4.me/bots. EU-hosted, built for GDPR, optional 2FA, reports in 31 languages.

    🔄 The Missing Piece of the Odoo Inventory Loop

    Supplier2ERP closes a loop that two sibling bots open. AutoSTOCK computes optimal stock targets from your real sales history and writes them as native Odoo reordering rules. AutoPURCHASE turns those targets into draft purchase orders, grouped per vendor with minimums respected. When your suppliers confirm those orders, Supplier2ERP reads the confirmations and keeps every PO honest — confirmed prices, quantities, and dates land back in Odoo automatically.

    Together the three bots take you from “how much should we stock?” to “the goods are confirmed and Odoo knows it” with almost no manual procurement work.

    🌍 Works Beyond Odoo

    This guide focuses on Odoo (versions 13–19, including Odoo Online, Odoo.sh, and on-premise), but Supplier2ERP also works with ERPNext, Zoho, Dolibarr, Business Central online, QuickBooks Online, Xero and SAP Business One, each with an update strategy built for that system. Using something else? Contact us — any other ERP with an API is connected on request.

    ❓ Frequently Asked Questions

    Can Odoo update purchase orders from supplier confirmation emails automatically?

    Not out of the box. Odoo’s email gateway can attach a confirmation to a PO’s chatter, but it does not read the document or change PO lines. Supplier2ERP adds that layer: it extracts confirmed quantities, prices, and delivery dates from the email or attachment, matches them to the open purchase order, and updates Odoo within tolerance rules you define.

    How does Supplier2ERP read supplier PDFs without templates?

    Through code anchoring: it searches the document for your own product codes taken from your Odoo item catalog, so any supplier layout works from day one. After a supplier’s format is processed once, extraction patterns are saved and reused. Only when both fail does AI step in as a fallback — including OCR for scans and images.

    What happens when the confirmed price or quantity differs from my PO?

    You set tolerance thresholds (Max price/quantity change and Max item differences). Small differences are written to the PO when the matching switch is on — Auto-Update Quantities from the Family plan, Auto-Update Prices from the Business plan; otherwise they are reported to you. Large differences are flagged in your report, the PO update is skipped, and the supplier email stays unread in your INBOX (or in _Supplier2ERP/MANUAL) so the pending review is impossible to miss.

    Does it handle scanned confirmations and images?

    Yes. Supplier2ERP processes PDF, Word, Excel, HTML, plain email body text, and images via OCR. For confirmations that arrive as scanned PDFs, switch on Scanned PDF Files in the Control tab — it starts off, and while it is off a scanned PDF is reported for manual entry.

    Can I test it without letting it write anything to Odoo?

    Yes. Try the Sandbox Demo at bots4.me/demo with sample documents and no access at all, then connect your mailbox and Odoo: Supplier2ERP starts in DEMO, reads your real purchase orders and emails you exactly what it would change — while writing nothing. You switch Mode to LIVE only when you are confident. The first month is a free Discovery month, with no credit card needed.

    Which Odoo versions and hosting types are supported?

    Odoo 13 through 19 on-premise, plus the current versions of Odoo.sh and Odoo Online. Odoo.sh and on-premise installations use the free BOTS4.me Connect Python module, installed once and connected in one click; Odoo Online (which forbids custom Python) connects with an API key created in Settings → Users & Companies → Users → your user → Account Security, plus an optional zero-code XML helper module. Odoo Online needs Odoo’s Custom plan for API access. One connection serves every BOTS4.me app that works with Odoo.

    Does Supplier2ERP work with ERPs other than Odoo?

    Yes — ERPNext, Zoho, Dolibarr, Microsoft Dynamics 365 Business Central (online), QuickBooks Online, Xero and SAP Business One are supported, each with an optimized purchase order update strategy. Any other ERP with an API is connected on request.

    📚 Related Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Stop Retyping Supplier Confirmations

    Connect your mailbox and Odoo in about five minutes, watch Supplier2ERP work in Demo Mode, and go live when the reports convince you. The first month is a free Discovery month, with no credit card needed.

  • Automate Odoo Order Processing

    BOTS4.me Logo

    How to Automate Order Confirmation, Delivery and Invoicing in Odoo

    Stop clicking Confirm → Validate → Create Invoice on every single sale

    An order in Odoo is not done when it is entered — someone still has to confirm it, create the delivery when stock allows, generate the invoice, and email the customer at every stage. This guide shows how to automate Odoo order processing end-to-end with AutoERP: the orders you tag get confirmed, deliveries created full or partial, invoices generated individually or in collection batches — automatically, on the schedule and hours you define. Setup takes about five minutes and the first month is a free Discovery month.

    🎯 The Hidden Cost of Manual Order Processing in Odoo

    Odoo models the sales flow beautifully — quotation, sales order, delivery, invoice — but by default a human drives every transition. Multiply four or five clicks (plus the judgment calls) by every order, every day, and the costs stack up:

    • Orders wait for people: a draft confirmed at 9:00 the next morning is a delivery that leaves a day later. Evening and weekend orders simply queue.
    • Stock decisions are made ad hoc: should a partially available order ship now or wait? Which order gets the last units — the oldest one, or whichever a picker sees first?
    • Invoicing slips: deliveries done but not invoiced are working capital sitting in your warehouse’s outbox. Batching invoices per customer by hand is tedious enough that many teams skip it.
    • Credit risk is checked inconsistently: stopping a shipment to a customer with overdue invoices requires someone to remember to look — every time.

    None of this work needs judgment that can’t be written down as a rule. That is exactly what makes it automatable.

    🔍 The Usual Approaches — and Where They Stop Short

    Odoo’s built-in automation options

    Odoo offers pieces of this natively: invoicing policies, scheduled actions, and automation rules can each cover a slice. But assembling them into a coherent pipeline — confirm, credit-check, ship partial with sensible priorities, invoice in batches, notify the customer at each step — means configuring and maintaining many separate mechanisms, and some behaviors (like a minimum delivery value with a time-based bypass, or collection invoicing thresholds) require custom development.

    Custom server actions and scripts

    A developer can script any of this on Odoo.sh or on-premise. The catch is ongoing ownership: every Odoo version upgrade, every rule change (“actually, let’s invoice weekly, not daily”) is a development task. And Odoo Online forbids custom Python entirely.

    Zapier-style connectors

    Generic workflow tools can trigger simple actions on Odoo records, but multi-step logistics logic — stock availability checks, oldest-order-first partial shipping, credit blocking, batch invoicing — is beyond trigger-action recipes.

    ⚠️ What a real solution needs

    Order processing automation must be rule-based, configurable without code, and safe to test — you need to see exactly what it would do to your live database before you let it write anything. AutoERP was built around precisely that: every feature toggleable, every run reported, and a Demo Mode that performs zero transactions.

    ⚙️ The Automated Way: AutoERP’s Three-Module Pipeline

    📋

    Draft order confirmed, proforma & email sent

    →
    📦

    Delivery created when stock & credit allow

    →
    🧾

    Invoice generated — immediate or batch

    →
    ✅

    Run report lands in your inbox

    Module 1 — Order Confirmation: confirms the draft sales orders and quotations you tag AutoERP (untagged orders are never touched; you can rename the tag). For prepayment customers it issues a 100% down-payment invoice through Odoo, deducted later on the final invoice, and Odoo emails the confirmation with your own template, in the customer’s language.

    Module 2 — Shipping: creates and validates the delivery in Odoo when items are in stock — full deliveries when everything is available, or, with Partial Shipping, part-deliveries for the available lines, always serving the oldest orders first. A configurable minimum delivery value stops uneconomical micro-shipments, with an automatic bypass after the waiting period you set so nothing waits forever (tag an order AutoERP_small_ok to ship it at once). Pickup orders get a pickup notice instead. With Credit Checking on, the shipment is held when the down payment is unpaid or the customer’s overdue balance exceeds your threshold.

    Module 3 — Invoicing: invoices what was delivered through Odoo’s own invoicing — one invoice per order right after delivery, or one collected invoice per customer per day, week or month, with a configurable minimum amount. Collection is on and weekly by default; choose “Immediately (no collecting)” under Invoice customers if you want an invoice per delivery. With Tax Documents on, prepaid orders that have not shipped within the days you set get their tax document. Odoo emails each invoice with its PDF.

    Setup in five steps

    • Step 1 — Start your free Discovery month: Sign in at bots4.me/bots, click Start free Discovery month on the AutoERP card and accept the Terms once — no credit card needed.
    • Step 2 — Connect Odoo: install the free BOTS4.me Connect module (Odoo 13–19). Odoo.sh and on-premise get a one-click Python connector that also grants the rights AutoERP needs. On Odoo Online, create an API key under Settings → Users & Companies → Users → your user → Account Security (turn on developer mode if the tab is hidden) and paste it at bots4.me under Settings → AutoERP → Access Manager → Add Source → ERP → Odoo; Odoo Online needs Odoo’s Custom plan for API access, and an optional zero-code XML helper adds a BOTS4.me menu inside Odoo. One connection serves every BOTS4.me app that works with Odoo.
    • Step 3 — Choose your modules and rules: enable confirmation, shipping, and/or invoicing individually in the Control tab, and tag the orders AutoERP may handle in Odoo (AutoERP for whole orders, AutoERP_partial for line-by-line shipping) — both tags are created in Odoo for you. Set collection schedules, minimum values, credit thresholds, the Run Schedule and the Operating Hours.
    • Step 4 — Tag one order and run in DEMO: put the AutoERP tag on one sales order. In DEMO, AutoERP reads your real orders and stock but performs no transactions (it only writes its own order tags) — after the next run you get a report showing exactly what it would have confirmed, shipped, and invoiced.
    • Step 5 — Go live: When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. AutoERP emails you a report whenever it did something or needs you, and the dashboard’s Logs tab records every decision.

    🧭 Try It in Your Free Discovery Month

    Your first month of AutoERP is a free Discovery month: the usage allowance of the Personal plan with Credit Checking, Partial Shipping and Tax Documents unlocked to try, and no credit card needed. AutoERP needs no mailbox — only Odoo.

    Day 1 — Start and connect

    • Sign in at bots4.me/bots, click Start free Discovery month on the AutoERP card and accept the Terms once — no credit card needed.
    • Open Settings (gear) → AutoERP → Access Manager → Add Source → ERP → Odoo (for AutoERP your ERP is the source), or install the free BOTS4.me Connect module in Odoo and press Connect. Step by step: How to Connect Odoo to BOTS4.me.
    • Odoo Online needs Odoo’s Custom plan for API access.
    • With an API key, give that Odoo user Sales (Administrator), Contact Creation, Invoicing (Billing) and Inventory (User) rights.

    Day 1 — Check the Control tab

    • Mode: AutoERP starts in DEMO and your first run is always a demo — it emails you what it would do and writes nothing to Odoo except its own order tags.
    • AutoERP Features: Order Confirmations, Shipping Module, Invoicing Module and Email Reports are on. Digital Products is for software and services that need no stock.
    • Switches with a Discovery tag on the Control tab are included in your free month and start switched off — switch on the ones you want to try.
    • For AutoERP these are Credit Checking, Partial Shipping and Tax Documents.
    • Invoicing: by default, deliveries are collected onto one invoice per customer once a week. For your test, set Invoice customers to Immediately (no collecting) so you see an invoice right after the delivery.
    • Hours: AutoERP runs only inside the Operating Hours (weekday office hours to start with), and deliveries and invoices also have their own windows. Keep the invoicing window inside the Operating Hours, or no invoice is created.

    Day 1 — Tag one order

    In Odoo, open a quotation or sales order whose products are in stock and add the tag AutoERP — it is created in Odoo for you during setup. After the next run, the DEMO report lists what AutoERP would confirm, deliver and invoice for that order, and under “Skipped and why” which setting held anything back, for example waiting for stock or below your minimum delivery value. The same decisions appear in the Logs tab.

    Week 1 — Widen the test, then go LIVE

    • Try line-by-line shipping: with Partial Shipping on, tag an order that is only partly in stock AutoERP_partial — the available lines ship now and the rest waits on the order.
    • Try credit control: with Credit Checking on, set Block over this overdue amount and Block over this many days overdue; orders from customers over those limits are held, and Odoo sends the customer one payment reminder.
    • When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email.

    📅 When the Discovery month ends

    When the month ends, AutoERP continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes. Choose a plan to keep all features — see the plan table on the AutoERP product page.

    On the free plan, confirmation, shipping and invoicing keep working; Credit Checking, Partial Shipping and Tax Documents need the Business plan. Nothing AutoERP did is undone.

    📅 Day-to-Day: What Running on Autopilot Feels Like

    After go-live, AutoERP works through your order book on its Run Schedule, inside the Operating Hours and the confirmation, delivery and invoicing windows you set — widen them and switch on Weekends if orders should also move outside office hours. Your team’s job changes from clicking through workflows to reading a short report: what was confirmed, what shipped (and what was held back and why), what was invoiced, and any errors. Odoo sends customers timely confirmation, shipping, and invoice emails without anyone remembering to send them.

    You stay in control from the dashboard: Bot Power switches the app off instantly, every feature toggles individually, and credit rules, thresholds, and schedules can be changed at any time without code. The platform is EU-hosted, built for GDPR, offers 2FA, and sends its reports in 31 languages.

    🔗 Pairs naturally with Mail2ERP and AutoCASH

    AutoERP starts once an order exists in Odoo and carries its tag. If your orders arrive by email, Mail2ERP imports them automatically — tag the imported order AutoERP and together they cover the path from customer email to sent invoice without retyping a line. And when invoices go overdue, AutoCASH chases them with escalating reminders.

    🌍 Works Beyond Odoo Too

    AutoERP runs on Odoo (13–19), ERPNext (15–16), Zoho (Books / Inventory), Dolibarr (23 and newer), Microsoft Dynamics 365 Business Central (online), QuickBooks Online, Xero and SAP Business One today. Any other ERP with an API — SAP S/4HANA, Microsoft Dynamics 365 Finance / Sales, Oracle NetSuite and more — is connected on request. Contact us if you need yours.

    ❓ Frequently Asked Questions

    Can Odoo confirm sales orders automatically?

    Not as a complete pipeline out of the box — confirming drafts, issuing down-payment invoices for prepayment customers, and sending confirmation emails normally takes manual clicks or custom development. AutoERP’s Order Confirmation module does all three automatically for the orders you tag AutoERP, with Odoo sending the emails from your own templates in the customer’s language.

    How do I automatically create invoices in Odoo when a delivery is done?

    Keep AutoERP’s Invoicing Module on and set Invoice customers to “Immediately (no collecting)”: the invoice is then created through Odoo’s own invoicing once the delivery is done. By default AutoERP collects a customer’s deliveries onto one invoice per week; you can also choose daily or monthly. Odoo emails each invoice with its PDF. With Tax Documents on, prepaid orders that have not shipped within the days you set get their tax document automatically.

    Can AutoERP ship partial orders when only some items are in stock?

    Yes. For orders tagged AutoERP_partial, AutoERP creates a partial delivery for the lines that are available when a full delivery isn’t possible, always serving the oldest orders first. A configurable minimum delivery value prevents uneconomical micro-shipments, and a bypass after a set number of days makes sure even small remainders eventually ship. A safeguard caps the number of partial deliveries per order. Partial Shipping is included from the Business plan, and you can try it during your free Discovery month — switch it on in the Control tab.

    What is collection (batch) invoicing, and can Odoo do it automatically?

    Collection invoicing combines several orders from one customer into a single invoice — common in B2B where customers prefer one weekly or monthly invoice over ten small ones. With AutoERP you pick the rhythm (immediate, daily, weekly, or monthly) and a minimum collection amount, and you set how long it waits for the rest of an order so everything lands on one invoice. It never combines customers or currencies on one invoice, and no custom Odoo development is needed.

    How does credit checking stop shipments to customers with overdue invoices?

    Before creating a delivery, AutoERP checks whether the customer has an unpaid down payment or an overdue balance beyond your configured thresholds. If so, the shipment is held automatically and Odoo sends the customer one payment reminder — no shipment leaves for a customer who shouldn’t receive one, and no one has to remember to check. Credit Checking is included from the Business plan, and you can try it during your free Discovery month.

    Can I automate only invoicing and keep confirming orders manually?

    Yes. Each of AutoERP’s three modules has its own switch, and switching one off never blocks the others. Enable only invoicing, only shipping, only confirmations — or any combination — at bots4.me/bots → Control → AutoERP → AutoERP Features, and change your mind at any time.

    Is it safe to test order automation on a live Odoo database?

    Yes — that’s what DEMO is for. AutoERP reads your real orders and stock but performs no transactions; apart from its own order tags it writes nothing and only sends reports describing exactly what it would have confirmed, shipped, and invoiced. It also only ever touches orders you tagged. Once the first demo report has arrived you can switch Mode to LIVE. The first month is a free Discovery month.

    📚 Related Odoo Automation Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Confirm, Ship, and Invoice on Autopilot

    Connect Odoo in five minutes, watch AutoERP’s Demo Mode reports, and switch on live automation when you trust what you see. The first month is a free Discovery month, with no credit card needed.

  • Automate Payment Reconciliation in Odoo

    BOTS4.me Logo

    How to Match Bank Payments to Invoices in Odoo Automatically

    Automate payment reconciliation — bank emails and Revolut/Wise payments matched to open Odoo invoices, on the schedule you set

    Every incoming payment has to be matched to an open invoice before your books are right and your customer stops getting reminders. If your team still does this by reading bank notifications and searching Odoo by hand, this guide shows how to automate payment reconciliation end-to-end: capture payments from bank notification emails and the Revolut and Wise APIs, extract the amount and invoice reference automatically, and record the payment in Odoo — with auto-reconciliation and a full audit trail.

    💸 Why Manual Payment Reconciliation Hurts

    Manual reconciliation looks harmless — open the bank notification, find the invoice number, register the payment in Odoo, reconcile. Two minutes. But multiply that by every payment, every business day, and it becomes one of the most expensive routines in your finance workflow:

    • It never ends. Payments arrive daily. Skip a day and the backlog compounds — and month-end close turns into an archaeology project.
    • References are messy. Customers pay with truncated invoice numbers, payment references, their own PO references, or no reference at all. Humans decode this slowly; on bad days, wrongly.
    • One payment, many invoices. B2B customers love collection payments — a single transfer covering five, ten, or twenty invoices. Finding the right combination by hand is genuinely hard.
    • Paid customers keep getting dunned. Until the payment is recorded in Odoo, your reminder process still sees an overdue invoice. Nothing damages goodwill faster than chasing a customer who already paid.
    • Multi-language notifications. If you sell across borders, payment notifications arrive in German, Czech, English and a dozen other formats. Every new bank means a new format to learn.

    🔧 The Usual Fixes — and Where They Fall Short

    Manual bank statement import

    Odoo can import bank statements (CAMT, CSV, or via a bank-feed service), and its reconciliation screen is decent when the reference matches perfectly. But statements are batch-oriented — you reconcile when someone sits down to do it, not when the money arrives. Imperfect references, partial payments, and collection transfers still land in a manual queue.

    Custom scripts

    A developer can write a parser for your bank’s notification emails. It works until the bank changes its template, a customer pays from a different bank, or the developer leaves. You now maintain regex code as unpaid infrastructure — and it still can’t solve combinatorial multi-invoice matching.

    Zapier-style connectors

    Generic automation platforms can move a payment notification into a spreadsheet or fire a webhook. What they can’t do is the hard part: extract the payment reference (invoice number or variable symbol) from free-form bank text in 12 languages, match it against your open invoices including batch combinations, and post a correctly reconciled payment into Odoo.

    🚀 The Automated Way: Pay2ERP + Odoo

    Pay2ERP is a payment reconciliation bot from the BOTS4.me suite. It watches your payment sources on the schedule you set and turns each incoming payment into a recorded, reconciled entry in Odoo.

    🏦

    Payment arrives
    (bank email or Revolut/Wise API)

    →
    🤖

    Amount + reference extracted
    (34 patterns, 12 languages)

    →
    🔗

    Matched to open invoices
    (incl. batch payments)

    →
    ✅

    Recorded in Odoo
    with auto-reconciliation

    Extraction is rules-first: 34 built-in patterns recognize payment references, invoice numbers and amounts in notification formats across 12 languages. When the rules can’t find a reference, an AI fallback analyzes the payment text as a last resort — so most payments are matched deterministically, and edge cases still get handled. The bot also learns from every payment it matches, so accuracy improves the longer it runs.

    Set it up in about 5 minutes

    • Step 1 — Start your free Discovery month: Sign in at bots4.me/bots, click Start free Discovery month on the Pay2ERP card and accept the Terms once — no credit card needed.
    • Step 2 — Connect payment sources: Open Settings (gear) → Pay2ERP → Access Manager → Add Source and add the mailbox that receives your bank’s payment notifications — Secure Quick Connect for Gmail and Outlook / Microsoft 365, IMAP for any other account. A Wise Business account connects with a read-only API token (Revolut Business on request). Prefer not to share a mailbox? Add the BOTS4.me Mailbox instead and forward your bank notifications to pay2erp@bots4.me.
    • Step 3 — Connect Odoo: Install the free “BOTS4.me Connect” module from apps.odoo.com (Odoo.sh and on-premise, versions 13–19), or on Odoo Online use the zero-code helper with an API key from Settings → Users & Companies → Users → your user → Account Security (turn on developer mode if the tab is hidden). Odoo Online needs Odoo’s Custom plan for API access. The Odoo user Pay2ERP works as needs Invoicing (Billing) and Accounting (Accountant) rights, otherwise Odoo refuses to record payments. No middleware, no custom development.
    • Step 4 — Teach it your bank: Move one bank notification into the _Pay2ERP/IMPORT folder in your mailbox. From then on Pay2ERP reads every email from that bank — and nothing else from your inbox.
    • Step 5 — Start in Demo Mode: Pay2ERP shows exactly which payments it would match to which invoices — and writes nothing. Review the report after each run.
    • Step 6 — Go live safely: with Odoo connected, DEMO already matches payments against your real invoices without writing anything. When the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. From then on Pay2ERP records payments.

    🤝 Best pair: Pay2ERP + AutoCASH

    Pay2ERP records incoming payments; AutoCASH sends escalating payment reminders for overdue Odoo invoices. Together they close the loop: the moment Pay2ERP records a payment, AutoCASH stops reminding that customer. No more dunning people who already paid.

    🎁 Try It in Your Free Discovery Month

    Your first Pay2ERP month is a free Discovery month: the usage allowance of the Personal plan with Daily Export, Pre-processing and Raster Images unlocked to try, and no credit card needed. This is how to get from zero to your first automatically recorded payment inside that month.

    • Day 1 — Start it: sign in at bots4.me/bots, click Start free Discovery month on the Pay2ERP card and accept the Terms once — no credit card needed. The dashboard confirms that your free Discovery month is active and shows how many days are left.
    • Day 1 — Connect a payment source: open Settings (gear) → Pay2ERP → Access Manager → Add Source and add the mailbox that receives your bank notifications, or a Wise Business account with a read-only API token. No mailbox to share? Add the BOTS4.me Mailbox and forward your bank notifications to pay2erp@bots4.me.
    • Day 1 — Connect Odoo: click Add Destination → ERP → Odoo and follow the connector install guide. The Odoo user Pay2ERP works as needs Invoicing (Billing) and Accounting (Accountant) rights, otherwise Odoo refuses to record payments.
    • Day 1 — Teach it your bank: drag one bank notification into _Pay2ERP/IMPORT. From the next run on, every email from that bank is read, including the last five days; nothing else in your INBOX is opened. A sender that is not a bank goes into _Pay2ERP/DO_NOT_IMPORT.
    • Days 1–3 — Watch it in DEMO: Pay2ERP starts in DEMO. It reads your real payment notifications, matches them against your real open invoices and emails you a run report of what it would record — nothing is written to Odoo and your mailbox stays as it is. Every decision also appears in the Logs tab and in the _Pay2ERP/LOGS folder of your mailbox.
    • Days 2–5 — Switch on what Discovery unlocks: switches with a Discovery tag on the Control tab are included in your free month and start switched off — switch on the ones you want to try. Worth trying: Daily Export (an Excel of this month’s processed payments by email every day, for your accountant), Raster Images (remittance advices sent as .tif, .gif or .webp) and, if you also run AutoSPAM, Pre-processing.
    • When the reports look right — go LIVE: when the DEMO reports look right, set Mode to LIVE on the Control tab — it unlocks after the first DEMO report email. Matched payments are now recorded in Odoo and their emails move to _Pay2ERP/PROCESSED. Payments that need a hand stay where they arrived (or in _Pay2ERP/MANUAL) and come first in the report, with everything you need to book them by hand.
    • First LIVE week — check it worked: open a few invoices Pay2ERP marked as paid and check the payment and its short note in Odoo. Then set Run Schedule and Operating Hours to your bank’s rhythm, and put your accounting address in Send payments that need a hand to.
    • After the month: when the month ends, Pay2ERP continues on the free plan by itself with a small monthly allowance — rules-based pairing of email text, CSV, HTML and text PDFs, with the AI parsers paid from the same allowance; when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes. Scanned PDFs and images, Excel and Word attachments and the Discovery extras need a plan — see the plan table on the Pay2ERP product page.

    📊 What Day-to-Day Operation Looks Like

    Once live, Pay2ERP runs on the Run Schedule you pick in the Control tab, within the Operating Hours you define. After every run you receive a report email: payments matched and recorded, payments that need a hand, and anything flagged — the subject starts with ✅ when everything went through. In LIVE, emails whose payments were all recorded are filed into the _Pay2ERP/PROCESSED folder; in DEMO your mailbox is left exactly as it is.

    • Unmatched payments never disappear. They stay unread in your INBOX (or in _Pay2ERP/MANUAL when they came through _Pay2ERP/IMPORT) and appear in the run report — you review them exactly where you already work.
    • It learns each bank’s layout. Every payment Pay2ERP records successfully teaches it how that bank writes amounts and references, so the same bank’s notifications are recognized faster next time.
    • Collection payments are handled. A combinatorial matching algorithm finds which set of open invoices a single batch transfer covers.
    • Everything is toggleable and logged. Per-feature switches, Bot Power on/off, AI Mode from Off (pure rules) up to Ultra depending on your plan, full decision logs in the dashboard’s Logs tab and a copy in the _Pay2ERP/LOGS folder of your mailbox.
    • Secure by design: 2FA, EU-hosted, built for GDPR, with reports, logs and mailbox folders in 31 languages.

    IMP Kontakt spol. s r.o., a European B2B distributor, runs Pay2ERP daily on hundreds of payments alongside other BOTS4.me apps — with reconciliation fully automated and the accounting team reviewing only the exceptions.

    🏦 Revolut and Wise Odoo Integration, Built In

    Traditional bank feeds update in batches; email notifications depend on your bank sending them. The Wise and Revolut API integrations need no bank email at all — amount, reference and sender are read straight from the account on Pay2ERP’s next run, then matched and recorded in Odoo like any other payment. Wise connects in a minute with a read-only API token under Access Manager → Add Source → API; Revolut Business is set up with you on request — contact us.

    Alongside the APIs, Pay2ERP reads payment notification emails from any bank via IMAP, Gmail, Outlook/Office 365 — so one bot covers your traditional bank accounts and your fintech accounts at once. And if your bank statements already reach Odoo, Pay2ERP can read those bank lines too: it pairs the ones Odoo could not match on its own and leaves lines Odoo already reconciled untouched. The same bank transaction arriving by email and as a statement line is recorded only once.

    🌍 Works Beyond Odoo

    This guide focuses on Odoo (versions 13–19, all hosting types — see which Odoo hosting types can be automated), where Pay2ERP records payments with auto-reconciliation. The same bot also runs on ERPNext (15–16), Zoho, Dolibarr (23 and newer), Business Central online, QuickBooks Online, Xero and SAP Business One; any other ERP with an API is connected on request. One dashboard, the same matching engine, a different ERP adapter.

    ❓ Frequently Asked Questions

    How do I match bank payments to invoices in Odoo automatically?

    Connect a payment source (bank notification email or the Revolut/Wise API) and your Odoo database to Pay2ERP at bots4.me/bots. The bot extracts the amount and invoice reference from each payment using 34 built-in patterns in 12 languages, matches it to open invoices in Odoo, and records the payment with auto-reconciliation. Setup takes about 5 minutes and the first month is free.

    Does Pay2ERP integrate Revolut and Wise with Odoo?

    Yes. Pay2ERP reads incoming payments straight from the Wise and Revolut Business APIs, without waiting for a bank email, on its next run. Each payment is matched to open Odoo invoices and recorded automatically, exactly like payments captured from bank notification emails. Wise connects in the dashboard with a read-only API token; Revolut Business is set up with you on request.

    What happens to payments that can’t be matched to an invoice?

    Unmatched payment emails stay unread where they arrived — your INBOX or your bank folder (or in _Pay2ERP/MANUAL when they came through _Pay2ERP/IMPORT) — so nothing slips out of view. The run report lists each one first, with the reason, the open invoices it found and everything you need to book it by hand.

    Can it match one bank transfer that pays several invoices at once?

    Yes. Collection (batch) payments are matched with a combinatorial algorithm that searches your customer’s open invoices for the combination that adds up to the transferred amount, then records the payment against all of them in Odoo.

    Do I need to write regex rules or templates for my bank’s emails?

    No. Pay2ERP ships with 34 extraction patterns covering payment notification formats in 12 languages, learns new patterns statistically from successful matches, and falls back to AI analysis when rules can’t extract a reference. There is nothing to code or maintain.

    Can I test automated payment matching without letting it write to Odoo?

    Yes. Start in Demo Mode: with Odoo connected, the bot matches real payments against your real invoices, reports what it would do and writes nothing. Switch to live only when the reports look right. Every feature can be toggled individually.

    Which Odoo versions and hosting types are supported?

    Odoo versions 13 through 19, on all three hosting types. Odoo.sh and on-premise use the free one-click “BOTS4.me Connect” Python module; Odoo Online (which forbids custom Python modules) uses a zero-code XML helper plus an API key from Settings → Users & Companies → Users → your user → Account Security.

    Can I try Pay2ERP before paying?

    Yes — your first Pay2ERP month is a free Discovery month, with no credit card needed. It starts in DEMO, so you can watch it pair payments without a single write to your ERP. When the month ends, Pay2ERP continues on the free plan by itself with a small monthly allowance: when it is used, new items wait until next month or until you choose a plan, and an item already started always finishes.

    📚 Related Guides

    🔗 Sources and Further Reading

    Official documentation and standards referenced in this guide. External links open in a new tab.

    Stop Matching Payments by Hand

    Connect your bank email or Wise account, connect Odoo, and watch the first run in DEMO. Your first month is a free Discovery month — no credit card needed.