Skip to content
Skip to content

Practical automation guide · By Yes AI

Automate sales order entry from emailed POs

Published 6 min read

Many wholesalers and manufacturers still receive most customer orders as PDF or spreadsheet purchase orders in a shared inbox. Someone retypes each line into the order system, which takes time and introduces picking errors. This guide covers how order entry from email can be automated and what must be checked before an order is released to the warehouse.

Quick answer

Automated order entry reads each customer purchase order from the inbox, identifies the customer, extracts the lines, maps the customer's product codes and units to your own items, and checks prices, stock and credit status. It then creates a sales order through the order system's API, either as a draft or released by rule. Orders that fail any check go to a person before they reach the warehouse.

Customer service officer at a Melbourne wholesale distributor checking an order on screen beside stacked cartons

Which orders suit automated entry?

Repeat orders from established customers suit it best: the customer, the products and the prices are already known, so most checks have a clear answer. Typed PDF, spreadsheet and email-body orders can all be read. Orders described in free text, such as a builder asking for whatever is needed for a job, still need a person. Before building anything, check how your largest customers send orders. A customer that already sends structured orders through EDI or a supplier portal needs an integration with that channel, which is a different job from reading email.

  • Most orders come from customers who order regularly.
  • Customers quote a product code, even if it is their own.
  • Your price lists are maintained in the order or accounting system.
  • Order volume is high enough that retyping takes noticeable staff time.

How does the workflow read a purchase order?

The workflow watches the orders inbox. For each email it separates the purchase order from other attachments, such as terms and conditions or drawings, and identifies the customer from the sender's address and any account number printed on the order. It then extracts the header: purchase order number, delivery address, required date and contact. Each line gives a customer product code, description, quantity, unit and price. The email body is read as well, because customers often add instructions there, such as a delivery window or a request to hold back-ordered items.

How are customer product codes matched to yours?

Large customers usually order with their own product codes. Keep a cross-reference table for each customer that maps their code and unit to your item and unit. Units cause many errors: a customer ordering 10 cartons may mean 10 or 240 of your selling unit. When a line has no entry in the table, the workflow can suggest matches by description and recent order history, but a person confirms the match and the confirmed answer is added to the table. Over time the table covers almost every line a customer sends, and the review queue shrinks.

What checks run before the order is created?

Each check either passes or holds the order with a reason. Run all of them, then show every failure together, so a reviewer fixes the order once instead of several times. Keep the rules in a table the business can change without a developer, because prices, pack sizes and credit limits change often. Read prices and credit status from the live system at the moment of the check, not from a copy taken that morning, so a price change or credit hold made during the day applies to the next order.

  • Duplicate: the same purchase order number from the same customer has not been processed before.
  • Price: each line price matches the customer's price list or contract price.
  • Quantity: quantities respect pack multiples and minimum order rules.
  • Stock: stock is available in the right warehouse, or the customer accepts back orders.
  • Address: the delivery address matches one already on the customer record.
  • Credit: the account is not on hold or over its limit.

How is the order created in your system?

Through the order system's API where one exists. Unleashed publishes a SalesOrders resource that can create orders and order lines, update them and mark them complete. The MYOB Business API has sale order endpoints for item and service orders. Create the order with the customer's purchase order number in the customer reference field, because invoices and remittances will quote it later. Attach the original purchase order file to the order. Decide whether orders that pass every check are created as drafts for a quick glance or released directly; many businesses start with drafts and change the rule once the error rate is known.

How do confirmations go back to the customer?

Send the order confirmation once the order exists in your system, quoting the customer's purchase order number in the subject line so their buyer can match it. List each line with your item description, quantity, price and expected dispatch. When the order differs from what the customer sent, such as a back-ordered line or a price that does not match their purchase order, the confirmation should state the difference plainly. Those confirmations go to a person for approval before sending, because the wording can affect the customer relationship and, in some cases, the terms of the sale.

What should you measure after go-live?

Track the share of orders created without any edit, the number of corrections per order and which checks fail most often. Review corrections weekly: most will be missing cross-reference entries or out-of-date prices, and fixing the source data reduces future reviews. Track the time from email arrival to order creation as well, so you can see whether held orders are waiting too long. Keep a log of amended purchase orders, because customers who resend an order with changes need a defined process that compares the new version with the order already in your system.

Order entry checks: what runs automatically and what a person decides

CheckData neededWhen it passesWhen it fails
Customer identifiedSender address and account number on the orderOne active customer account matchesUnknown sender goes to review
Product mappingCustomer code cross-reference tableEvery line maps to one of your items and unitsUnmapped line held with suggested matches
PriceCustomer price list or contract priceOrder price equals your priceDifference shown to the account manager
DuplicatePrevious order numbers for that customerOrder number not seen beforePossible duplicate held and never created twice
StockStock on hand by warehouseAll lines available, or back orders allowedShortfall flagged before confirmation
Credit statusAccount status from the accounting systemAccount in good standingOrder held for credit approval

Practical checklist

  • A product code cross-reference table exists for each customer in the first group.
  • The rule for creating orders as drafts or releasing them is written down.
  • A resent purchase order is blocked as a duplicate in testing.
  • Price differences route to a named person and are never overwritten silently.
  • The original purchase order file is attached to every sales order created.
  • Confirmations that show a back order or price difference are approved before sending.

Common questions

Can the automation read scanned or handwritten orders?

Scanned typed orders can usually be read, although accuracy depends on scan quality, so check each one against its line totals. Handwritten orders are less reliable and should stay with a person. If a customer regularly faxes or scans handwritten orders, ask whether they can email a typed order or use an order form you provide.

What about customers who send orders through EDI?

EDI orders are already structured data, so there is nothing to read from a PDF. The work is an integration with your EDI provider or the customer's portal, and the same checks on products, prices, stock and credit still apply before the order is released. Treat EDI and email as two intake channels feeding one set of order rules.

Does our order system need an API?

It needs an API or a reliable import. Unleashed and MYOB both publish sales order endpoints. If your system only accepts a CSV import, the workflow can prepare a checked import file for a person to load at set times during the day. That still removes the retyping, but orders appear in batches rather than as each email arrives.

Will customers notice the change?

They keep sending orders to the same address. What they may notice is a more consistent confirmation email that quotes their purchase order number and lists any differences clearly. Tell key customers if the confirmation format changes, so their buyers know what to look for.

How are amended orders handled?

Treat an email that quotes an existing purchase order number as a possible amendment. The workflow compares the new version with the order in your system and lists every changed line. If the order has not been picked, a person approves the update. If picking has started, the warehouse and the account manager are told before anything changes.

Sources and further reading

Continue planning

Turn the guide into your workflow

Bring one process, the systems it touches and the exceptions your staff handle. We can discuss approval boundaries, recovery steps and the evidence needed before changing live operations.