A progress claim argues for itself when every quantity on it points to a record that already exists: the installed quantity to installation entries with photos, the material on site to goods receipts, the accepted work to inspection verdicts, and the previous quantity to the last certified invoice rather than to a cell someone carried forward. Built this way, the claim is not a document you defend; it is a summary of facts the client's engineer can check line by line. Two practices do most of the work. Derive the previous quantity from the last invoice, so the same quantity can never be claimed twice. And attach the evidence when the claim line is built, from the records, not weeks later from a folder.
The classic failure: the payment application is a spreadsheet, the "previous" column is copied forward from last month, a row is inserted, the columns shift, and one line is claimed twice. The consultant finds it, and every other line on the claim is now suspect. The remedy is structural. Previous quantity is not a column anyone types; it is the sum of what was certified on prior invoices for that line, computed at the moment the new claim is built and again when it is locked. Double-claiming then requires forging an invoice, not nudging a cell.
One row per BOQ line, one column per payment stage (delivered, installed, inspected, or whatever the contract defines). Previous, this period and cumulative for each. The cumulative can never exceed the line's claimable quantity, and the claimable quantity is the contract quantity as revised by approved variations.
Evidence attached at build time is cheap; evidence assembled at dispute time is expensive and incomplete. The claim should be able to print its own supporting file.
A claim is measured against the revised contract, not the original. Approved additions raise the claimable quantity on the affected lines; omissions reduce it, and the record must be able to hold a negative. The over-billing check — is the cumulative claim above the contract value? — must use the revised value, or every project with an approved variation trips the check for the wrong reason.