AI-Process Order in Make
AI-Process Order is a PDF4me AI module for Make that extracts structured data from a purchase order or sales order in PDF or image form. It returns the order number, customer, a full line-items array, totals, currency, and shipping address for ERP ingestion and procure-to-pay automation.
What this module does
PDF4me AI-Process Order extracts structured data from PDF or image purchase orders and sales orders inside your Make scenario using AI. Supply a PO or SO and the module returns order number, order date, customer name, full line items array, subtotals, total, currency, and shipping address as individually mappable fields, ready for ERP ingestion (NetSuite, SAP, Microsoft Dynamics, Odoo), procure-to-pay automation, order-to-cash workflows, and three-way matching against invoices and receipts. No template setup required; works across procurement systems, email-attached PDFs, and scanned paper orders.
Authenticating Your API Request
Every PDF4me module in Make requires a valid Connection. Create or select one that holds your PDF4me API key so the scenario can authenticate AI order extraction requests securely.
Important Facts You Should Not Miss

Set File to Map, wire Order Name and Document from the prior module. Output exposes orderNumber, customerName, lineItems array, total, currency, and shippingAddress for ERP and fulfillment workflows.
What parameters does AI-Process Order use in Make?
Required: Connection, Order Name, and Document must always be provided. The matching input field (Binary Property, Base64 Content, or Order URL) is required based on the chosen Input Data Type.
| Parameter | Required | What it does | Example |
|---|---|---|---|
| Connection | Required | PDF4me API connection. Click Add and paste your API key the first time. Reused automatically across all PDF4me modules in your scenarios. | My PDF4me connection |
| Input Data Type | Required | How the order file is supplied. Binary Data reads from a previous module (most common). Base64 String accepts encoded payloads. URL downloads from a public link. | Binary Data |
| Input Binary Field | Conditional | Binary content of the order file. Required when Input Data Type is Binary Data. Wire from Dropbox, Google Drive, OneDrive Data field, or any email/HTTP module that returns file bytes. | 1. Data |
| Base64 Order Content | Conditional | Base64-encoded order content. Required when Input Data Type is Base64 String. Useful when the order arrives from a webhook or API integration that delivers encoded content. | JVBERi0xLjQK... |
| Order URL | Conditional | Public URL to the order file. Required when Input Data Type is URL. The URL must not require authentication. | https://example.com/po-2024.pdf |
| Order Name | Required | Filename of the order with proper extension (.pdf, .png, .jpg, .jpeg). Used for format detection and AI processing optimization. | po-2024.pdf |
Output Fields
| Field | Type | What it contains |
|---|---|---|
orderNumber | String | Extracted order number or reference identifier (e.g. PO-2024-001 or SO-78423). |
orderDate | String | Order date in ISO 8601 format (YYYY-MM-DD). |
customerName | String | Customer or vendor name printed on the order document. |
lineItems | Array | Array of line items with description, quantity, unitPrice, and total per row. Loop with a Make Iterator for one ERP line per row. |
subTotal | Number | Subtotal amount before taxes, shipping, and discounts. |
total | Number | Final total amount including all charges. |
currency | String | Currency code in ISO 4217 format (USD, EUR, GBP, INR, JPY, etc.). |
shippingAddress | String | Shipping or delivery address printed on the order. |
jobId | String | PDF4me job identifier for audit trail and support tickets. |
success | Boolean | True if the AI extraction completed successfully; false if it failed. |
message | String | Human-readable status message confirming success or describing the error. |
How do I set up AI-Process Order in Make?
- Add PDF4me → AI-Process Order to your Make scenario.
- Select Connection (or click Add to create one with your PDF4me API key).
- Choose Input Data Type: Binary Data for files from a previous module, Base64 String, or URL.
- Under File, choose Map to reveal Order Name and Document fields.
- Map Order Name to the filename with extension (
.pdf,.png,.jpg, or.jpeg). - Map Document to the binary content from the source module: typically the Data field of Dropbox, Google Drive, Gmail, or HTTP modules.
- Click Save and run the scenario. Wire the output bundle into NetSuite, SAP, Microsoft Dynamics, Odoo, Salesforce, or your warehouse management system. Use an Iterator over
lineItemsto create one ERP order line per row.
Workflow Examples
Workflow ExamplesCommon Make scenario patterns using AI-Process Order.
- Gmail triggers when an email arrives from a known customer domain with a PO PDF attached.
- AI-Process Order extracts orderNumber, customerName, orderDate, lineItems, total, and shippingAddress.
- A NetSuite Search Customer step uses customerName to locate the existing customer record (or branches into Create Customer if not found).
- A NetSuite Create Sales Order module records the order header. A Make Iterator loops over lineItems and adds each product as a sales order line with quantity and unit price.
- A Slack notification to the fulfillment team announces the new order with total amount and shipping address; an Airtable log captures the PO-to-SO mapping for audit.
- A SharePoint Watch Files trigger fires when a new vendor PO is uploaded by procurement.
- AI-Process Order extracts orderNumber, total, lineItems, and currency. A separate AI-Invoice Parser run extracts the matching invoice fields when it arrives later.
- A Google Sheets lookup matches the PO orderNumber to a Goods Receipt Note (GRN) from the warehouse. All three documents, PO, GRN, invoice, are joined on orderNumber.
- A Tools Set Variable step performs three-way matching on quantities and totals. Matched POs auto-approve; mismatches route to a Slack approval channel with a side-by-side comparison.
- Approved orders post payment instructions to the AP system; rejected orders create an exception ticket in Jira for procurement to resolve with the vendor.
- An HTTP webhook receives orders from customers that cannot send EDI 850 messages, typically smaller buyers using email-attached PDF POs.
- AI-Process Order normalizes the PDF into the same structured schema your EDI pipeline produces, orderNumber, lineItems, shippingAddress.
- The normalized payload is posted to the warehouse management system (WMS) API just like an EDI order, triggering the same pick-pack-ship process.
- A confirmation email is sent to the customer with order number, expected ship date, and line summary. Shipping labels are created automatically when the order is picked.
- An Airtable customer-onboarding row tracks non-EDI customers and the volume of PDF orders received per month, helping prioritize EDI rollout outreach.