Work sample 10 / 17Purchase orders and supplier bills

Fergus purchase orders and Xero bills for a plumbing and gas business

How I'd approach a Melbourne plumbing and gas business that buys from three main suppliers, so that every purchase has a purchase order, every supplier invoice lands on the right job, and the materials on a job match what Xero has been billed.

Area
Purchase orders and supplier bills
Tools
Fergus · Xero
Typical scope
US$1,500–3,000
Timeline
About 5 weeks, 4 milestones

Work sample: realistic data, not a past client job. Amounts are in AUD and GST is 10%.

01The problem

A plumbing and gas business with a handful of vans buys most of its materials from three suppliers. Some orders are phoned in from site, some are picked up at the counter, and the invoices turn up later by email. The office enters them in Xero, and the job in Fergus only learns about some of them.

Owners usually notice it like this:

  1. Materials are bought, the job is invoiced, and the supplier's invoice arrives a week later and never gets charged to anyone
  2. Nobody can say which purchase order an invoice belongs to, so the supplier statement is checked by eye at month-end
  3. Prices creep up on the supplier's side and the job quote does not move with them
  4. Xero shows what was spent, but not which job it was spent on

In this sample, over six months (March to August 2026) there were 1,850 purchase orders and 1,920 supplier bills. 260 bills ($40,062 ex GST) had no purchase order: 96 of them were never put on a job at all ($15,482 ex GST), and 164 were put on a job after the customer invoice had already gone out ($24,579 ex GST).

02The outcome

This is what the setup does and delivers:

  1. A short purchase order rule for each supplier: when a PO is required, who raises it, how it is sent, and what the supplier must quote on the invoice
  2. The supplier price books loaded into Fergus, so the cost on a PO is the supplier's current price
  3. Every PO raised from a job, so the materials are always tied to a job from the moment they are ordered
  4. Supplier invoices matched to their PO (or "invoice to come") in Fergus, then assigned to the job and sent to Xero with the job ID in the reference
  5. A weekly list of exceptions: invoices with no PO, price differences over 3%, and POs still waiting on an invoice
  6. An unbilled materials report that shows job costs not yet on a customer invoice
  7. A one-page routine for the vans and one for the office
Data flowHow the work flows, from the first record to sign-off
01POper supplier02BILLsupplier invoice03MATCHPO vs invoice04JOBassigned05XERObill with job ID06TIE-OUTexceptions list6 STAGES · ONE PASS FROM FIRST RECORD TO SIGN-OFF01POper supplier02BILLsupplier invoice03MATCHPO vs invoice04JOBassigned05XERObill with job ID06TIE-OUTexceptions list

03Scope

Exhibit AScope
DeliverableWhat's includedNotes
Health check of ordering and billsReview of a month of POs, supplier invoices, Xero bills and supplier statements; findings, risk list and a fixed quoteUS$300, and the findings are yours to keep. If the findings change the plan, I re-quote before M2
PO rules per supplierOne page per supplier: who orders, when a PO is required, approval limit, how it is sent, what the invoice must showAgreed with the owner and the office in M1
Price booksSupplier price files cleaned and loaded into Fergus as price books, with a repeatable monthly or quarterly refreshFergus imports price books from CSV and shows the columns to map. Suppliers connected through a Fergus integration can supply their own price book
PO to invoice matchingWeekly routine in Fergus: POs and "invoices to come" reconciled against supplier invoices, with an exceptions listMatching is done in Fergus. POs themselves stay in Fergus and are not sent to Xero
Xero bill settingsPurchase account, job ID in the bill reference, and a send-to-Xero routine for approved supplier invoicesXero bills are checked against Fergus each month by supplier, reference and amount, in a workbook
Unbilled materials reportFergus Cost Report exported to CSV and filtered to jobs with costs but no customer invoiceBuilt as a Google Sheet or Excel workbook, so the office can run it weekly
SOPs and handoverOne-page routines for the vans and for the office; recorded walkthroughWritten to match the way the business already works
Not includedReplacing Xero, supplier contract negotiation, and anything beyond purchase orders and supplier invoicesQuoted separately if wanted

Not included: payroll, STP or BAS lodgement.

Exhibit BSample data
ItemVolume
PeriodMarch to August 2026, plus a test month (September 2026)
Suppliers3 (named generically)
Jobs260 in the six months, 46 in the test month
Purchase orders1,850 (1,590 invoiced, 140 price only, 70 cancelled, 50 open)
Supplier bills1,920 ($648,050 ex GST)
Bills with no PO260
Test month bills318 ($103,712 ex GST)

04Walkthrough

4.1 PO rules per supplier

The rules are short and written per supplier, because each one supplies and invoices differently. The exact route for each supplier is settled in the health check, depending on what each supplier offers and what Fergus supports on the business's plan.

Plumbing supplier AGas and hydronic supplier BPipe and drainage supplier C
Typical purchasesCopper, valves, fittings, hot water unitsGas fittings, regulators, hydronic, fluesDWV and stormwater pipe, drains
Share of POsabout 50%about 30%about 20%
When a PO is neededEvery purchase, including counter pickupsEvery purchaseEvery purchase
Who raises itPlumber from the job, or the office on a call or text from the vanOfficePlumber or office
How it is sentThrough the Fergus supplier link if the supplier offers one, otherwise emailed from FergusEmailed from FergusEmailed from Fergus
ApprovalOffice approves any PO over $1,500 ex GSTOffice approves any PO over $1,500 ex GSTOffice approves any PO over $1,500 ex GST
Invoice arrivesDirect to Fergus if connected, otherwise PDF into the supplier invoices areaEmailed PDFEmailed PDF
Must show on invoicePO number and job namePO number and job namePO number and job name
Price bookSupplier file, refreshed monthlySupplier file, refreshed quarterlySupplier file, refreshed quarterly

4.2 Price book import

Each supplier's file is cleaned in a spreadsheet first (one row per product code, cost price ex GST, a sell price from a markup rule agreed in M1), then imported into Fergus as a price book from CSV, mapping each column when you upload it. A small example of the import file:

Product codeDescriptionCost priceSell price
PB-1001Copper pipe 15mm Type B, 5m length58.4075.92
PB-1002Copper pipe 20mm Type B, 5m length84.10109.33
PB-1003Brass ball valve 15mm11.8515.41
PB-1004Brass ball valve 20mm16.3021.19
PB-1005Flexible tap connector 450mm6.208.06
PB-1006Toilet suite connector kit13.7517.88
PB-1007Pressure limiting valve 20mm48.9063.57
PB-1008PVC pressure pipe 50mm, 6m42.6055.38

The full example, 22 rows across the three suppliers, is in price_book_import_sample.csv (sell price here is cost plus 30%).

4.3 One job from PO to Xero

Take Blocked drain, Moonee Ponds (job J6050). Every purchase is ordered from the job, so the PO, the packing slip or "invoice to come", and the supplier invoice all end up on the same job.

POPO dateSupplierTypePO ex GSTSupplier billBill ex GSTGSTBill inc GSTPosition
PO-534421 Apr 2026Plumbing supplier ADelivery$164.05A-71059$165.17$16.52$181.69Matched to PO
PO-537924 Apr 2026Gas and hydronic supplier BPickup$922.06B-70602$495.00$49.50$544.50Matched, split delivery
PO-537924 Apr 2026Gas and hydronic supplier BPickup$922.06B-70609$472.98$47.30$520.28Matched, split delivery
PO-540426 Apr 2026Plumbing supplier ADelivery$94.35A-71228$94.67$9.47$104.14Matched to PO
PO-541127 Apr 2026Pipe and drainage supplier CPickup$727.18C-70631$733.50$73.35$806.85Matched to PO
PO-541327 Apr 2026Plumbing supplier ADelivery$369.10A-71246$372.58$37.26$409.84Matched to PO
No PO15 Apr 2026Pipe and drainage supplier CCounterC-72906$71.47$7.15$78.62Before: on job after invoice sent
No PO17 Apr 2026Pipe and drainage supplier CCounterC-72870$45.97$4.60$50.57Before: on job after invoice sent

Materials on this job: $2,451.34 ex GST. The counter purchases at the bottom of the table are the kind of bill that, in the old process, was entered in Xero without a PO and put on a job late or not at all. Under the new rules they get a PO at the time of the sale, or are linked to one the same day and logged on the exceptions list.

The weekly routine for the office has five steps:

  1. Open the reconciliation area in Fergus and match each new supplier invoice to its PO, or to the "invoice to come" created when the goods arrived
  2. Check the invoice price against the PO and flag anything more than 3% different
  3. Assign the invoice to the job and approve it
  4. Send approved invoices to Xero (this is a deliberate step, so unchecked invoices do not reach Xero)
  5. Update the exceptions list and the unbilled materials report

4.4 Six months, before the new rules

Purchase orders and bills by month:

MonthPOsBillsBills with a POBills with no POEx GSTGSTInc GST
Mar 202617715813523$49,267.08$4,926.74$54,193.82
Apr 202627328623650$92,469.80$9,247.11$101,716.91
May 202629232329033$117,265.01$11,726.57$128,991.58
Jun 202630031026644$96,581.73$9,658.38$106,240.11
Jul 202646549842672$174,546.04$17,454.73$192,000.77
Aug 202634334530738$117,920.27$11,792.29$129,712.56
Total1,8501,9201,660260$648,049.93$64,805.82$712,855.75

By supplier:

SupplierPOsBillsBills with no POBills ex GSTNo-PO bills ex GST
Plumbing supplier A888915122$297,347.66$19,714.69
Gas and hydronic supplier B55659088$201,370.13$12,372.87
Pipe and drainage supplier C40641550$149,332.14$7,974.13
Total1,8501,920260$648,049.93$40,061.69

What the 1,850 purchase orders were:

PO statusCount
Invoiced1,590
Price only, not ordered140
Cancelled70
Open, invoice to come50
Total1,850

Of the 1,590 invoiced POs, 70 were delivered in two parts and have two bills, which is why 1,660 bills sit against 1,590 POs. 103 invoiced POs had a bill more than 3% away from the PO value, and in the old process nobody looked.

4.5 Xero settings and the tie-out

SettingWhat I setWhy
Purchase invoice accountOne default purchases account for materials, agreed with the bookkeeperBills land in the right place without being recoded
Job ID in the referenceOnThe Xero bill carries the job number, so a bill can be traced back to a job
Send to XeroManual, from the reconciled supplier invoiceOnly checked invoices reach Xero
Tax rateGST on expenses for taxable purchasesMatches the supplier invoice
ContactsSuppliers named the same in Fergus and XeroAvoids duplicate suppliers

Example Xero bill from the test month: bill A-90020 from Plumbing supplier A, reference J6303, $864.81 ex GST, $86.48 GST, $951.29 total, matched to PO-7155.

4.6 A test month under the new rules (September 2026)

One month is run through the new routine before handover. The Fergus and Xero totals are compared by supplier:

SupplierBillsEx GSTGSTFergus totalXero totalDifference
Plumbing supplier A167$50,908.97$5,091.01$55,999.98$55,999.98$0.00
Gas and hydronic supplier B92$31,524.91$3,152.57$34,677.48$34,677.48$0.00
Pipe and drainage supplier C59$21,278.10$2,127.86$23,405.96$23,405.96$0.00
Total318$103,711.98$10,371.44$114,083.42$114,083.42$0.00

All 318 bills carry a PO number. 6 were exceptions: bills where the PO had to be linked after the sale or the invoice. They are on the exceptions list with a reason, for example "counter purchase, PO raised after the sale and linked the same day". 18 bills were more than 3% away from the PO value and were reviewed. The six largest differences are shown first, then the rest as one line:

POJobSupplierPO ex GSTBill ex GSTDifference%Review note
PO-7247J6263Gas and hydronic supplier B$1,464.53$1,357.56($106.97)-7.3%Supplier discount applied, price book updated
PO-7234J6275Plumbing supplier A$980.59$1,078.51$97.92+10.0%Extra fittings added at the counter, PO amended
PO-7218J6273Gas and hydronic supplier B$753.29$706.36($46.93)-6.2%Part of the order not supplied, credit applied
PO-7150J6302Plumbing supplier A$358.95$323.20($35.75)-10.0%Part of the order not supplied, credit applied
PO-7249J6296Plumbing supplier A$260.40$237.89($22.51)-8.6%Part of the order not supplied, credit applied
PO-7046J6262Plumbing supplier A$279.87$301.06$21.19+7.6%Freight added by supplier, accepted
Other 12 bills reviewed$2,006.55$2,076.90$70.35
All 18 bills reviewed$6,104.18$6,081.48($22.70)

The full month, with every bill, PO number and Xero reference, is in test_month_sep_2026.csv.

4.7 Unbilled materials report

The report starts from the Fergus Cost Report exported to CSV, filtered to jobs with materials costs and no customer invoice. At 30 September 2026, 46 jobs had materials costs in the test month, and 18 of them had not yet been invoiced to the customer. The eight with the largest materials cost are shown, then the rest as one line:

JobNameStartedMaterials ex GSTCustomer invoice
J6261Roof plumbing and gutters, Brunswick15 Sep 2026$4,878.00Not yet invoiced
J6275Gas cooktop connection, St Kilda19 Sep 2026$3,946.29Not yet invoiced
J6293Stormwater drainage, Malvern14 Sep 2026$3,891.45Not yet invoiced
J6263Hot water replacement, Northcote16 Sep 2026$3,283.20Not yet invoiced
J6290Toilet suite replacement, Yarraville16 Sep 2026$2,943.88Not yet invoiced
J6295Roof plumbing and gutters, Fitzroy10 Sep 2026$2,925.19Not yet invoiced
J6306Blocked drain, Coburg04 Sep 2026$2,134.11Not yet invoiced
J6292Gas cooktop connection, Bentleigh19 Sep 2026$2,062.21Not yet invoiced
Other 10 jobs$13,792.62Not yet invoiced
All 18 jobs$39,856.95

The office reviews this list every Friday. Anything on it older than 14 days is chased.

05Checks

Exhibit CChecks on the sample data
CheckBefore (Mar to Aug)After (test month, Sep)Status
Every supplier bill has a PO1,660 of 1,920 bills318 of 318 bills (6 on the exceptions list)PASS
Every PO is on a job1,850 of 1,850 POs318 of 318 POsPASS
Every supplier bill is on a job1,824 of 1,920 bills318 of 318 billsPASS
Materials on jobs = matched billsNot compared$103,711.98 on 46 jobs = $103,711.98 of billsPASS
Fergus supplier invoices = Xero billsNot compared3 of 3 suppliers, difference $0.00PASS
POs with a bill more than 3% away from the PO103 unreviewed18 reviewedPASS

06Milestones

Exhibit DMilestones
MilestoneWhat happensRough durationWhat is signed offShare
M1 · Health check and rulesHealth check (US$300), a month of POs, invoices and Xero bills reviewed, PO rules agreed per supplierAbout 1 weekFindings, rules and fixed quote25%
M2 · Fergus and Xero set upPrice books loaded, PO settings, Xero bill settings, exceptions list and the unbilled materials report builtAbout 2 weeksA test PO taken through to a Xero bill40%
M3 · Month of bills matchedA month of live POs and bills run through the new routine, tie-out and exceptions reviewedAbout 1.5 weeks, plus the month runningFergus and Xero tie-out at $0.00 and the exceptions list reviewed25%
M4 · HandoverSOPs for the vans and the office, walkthrough recording and a short reviewAbout 0.5 weekOffice confirms they can run it10%

The fixed quote follows the US$300 health check, so the price is based on what is actually in your files. If the health check changes the plan, I re-quote before M2.

Typical scope for this kind of project: US$1,500–3,000.

About 5 weeks, 4 milestones. Your software subscriptions are billed to you by the vendors.

07Handover

  1. A one-page PO rule for each supplier
  2. Supplier price books in Fergus, with a repeatable refresh routine
  3. The weekly matching routine and exceptions list
  4. The unbilled materials report workbook
  5. A monthly Fergus and Xero tie-out workbook
  6. One-page routines for the vans and for the office
  7. A recorded walkthrough
  8. Prepared by Manaz Afzal

08Files

A screen from the sample workbook, then every file in the work sample. Select the image to open it full size.

Summary tab of the workbook: the sample size and the figures in this walkthrough, each tied out by a live formula
Exhibit ESummary tab of the workbook: the sample size and the figures in this walkthrough, each tied out by a live formula

fergus-xero-purchase-orders.xlsx › Summary

FilesDownload the work sample
FileWhat it isSize
fergus-xero-purchase-orders.xlsxWorkbook with 10 tabs (Read me, Summary, Purchase orders, Supplier bills, Test month Sep 2026, Price book import, Monthly Mar to Aug, By supplier, PO status, Test month by supplier). The Summary tab lines up every figure on this page with a live formula431.7 KB
fergus-xero-purchase-orders.pdfThis work sample as an A4 PDF (8 pages)347.9 KB
purchase_orders.csv1,850 POs with job, type, value, status and billed amount222.1 KB
supplier_bills.csv1,920 supplier bills with GST, job, PO number and the position before the new rules189.3 KB
test_month_sep_2026.csv318 bills in the test month with PO value, variance and Xero reference32.8 KB
price_book_import_sample.csvExample price book import file1.7 KB

Tell me what’s bugging you and I’ll tell you where I’d look first.

Send a short note on Upwork about what is slowing the business down. I’ll reply with where I’d start, and whether the US$300 Systems Health Check is the right first step.