Skip to main content

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.

Related Blog Posts
No blog post yet for this feature — coming soon.
In the meantime, browse the PDF4me blog for tutorials and workflows across every platform.
Visit the blog

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

Same schema for purchase orders and sales orders
POs received from customers and SOs created internally both return the same extraction schema. Pipe both into the same downstream ERP or analytics workflow without conditional branching, saves scenario complexity and operations cost.
Full line items array, loop with an Iterator
The lineItems output is an array with description, quantity, unitPrice, and total per row. Add a Make Iterator after the parser to loop over each line and create individual ERP order lines, run inventory checks, or split shipments across warehouses.
ISO 4217 currency codes for clean reconciliation
The currency field is always returned as a normalized ISO 4217 code (USD, EUR, GBP, INR, etc.) regardless of source language or currency symbol on the order. Three-way matching against invoices and receipts works directly without symbol parsing or locale-specific logic.
Make PDF4me AI-Process Order module configured with Connection set to My PDF4me connection, File set to Map with Order Name and Document mapped from the previous file download step, ready to extract order number, customer name, line items, quantities, pricing, and shipping address

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.

ParameterRequiredWhat it doesExample
ConnectionRequiredPDF4me 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 TypeRequiredHow 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 FieldConditionalBinary 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 ContentConditionalBase64-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 URLConditionalPublic 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 NameRequiredFilename of the order with proper extension (.pdf, .png, .jpg, .jpeg). Used for format detection and AI processing optimization.po-2024.pdf

Output Fields

FieldTypeWhat it contains
orderNumberStringExtracted order number or reference identifier (e.g. PO-2024-001 or SO-78423).
orderDateStringOrder date in ISO 8601 format (YYYY-MM-DD).
customerNameStringCustomer or vendor name printed on the order document.
lineItemsArrayArray of line items with description, quantity, unitPrice, and total per row. Loop with a Make Iterator for one ERP line per row.
subTotalNumberSubtotal amount before taxes, shipping, and discounts.
totalNumberFinal total amount including all charges.
currencyStringCurrency code in ISO 4217 format (USD, EUR, GBP, INR, JPY, etc.).
shippingAddressStringShipping or delivery address printed on the order.
jobIdStringPDF4me job identifier for audit trail and support tickets.
successBooleanTrue if the AI extraction completed successfully; false if it failed.
messageStringHuman-readable status message confirming success or describing the error.

How do I set up AI-Process Order in Make?

  1. Add PDF4meAI-Process Order to your Make scenario.
  2. Select Connection (or click Add to create one with your PDF4me API key).
  3. Choose Input Data Type: Binary Data for files from a previous module, Base64 String, or URL.
  4. Under File, choose Map to reveal Order Name and Document fields.
  5. Map Order Name to the filename with extension (.pdf, .png, .jpg, or .jpeg).
  6. Map Document to the binary content from the source module: typically the Data field of Dropbox, Google Drive, Gmail, or HTTP modules.
  7. 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 lineItems to create one ERP order line per row.

Workflow Examples

Workflow ExamplesCommon Make scenario patterns using AI-Process Order.
Customer PO email → AI extract → NetSuite sales order
  1. Gmail triggers when an email arrives from a known customer domain with a PO PDF attached.
  2. AI-Process Order extracts orderNumber, customerName, orderDate, lineItems, total, and shippingAddress.
  3. A NetSuite Search Customer step uses customerName to locate the existing customer record (or branches into Create Customer if not found).
  4. 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.
  5. 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.
Vendor PO PDF → three-way matching → approval
  1. A SharePoint Watch Files trigger fires when a new vendor PO is uploaded by procurement.
  2. AI-Process Order extracts orderNumber, total, lineItems, and currency. A separate AI-Invoice Parser run extracts the matching invoice fields when it arrives later.
  3. 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.
  4. 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.
  5. Approved orders post payment instructions to the AP system; rejected orders create an exception ticket in Jira for procurement to resolve with the vendor.
EDI fallback → AI order parse → warehouse fulfillment
  1. An HTTP webhook receives orders from customers that cannot send EDI 850 messages, typically smaller buyers using email-attached PDF POs.
  2. AI-Process Order normalizes the PDF into the same structured schema your EDI pipeline produces, orderNumber, lineItems, shippingAddress.
  3. The normalized payload is posted to the warehouse management system (WMS) API just like an EDI order, triggering the same pick-pack-ship process.
  4. 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.
  5. An Airtable customer-onboarding row tracks non-EDI customers and the volume of PDF orders received per month, helping prioritize EDI rollout outreach.

Frequently Asked Questions

What order fields does AI-Process Order extract?+
The module returns a complete order payload: orderNumber, orderDate in ISO 8601 format, customerName, a lineItems array with product description, quantity, unit price and line total per row, subTotal, total, currency code (ISO 4217), and shippingAddress. The same schema applies whether the document is a purchase order received from a customer or a sales order generated by your own systems: so a single downstream workflow can serve both directions.
Can AI-Process Order handle both purchase orders and sales orders?+
Yes. The AI is trained on both purchase orders (POs you receive from customers or your procurement team sends to vendors) and sales orders (orders you create internally for fulfillment). The extracted schema is identical, so you can pipe both document types into the same downstream ERP, fulfillment, or analytics workflow without conditional logic: saves scenario complexity and operations cost.
How do I post extracted orders directly into my ERP?+
After AI-Process Order, wire orderNumber, customerName, lineItems, and total into a downstream module that calls your ERP API: NetSuite, SAP, Microsoft Dynamics 365, Odoo, QuickBooks Commerce, or Zoho. Use a Make Iterator inside the workflow to loop over the lineItems array and create one order line per iteration. The full order is created in the ERP within seconds of receiving the original PDF, with no manual data entry.
What file formats and order document types are supported?+
PDF, PNG, JPG, and JPEG are all accepted. The AI handles structured PO templates from major procurement systems (SAP Ariba, Coupa, Oracle Procurement, Microsoft Dynamics, JD Edwards), email-attached order PDFs, scanned paper orders, and free-form order documents that do not follow a strict template. Always set the Order Name with the correct file extension so the AI selects the right processing path.
Can the parser extract orders in multiple currencies and languages?+
Yes. The AI handles orders in English, German, French, Spanish, Italian, Portuguese, Dutch, and other major business languages without any extra configuration. The currency field is returned in ISO 4217 format (USD, EUR, GBP, INR, CHF, JPY, etc.) so downstream conversion, three-way matching, or analytics logic always has a normalized currency code regardless of source language or currency symbol on the document.

Get Help