AT
Anas Tabit — Process Automation Consultant
6+ years automating workflows at Citi, J.P. Morgan & HSBC. Specialises in Excel VBA, Power Automate & Python. LinkedIn →

Invoice processing is one of the most reliable targets for automation in any finance or operations team. The volume is high, the structure is predictable, errors are costly, and the manual effort is almost entirely mechanical. I have built invoice automation workflows across banking, asset management, and corporate finance operations — and the pattern is consistent enough that I can walk you through the exact architecture used in production environments.

Manual vs automated invoice processing: the numbers

StepManual processAutomated with Power Automate
Invoice receiptSomeone checks inbox multiple times dailyTrigger fires instantly on email arrival
Data extraction10–15 min manual keying per invoiceAI Builder or e-invoice parsing: <10 seconds
GL codingManual lookup or email to cost centreLookup table covers 80%+ automatically
Approval routingEmail chain, manual follow-upTeams approval with auto-reminder and escalation
ERP postingManual entry after approval confirmedAutomatic on approval, with error handling
FilingInconsistent, often forgottenAuto-archived to SharePoint with structured naming
Time per invoice10–20 minutes1–2 minutes (exception handling only)
Processing cycle1–3 daysUnder 4 hours for standard invoices

Why invoice processing is a prime automation target

Three factors make invoice processing ideal for automation. First, high volume: most organisations process hundreds to thousands of invoices per month, each requiring the same sequence of steps. Second, predictable structure: every invoice contains the same fields — vendor, invoice number, date, line items, totals — even when the layout varies by supplier. Third, costly errors: a duplicated payment, a missed approval, or a late posting generates real financial and audit consequences.

The manual process consumes roughly 10–20 minutes per invoice across receipt, data entry, approval chasing, and posting. At 500 invoices a month, that is 80–160 hours of AP team time spent on mechanical work. Automation typically cuts that to 1–2 minutes of exception handling per invoice.

The typical manual process

Before designing the automated workflow, it helps to map exactly what happens today. The standard manual invoice process looks like this:

  1. Inbox monitoring — someone checks a shared AP email inbox multiple times a day for new invoices arriving as PDF attachments
  2. Data extraction — the AP team member manually reads the PDF and keys vendor name, invoice number, date, amount, and cost centre into a spreadsheet or ERP
  3. GL coding — the invoice is assigned a general ledger code, sometimes requiring communication with the requesting department
  4. Approval email chain — the invoice is forwarded to an approver via email; follow-up emails are sent when approvals are slow; the AP team tracks status in a spreadsheet
  5. ERP entry — once approved, someone manually creates the supplier invoice in the ERP system (SAP, Dynamics, Xero, etc.) and posts it to the ledger
  6. Filing — the original PDF is saved somewhere (often inconsistently) for the audit trail

Every one of these steps except GL coding can be fully automated. GL coding can be semi-automated with rules or AI, with human review for the edge cases.

E-invoice receiving process automation

A growing number of organisations now receive invoices in structured electronic formats — XML, UBL, EDI, or PEPPOL — rather than as PDF email attachments. This is increasingly mandated by regulation: EU Directive 2014/55/EU requires public sector e-invoicing across all member states, and several countries have extended this to B2B transactions. If your suppliers send invoices via an e-invoicing network or portal, the automation architecture is both simpler and more reliable than PDF-based processing.

Why e-invoice automation is faster to build and more reliable: PDF invoices require extraction — OCR or AI — to convert unstructured visual content into structured data fields. E-invoices are already structured. The data fields (vendor ID, invoice number, line items, VAT amounts, payment terms) are embedded in the file as machine-readable XML. Power Automate reads them directly with zero extraction uncertainty.

How Power Automate handles incoming e-invoices

Via HTTP trigger: if your e-invoicing portal or supplier network can POST structured invoice data to a webhook endpoint, Power Automate accepts it via an HTTP trigger. The flow parses the incoming JSON or XML payload, validates required fields, creates the SharePoint invoice record, and routes for approval — all without any attachment handling or email processing.

Via file drop to SharePoint: some e-invoicing networks deliver XML files to a monitored folder or SharePoint document library. Power Automate triggers on new file creation, uses the Parse JSON action to read the structured data, and proceeds with the same approval and posting logic as the PDF flow.

Via PEPPOL or middleware: organisations connected to the PEPPOL network or using invoice middleware (such as Basware, Tungsten, or Tradeshift) can typically export invoice data to a SharePoint list or Azure storage, which Power Automate monitors and processes downstream.

E-invoice vs PDF automation

If your suppliers can send structured e-invoices, start there. The flow is faster to build, has no extraction error rate, and is easier to maintain. Use the PDF AI Builder approach only for suppliers who cannot or will not send structured formats — typically smaller vendors or international suppliers outside e-invoicing mandates.

The automated workflow overview

The Power Automate architecture for end-to-end invoice processing follows this sequence:

  1. Trigger on new email in shared AP mailbox
  2. Extract attachment and invoice data (AI Builder or structured extraction)
  3. Log invoice to SharePoint list with status "Pending Approval"
  4. Route approval via Teams or Outlook Approvals based on invoice amount
  5. On approval: post to ERP and update SharePoint status to "Posted"
  6. On rejection: flag for review, notify AP team, update status to "Rejected"
  7. File original PDF to SharePoint document library with structured naming

What you need before you start

Before building the flow, confirm you have the following in place:

Tip: start without AI Builder

You do not need AI Builder to start. Begin with a flow that extracts from the email body (many suppliers send invoice details as structured text) and requires manual data confirmation via a form before posting. This gives you the approval routing and ERP integration benefits immediately, while you evaluate whether AI extraction is worth the cost for your invoice mix.

Step 1 — Trigger: monitor the shared mailbox

Create a Power Automate cloud flow with the trigger "When a new email arrives in a shared mailbox (V2)". Set the shared mailbox address and filter to emails with attachments only. Add a condition to check that the attachment is a PDF (checking file extension or content type) to avoid false triggers from non-invoice emails.

Save the attachment to a temporary location in SharePoint immediately after the trigger fires — this prevents loss if the flow errors later in the process and gives you a clean audit trail from the moment the invoice arrives.

Tip: use a dedicated folder

Configure the shared mailbox to auto-move processed emails into a "Processed" folder using an Outlook rule. This prevents the AP inbox from becoming unmanageable and makes it easy to spot anything the flow missed.

Step 2 — Extract invoice data

This is the most variable step depending on your tooling and invoice mix.

Option A: AI Builder Invoice Processing model. If you have AI Builder credits, add the "Extract information from invoices" action. This pre-trained model reads standard invoice fields from PDF attachments with high accuracy on typical supplier invoices. It returns vendor name, invoice number, invoice date, due date, currency, subtotal, tax amount, and total amount as structured fields you can map to variables in the flow.

Option B: Structured extraction for consistent suppliers. For suppliers whose invoices follow a fixed format, use Power Automate's string operations or a regex expression (via an Azure Function or custom connector) to pull values from known positions in the PDF text content. This requires more setup per supplier but has zero ongoing cost.

Option C: Confirmation form. For a quick initial deployment, skip automated extraction entirely. Use a Power Automate approval or a Microsoft Forms response to ask the AP team to confirm invoice details before the flow proceeds. You still get automated approval routing and ERP posting — just with a human entering the data into the form rather than the system.

Step 3 — Log to SharePoint and assign GL code

Once data is extracted, create a new item in your SharePoint invoice register list. At minimum, capture: vendor name, invoice number, invoice date, due date, currency, amount, received date/time, file path to the archived PDF, and initial status ("Pending GL Code" or "Pending Approval").

GL coding can be handled in two ways: a lookup table in SharePoint that maps vendor name to default GL code (covers 80% of invoices automatically), or a brief Teams notification asking the cost centre owner to confirm the GL code before the approval step. Keep this step as light as possible — it is the main point where manual intervention slows the flow.

Already know you want to automate your invoice process?

A 15-minute call is usually enough to scope the build and give you a clear timeline and cost estimate.

Book Free 15-Min Call

Step 4 — Approval routing

Power Automate's built-in Approvals connector makes this clean. The routing logic should reflect your actual authority matrix:

Single approver: for invoices below a defined threshold (e.g. under $5,000), send an approval request directly to the budget holder or department manager. Use the "Start and wait for an approval" action — the approver receives an email and Teams notification with the invoice details and a one-click Approve/Reject.

Multi-level approvals: for invoices above the threshold, use a sequential approval chain. Power Automate supports this natively with "Sequential approval" — the invoice goes to the first approver, and only on their approval does it proceed to the second. Add a third level for invoices above a higher threshold (e.g. Finance Director sign-off above $50,000).

Timeout handling: set a deadline on each approval step. If no response within 48 hours, send a reminder notification. If no response within 96 hours, escalate to the approver's manager automatically. This eliminates the email-chasing that absorbs so much AP team time.

Tip: approvals in Teams

Use the Teams Approvals app, not email-only approvals. Approvers can approve directly from the Teams Approvals hub on mobile, and the approval card shows the invoice details inline — no need to open a separate document. Approval rates and speed improve significantly when the path to approval is one tap in an app the approver already has open.

Step 5 — ERP and accounting system integration

Once an invoice is approved, the flow creates the supplier invoice record in your accounting system automatically.

Dynamics 365 Finance: the native Power Automate connector supports creating vendor invoice headers and lines directly. Map the SharePoint fields to the Dynamics entity fields. For organisations already on the Microsoft stack, this is the cleanest integration path with no custom code required.

SAP: integration requires either the SAP ERP premium connector or an HTTP action pointing to SAP's OData API. The latter requires coordination with your SAP Basis team to expose the relevant RFC functions. More setup work, but fully automatable once configured.

Xero and QuickBooks: both have Power Automate connectors that support creating bills from invoice data. Map vendor, reference, date, line items, and currency from the flow variables. These integrations are typically the quickest to build — 2–4 hours of configuration for a working bill creation step.

Handling exceptions

Any invoice automation that only handles the happy path will break in production. The critical exceptions to design for explicitly:

Measuring the ROI

Once the flow is in production, measure these metrics to quantify the value delivered:

A typical mid-size finance team processing 300–600 invoices per month sees 60–80 hours of AP team time freed per month, elimination of duplicate payments, and a material reduction in late payment fees. Those three numbers alone usually justify the build cost within the first quarter of operation.

Common mistakes to avoid

Having built invoice automation for teams at multiple financial institutions, the same implementation errors appear repeatedly:

The honest answer on timeline

A basic email-to-SharePoint-to-approval flow can be built and tested in one to two days by someone who knows Power Automate. Full end-to-end production deployment — with AI extraction, multi-level approvals, ERP integration, exception handling, and testing against your actual invoice mix — takes two to four weeks for most organisations. The variability comes almost entirely from the ERP integration complexity and how well-defined your approval authority matrix is.

The Workflow Diagnostic session is the fastest way to scope this accurately for your environment. In one session I can review your current process, map the exception patterns, confirm your licensing position, and give you a precise build estimate. If you are ready to move forward, the calendar is open.

Next step

Map your invoice process and scope the build

The Workflow Diagnostic ($500) produces a written report with a step-by-step bottleneck map, automation feasibility assessment, and projected ROI — the business case you need before committing to a build.

Book a Workflow Diagnostic → Free 15-min audit first