How to automate email into ECI M1
Short answer
Monitor a shared mailbox, classify each message, extract structured fields from the body and attachments, validate them against M1 master data, and stage the result for a person to approve before it becomes a sales order, quote or receipt. Never post straight from an email.
Customer purchase orders, RFQs with drawings, supplier acknowledgements and invoices all arrive by email at ECI M1 shops, and someone retypes them. For make-to-order and engineer-to-order work this is slow and error-prone because each message carries a different layout, part numbering and revision, and the customer's PO number is often the only reference.
Automation here is mostly a matching problem, not a reading problem. Extracting a quantity is easy; knowing that the customer's part ABC-12 Rev C is your item with a particular routing, price and lead time is the hard part. The design should push uncertain matches to a human and learn from corrections.
What teams use it for
Customer PO to sales order draft
Read the PO attachment, match customer and parts, compare prices to the quote, and stage a sales order draft for entry.
RFQ intake to quote request
Capture the sender, due date, quantities and attached drawings, create a quote request for estimating and acknowledge receipt to the customer.
Supplier acknowledgement parsing
Read order confirmations, extract promise dates per line and propose PO date updates for a buyer to accept.
Vendor invoice triage
Match the invoice to a PO and receipt, flag price or quantity variances, and queue clean ones for AP.
Certificate and packing slip filing
Detect certs of conformance and packing slips, attach them to the right receipt or lot, and notify quality.
ECI M1 integration surface
- M1 master data in SQL Server (customers, vendors, items, customer part cross-references, open orders), used read-only for matching and validation. Table names vary by version.
- The supported M1 interface for creating or updating orders, quotes and receipts in your release, which should receive approved records only.
- M1 document attachment or linked-document features, useful for storing the original email and drawings against the new record.
- Customer part number cross-reference data, which is critical to matching and often under-maintained.
- Import or batch-entry options in M1 that let staged transactions be reviewed before posting; confirm what your version offers.
How it works
- 1
Connect to the mailbox
Use Microsoft Graph or IMAP on a shared mailbox, and move processed messages to folders by status rather than deleting.
- 2
Classify the message
Decide PO, RFQ, acknowledgement, invoice, cert or other, using sender, subject and content. Unknown goes to a manual queue.
- 3
Extract fields
Pull header and line data from the body and attachments, with a confidence score per field.
- 4
Match to M1 data
Resolve customer, part and revision against master data and the customer cross-reference. Compare price and lead time to open quotes.
- 5
Stage for review
Show a side-by-side of the source document and proposed M1 record, highlighting low-confidence and mismatched fields.
- 6
Post and learn
Approved records are posted through the supported path. Corrections update the cross-reference so the next message matches.
Example flows
Customer PO arrives
Trigger: A PDF purchase order lands in the orders mailbox.
- Message is classified as a PO and the PDF extracted.
- Customer and each part are matched; one revision mismatch is flagged.
- Prices are compared with the accepted quote and a variance is shown.
- A user corrects the revision and approves; the draft is posted and an acknowledgement is sent.
Result: Entry time drops to a review, and the price and revision errors are caught before release to the floor.
Supplier confirms with new dates
Trigger: A supplier replies to a PO with revised delivery dates.
- The PO number is found in subject or attachment.
- New dates are extracted per line.
- Buyer sees current versus proposed dates.
- Accepted changes update the PO and the schedule impact is reported to planning.
Result: The schedule reflects supplier reality without manual copying.
Keeping data on-prem
Extraction and matching can run on a server inside your network next to the M1 SQL Server. Use an on-prem or private-cloud mail connector, an OCR engine you host, and an open-weight model served locally for classification and field extraction, so customer POs, drawings and pricing are not sent to a public API. If mail is hosted in Microsoft 365, the connector reads through Graph over an outbound connection while the processing and staging remain internal.
Security checklist
- Scope mailbox access to the specific shared mailbox with an application permission, not a user's full inbox.
- Scan attachments for malware before extraction and never execute macros.
- Treat email content as untrusted input, including instructions embedded in the text of a message.
- Keep posting behind human approval, with the source email stored against the record.
- Control who can see staged records, since they contain customer pricing.
Ways to get it done
Off-the-shelf intelligent document processing tool
Effort: Weeks, plus per-document licensing
Good for standard invoices if it can write to M1 or output a file M1 can import.
Build in-house with rules and OCR
Effort: Six to ten weeks, and ongoing rule upkeep
Works when you have a few high-volume customers with stable formats.
Partner build with Netray
Effort: Scoped per document type, often a few weeks each
Better for varied layouts, drawings and a review queue, with a private model if data must stay inside.
Pitfalls
- !Auto-posting orders without review, which sends a wrong part or price to production.
- !Ignoring customer part number cross-references so matching never works at scale.
- !Processing reply threads and quoted text as new orders, creating duplicates.
- !Dropping the original email, leaving no trail for disputes.
- !Trusting extracted totals without recomputing them from the lines.
Frequently asked questions
Can email create sales orders in ECI M1 automatically?
It can stage them. Most shops should keep a human approval before posting because part, revision and price errors are costly. Once a customer's messages match reliably, you can relax review for that customer only.
How do you avoid duplicate orders?
Use the customer's PO number plus customer ID as a uniqueness key, check against open orders, and handle replies and forwards by thread ID so the same order is not staged twice.
What about orders with drawings?
Attach the drawing to the staged record and flag revision differences against the item's current revision. Reading dimensions is a separate task and not required for order entry.
Does this need a cloud AI service?
No. Extraction and classification can run with open-weight models and an OCR engine on your own servers. Cloud services are optional and a policy choice.
Can I do this just with Power Automate?
For simple, fixed-format emails, yes. For varied PO layouts, matching against M1 master data and an exception queue, you will outgrow flows quickly and need purpose-built logic.
Want Email automation working on your ECI M1?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessment