IA

Invoice Automation & Reconciliation System

Dynamics 365 · Power Automate · Power Apps · Dataverse · Azure AI

Interactive Prototype — Simulated Data
⚠ Clickable walkthrough with simulated data — not a live Dynamics connection. Final architecture confirmed after technical discovery with your IT team.
4-6 hrs
Manual reconciliation, per client/month
5-10 min
Automated, per client/month
100%
Column-level match accuracy target
2 Systems
Connected: Automation + Template Engine

What Problem Are We Solving

Two real, separate pain points your team deals with today.

Manual Today
  • Invoice built by hand per client — 45–60 min each
  • Employee days-worked (Excel) manually cross-checked against signed attendance (PDF)
  • Each column matched by eye, row by row
  • Mismatches caught late, or missed
After This System
  • Invoice auto-generated on creation in Dynamics
  • Excel + signed PDF uploaded once, matched automatically
  • Every column verified programmatically
  • Mismatches flagged instantly for review, not discovered after payment
Work Package 1

Invoice Automation

  • Dynamics 365 Project Module trigger
  • Auto VAT calculation, template fetch
  • Excel/PDF generation + email to client
  • Status auto-updated in Dynamics
Work Package 2

Template & Reconciliation Engine

  • Upload existing Excel templates, or build new
  • Upload employee Excel timesheet + signed PDF attendance
  • Engine matches every employee/column automatically
  • Verified amount feeds directly into Work Package 1

Step 1 — Create the Invoice

Mirrors the exact fields your team already fills in Dynamics 365.

Step 2 — What Happens Automatically

Live pipeline — exactly what Power Automate executes behind the scenes.

Step 1 — Upload Client Documents

This is what your team uploads instead of manually cross-checking.

📊
Click to simulate upload — Timesheet.xlsx
📄
Click to simulate upload — Attendance_Signed.pdf

Step 2 — Reconciliation Pipeline

Every employee record, matched column by column.

Step 3 — Employee-Level Match Results

Excel-reported days vs. PDF-verified (signed) days — this is what the engine checks per employee.

Once verified, this final amount is written back to Dynamics 365 and picked up by Work Package 1 to generate the client invoice automatically — no manual re-entry.

Proposed Technical Stack

Every component is native to Microsoft's ecosystem — nothing here needs a third-party platform.

PA

Power Apps

Upload & Management UI

Where your team uploads Excel timesheets, signed PDFs, and manages invoice templates — no raw file editing.

AI

Azure AI Document Intelligence

PDF Data Extraction

Reads the signed PDF attendance sheets (tables, values, signature presence) and converts them into structured data the engine can compare.

GX

Microsoft Graph / Excel API

Excel Data Reading

Reads the employee timesheet workbook directly — including the specific sheet that tracks days present per employee.

FN

Azure Function (C#)

Matching / Reconciliation Engine

Core logic: matches each employee record between Excel and PDF, applies exact + fuzzy matching (for name spelling variations), flags mismatches. This is custom code — beyond what low-code alone can reliably do at this accuracy level.

DV

Dataverse

Data & Audit Trail

Stores client master, invoice templates, reconciliation results, and a full audit log of every match/mismatch decision.

PAU

Power Automate

Orchestration

Connects every step end-to-end: triggers the Function, waits for results, writes verified amounts, generates invoices, sends email.

D365

Dynamics 365

System of Record

Final verified invoice amount lands here — visible to your team as the accurate, audit-ready figure ready for client billing.

Honest note on scope: The matching engine's accuracy depends on the real quality/consistency of your current Excel and PDF files (scanned vs. digital, consistent naming, etc.). We will confirm exact matching rules (exact match vs. fuzzy tolerance vs. manual-review queue) during a technical discovery session with sample files — before committing to a fixed accuracy number or timeline for this specific component.

Complete System Architecture

Every layer, and how data physically moves between them — the gold dots show live data movement, top to bottom.

= data moving between platforms
Client Interface Layer
Power Apps

Canvas App

  • Upload Excel
  • Upload PDF
  • Config Fields
Dynamics 365

Project Module

  • View Invoice
  • Approve
  • Send to Client
Reporting

Dashboard

  • Status Track
  • Analytics
  • Audit Trail
All three feed into one central database
Central Database
Dataverse

Central DB

  • Client Configs
  • Templates
  • Matching Rules
  • Invoice Data
Branches out to three processing engines
Processing Engines
Power Automate

Flow

  • Orchestrates
  • Triggers
  • Handles workflow
Dynamics-Native

C# Plugin

  • Reconcile
  • Match data
  • Calculate & validate
Cloud Compute

Azure Functions

  • PDF parsing
  • Advanced OCR
  • Async jobs
All three converge into one processing layer
Processing Layer (Libraries)
Core Logic

Document & Matching Engine

  • iTextSharp — PDF parsing
  • ClosedXML — Excel reading
  • Fuzzy matching engine
  • Column reconciliation
Final data & files land in storage
Storage Layer
Files & Docs

SharePoint

  • Files
  • Docs
  • Versions
Dataverse Engine

SQL Server

  • Master data
  • Transactions
Cloud Storage

Azure Blob

  • Large PDFs
  • Backups
✅ Key Design Points
  • Dataverse acts as the central database for all configs and master data
  • Power Automate orchestrates workflow between systems
  • C# Plugins handle complex data-matching logic natively inside Dynamics
  • Azure Functions handle heavy processing — PDF parsing, large datasets, OCR
  • SharePoint stores original files with version control
Honest note on scope: This is the proposed full architecture once both work packages are live. Not every box is needed on day one — the MVP starts with Power Automate + Dataverse + SharePoint, and the C# Plugin / Azure Functions / Blob Storage layers are added as reconciliation volume and PDF complexity require them. We'll confirm exactly which layers are needed after reviewing real sample files.

How Everything Connects — One Picture

From raw client files to a verified invoice in Dynamics 365.

Inputs
Upload
Employee Excel Timesheet
Upload
Signed PDF Attendance
Existing
Client Invoice Templates
Work Package 2 — Reconciliation Engine
Extract
Azure AI Document Intelligence (PDF)
Extract
Graph/Excel API (Timesheet)
Match
Azure Function — C# Engine
Verified Data Layer
Stores
Dataverse — Verified Amount + Audit Trail
Work Package 1 — Invoice Automation
Orchestrate
Power Automate
Calculate
VAT + Total
Generate
Excel/PDF Invoice
Output
Record
Dynamics 365 — Status: Sent
Delivered
Client Inbox