Solution · By problem
Orders come in through six different channels and someone types them in one by one
Email with the PDF attached, an Excel every customer laid out their own way, the distributor portal, an EDI only the two big accounts use and, still, a scanned fax. At the end of the funnel there’s a person copying part numbers into the ERP by hand. That’s a job, not a destiny: it gets automated.
The problem
The bottleneck isn’t the ERP. It’s the keyboard sitting in front of it.
- Every customer sends the order in their own format: a PDF on their purchasing department’s template, an Excel with columns of its own, the body of an email in plain text. No two of them match.
- The customer’s part number isn’t your part number. Someone has to translate their code, their description or their trade name into your SKU, and that someone does it from memory.
- The urgent order lands at 17:50 and gets keyed in tomorrow, because whoever types it has already gone home. Delivery slips a day for an administrative reason, not a logistics one.
- Prices get eyeballed against the customer’s price list. When they don’t line up, it surfaces on the invoice and ends as a credit note.
Cost of staying the same
The cost isn’t in the hours of typing, even though you pay for them: it’s in what those hours let through. One digit miscopied in a quantity turns into a wrong shipment, a return, a credit note and a call from a customer who no longer takes your urgency on trust. Errors in B2B orders aren’t marginal — Sana Commerce’s B2B Buyer Report 2025, with research by Sapio Research across 750 professional buyers in the United States, the United Kingdom, Mexico, Germany, Australia and the Netherlands, puts 33% of online orders as carrying some error, and 29% of buyers as flagging price inaccuracies. And EDI doesn’t solve it on its own: in Spain, according to the INE’s ETICCE survey (2024 data published in 2025), 56% of e-commerce sales arrive through electronic data interchange, which also means almost half comes in somewhere else, and that somewhere else is an inbox. Meanwhile, scaling sales means hiring another person to type, and the seasonal peak shows up in the order queue before it shows up in the warehouse.
The solution
A capture layer that reads any format, matches against your master data and leaves the order created with the doubts flagged
- 1We connect every entry point you actually have into one place: the orders inbox, the PDF and Excel attachments, the portal where some customers upload files and whatever EDI channel you already run. Nobody asks your customers to change how they buy: whoever sends a PDF keeps sending a PDF.
- 2An agent pulls the lines out of the document — part number, description, quantity, price, requested date, delivery address — and normalizes them. The hard part isn’t reading the PDF: it’s that the same item goes by three different names across three customers, and that’s where AI beats a rigid template.
- 3Every line is matched against your item master and against that customer’s price list: right SKU, right unit of measure, the price and discount their contract entitles them to. Whatever doesn’t clear the confidence bar doesn’t get invented: it’s flagged as an exception with the original document alongside, so a person resolves only that.
- 4The order gets created in your ERP — SAP Business One, Odoo, Business Central, Sage, Holded or whichever one you run — with its automatic confirmation to the customer. And we leave it measured: what share comes in untouched, how many exceptions per customer and per format, and how long an order takes from arriving to existing in the system.
What changes
What you stop losing
33% of B2B online orders contained some error, and 29% of buyers flagged price inaccuracies. Scope: 750 professional buyers in the United States, the United Kingdom, Mexico, Germany, Australia and the Netherlands; fieldwork September 2024.
Sana Commerce, B2B Buyer Report 2025 (research by Sapio Research) — https://www.sana-commerce.com/report/b2b-buyer/
The order stops depending on the schedule of whoever types it: it lands at 17:50 and exists in the ERP at 17:51, with the exception flagged if there is one. What you gain isn’t admin time, it’s a day of delivery.
Mechanism
What we measure: % of orders created with no human intervention, exceptions per customer and per input format, time from receipt to order created, lines corrected by hand after capture, and credit notes from price or quantity errors.
What we measure
Spec sheet
- Work it removes
- typing into the ERP by hand every order that arrives by email, PDF, Excel or portal
- Typical setup
- 3–5 weeks
- Input
- the customer’s order in whatever format they use: PDF, Excel, email body, portal file or EDI
- Output
- an order created in the ERP with its lines matched against your item master and your price list, and the doubts flagged as exceptions
- Works with
- SAP Business OneOdooMicrosoft Dynamics 365 Business CentralSageHolded
- Can connect to
- Microsoft 365 or Google WorkspaceYour item master and per-customer price listsYour current EDI channel
- What we measure
- % of orders created with no human interventionexceptions per customer and per input formattime from receipt to order created in the ERPcredit notes from price or quantity errors
- Good fit for
- companies taking recurring orders across several channels, with an item master and price lists that are actually maintained
- Not a fit for
- configured project orders, where every line is negotiated and there’s no stable catalog to match against
Frequently asked questions
No, and in fact they live together well. EDI solves the order from the big accounts that already run their own system and accept an agreed format: where it exists, it works, and we don’t touch it. The problem is everything else — the mid-sized customer who sends a PDF, the one who fills in an Excel with their own columns, the one who types part numbers into the body of an email. Asking all of them to move to EDI is a commercial negotiation that can take years and that some will simply refuse. This layer covers exactly that gap: it takes the order the way the customer wants to send it and turns it into a structured order in your ERP. If one of those customers moves to EDI tomorrow, even better: it comes in through the good channel and this layer stops touching it.
That line gets flagged and stopped — not the whole order, and not the system. The design rule is that anything doubtful never gets completed by eye: if the customer’s part number doesn’t match exactly one of your SKUs, if the unit of measure doesn’t add up, if the price drifts from the list they signed or if the requested date is missing, that line goes to an exception queue with the original document alongside and the system’s guess marked as a guess. A person resolves it in seconds instead of typing the whole order. And that queue is the best metric you’re going to get: if one particular customer generates exceptions every week, you know who’s worth a conversation about format, and if one type of exception keeps repeating, that’s a rule you’re missing.
It depends where you set the bar, and that call is yours, not ours. We build it with a confidence threshold configurable per field type: you can start in conservative mode, where every order passes through a one-click human confirmation and the system only saves the typing, and then dial supervision down as the numbers justify it, customer by customer and format by format. The fields with consequences — quantity, price, delivery address — can stay under review forever even when the rest runs on its own. And everything is traced: which document produced each line, what the system extracted, what a person changed. The honest comparison isn’t against a flawless process either: it’s against someone typing four hundred lines on a Friday afternoon.
Want it running in your business?
You’ve pinned the problem. We ship the fix and leave it measured.