AI-Invoice Parser in Make
What this module does
PDF4me AI-Invoice Parser extracts structured data from PDF or image invoices inside your Make scenario using AI — no template setup, no field coordinates, no rules to maintain. Supply a PDF, PNG, JPG, or JPEG and the module returns vendor details, line items, amounts, dates, taxes, currency, and payment terms as individually mappable fields. Ideal for accounts payable automation, expense management, financial reconciliation, and invoice digitization workflows that scale across hundreds of vendors and formats.
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 invoice extraction requests securely.
Important Facts You Should Not Miss

Set File to Map, wire Invoice Name and Document from the prior module, and optionally add Custom Field Keys to extract fields beyond the standard invoice schema.
Parameters
Required: Connection, Invoice Name, and Document must always be provided. The matching input field (Binary Property, Base64 Content, or File URL) is required based on the chosen Input Data Type. Custom Field Keys are optional and can be added per scenario.
| Parameter | Required | What it does | Example |
|---|---|---|---|
| Connection | Yes | 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 | Yes | How the invoice is supplied. Binary Data reads from a previous module (most common). Base64 String accepts encoded payload. URL downloads from a public link. | Binary Data |
| Input Binary Field | Conditional | Binary content of the invoice file. Required when Input Data Type is Binary Data. Wire from Dropbox, Google Drive, OneDrive Data field, or any HTTP/email module that returns file bytes. | 1. Data |
| Base64 Invoice Content | Conditional | Base64-encoded invoice content. Required when Input Data Type is Base64 String. Useful when invoice arrives from a webhook or API call that delivers encoded content. | JVBERi0xLjQK... |
| Invoice URL | Conditional | Public URL to the invoice file. Required when Input Data Type is URL. The URL must not require authentication. | https://example.com/invoice.pdf |
| Invoice Name | Yes | Filename of the invoice with proper extension (.pdf, .png, .jpg, .jpeg). Used for format detection and AI processing optimization. | invoice.pdf |
| Custom Field Keys | No | Optional list of custom field keys to extract beyond the standard invoice schema. Each key returns as an individual mappable token in the output bundle. | ["vendor_phone", "tax_id", "purchase_order_number"] |
Output Fields
| Field | Type | What it contains |
|---|---|---|
invoiceNumber | String | Extracted invoice number or reference identifier (e.g. INV-2024-001). |
vendorName | String | Complete name of vendor or supplier as printed on the invoice. |
vendorAddress | String | Complete vendor address including street, city, state, and postal code. |
vendorEmail | String | Vendor email address when present on the invoice. |
vendorPhone | String | Vendor phone number when present on the invoice. |
billToName | String | Name of the entity being billed (your company or end customer). |
billToAddress | String | Complete billing address. |
invoiceDate | String | Invoice issue date in ISO 8601 format (YYYY-MM-DD). |
dueDate | String | Payment due date in ISO 8601 format. |
subTotal | Number | Subtotal amount before taxes. |
total | Number | Final total amount including all taxes and adjustments. |
currency | String | Currency code in ISO 4217 format (USD, EUR, GBP, INR, CHF, etc.). |
paymentTerms | String | Payment terms and conditions (e.g. Net 30, Due on receipt). |
lineItems | Array | Array of line items with description, quantity, unitPrice, total, and HSN code when present. |
cgst / sgst / igst | Number | Indian tax fields when present on the invoice — central, state, and integrated GST amounts. |
confidence | Object | Per-field confidence scores (0–1). Use a Make Filter to route low-confidence extractions for human review. |
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. |
Quick Setup
- Add PDF4me → AI-Invoice Parser to your Make scenario.
- Select Connection (or click Add to create one with your PDF4me API key).
- Under File, choose Map to reveal Invoice Name and Document fields.
- Map Invoice Name to the filename of the source file (include
.pdf,.png,.jpg, or.jpeg). - Map Document to the binary content from the source module — typically the Data field of Dropbox, Google Drive, OneDrive, or Gmail attachment modules.
- Optionally add Custom Field Keys for fields beyond the standard invoice schema (e.g.
purchase_order_number,tax_id,store_number). - Click Save and run the scenario. The output bundle exposes every extracted field — wire them into QuickBooks, Xero, Airtable, Google Sheets, Slack approval, or HTTP modules.
Workflow Examples
Workflow ExamplesCommon Make scenario patterns using AI-Invoice Parser.
- Gmail triggers when an email arrives from a known vendor address with a PDF invoice attachment.
- The attachment is passed to AI-Invoice Parser. The output bundle returns vendor name, invoice number, line items, total, currency, and payment terms.
- A Make Filter checks confidence on the total field — extractions below 0.85 route to a Slack channel for human review.
- High-confidence invoices are posted to QuickBooks as a new bill with vendor, due date, line items, and account mapping applied automatically.
- An Airtable log record captures the invoice number, vendor, amount, status, and timestamp for audit reporting.
- A Dropbox Watch Files trigger fires whenever a new invoice PDF is dropped into the accounting inbox folder.
- AI-Invoice Parser extracts the full invoice payload. Custom Field Keys add purchase_order_number and department_code so cost allocation is captured per row.
- A Google Sheets Add a Row module appends one normalized ledger row per invoice — vendor, total, currency, PO, department, due date.
- A second module iterates over each lineItem and appends it to a separate Line Items sheet for spend analytics.
- The invoice PDF is moved into a year-month subfolder for archive, keeping the inbox clean for the next run.
- A webhook receives invoices from an internal portal. The Document binary is passed to AI-Invoice Parser.
- A Router branches on the extracted total amount. Invoices over $10,000 require CFO approval; over $1,000 require manager approval; under $1,000 auto-approve.
- Each branch sends a Slack approval message containing vendor, total, line items, and a link to the original PDF.
- When approval is received, the invoice posts to Xero as a bill with the correct GL account based on Custom Field Keys (department_code, project_code).
- A final Airtable row records the approver, approval timestamp, and final disposition for compliance audit trails.