AI Invoice Extraction
The AI Invoice Extraction action sends the specified document(s) to be read by AI and returns the invoice's data — header fields and line items — onto the Record. Unlike OCR/AI processing, this action sends the document immediately rather than placing it on a queue.
It uses a fixed, built-in invoice schema, so there is nothing to define: the fields listed below are always extracted. For non-invoice documents use AI Generic Extraction, which takes its field list from the Record Type instead.
AZURE ONLY: This is an AI action and runs only on Azure-hosted / AI-licensed sites.
What it extracts
Header fields, saved as Invoice_Master_<name>:
- Vendor
- VendorAddress
- VendorRemittanceAddress
- VendorPhone
- VendorFax
- VendorEmail
- CustomerNumber
- InvoiceNumber
- InvoiceDate
- DueDate
- PONumber
- Currency
- Terms
- Subtotal
- Tax
- Shipping
- Amount
Line-item fields, saved as InvoiceLine_<name>:
- Description
- ProductCode
- Quantity
- UnitPrice
- Amount
These names match the older AI Invoice Processing, so the Invoice Indexing action maps them exactly as it always has.
One value is calculated rather than read: if an invoice states no due date but does state an invoice date and payment terms, DueDate is worked out from them — "Net 30" becomes the invoice date plus 30 days, "Due on receipt" becomes the invoice date. A stated due date is always preferred, and DueDate is left empty when the terms carry no clear day count.
Pages to Send
By default the whole document is sent to the AI. Pages to Send, on the Document(s) tab, limits it to the pages you name. Leave it blank to send everything. Enter 1 for the first page only, 1,2,5 for a list, 1-3 for a range, or mix them — 1,5-7 works. Pages are counted from 1, and the range is applied after any conversion to PDF, so it means the same thing whatever the original file format was. Numbers that do not exist in the document are simply ignored. The box accepts variables, so the page list can come from a value on the Record rather than being fixed on the action.
There are two reasons to use it.
It gets long documents through at all. Extraction does not process a document in pieces — one document produces one set of fields, in one AI call — so a document too long or too high-resolution for a single call is refused outright rather than partially processed. Naming just the pages that carry the data is how a very large scan gets extracted.
It cuts tokens on ordinary invoices too. An invoice whose header and totals are always on the first page and whose remaining pages are terms and conditions costs a fraction to process when only page 1 is sent.
The pages actually sent are recorded on the action's Start line in the workflow log, so you can confirm what the AI saw.
Anything on a page you did not send is invisible. Line items are the usual casualty: a range of 1 on a five-page invoice returns the header perfectly and only the line items that fit on page one. If line items are short, check the page range before anything else.
Options
The action's settings are grouped into three tabs.
Document(s)
- Active Document — Turn on to process the active document. This only applies when the workflow is acting on a routed Document rather than a Record.
- Found Documents — On, all documents matching the criteria below are processed. Off, only the first matching document is.
- Cat/Sub/Name — The Category, SubCategory and Name of the documents to process. The active Record's documents are queried and those matching are processed. Leave blank to match any.
- Pages to Send — Which pages are sent to the AI. Blank sends every page. See the Pages to Send section above.
AI Level
- Quality — The AI quality to use for this action:
- Economy — best for clean, electronic PDFs; not suited to skewed, scanned, or complex ones. Cost: lowest. (Economy does not support caching, so it is best for smaller volumes.)
- Balanced — best for a mix of scanned and electronic PDFs that may be fuzzy or slightly skewed. Cost: middle.
- Maximum Quality — best for complex, skewed, or irregular invoices that need more reasoning to resolve. Cost: highest.
Advanced
- Extra Instructions — Hints for the AI, such as "PO Number may be called Vendor Order Number" or "do not process line items". You can also ask for fields beyond the standard set here — name the field and say whether it is per-invoice or per-line, for example "Also capture each line's unit of measure as UOM" or "Capture the buyer's PO date as POReceivedDate". Requested fields are saved alongside the standard ones, header fields as `Invoice_Master_*` and line fields as `InvoiceLine_*`. This is the only way to capture data beyond the standard invoice set — naming the field you want is cheaper and far more reliable than asking the AI to return everything it sees.
- Date Format — How ambiguous dates (for example 05/06/2025) are interpreted. System Default inherits the global Default Date Format from System Options; MDY or DMY forces the interpretation for this action.
Warnings and reasoning
Fields the AI could not find are reported as Invoice_Master_AIWarning values on the Record — one value per warning, naming the field. They are cleared and rewritten each time the action runs, so they always describe the latest attempt. Because they are ordinary data values you can search on them or filter a workflow step on them to route only the incomplete invoices to a person for review.
The AI's short explanation of what it did is stored as Invoice_Master_Reasoning. Read it first when a result is surprising.
TIPS
- Add an Invoice Indexing action after this one to move the extracted values onto the real Record fields. Without it the Invoice_Master_* values sit on the Record unmapped.
- Set Pages to Send when your invoices have a predictable layout — header and totals on page one, terms on the rest. It cuts tokens on every invoice processed.
- If extraction fails on a very large document, a page range is the first thing to try. Extraction cannot break a document into pieces on its own.
- Do not ask for the standard invoice fields in Extra Instructions — they are always extracted. Use it for hints, for suppressing line items, or for genuinely extra fields.
- Start with Balanced quality; move to Maximum Quality only if fields are being missed on poor scans, and try Economy for clean, low-volume digital PDFs.
- Set Date Format explicitly when you process invoices from a region whose date order differs from your site default. It removes the ambiguity rather than leaving it to be inferred.
- Check Invoice_Master_AIWarning and Invoice_Master_Reasoning on a test Record before concluding that extraction is failing — they usually name the problem directly.
NOTE ON (AI): Reading the document with AI consumes tokens and may incur extra fees. Workflow tokens are billed separately from End-User or Admin tokens — check with your sales rep for more information.