Power Automate Invoice Extraction

Jul 19, 2026

Try it now: upload an invoice and get the data in Excel or CSV

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload your invoices

To extract invoice data with Power Automate, use the AI Builder "Extract information from invoices" action, which reads fields like invoice ID, date, vendor, total, and tax from a PDF, JPG, or PNG with no training required. You build a flow that receives the invoice file, runs the prebuilt invoice model, and writes the returned fields into SharePoint, Excel, Dataverse, or your accounting system. AI Builder charges a per-page rate, so the real decisions are how you feed invoices in and whether a dedicated extraction API is cheaper at your volume. Last updated July 2026.

This guide walks through the exact steps to build an invoice extraction flow in Power Automate, what the AI Builder invoice model captures, what it costs, where it struggles, and when a purpose-built extraction API is the better fit. It is written for US finance and operations teams already on Microsoft 365 who want invoices turned into structured data without manual keying.

How do you extract invoice data with Power Automate?

You extract invoice data in Power Automate by adding the AI Builder invoice action to a flow and mapping its output to a destination. The prebuilt model combines OCR with an invoice-specific deep learning model, so it works on common layouts in English without any setup. Here is the build, step by step:

StepWhat you do
1. Choose a triggerStart the flow on a new email attachment in Outlook, a file added to SharePoint or OneDrive, or a manual upload.
2. Get the file contentAdd the action that returns the invoice file (for example, Get attachment content or Get file content).
3. Add the AI Builder actionSelect New step, then AI Builder, then Extract information from invoices, and pass the file into the Invoice field.
4. Map the outputsUse the returned fields (invoice ID, date, due date, vendor, total, tax, and more) as dynamic content in later steps.
5. Write to a destinationCreate a row in Excel or Dataverse, update a SharePoint list, or post to your ERP or accounting API.
6. Add a confidence checkRoute low-confidence results to a human review step instead of writing them straight through.

The action returns each field with a confidence score between 0 and 1, which is the single most useful output for automation. Use it to decide what posts automatically and what a person checks first.

What data does the AI Builder invoice model extract?

The prebuilt invoice model reads the standard header and total fields plus key-value pairs for anything custom. Out of the box it captures customer, vendor, invoice ID, invoice date, due date, purchase order number, subtotal, tax amount, total, amount due, and the bill-to and ship-to addresses. It also returns line items on many layouts, and it exposes key-value pairs so you can pull additional labels that are not in the predefined list. Files can be PDF, JPG, or PNG, and the model handles English invoices without training.

The limits are worth knowing before you commit a workflow to it. The prebuilt model is tuned for common invoice shapes, so unusual vendor layouts, poor scans, or non-English invoices can drop fields or lower confidence. Line-item accuracy varies more than header-field accuracy, which matters if you need every row for a three-way match rather than just the total.

How much does Power Automate invoice processing cost?

AI Builder charges a per-page rate for the invoice model, so cost scales with how many invoice pages you process, not with the number of flows. It is not free, though premium Power Automate and Power Apps licenses include a monthly AI Builder credit allowance that can cover light volume. Once you exceed the included credits, you buy AI Builder capacity add-ons, and a multi-page invoice consumes a page charge per page. For a team running a few hundred invoices a month, budget the per-page rate across your real page count, not your invoice count, since a five-page invoice costs five times a one-pager.

This is where many teams reconsider the build-it-in-Power-Automate approach. If your goal is simply clean invoice data in a spreadsheet or your ledger, a flat-rate invoice data extraction API often costs less at steady volume and removes the per-page metering entirely. You can call that API from the same Power Automate flow using the HTTP action, keeping your Microsoft 365 triggers and destinations while swapping the extraction engine underneath.

Can Power Automate read scanned or photographed invoices?

Yes. The AI Builder invoice model includes OCR, so it reads scanned PDFs and photos, not just digital PDFs. Accuracy tracks scan quality: a clean 300 DPI scan reads far better than a skewed phone photo with glare. For reliable results, feed the highest-quality image you have, and add a confidence threshold so borderline pages go to review. If a large share of your invoices arrive as low-quality scans, test extraction on your worst examples first, because that is where prebuilt models and dedicated tools separate. Our overview of whether AI can read invoices covers what drives accuracy on messy documents.

When should you use an extraction API instead?

Use a dedicated extraction API instead of the AI Builder model when invoices are the main job, when you want predictable flat pricing, or when line-item accuracy across many vendor layouts matters. The AI Builder model is a strong fit if you are already deep in Power Platform, your volume is light enough to sit inside included credits, and you mostly need header fields. It is a weaker fit when per-page costs stack up at volume, when you need every line item captured reliably, or when you want to reuse the same extraction outside the Microsoft ecosystem.

A practical middle path keeps Power Automate as the orchestration layer and calls an external extractor through the HTTP action. Your flow still triggers on an Outlook attachment or a SharePoint file, but the extraction runs on a purpose-built engine that returns structured invoice JSON with full line items, and you map that JSON to your destination exactly as you would the native action. Because invoices so often arrive as email attachments spread across several accounts, teams juggling many shared boxes sometimes pair the flow with a tool to bring every mailbox into one place before routing them into extraction.

Power Automate vs a dedicated invoice extractor

Here is the honest comparison for the invoice-extraction job specifically:

FactorPower Automate + AI BuilderDedicated invoice extractor
SetupBuild a flow, no model trainingUpload or call API, no flow to build
PricingPer page, credits then add-onsFlat monthly plan common
Line itemsYes, accuracy varies by layoutYes, full line-item tables
EcosystemDeep Microsoft 365 integrationWorks anywhere via API or browser
Best forPower Platform shops, light volumeInvoice-heavy teams, steady volume

If you are comparing approaches more broadly, our guide to extracting invoice data with Python covers the code-first route, and the automated invoice data extraction page shows the no-code, no-flow option. The right choice comes down to your volume, how much you value flat pricing, and whether you are standardizing on Microsoft 365 or want extraction you can reuse anywhere.

Frequently asked questions

Is the AI Builder invoice model free? No. It charges a per-page rate, though premium Power Automate and Power Apps licenses include a monthly AI Builder credit allowance that covers light use before you buy add-ons.

Does it need training? No. The invoice model is prebuilt, so it reads common English invoice layouts with no training or configuration. You only train a custom model if the prebuilt fields do not cover your documents.

Can I get line items? Yes, on many layouts, but line-item accuracy varies more than header fields. Test your real invoices and add a confidence check before writing line items straight through.

Can I call an external extractor from Power Automate? Yes. Use the HTTP action to send the invoice to an extraction API and map the returned JSON to your destination, keeping Power Automate as the orchestration layer.

From the same family of tools