Pay2ERP
User Guide – Getting Payments Matched to Invoices Without Manual Entry
🔗 How Pay2ERP Matches a Payment
Every payment notification — a bank email, a line from Revolut or Wise, or a statement line read straight from your ERP — is reduced to the same handful of facts: amount, currency, value date, and the reference number your customer typed when they paid. Those facts are what get matched against your open invoices, not the wording of the email.
| Source format | What it is | How Pay2ERP reads it |
|---|---|---|
| MT940 / MT942 | SWIFT end-of-day / intraday bank statement | Structured. Every credit line becomes one payment automatically — no extraction guesswork. |
| CAMT.053 | ISO 20022 XML bank statement | Structured, parsed defensively against malformed or oversized XML. |
| BAI2 | US bank statement format | Structured, same treatment as the formats above. |
| OFX | Open Financial Exchange | Structured, same treatment as the formats above. |
| Revolut / Wise API | Direct account connection | Structured fields arrive already labeled — amount, reference and sender — with no bank email to wait for; Pay2ERP reads them on its next run. |
| ERP bank lines | Bank statement lines already in your ERP (Odoo) | Structured, read straight from your ERP — no email involved. |
| Free-text email | A bank’s plain-language payment notification | Built-in reference and amount patterns across a dozen languages are tried first; AI reads the text only when none of them match. |
🔍 Which Emails Pay2ERP Reads
Pay2ERP does not treat every message in your mailbox as a payment. In your ordinary INBOX it reads only emails from senders you have taught as a bank — nothing else is opened, extracted or billed. An email in a folder you dedicated to payments, or one you move into _Pay2ERP/IMPORT, is always read.
_Pay2ERP/IMPORT. From then on every email from that bank is read automatically. While no bank is taught and bank-like mail keeps arriving, the Logs tab on your dashboard reminds you, at most once a week.
| What is skipped | Why |
|---|---|
| Our own reports and shop mail | Platform mail is never a payment notification. |
| An untaught sender in your plain INBOX | Pay2ERP reads only senders you have taught as a bank. |
| A sender you marked as not a bank | You moved one of its emails into _Pay2ERP/DO_NOT_IMPORT. |
Teaching Pay2ERP a bank sender
Move the email into _Pay2ERP/IMPORT. The sender is added to your bank list and the email is read from there, alongside the bank folders you configured. If a sender is not a bank, drag one of its emails into _Pay2ERP/DO_NOT_IMPORT: Pay2ERP stops reading its mail and the email goes back to your INBOX. Changed your mind? Drag one of its emails into _Pay2ERP/IMPORT and it is read again. The folders are created for you while Pay2ERP is active.
If AutoSPAM or Mail2ERP also runs on this mailbox, mail from a taught bank is moved into _Pay2ERP/IMPORT for you. Folder names appear in your mailbox’s language — for example, IMPORT is called NA_IMPORT in Slovak.
_Pay2ERP/IMPORT.
🔄 How Pay2ERP Works – Visual Flow
Arrives
Extracted
Invoice(s)
in Your ERP
Report
One payment can cover several invoices at once — a customer paying a whole month in one transfer, for example. Pay2ERP works through the combinations of your open invoices until it finds the set that adds up to the amount paid, rather than giving up at the first invoice that does not match alone.
📥 Unmatched Payments – Your Safety Net
When Pay2ERP cannot find a confident match, it does not guess and it does not hide the email. The email stays where it arrived — your INBOX or your bank folder — or goes to _Pay2ERP/MANUAL when it came through _Pay2ERP/IMPORT. It is never marked as read, and the run report lists it with the reason and what to do.
With DEMO off, each email whose payments were all recorded moves into _Pay2ERP/PROCESSED straight away. In DEMO your mailbox is left exactly as it is. Pay2ERP learns each bank’s layout from the payments it records successfully, so the same bank’s wording is recognized faster next time.
🚀 Getting Started
- Connect a bank email account, or a Wise API token, on the dashboard (Revolut Business is set up with you on request). Or add the BOTS4.me Mailbox and forward bank notifications to us — see Forward to Us below.
- Teach Pay2ERP your bank: move one bank notification into
_Pay2ERP/IMPORT. Until then it reads no email from your INBOX. - Switch Pay2ERP on. It starts in DEMO: it reads your real payment notifications and reports what it would record. Nothing is written to your ERP and your mailbox is left untouched.
- Connect your ERP. Still in DEMO, real invoices are matched and reported — nothing is recorded.
- Check a few run reports. The matches you see are exactly what would be recorded once you go live.
- Switch Mode to LIVE. From that moment, matched payments are recorded in your ERP automatically. LIVE unlocks after your first DEMO report.
🛡️ DEMO and LIVE
There is one switch, Mode (DEMO / LIVE). What Pay2ERP can do depends on what you connect:
| What you connected | Mode | What happens |
|---|---|---|
| BOTS4.me Mailbox | DEMO | A preview of the payment notifications you forward to us. |
| Mailbox or bank API | DEMO | Real payments are read and reported — no ERP involved. |
| Mailbox + ERP | DEMO | Real invoices are matched and reported — nothing is written. |
| Mailbox + ERP | LIVE | Full automation: payments are captured, matched, and recorded in your ERP. |
| BOTS4.me Mailbox + ERP | LIVE | Payments you forward to us are recorded in your ERP — only from banks Pay2ERP already knows. |
⚙️ Dashboard Settings Reference
Control
| Setting | Default | What it does |
|---|---|---|
| Bot Power | On | Switches Pay2ERP on or off. |
| Mode | DEMO | DEMO previews, LIVE records payments in your ERP. See DEMO and LIVE above. |
| AI Mode | Essential AI | Off, Essential AI, Premium AI or Ultra, depending on your plan. With Off, no language model is ever called. |
| Run Schedule | Hourly | How often Pay2ERP checks for new payments. |
| Operating Hours | 07:00–16:00 | The hours Pay2ERP runs in. Weekends are off unless you switch them on. |
| Send reports of matched payments to | — | Who receives the report of the payments written to your ERP. Comma-separated; empty means your account email. While the next field is empty, payments that need a hand are in this report too. |
| Send payments that need a hand to | — | Optional. Payments that could not be booked go here in a separate report, sent even when email reports are off. Empty keeps them in the report above. |
| Forward to us – accept email from | — | Who may forward payment notifications to us. Empty: only your account email. Filled in: exactly the addresses you type (up to 6). See Forward to Us below. |
Core matching
| Setting | Plan | What it does |
|---|---|---|
| Collection Payment Pairing | Personal | Matches incoming payments to outstanding invoices using reference numbers, amounts and customer data. The core of Pay2ERP — on by default. |
| Email Reports | Personal | Sends the run report after each processed source. Switched off, you only get a report when a payment needs your attention. On by default. |
| Logs in your mailbox | Personal | Writes Pay2ERP’s log into _Pay2ERP/LOGS in your mailbox. On by default. |
| AI Company Name Parsing | Personal | Uses AI to identify and standardize company names from payment descriptions, so a payment can be matched to unpaid invoices by amount even without a payment reference. |
| AI Payment Reference Extraction | Personal | Reads the payment reference out of a bank notification when the rules cannot find it — for payments whose reference is written in free text rather than in a reference field. |
| Daily Export | Family | Emails an Excel of this month’s processed payments to your account email every day, for accounting review and reconciliation. Off by default. |
| Pre-processing | Family | Lets Pay2ERP take its mail from the hidden queue that AutoSPAM fills, instead of your plain INBOX. Needs AutoSPAM with Pre-processing on. Bank folders you configured are always read directly. Off by default. |
The two AI settings only work when AI Mode is not Off.
Document formats read
| Format | Plan | What it does |
|---|---|---|
| Email Text | Personal | Process data from the email body text itself. |
| CSV Files | Personal | Process data from .csv attachments. |
| HTML | Personal | Process data from .html attachments. |
| Excel | Personal | Process data from .xls / .xlsx attachments. |
| PDF Files | Personal | Process data from PDF attachments. |
| Word | Personal | Process data from .doc / .docx attachments. |
| Scanned PDF Files | Personal | Process data from image-based (scanned or photographed) PDF attachments using OCR. |
| Images / Photos | Personal | Process data from .jpg, .jpeg and .png attachments using OCR. |
| Raster Images | Business | Process data from .gif, .tif, .tiff, .webp, .svg and .eps attachments using OCR. |
Bank statement files (MT940/MT942, CAMT.053, BAI2, OFX) are always read, whatever the format switches say.
📊 Reading the Report
One report per processed source. The subject starts with ✅ when everything went through, or tells you how many payments need a hand.
⚠️ Needs a hand
Failed payments come first, one card each, with everything you need to book it by hand: amount, reference, payer, the open invoices we found, why it did not match and where the email is now.
✅ What went through
A compact table of the payments recorded (or matched, in DEMO).
📈 The numbers
Tiles for this month and all time: emails read, paid, needing a hand, and total value.
📨 Forward to Us — No Mailbox Connection Needed
You do not have to connect a mailbox at all. In BOTS4.me/bots → Settings → Pay2ERP, click Add Source and add the BOTS4.me Mailbox — one click, nothing to connect, no password. Then forward your bank’s payment notifications to pay2erp@bots4.me. In DEMO you get a preview by email; in LIVE the payments are recorded in your ERP for real. So we only need access to your ERP, never to your mailbox.
Who may forward: set it in Pay2ERP → Control → Forward to us – accept email from. Empty: only your account email address. Filled in: exactly the addresses you type (up to 6) — they replace your account address, so add it too if you also forward.
In LIVE, Pay2ERP records payments only from banks it already knows. A payment email from a bank it does not know yet waits for your one-click confirmation; after that, the bank is remembered.
The same email forwarded twice is processed only once. With Demo Mode off, the sender gets a short receipt by email after each forwarded email: processed, or not processed and where to see why.
📬 Logs in Your Mailbox
- Where: every mailbox gets a LOGS folder inside the bot’s own folder, for example _Pay2ERP/LOGS. Each bot keeps its own.
- What: the same rows as the Logs tab, one message per row. Nothing is sent by email — the rows are written straight into the folder.
- Unread means it needs you: only rows that need your decision arrive unread. All other rows, warnings included, arrive already read.
- One-click buttons: rows about an email carry the same buttons as the dashboard. A button that files the email is named after the folder it goes to, for example ALLOW or SPAM. A button opens a short confirm page, no login needed, and works for 7 days. The result arrives as a new row, with an undo button where one exists.
- Decide from the log: a row that needs your decision also shows the names of the email’s attachments and its first few lines, so you rarely need to open the email itself.
- Housekeeping: the folder keeps the latest 100 rows for up to 30 days. The full log stays in your dashboard.
- Safe by design: genuine log messages exist only inside LOGS folders, never in your inbox, and the confirm page never asks for a password.
- Switch: Logs in your mailbox, in the bot’s feature list on the Control tab. On by default from the Personal plan.
- Payments without a mailbox: rows from a bank API, an ERP source or the BOTS4.me Mailbox have no mailbox of yours to go to, so they appear only in the dashboard.
❓ Troubleshooting
| What you see | What it means |
|---|---|
| A payment was not recorded | No confident match was found — check that the reference number in the notification actually corresponds to an open invoice, and that the invoice is not already marked paid. The run report card says why. |
| A payment seems to be missing entirely | If the same bank transaction arrived through another connected source within 48 hours, Pay2ERP recorded it once and filed the second email with the processed ones. |
| Emails from my bank are not read | Teach the bank: move one of its emails into _Pay2ERP/IMPORT. Check it is not in _Pay2ERP/DO_NOT_IMPORT. |
| Company-name matching is not available | AI Company Name Parsing is included from the Personal plan and needs AI Mode not Off. Without it, payments without a payment reference wait for manual review. |
| No run report arrives | Check that Send reports of matched payments to holds the right address (empty means your account email), and Send payments that need a hand to if you use it. With Email Reports off, runs where everything went through send no email. |
| A scanned or photographed remittance advice was not read | Scanned PDFs and photos need the OCR-based formats, which are included from the Personal plan. |
❓ Frequently Asked Questions
💡 Folders starting with _ (e.g. _Pay2ERP) are auto-created by the app — don’t rename or delete them.
What payment sources are supported?
Bank notification emails (IMAP, Gmail, Outlook, Office 365) and the statement files attached to them (MT940/MT942, CAMT.053, BAI2, OFX), Wise through its API (Revolut Business on request), bank lines read from your ERP (Odoo), and emails forwarded to pay2erp@bots4.me.
What ERPs does it work with?
Odoo, ERPNext, Zoho (Books / Inventory), Dolibarr 23 and newer, Microsoft Dynamics 365 Business Central (online), QuickBooks Online, Xero and SAP Business One today — Odoo, ERPNext, Zoho and Dolibarr also as the bank input. On Business Central, Pay2ERP puts the payments into your cash receipt journal batch and you post them; on QuickBooks Online, Xero and SAP Business One it records each payment on the bank account you pick. Any other ERP with an API — SAP S/4HANA, Microsoft Dynamics 365 Finance / Sales, Oracle NetSuite and more — is connected on request.
What happens to a payment that cannot be matched?
The email stays where it arrived (or goes to _Pay2ERP/MANUAL when it came through _Pay2ERP/IMPORT) and the run report shows it with the reason — nothing disappears into a hidden folder.
Pay2ERP skipped an email that really was a bank notification. What now?
Move it into _Pay2ERP/IMPORT. Pay2ERP reads it on its next run and remembers the sender, so every future notification from that bank is read automatically. The skipped email is never moved or deleted in the meantime.
Does it handle one payment covering several invoices?
Yes. Pay2ERP searches combinations of your open invoices for the set that adds up to the amount paid.
How does the AI fallback work?
Rules run first, on every payment. AI is only called when the rules cannot extract a reference from a free-text notification — most payments never reach it.
Can I test without connecting my ERP?
Yes. In DEMO, Pay2ERP reads your real payment notifications and reports what it would do; once your ERP is connected it also matches real invoices, still writing nothing. First month free.
Does it work with AutoCASH?
Yes. Pay2ERP records the payment; AutoCASH stops reminding for that invoice the moment it does. With AutoCASH’s Hold reminders while payments are unprocessed setting on, AutoCASH waits while Pay2ERP still has unprocessed payment notifications — retrying every hour, for at most 3 days — so customers who already paid are not reminded.
Does this use AI? We are not allowed to.
Set AI Mode to Off and no language model is called and nothing is sent to an AI provider. A bank API connection or a structured ERP statement line loses nothing at all — those fields already arrive labeled and are matched by rules alone. Only free-text notification emails in a layout the rules do not recognize need AI. If your compliance team needs it in writing, ask us and we will confirm it for your file.
How does payment matching work?
Pay2ERP extracts the payment reference (usually the invoice number) from payment notifications using 34 built-in patterns, then matches it to open invoices in your ERP by amount and reference.
🔒 What Pay2ERP Will Never Do
- Contact your customers — that is AutoCASH’s job, not Pay2ERP’s.
- Record a payment while in DEMO.
- Match a payment to an invoice without checking amount and reference against it first.
- Record the same bank transaction twice, even if it arrives through two different connected sources.
- Hide an unmatched payment from you — it stays where it arrived or in
_Pay2ERP/MANUAL, and the report lists it. - Change anything in your ERP beyond recording the payment against the matching invoice(s) and adding a short payment note to them.