Two people touch the numbers in a credit file: the analyst who spreads them and the reviewer who re-derives them. Everything that goes wrong in a spread is one of those two failing quietly. The analyst maps a line to the wrong bucket, or keys a figure into the wrong column, or annualises a nine-month stub without saying so; the reviewer, working from the finished spread, has nothing to compare against and signs.
The fix is not more care. It is a spread with enough structure that care is optional: a mapping written down once, adjustments in their own column, and arithmetic that fails loudly when a line moves. Six months later, when someone asks where a number came from, the answer is a page and a line rather than a memory.
What a spread actually is
A spread takes three years of balance sheet and income statement, side by side, and restates each printed line into the lender's own line items. It exists for one reason: comparability. Two borrowers in the same industry should reach the ratio section looking alike, and the same borrower across two years should be comparable without the analyst re-deciding what counts as revenue each time.
It is not a model, and it is not a forecast. A spread contains what happened. The moment you add a projected column, you have a different artefact with a different review standard, and mixing the two is how a committee ends up underwriting next year's number as if it were last year's.
The mapping table is the deliverable
Every analyst carries a mapping in their head: this bank prints "total operating revenue", that one prints "gross receipts", and neither is the same as the line in your template. Write that mapping down per statement format and version it. Then the reviewer is checking your judgement rather than reverse-engineering it, and the next analyst does not re-litigate the same decision on the next file.
| Line as printed | Feeds which spread line | Rule applied | Breaks when |
|---|---|---|---|
| Revenue / gross receipts / total income | Revenue | As printed; returns and allowances stay visible underneath | The statement nets returns into revenue and the note is on another page |
| Officer compensation / salaries — owners | Officer comp (as reported) | Never folded into general and administrative expense | Payroll line mixes owner draws with staff wages |
| Depreciation and amortisation | Non-cash add-back | Taken from the cash flow statement, not inferred | No cash flow statement and the note lists two figures |
| Other income | Non-operating income | Kept out of operating cash flow until classified | A single figure with no note — could be an asset sale |
| Current portion of long-term debt | Current maturities | Reclassified from the balance sheet | Prior-year column left as reported and not reclassified |
| Due from related party | Eliminated at global level | Flagged for elimination, amount listed | Entity names differ between the borrower's two files |
| Nine-month stub | Stub period | Shown as a stub unless policy allows annualising | Annualised without a footnote on the factor used |
Four checks that fail when the spread is wrong
Each check catches a different error, so running only one is a partial review. Run all four before the file leaves your desk.
- Sum back to the printed total. Per year, per statement: the mapped lines must add to the total the borrower printed on that statement. A small difference usually means one line was mapped twice; a difference equal to a whole line means one never landed.
- Roll check. This year's prior-year column must equal last year's current-year column, digit for digit. A reclassification applied to one year and not the other shows up here and nowhere else.
- Balance sheet foots. Assets equal liabilities plus equity in every column. If it foots in the source and not in your spread, a line moved between sections.
- Running-balance check, when the source is bank data. Opening plus deposits minus withdrawals equals closing on every statement. This is the only independent evidence that the rows you spread were read as printed.
Roll check, 2024 column vs 2025 prior-year column
2023 2024 2025
Revenue 4,180 4,905 5,212
prior-yr column in 2025 shows 4,905 -> agrees
prior-yr column in 2025 shows 4,950 -> transposition, 1 line, 1 yearAdjustments belong in a column, not in the number
The temptation is always the same: the officer compensation is above market, so the analyst types the market figure in and adds the difference back mentally. Now the spread shows a number the borrower never reported, and the reviewer cannot tell whether the adjustment is a judgement or a keying error — because the evidence that it was a judgement was deleted at the moment of entry.
Keep three columns for anything you adjust: as reported, adjustment, adjusted. Every adjustment carries a reason, a date and initials. Two analysts can then defend different officer-comp figures in front of the same committee, which is the correct outcome — the disagreement is a credit judgement, not an arithmetic error.
Where the spread breaks on multi-entity files
Global cash flow is where a clean single-entity spread becomes a trap. Transfers between entities owned by the same guarantor are not revenue and not expense; if both sides are spread and then added together, the group looks larger than it is by exactly the size of the movement. Eliminate them as a listed line with amounts, not as a silent subtraction, because the reviewer needs to see what was removed and check it against both entities.
Related-party rent is the same shape of problem with a different answer: it is a real cash outflow for the operating company and real income for the property entity. Whether it survives into global cash flow is a policy question. Whichever way you answer it, write the answer down once and apply it to every file.
When not to use us
- The file needs an audit opinion. A spread is a restatement for credit purposes. It is not an audit, not a review, and not an assurance engagement, and it should never be described as one in the memo.
- The borrower's numbers are unaudited and the deal is syndicated. You need a quality-of-earnings exercise, not a spread.
- You need two figures once. Read the page. Spreading earns its cost on a file you will work through and someone else will re-read.
Where SheetParser fits
The mapping is your judgement and stays with you. What we remove is the typing underneath it: the tables come out of the PDF as printed, each cell carrying the page and line it came from, with the numeric value in a separate derived field rather than replacing what the page shows. Rows that do not tie out, and cells where two readings disagreed, arrive as a review list rather than being quietly resolved, and the export carries that list into the workbook so the second reader sees it too.
On a three-year file that is most of an afternoon of keying, and it is the part where a transposed digit later costs a committee meeting. The discipline above is still yours to apply — we just make sure the source column is what the page prints. For the deposit side of the same file, see deposit analysis for lenders and, for the balance proof underneath it, the opening-to-closing check.