Work sample 03 / 14Job system + accounting
simPRO progress claims and retentions into Xero
How I'd approach progress claims, approved variations and held retention for a commercial contractor on simPRO, so each claim reaches Xero as one invoice and the retention balance always agrees with the contract.
Worked example on representative data.
- Area
- Job system + accounting
- Tools
- simPRO · Xero
- Typical scope
- US$3,000–5,000
- Timeline
- About 6 weeks · 4 fixed milestones
01Context
A commercial electrical contractor with several project managers, a contracts administrator, a finance lead and an outside accountant. Large jobs are quoted and costed in simPRO and billed in stages, with Xero as the ledger.
In the example, one fit-out contract has an original value of US$640,000, two approved variations and 5% retention held on every claim.
The systems in play
| System | What it does for the business |
|---|---|
| simPRO | Quotes, jobs, cost centres, variations, progress claims and job costing. Where project managers and the contracts administrator work. |
| Xero | The ledger, accounts receivable, project tracking and the accountant’s workspace. |
| Claim schedule (before) | A spreadsheet kept by the contracts administrator, with percentages typed in by hand each month. |
| Accountant | Reviews the retention balance and work in progress each month. |
02Problem
What the owner sees
- Claims that do not add up to the contract value
- Variations done and costed but never billed
- A retention balance in Xero that nobody can explain
- Work in progress at month-end that is a guess
Progress billing is where the job system and the ledger drift furthest apart, because every claim depends on the contract, the variations and the retention that came before it.
| Everyday situation | What goes wrong |
|---|---|
| Claim above the remaining contract | A claim raised on percentage complete exceeds what is left once a variation is added or removed |
| Variation approved late | The work is done and costed before approval, so it is claimed in the wrong month or not at all |
| Retention treated as revenue | Retention is netted off the invoice with no separate balance, so the amount owed on release is a spreadsheet figure |
| Release invoices | Held retention is released at practical completion and again at the end of the defects period, usually by hand |
| Invoice-number conflicts | A claim number already used in Xero blocks the invoice or creates a duplicate |
| Unmapped cost centres | A cost centre or item with no accounting mapping posts to a default account without an error |
03Approach
Four steps, in this order. Each one ends with a result that is checked.
- LookA read-only review of simPRO and Xero. Nothing is changed. Every live project is pulled with its claims, variations, retention and Xero invoices.
- Agree the rulesThe claim rules are written down: how a claim is calculated, when a variation counts, how retention is held and released, and how claims are numbered.
- Set up and connectCost centres, variations, claims and retention are set up in simPRO, then the accounting link to Xero is mapped and tested on a closed project.
- CheckEach project is checked against its contract before a claim goes out, and a monthly work-in-progress view is produced from simPRO and Xero.
| Rule | Example setting |
|---|---|
| Claim basis | Percentage complete by cost centre, signed off by the project manager |
| Variations | Counted in the contract value only when approved in writing |
| Retention | 5% held on every claim, shown as its own line |
| Release | Half at practical completion and the rest at the end of the defects period, each on its own invoice |
| Numbering | Project code, then claim number (for example P2217-C03); release invoices end in -R |
| Over-claim guard | A claim cannot take cumulative claims above the contract value |
| Disputed claims | Signed off at the lower value before the invoice is made; the difference stays on the schedule |
04What the setup includes
What the setup includes, and why each piece is there. The detail of how it is configured is agreed in the scoping call.
Show the setup, layer by layer
| Layer | What is set up and why |
|---|---|
| Contract and cost centres | Each contract is split into cost centres (for example rough-in, switchboards, fit-off, testing and commissioning, variations), so a claim is a percentage per cost centre and not one lump sum. |
| Variations | Raised as variations in simPRO and approved before they raise the contract value. Unapproved variations are listed but not claimed. |
| Progress claims | One claim per period per project, calculated from cumulative percentages, so a claim bills only what is new. |
| Retention | Retention held appears as its own line on every claim. Release invoices are separate invoices that clear the held balance. |
| simPRO to Xero accounting link | Each claim reaches Xero as one invoice. Retention held is posted to a retention receivable account, so the amount owed is a balance and not a note. Every cost centre and item mapping is tested, because a missing mapping can post without an error. |
| Xero set-up | A retention receivable account, a tracking category for the project, an invoice-number prefix, and a report showing the retention balance by project. |
| Work-in-progress view | Monthly: contract value, claimed to date, cost to date and over or under billing for each project. |
How the data moves
- Contract split into cost centres
- Variation approved
- Claim signed off
- Invoice reaches Xero with a retention line
- Retention balance by project
- Release invoice
- Monthly work-in-progress view
05Edge cases
The cases that break a progress-claim setup are the ones that only appear after the third or fourth claim. These are agreed in advance and tested.
| Situation | How it is handled |
|---|---|
| Variation approved after the claim period | Raises the contract value from the next claim. The earlier claim is not changed. |
| Variation priced but not approved | Listed on the schedule, not claimed, and left out of the contract value |
| Client signs off less than claimed | The claim is reduced before the invoice is made. The unpaid difference stays claimable. |
| Claim reversed | A credit note in Xero against the original invoice, and the claim reopened in simPRO |
| Retention percentage differs on a variation | The contract percentage applies. Any exception needs written approval and is logged. |
| Release at practical completion | A separate release invoice for the agreed share. The Xero retention balance falls by the same amount. |
| Claim number already used in Xero | The project prefix makes numbers unique per project. Any conflict appears on the exceptions list. |
| Cost centre with no mapping | Caught by the mapping test before go-live and by a weekly check afterwards |
| Contracts billed by a second company in the group | Posted to that company’s own Xero organization, with a company prefix on the project code |
| Who changed what | Claims, variations and releases carry a user and a date in simPRO, and each Xero invoice links back to its claim |
06Worked example
The tables below use one contract on representative data. They show the shape of the checks, not a client result.
| Cost centre | Contract value | Claimed to date | Remaining |
|---|---|---|---|
| Rough-in | 200,000 | 180,000 | 20,000 |
| Switchboards | 150,000 | 112,500 | 37,500 |
| Fixtures and fit-off | 230,000 | 142,000 | 88,000 |
| Testing and commissioning | 60,000 | 0 | 60,000 |
| Variations V1 and V2 (approved) | 59,500 | 51,500 | 8,000 |
| Contract total | 699,500 | 486,000 | 213,500 |
| Claim | Contract | Work done | This claim | Retention (5%) | Invoice (net) |
|---|---|---|---|---|---|
| C01 | 640,000 | 128,000 | 128,000 | 6,400 | 121,600 |
| C02 | 678,500 | 310,000 | 182,000 | 9,100 | 172,900 |
| C03 | 699,500 | 486,000 | 176,000 | 8,800 | 167,200 |
| Total | 486,000 | 486,000 | 24,300 | 461,700 |
| Check | Result |
|---|---|
| Original contract | 640,000 |
| Approved variations | 59,500 |
| Revised contract | 699,500 |
| Claimed to date (gross) | 486,000 |
| Remaining to claim | 213,500 |
| Retention held (5% of claimed) | 24,300 |
| Retention receivable in Xero | 24,300 |
| Difference | 0 |
| Variation V3 (14,200), not yet approved | Listed, not in the contract value |
07How the result is checked
Checks run before each claim goes out and again each month. The setup is proven on a finished project first: its claims and releases are run through again and the Xero retention balance must end at zero.
| Check | Before | After |
|---|---|---|
| Claims plus remaining equal the contract | Worked out by hand each month | Checked per project before each claim goes out |
| Retention balance | Estimated | Agrees to Xero for every project |
| Approved variations | Some claimed late or missed | Each approved variation appears on a claim |
| Invoice numbers | Occasional conflicts | Unique per project and claim |
| Release of retention | Manual and untracked | Separate release invoices, each clearing the held balance |
| Work in progress | A spreadsheet | A monthly view from simPRO and Xero |
| Review by the accountant | Many questions at month-end | Questions limited to a short exceptions list |
08Scope and milestones
A fixed scope agreed in writing before anything starts. Each milestone is paid when you sign off its deliverable.
| Area | Included |
|---|---|
| Health Check | Read-only review of simPRO and Xero, a 45-minute call, written findings and a fixed quote |
| Claim rules | The rules in writing, agreed with the project managers and the finance lead |
| simPRO set-up | Cost centres, variations, claims and retention for the live projects, with opening claimed and retention balances loaded |
| Xero set-up | Retention receivable account, project tracking, numbering and the retention balance report |
| Accounting link | Mapping for every cost centre and item, tested on a closed project and then on a live claim |
| Work-in-progress view | A monthly view of contract, claimed, cost and over or under billing by project |
| Handover | Written SOPs, a recorded walkthrough and files you own, plus 14 days of fixes after go-live |
| Not included | Tax filing or payroll. |
| Also outside the scope | Changes to contract terms or retention rules, which belong to the client contracts. Moving to different accounting software. Software subscriptions (billed to you by the vendors). |
| Milestone | Deliverable | Timing | Share |
|---|---|---|---|
| M1 Health Check and rules | Findings, a fixed quote and the claim rules in writing | Week 1 | 20% |
| M2 simPRO set-up | Cost centres, variations, claims and retention working on the live projects | Weeks 2 to 3 | 30% |
| M3 Xero link live | Claims reach Xero once, retention balance agrees, a release invoice tested | Weeks 4 to 5 | 35% |
| M4 Handover | Work-in-progress view, SOPs, walkthrough, 14 days of fixes | Week 6 | 15% |
Typical scope for this kind of project: US$3,000–5,000
About 6 weeks across 4 fixed milestones. The Systems Health Check (US$300, fixed) comes first and confirms the scope.
Describe what is going wrong between your job system and your books, and I'll say where I'd look first.
Send a short note through the form on the home page. I will reply with where I would start, and whether the US$300 Systems Health Check is the right first step.