Invoice Automation System

The Problem Link to heading

The company had no standardized way of handling invoices. Some arrived by email as PDF attachments, others were physical documents photographed by employees in the field. There was no single place to collect them, no consistent set of metadata attached to each one, and sorting them for accounting purposes was done manually โ€” when it was done at all. Building reliable financial reports on top of that chaos was nearly impossible.

The Solution Link to heading

I designed and built a unified invoice management system using the Microsoft Power Platform. The system covers three distinct entry points and ties them together into a single structured dataset ready for reporting.


1. Power Apps โ€” mobile invoice submission for employees Link to heading

The first component is a canvas app built in Power Apps, designed for use on a smartphone. When an employee receives a physical invoice or needs to log one on the spot, they open the app, photograph the document directly from the camera, and fill in a short form:

  • Supplier name
  • Invoice amount and currency
  • Invoice date
  • Cost category
  • Justification โ€” a required free-text field explaining what the invoice is for and why it was incurred

The justification field was a deliberate design decision. It solved a recurring accounting problem: invoices arriving with no context, requiring back-and-forth with the employee to understand the purchase. By making it mandatory at the point of submission, the information is captured while it’s fresh.

All submissions are saved directly to a SharePoint list with the photo attached, timestamped and attributed to the submitting user.


2. Power Automate โ€” notifications on new invoice submission Link to heading

Every time a new invoice is added through the app, a Power Automate flow triggers automatically. It sends a notification to the finance team โ€” via Teams message and email โ€” containing the key invoice details and a direct link to the record. No more checking the list manually or waiting for a weekly summary. The moment an invoice lands, the right people know about it.


3. Power Automate + AI Builder โ€” automated processing of emailed invoices Link to heading

The second entry point was the company email inbox, where suppliers send PDF invoices directly. This flow runs continuously in the background:

  1. Trigger: a new email arrives with an attachment
  2. AI Builder โ€” Document Classification: the attachment is passed to an AI Builder model trained to distinguish invoices from other document types (delivery notes, contracts, correspondence). If it’s not an invoice, the flow stops.
  3. AI Builder โ€” Invoice Processing (OCR): if classified as an invoice, the model reads the document and extracts structured fields: supplier name, invoice number, date, line items, VAT amounts, and total.
  4. SharePoint: the extracted data is written as a new row in the same SharePoint list used by the Power Apps submissions, with the original PDF attached.

The result: invoices from email are processed and stored in exactly the same format as those submitted manually through the app โ€” no manual data entry required.


4. Power Automate โ€” automatic folder sorting by month Link to heading

The final automation runs on a schedule and organizes all invoice attachments (from both sources) into a structured SharePoint document library. Each invoice file is moved to a folder matching its invoice date: Invoices / 2025 / 06 - June, Invoices / 2025 / 07 - July, and so on.

This replaced a task that someone was doing manually โ€” inconsistently and often behind schedule โ€” with a process that runs automatically and never falls behind.


Outcome Link to heading

The system unified three previously disconnected processes into a single pipeline:

Before After
Physical invoices photographed and sent by WhatsApp/email Submitted through structured app with mandatory context
Email invoices manually copied into spreadsheet Automatically extracted by AI Builder and written to SharePoint
Files scattered across email threads and desktop folders Auto-sorted into monthly folders in SharePoint
No consistent metadata Every invoice has: date, supplier, amount, category, justification
Financial reports built from incomplete data Clean, structured dataset ready for real-time Power BI reporting

The structured SharePoint dataset became the foundation for a real-time financial dashboard in Power BI โ€” something that wasn’t feasible before because the underlying data simply wasn’t reliable enough.

Stack Link to heading

  • Power Apps (canvas app) โ€” mobile invoice submission
  • Power Automate โ€” notification flows and scheduled sorting
  • AI Builder โ€” document classification and invoice OCR
  • SharePoint โ€” data storage and document library
  • Power BI โ€” financial reporting layer (built on top of this system)