The Subcontract Ledger and CIS Without the HMRC Headache
Subcontract orders, cumulative certificates, retention held automatically and CIS deducted at the rate HMRC verified — with a balanced ledger behind every certificate and a monthly return you can file. Here's how Construct365's Subcontract Ledger module works.
Paying subcontractors under the Construction Industry Scheme is where a lot of contractors quietly trip up: the wrong deduction rate, retention that doesn't add up, certificates that can't be reconciled at year-end. The Subcontract Ledger & CIS module in The ERP Experiment is built to make it boring — in the best possible way.
Orders first, then certify against them
Every subcontract starts as an order against a subcontractor: a reference, a value (built from a simple schedule of rates) and a retention rate. From then on you certify against that order. Try to certify cumulatively above the order value and the module stops you — an over-order needs an explicit uplift, not a quiet overrun.
Certificates are cumulative
A subcontract certificate states the gross value of work certified to date, not just this month. Construct365 takes the movement since the last certificate, derives the retention and the CIS deduction on that movement, and works out the net payable. Because the running figure is cumulative, partial certifications can't drift by rounding.
Retention that reconciles
Retention is derived — computed on the cumulative certified figure and then differenced — never stored as an independent balance. That's the difference between retention that reconciles to the penny and retention that mysteriously doesn't match at practical completion.
The right CIS deduction, every time
The CIS rate is taken from the subcontractor's current HMRC verification: gross (0%), verified standard (20%) or unmatched (30%). No current verification, no certificate — the gate is enforced, so you can't accidentally pay someone gross who should be deducted.
A balanced ledger behind every certificate
Each certificate that moves the numbers posts a balanced double entry to the subcontract control account: the cost of work certified is debited, CIS and retention are credited to their control accounts, and the net payable lands on the subcontract creditors control. A zero-movement certificate posts nothing but is still recorded, so the sequence stays complete.
Your monthly CIS return
At month-end the module rolls up every posted certificate in the CIS tax month (6th to 5th) by subcontractor — gross paid, CIS deducted, retention held, with verification number and UTR — and exports it as CSV or JSON. It doesn't file to HMRC for you; it gives you a reconciled return to file from.
Everything in pence
Certificates, CIS deductions and retention are all stored as whole pence in the ledger, not as decimal pounds. The tax and retention splits have to foot back to the certified total exactly, so the control accounts only ever reconcile because the arithmetic is done in integers.
One subscription
The Subcontract Ledger & CIS module is included in the one ERP Experiment plan. Pay once and you get this plus every other module, with no per-ledger add-on to buy.
👉 Browse the ERP hub, or read about our careful approach to the financial core.
Frequently asked questions
Related resources
Cost Value Reconciliation Without the Spreadsheet Sprawl
Committed and actual cost pulled straight from Job Costing, certified sales and subcontract values pulled from the ledgers, your surveyor adjustments layered on top, and a cost-vs-value report that rolls forward each period. Here's how Construct365's CVR module works.
Read guideApplications, Retainage and Back Charges Without the Month-End Surprises
Subcontractor applications for payment are where margin quietly leaks: partial certifications, retention held and released in stages, back charges netted to the wrong place. Here's how Construct365's Subcontractor Billing module keeps it straight.
Read guideFrom Approved PO to Paid Supplier: the Construction Purchase Ledger
A purchase ledger only earns trust when every supplier invoice ties back to an approved order, posts a balanced double entry, and pays out cleanly through BACS. Here's how Construct365 closes that loop.
Read guide