9 min read

Playbooks

Power Automate Desktop: The Finance Team Blueprint for Batch Renaming

Build a Power Automate Desktop flow that captures invoices from every channel, normalizes metadata, and publishes audit-ready filenames.

OE

Oleksandr Erm

Founder, Renamed.to

Power Automate
Finance ops
Governance

Finance teams love structure, but month-end folders rarely cooperate. Vendors email invoices as attachments, AP exports arrive from ERPs in cryptic zip files, and auditors request evidence in SharePoint libraries that nobody curated. We built a Power Automate Desktop flow to tame the chaos for a distributed finance org that closes the books in three currencies. This isnisn'tapos;t just about prettier filenames—itit'sapos;s about cutting month-end close time by 30%.

Why Power Automate Desktop for Finance?

Power Automate Desktop (PAD) excels in finance because it bridges cloud and on-prem with native support for:

Local file system access: Network shares, SFTP, mapped drives—no cloud bottlenecks
Complex conditional logic: If vendor is Acme AND amount > $10K THEN approve else auto-process
AI enrichment: Azure Document Intelligence for OCR on scanned receipts
Audit integration: Dataverse logging for regulatory compliance (SOX, GDPR)
Microsoft 365 connectors: SharePoint, Teams approval cards, Excel lookups

When you add Renamed.to templating and Excel control sheets, you get a platform that non-developers can configure, finance teams can understand, and auditors can trust.

Architecture: Five Layers of the Pipeline

Here's the architecture most finance teams deploy:

Layer 1: Ingestion Triggers
Sources: Email attachments, SFTP folder, OneDrive inbox, network share, Zapier webhook
Output: File lands in staging directory

Layer 2: Metadata Extraction
OCR scanned invoices → vendor name, amount, date
Parse email subject → purchase order, date
Query Excel lookup table → vendor ID, cost center
Output: Structured metadata object

Layer 3: Validation & Enrichment
Check: Is vendor name in approved list?
Check: Does amount fall within ERP band?
Enrich: Look up GL account from cost center
Output: Clean metadata or exception flag

Layer 4: Approval Routing
If high confidence (>95%): Auto-rename and file
If medium confidence (80-95%): Send Teams approval card
If low confidence (<80%): Route to exception queue
Output: Approved metadata or human feedback

Layer 5: Execution & Audit
Rename file with canonical template
Move to fiscal-period folder
Log before/after to Dataverse
Notify ERP integration that file is ready
Output: Audit trail + downstream integration

Step 1: Set Up Ingestion Triggers

Create a Power Automate cloud flow with multiple triggers:

Email trigger: "When email arrives" from finance+invoices@company.onmicrosoft.com
Action: Save attachment to OneDrive /inbox folder

OneDrive trigger: "When file is created" in /finance/inbox
Action: Call PAD flow with file path

SharePoint trigger: "When file is created" in Invoices library
Action: Forward to PAD for rename

Prefer staging over direct renames

Staging gives you a safe sandbox to test new rules. If a template misbehaves, you can delete the staged output without touching the source folders that the business depends on every day. A staging directory should be emptied weekly; exceptions routed to a review queue.

Step 2: Extract and Map Metadata

For each file, power needs to extract:

1. Vendor name (or ID)
2. Invoice date (ISO 8601)
3. Amount in home currency
4. Document type (Invoice, PO, Credit Memo, W-9, etc.)
5. Reference number (if present)

For email attachments: Parse the subject line with Regex. Email subjects like "Invoice_ACME_20250310_$5000" can be split into components.

For scanned PDFs: Call Azure Document Intelligence API with the file content. Confidence scores tell you if the extraction is reliable enough to skip manual review.

For structured exports: If the vendor sends CSV or XML, parse with a JavaScript or Power Automate expression.

split(filename, '_')

Vendor Mapping with Excel Control Sheet

One finance team kept a shared Excel workbook:

| Vendor Name | Vendor ID | Approved | Cost Center | GL Account |
|---|---|---|---|---|
| Acme Inc | VEN-001 | Yes | 1000 | 5200 |
| Zendesk | VEN-002 | Yes | 2000 | 6100 |
| Unknown | VEN-000 | No | TBD | TBD |

Every time PAD encounters a vendor name, it does a VLOOKUP into this table. If the vendor is unknown, it logs the exception and routes for approval. Once approved, the finance team updates Excel (not code), and the next invoice from that vendor routes cleanly.

Step 3: Apply Consistent Finance-Friendly Templates

Once metadata is ready, apply a naming template. The one most finance teams settle on:

{Entity}-{Vendor}-{DocType}-{Date}-{Sequence}v01.pdf

Becomes: US-ACME-Invoice-20250310-001v01.pdf

In Power Automate Desktop, this is a simple compose action:

compose: Set($newFilename,
concatenate($entity, '-', $vendor, '-', $docType, '-', $date, '-', padLeft($sequence, 3, '0'), '.pdf'))

The sequence counter per vendor-month prevents collisions. A custom SQL query against your ERP checks: "How many ACME invoices landed in 2025-03? Increment the counter."

Step 4: Layer in Approvals and Exceptions

Not every document should pass straight through. Implement confidence tiers:

High confidence (>95%):
Auto-rename, move to fiscal folder, log success, notify ERP integration

Medium confidence (80-95%):
Send Teams approval card with extracted metadata
Manager confirms or corrects
If corrected, log the feedback (retrains AI model over time)

Low confidence (<80%):
Route to exception queue (Notion board or Power Apps canvas)
Finance team manually corrects
Once corrected, retry rename logic

Teams Approval Card Template

A single Teams card should show: filename, extracted vendor, amount, date, confidence score. Action buttons: "Approve", "Correct", "Reject". Make approval 15-second decisions, not hunting expeditions.

Step 5: Logging and Audit Trail

Log every rename to a Dataverse table:

| Timestamp | Original Filename | New Filename | Vendor | Amount | Confidence | Action | Actor |
|---|---|---|---|---|---|---|---|
| 2025-03-10 09:45 | Invoice_ACME_5000.pdf | US-ACME-Invoice-20250310-001.pdf | ACME | $5,000 | 98% | Auto-renamed | System |
| 2025-03-10 10:12 | scan0001.pdf | GB-Zendesk-Invoice-20250310-002.pdf | Zendesk | £2,100 | 82% | Manager-approved | John Smith |

This table is your audit trail. When an auditor asks "Why was this invoice named that way?", you pull a row and show the confidence score, the actor who approved it, and the timestamp. SOX-ready compliance.

Real Implementation: Three-Currency Org

One of our clients operates in US, UK, and EU. Invoices arrive in USD, GBP, and EUR. Their flow:

1. Extract vendor and amount
2. Detect invoice currency from vendor location or metadata
3. Query fixer.io API for exchange rate
4. Convert to home currency (USD)
5. Include entity code in filename: US-, GB-, or EU-
6. Route to entity-specific folder in SharePoint
7. Notify consolidation team when all regional closes are done

This automation reduced close cycles by 2 days because filenames carried enough context that the consolidation team didn't need to ask "What currency is this?"

Common Error Patterns and Solutions

Error: Filename too long (>260 chars on SharePoint)
Solution: Limit vendor names to 15 chars, truncate reference numbers, use abbreviations (INV vs INVOICE).

Error: Special characters break OneDrive sync
Solution: Sanitize filenames to remove &, (, ), [, ] before saving. Store original in metadata if needed.

Error: Sequence counter resets unexpectedly
Solution: Counter should be per-vendor per-month, not global. Query ERP for last sequence used, not local variable.

Error: AI extraction confidence is too low
Solution: Pair AI with deterministic rules. If vendor name is in approved list, set confidence to 100% regardless of OCR score.

"We stopped chasing screenshot approvals. Renamed.to plus Power Automate turned filenames into a source of truth our auditors actually trust. Rework dropped 60%."
Director of Finance Transformation

Metrics That Keep the Flow Healthy

  1. Percentage of files renamed within 5 minutes of arrival. Target: >85%. Below 80% suggests bottleneck (AI slow, approval queue backlog).
  2. Exception rate by vendor and document type. Target: <5%. Spikes reveal patterns (new vendor format, OCR struggling with fonts).
  3. Cycle time from file arrival to ERP posting. Target: <30 minutes for high confidence, <4 hours for medium.
  4. Approval card response time. Target: Manager approves within 2 hours. Escalate if longer.
  5. Month-end close time. Benchmark before automation (typical: 6 days). Track quarterly. Target: 4-5 days.

Deployment Checklist

Before going live:

☐ Power Automate Desktop installed on at least one machine (consider HA/redundancy)
☐ All trigger sources tested (email, SFTP, OneDrive, network share)
☐ Vendor lookup table populated in Excel or database
☐ Naming template finalized and validated against SharePoint limits
☐ Azure Document Intelligence API key configured and tested
☐ Approval cards designed and sent to finance managers
☐ Dataverse table created with audit schema
☐ Exception queue (Notion/Power Apps) set up
☐ Dry-run on 500 historical invoices, review exception rate
☐ Finance team trained on approval cards and exception workflow
☐ Monitoring dashboard created (Power BI or Looker)
☐ Rollback plan documented (revert to manual naming if needed)
☐ Pilot phase with one department (1-2 weeks)
☐ Post-pilot retrospective before full rollout

The End State

The end state is not just tidier folders; itit'sapos;s a faster close. With every invoice labeled the same way, reconciliations, accruals, and compliance checks happen in hours, not days. Finance teams spend less time hunting for documents and more time analyzing cash position. Auditors see a clean audit trail. Forecasters find what they need instantly.

Start with email invoices. Once that's solid, add SFTP drops. Build from small wins to scale. Power Automate Desktop + Renamed.to + shared governance = a system your finance team will actually use.

Key takeaways

  • Use a staging directory to test and validate rename logic before touching source folders.
  • Blend deterministic lookups with AI extraction to populate finance-grade filenames.
  • Instrument approvals and metrics so auditors can trace every exception.

Further reading

Next step

Bring control to your finance document pipeline

Sync Renamed.to with your ERP exports and power users will never hunt for invoice PDFs again.

Sign up to get free credits