Six places a pay app spreadsheet stops adding up
The bottom line can look right while one cell underneath has changed. These are the six places I look first, and the question I send back for each.
Most months, the pay app is last month's file with new numbers typed in.
That is usually fine. The trouble is the one cell that changed in a way nobody meant, and reading the totals won't tell you which one it is.
I started keeping a list of what these cells look like. Each item below is something our workbench marks on practice files, with the cell, what it held, and the question I would send to whoever prepared the sheet.
None of them proves anyone made a mistake. Each one is a place where I can't follow the number without asking.
01Synthetic practice files
Six things to look for, and what to ask
The examples use plain numbers with no currency. The cell addresses refer to the practice files, so you can picture where each one sits on a sheet.
1A total that does not equal the cells it adds
In the practice fileIn practice-detail.xlsx, Detail!B4 says 200. Its formula adds B2 and B3, and those two cells come to 120.Why it gets missedThe file stores the last result Excel calculated. If the workbook was saved with calculation set to manual, the stored total can be older than the cells it adds. Reading the total alone won't show that.What I would ask‘practice-detail.xlsx, Detail!B4 (Total): the cell shows 200, but B2 and B3 add up to 120. Could you confirm which figure is current?’2A dash typed where a number belongs
In the practice fileIn practice-statement.xlsx, PL!E10 holds a dash entered as text. E11 adds E9 and E10, so it cannot produce a number, and about a hundred cells further down, each built on the one above, are stuck behind it.Why it gets missedMany templates show a zero as a dash, so a typed dash looks the same on screen. When I tried this in LibreOffice, a formula written with + returned #VALUE!, while SUM skipped the text and still returned a number. With SUM, the total looks normal and simply leaves that row out.What I would ask‘practice-statement.xlsx, PL!E10 (Adjustment): this cell holds a dash entered as text. Should it be zero, blank, or an amount?’3A circular reference behind a stored zero
In the practice fileIn practice-jobcost-1015.xlsx, 'Job cost'!F8 used to be a typed 1. Now it sums F5:F7, and F6 points back at F8. Each cell waits for the other, the file stores 0 for F8, and the sheet looks finished.Why it gets missedExcel does warn about a circular reference, but a warning closed once doesn't travel with the number. Someone reading a printout or a PDF of the sheet only sees a subtotal of 0.What I would ask‘practice-jobcost-1015.xlsx, 'Job cost'!F8 (Subtotal): it now sums F5:F7, and F6 refers back to F8, so the stored result is 0. Was this change intended?’4A formula typed over with a number
In the practice fileIn practice-jobcost-0915.xlsx, 'Job cost'!C9 was =D9, which showed 8. In practice-jobcost-1015.xlsx it is a typed 9.Why it gets missedThe amount barely moved, and a typed number looks exactly like a calculated one on screen. You only see it by comparing the cell's contents with last month's file.What I would ask‘practice-jobcost-1015.xlsx, 'Job cost'!C9 (Materials): this was a formula (=D9) in the 0915 version and is a typed 9 now. Could you confirm where the 9 comes from?’5The total stayed the same, but the formula changed
In the practice file'Job cost'!C11 shows 30 in both versions. In the 0915 file it was =B10+B11. In the 1015 file it is =B10+B11+B9, and B9 is empty.Why it gets missedNothing on the page moved, so there is no reason to look. Next month, when someone types a number into B9, the total will change, and it will be hard to say why.What I would ask‘practice-jobcost-1015.xlsx, 'Job cost'!C11 (Formwork): the formula now adds B9, which is blank. What should B9 hold?’6This period's claim does not match the change to date
In the practice fileAcross the two waterproofing lines, roof and walls, previous to date is 100,000 and this application's to date is 142,000, an increase of 42,000. The claim for this period, on the Application sheet of practice-payapp-10.xlsx, is 45,000, so 3,000 stays open.Why it gets missedEach column can be consistent on its own. The gap only appears when you subtract one column from the other and then compare the result with the claim. Reading down either column alone won't show it.What I would ask‘practice-payapp-10.xlsx, Application!C3 (Waterproofing, roof + walls): to date went from 100,000 to 142,000, an increase of 42,000, but the claim is 45,000. Could you explain the basis for the other 3,000?’
02Asking
How I write the question
Every question names the file, the sheet, the cell and the row it sits on, and gives the old and new value when there are two versions. The person who built the sheet can go straight to the cell, and doesn't have to guess what I mean.
I ask them to confirm, rather than tell them something is wrong. Some of these have good reasons behind them. A typed number can be a negotiated figure, and a formula can change because the template was fixed. I don't know which until they tell me, so the difference stays open until they do.
03Order
Where I start when the pile is large
When there are many files, I compare each one with its previous version before I read any totals. Items 4 and 5 only show up that way, and the comparison also tells me which cells moved this month.
Then I look for text in number columns and for loops, because one bad cell there can hold up a whole column. Item 6 comes last, line by line, once I trust the cells it subtracts.
04If you use an AI assistant
Ask it for cell addresses, not a verdict
If you give these files to an AI assistant, ask it to point at cells and to say when it can't tell, rather than to say whether the pay app is correct. Several of the six depend on the values the file saved and on last month's version, and an assistant that reads only what is on screen can miss them.
The companion piece on this site lists the specific ways a program misreads a spreadsheet, with a few lines you can give the assistant before the file.
05Limits
What this list cannot tell you
This list doesn't tell you whether the work was done, whether an amount is due, or whether anyone made an error. It points at cells that need an answer before the number can be followed. A person still decides.
Retainage, stored materials and change orders can all explain a difference between the claim and the change to date. This page doesn't model them, and neither does our workbench yet. Formulas that reach across sheets, or use IF or VLOOKUP, are also outside what the workbench checks automatically.
Six is not a complete list. It is what our current build checks on practice files. Trials on real files have only just started.
06Sources and construction
Where each part comes from
Two observations from our own testing, one inference, and the practice files. No real project file was opened for this page.
- ObservationThe six examples are findings from Pactbeam Workbench build 0.12.1 on synthetic practice files, the same files whose screens appear on the pactbeam.com home page. They have been checked by us, not by an independent reviewer.
- ObservationChecked in LibreOffice 26.2 on 22 October 2026 with a throwaway file: with a text dash in A2, =A1+A2 returned #VALUE! and =SUM(A1:A2) returned 10. Not repeated in Microsoft Excel for this page.
- InferenceShowing zero as a dash is a common number format in pay app templates, which is why a typed dash is hard to spot on screen. The order of checks and the wording of the questions are my own reading method, not a professional standard.
- Synthetic exampleAll cell addresses, values and file names were written for practice. They describe no real project.
When a pay app total looks right but you still want to check it, which cell do you open first?
I would like to hear what you look for that isn't on this list. Write to me with a description; please don't send real project files.