Tutorial: Purchase Order Reconciliation
1. Overview
In this tutorial you will build a workflow that checks whether your company's purchase orders, vendor invoices, and payments all line up. When they don't — an invoice that's higher than the PO, a payment that was never made, an invoice with no purchase order behind it — the workflow flags it for you and produces reports you can hand to your AP team.
You won't write any code. You'll paste three small data files into your workspace, describe what you want in plain English, and let the app build and run the workflow for you.
What you'll end up with:
- A workflow you can re-run any time you get new data
- A reconciliation report showing every invoice and its match status
- An exception report showing only the problems that need attention
- A saved
.wfpfile you can reload or share with a colleague
Time: About 15 minutes.
Skip to result: Download the finished po_reconciliation.wfp and open it in the app to see the completed workflow without building it yourself.
2. Background
Why this is hard in a spreadsheet
Every accounts payable team deals with the same problem: you have purchase orders in one place, vendor invoices in another, and payment records in a third. To reconcile them you need to match across all three lists and catch every mismatch.
In Excel this means writing VLOOKUP formulas across sheets, adding IF statements to flag mismatches, building conditional formatting to highlight problems, and creating a pivot table to summarize it. It works — but it's tedious, error-prone, and you have to rebuild it every time the data changes.
What the workflow does instead
You give the app your three data files and describe what you want checked. The AI reads all three files together, matches every record, and tags each one with a status — matched, overcharged, missing PO, unpaid, and so on. Then it produces formatted reports you can open in a browser or email to someone.
When next month's data comes in, you paste the new files and run the same workflow again.
About the sample data
The sample data below represents one month of purchasing activity for a small company. There are 18 purchase orders, 22 invoices, and 15 payments. Buried in the data are several realistic problems:
- A vendor who invoiced more than the PO amount
- Invoices that arrived without any purchase order on file
- A vendor who sent two invoices for the same PO
- Invoices that haven't been paid yet
- Payments that were made for the wrong amount
You don't need to find these yourself — that's what the workflow is for.
3. Sample Data Files
Add the following files to User Data.
purchase_orders — Add this to User Data
po_number,vendor,description,amount,order_date,department
PO-1001,Acme Office Supply,Desk chairs (x4),2400.00,2025-03-01,Operations
PO-1002,CloudHost Pro,Annual hosting plan,4800.00,2025-03-03,IT
PO-1003,Metro Courier,Monthly courier service,600.00,2025-03-04,Operations
PO-1004,PrintWorks Inc,Marketing brochures (5000),1750.00,2025-03-05,Marketing
PO-1005,TechParts Direct,Laptop batteries (x10),890.00,2025-03-06,IT
PO-1006,CleanRight Services,Office cleaning — March,1200.00,2025-03-07,Facilities
PO-1007,DataSafe Backup,Quarterly backup license,3200.00,2025-03-10,IT
PO-1008,Acme Office Supply,Printer toner (x20),680.00,2025-03-11,Operations
PO-1009,Metro Courier,Express delivery — trade show,450.00,2025-03-12,Marketing
PO-1010,Reliable Electric,Lighting retrofit — Floor 2,5600.00,2025-03-14,Facilities
PO-1011,TechParts Direct,USB-C docking stations (x6),1440.00,2025-03-15,IT
PO-1012,PrintWorks Inc,Business cards (2000),320.00,2025-03-17,Marketing
PO-1013,GreenLeaf Catering,Q1 team lunch events,2100.00,2025-03-18,HR
PO-1014,CloudHost Pro,SSL certificates (x3),540.00,2025-03-19,IT
PO-1015,SafeGuard Security,Badge reader installation,3800.00,2025-03-20,Facilities
PO-1016,Acme Office Supply,Standing desk converters (x5),1625.00,2025-03-21,Operations
PO-1017,Metro Courier,Return shipment handling,275.00,2025-03-22,Operations
PO-1018,DataSafe Backup,Disaster recovery drill,1500.00,2025-03-24,IT
vendor_invoices — Add this to User Data
invoice_number,vendor,po_reference,invoice_amount,invoice_date,due_date
INV-5001,Acme Office Supply,PO-1001,2400.00,2025-03-05,2025-04-04
INV-5002,CloudHost Pro,PO-1002,5280.00,2025-03-06,2025-04-05
INV-5003,Joes Plumbing,,350.00,2025-03-08,2025-04-07
INV-5004,Metro Courier,PO-1003,600.00,2025-03-09,2025-04-08
INV-5005,PrintWorks Inc,PO-1004,1750.00,2025-03-10,2025-04-09
INV-5006,TechParts Direct,PO-1005,890.00,2025-03-11,2025-04-10
INV-5007,CleanRight Services,PO-1006,1200.00,2025-03-12,2025-04-11
INV-5008,DataSafe Backup,PO-1007,3200.00,2025-03-14,2025-04-13
INV-5009,Acme Office Supply,PO-1008,748.00,2025-03-15,2025-04-14
INV-5010,Metro Courier,PO-1009,450.00,2025-03-16,2025-04-15
INV-5011,Reliable Electric,PO-1010,5600.00,2025-03-18,2025-04-17
INV-5012,TechParts Direct,PO-1011,1440.00,2025-03-19,2025-04-18
INV-5013,PrintWorks Inc,PO-1012,320.00,2025-03-20,2025-04-19
INV-5014,GreenLeaf Catering,PO-1013,2100.00,2025-03-21,2025-04-20
INV-5015,CloudHost Pro,PO-1014,540.00,2025-03-22,2025-04-21
INV-5016,SafeGuard Security,PO-1015,4180.00,2025-03-23,2025-04-22
INV-5017,Acme Office Supply,PO-1016,1625.00,2025-03-24,2025-04-23
INV-5018,Metro Courier,PO-1017,275.00,2025-03-25,2025-04-24
INV-5019,DataSafe Backup,PO-1018,1500.00,2025-03-26,2025-04-25
INV-5020,QuickFix IT,,475.00,2025-03-27,2025-04-26
INV-5021,Acme Office Supply,,195.00,2025-03-28,2025-04-27
INV-5022,CloudHost Pro,PO-1002,480.00,2025-03-29,2025-04-28
payments — Add this to User Data
payment_id,invoice_reference,amount_paid,payment_date,method
PAY-8001,INV-5001,2400.00,2025-03-20,ACH
PAY-8002,INV-5002,4800.00,2025-03-22,Check
PAY-8003,INV-5004,600.00,2025-03-23,ACH
PAY-8004,INV-5005,1750.00,2025-03-24,ACH
PAY-8005,INV-5006,890.00,2025-03-25,Wire
PAY-8006,INV-5007,1200.00,2025-03-26,ACH
PAY-8007,INV-5008,3200.00,2025-03-27,Check
PAY-8008,INV-5009,680.00,2025-03-28,ACH
PAY-8009,INV-5011,5600.00,2025-03-29,Wire
PAY-8010,INV-5012,1440.00,2025-03-30,ACH
PAY-8011,INV-5013,320.00,2025-03-31,ACH
PAY-8012,INV-5014,2100.00,2025-04-01,ACH
PAY-8013,INV-5017,1625.00,2025-04-02,ACH
PAY-8014,INV-5018,275.00,2025-04-02,ACH
PAY-8015,INV-5003,350.00,2025-04-03,Check
4. Building the Workflow
Once your three data files are saved, go to the Dashboard and type the following into the chat. You can copy and paste this directly or rephrase it in your own words — the important thing is the intent, not the exact wording.
I have three data files in my workspace: purchase_orders, vendor_invoices, and payments.
Build me a workflow called "PO Reconciliation" that does the following:
Read all three files and match them together. Every purchase order should have a corresponding invoice, and every invoice should have a corresponding payment. Match them using the PO reference numbers and invoice reference numbers.
Tag each record with a status — things like "matched" if everything lines up, "amount mismatch" if the invoice is different from the PO, "missing PO" if an invoice has no purchase order, "unpaid" if there's no payment, "underpaid" if the payment doesn't cover the full invoice, or "duplicate" if the same PO was invoiced twice.
Produce a reconciliation report showing every invoice, what it matched to, and its status. Include summary totals at the top — how many matched, how many have problems, total dollars invoiced vs. paid, and the overall variance. Make it a nicely formatted report I can open in a browser.
Produce a separate exception report that only shows the records with problems — sorted by severity with the most serious issues first. Include a section at the bottom with recommended next steps for each type of issue.
Let me download both reports.
That's it. The app will build the workflow, create any tools it needs, and wire everything together. You may see it ask a clarifying question — answer naturally and it will continue.
5. Checking Your Results
Once the workflow runs, you'll see two download buttons in the chat. Open each report and verify the following.
Reconciliation report
This is the full picture. Check for:
- Summary numbers at the top — You should see a mix of matched and flagged records. Not everything should be green — this data has deliberate problems in it.
- INV-5002 (CloudHost Pro) — Should be flagged. The PO was for $4,800 but the invoice is $5,280. That's a $480 overcharge.
- INV-5009 (Acme Office Supply) — Should be flagged. PO was $680, invoice came in at $748.
- INV-5016 (SafeGuard Security) — Should be flagged. PO was $3,800, invoice is $4,180.
- INV-5003 (Joe's Plumbing) and INV-5020 (QuickFix IT) — Should be flagged as having no purchase order on file.
- INV-5022 (CloudHost Pro) — Should be flagged as a duplicate or second invoice against PO-1002.
- Several invoices (INV-5010, INV-5015, INV-5016, INV-5019, INV-5020, INV-5021, INV-5022) — Should show as unpaid.
Exception report
This should contain only the problem records — none of the clean matches. Verify:
- It's shorter than the reconciliation report (it should only have ~10-12 rows)
- The most serious issues (missing POs, duplicate billing) appear near the top
- Amount variances are shown in dollars so you know the financial impact
- There are recommended actions at the bottom telling you what to do about each type of problem
If something doesn't look right
The AI is building this from your plain-English description, so results may vary slightly. If a report is missing or doesn't look the way you expected:
- Ask the chat: "The exception report didn't sort by severity — can you fix that?"
- Or: "I'd like the reconciliation report to also show the department from the purchase order."
- Or: "Can you add a total row at the bottom of each report?"
This is the normal workflow — describe what you want, check the result, and refine with follow-up requests. You don't need to get it perfect on the first try.
6. Saving Your Work
When you're happy with the results:
- Go to Workspace → User Data
- Click Export .wfp to save everything — your data, your workflow, and any custom tools the app created — into a single file
- Next month, paste in fresh data files and run the same workflow again
What's Next
Once you're comfortable with this workflow, try these ideas:
- Use your own data — Export your real PO, invoice, and payment records as CSV files, paste them in, and run the workflow on actual company data
- Ask for changes — Tell the chat you want an extra column, a different sort order, or a summary broken down by vendor or department
- Add more files — Maybe you have a fourth file with contract terms or budget limits — tell the workflow to check invoices against those too
- Share it — Send the
.wfpfile to a colleague so they can run the same reconciliation on their data