9.3 Integrity Checks and Documentation

Key Takeaways

  • A CFI-style Checks sheet flags when ABS(Assets − Liabilities − Equity) exceeds a small tolerance (for example $0.5 thousand); Apex 2024A assets 7,151 equal L+E 7,151, so the BS-balance flag is 0.
  • Cash must tie: balance-sheet cash equals cash-flow ending cash — Apex 2024A both 1,651; a $1 thousand gap is an error flag, not rounding to ignore on a $000s model.
  • Pick one sign convention and keep it: this guide uses CFI-typical positive expenses (COGS 6,000) subtracted in subtotals (gross profit = revenue − COGS); mixed signs in the same P&L are a check failure.
  • Cover-sheet documentation includes version, model date, units, sources, purpose, and a color legend; Apex's file is versioned, dated 2026-08-20, and labeled $000s before anyone edits a driver.
  • Error flags are numeric 1/0 (or OK/ERROR) that sum to a dashboard of zero errors; IFERROR-away and hidden plugs are anti-documentation, not controls.
Last updated: August 2026

Checks are outputs, not decorations

Quick Answer: A CFI-aligned model has a Checks sheet (or a Checks block) that tests balance-sheet balance, cash ties, NI / retained-earnings ties, units, and sign convention. Flags are numeric (1 = error, 0 = OK) with a small ABS tolerance. The cover sheet records version, model date, units, sources, and a color legend. Apex 2024A balances at 7,151 of assets and L+E, with cash 1,651 on both the BS and the CF.

CFI's 2026 core path splits Financial Modeling Guidelines from Auditing and Balancing a 3-Statement Model. This section is the guidelines layer: what you install on day one so the later audit has somewhere to land. You do not wait until the BS is already broken to add a difference row.

Financial Modeling is about 30% of the published FMVA weight graphic, and Excel case studies are timed. A case that is internally pretty and does not balance is unfinished. The Checks sheet is the last output you read before you stop.

Sign convention: pick one and check it

Sign convention is a check, because mixed signs are how a SUM of the P&L double-counts or zeros out.

CFI-typical style used in this guide: store revenues as positives and expenses as positives, then subtract expenses in subtotals. Apex 2024A:

  • Revenue 10,000 (positive input or formula)
  • COGS 6,000 (positive; 60% × revenue)
  • Gross profit =Revenue-COGS = 4,000
  • OpEx 2,000 (positive)
  • D&A 400 (positive)
  • EBIT =GP-OpEx-DA = 1,600

Interest 132 is also stored positive and subtracted. Tax 367 is stored positive and subtracted. NI 1,101 is positive.

The alternative, negative expenses (COGS stored as −6,000 so a column SUM works without minuses), is internally valid if every expense line is negative. CFI-style teaching models usually prefer the positive expense + subtract in the total layout because stubs read like a published P&L (COGS is shown as 6,000, not −6,000) and because corkscrews already use explicit plus/minus lines.

StyleCOGS cellGross profitAllowed?
Positive expenses (this guide)6,000=Rev-COGSYes — pick and keep
Negative expenses−6,000=SUM(Rev,COGS)Yes — only if every expense is negative
Mixed6,000 in 2024, −6,000 in 2025Whatever still printsNever

On the cash-flow statement, outflows often display in parentheses via the custom format or via =-Capex. That is a cash-flow presentation choice, not a reason to store COGS as negative on the IS. Apex capex 500 stays a positive input on Assumptions; CF investing is =-Assumptions!D18 and displays (500).

A Checks-sheet sign test can count whether expense lines are ≥ 0 (positive-expense style) or ≤ 0 (negative-expense style) and flag a mix. If 2025 COGS is −6,480 while 2024 COGS is 6,000, gross profit in 2025 becomes 10,800 − (−6,480) = 17,280, which is nonsense, and the BS will not save you until cash is already wrong.

The three ties that must hold

1. Balance sheet balances

Assets = Liabilities + Equity

Apex 2024A: cash 1,651 + NWC 1,500 + net PP&E 4,000 = 7,151. Debt 2,200 + equity 4,951 = 7,151. Difference 0.

Check formula (tolerance 0.5 thousand, so a 0.2 rounding crumb does not scream):

=IF(ABS(Assets-Liab-Equity)>0.5,1,0)

Use ABS. A test of Assets=Liab+Equity on floating-point Excel can fail on 0.0000001, or a test of Assets-Liab-Equity>0 misses a negative imbalance.

2. Cash ties

Ending cash on the cash-flow statement must equal cash on the balance sheet for the same column year.

Apex 2024A: Δcash 851 + opening cash 800 = 1,651 on the CF. BS cash 1,651. Difference 0.

If BS cash is 1,650 and CF ending cash is 1,651, the Checks sheet raises a cash-tie error. On a $000s model that $1 thousand is not "immaterial for FMVA." It is a missing line, a sign error on capex, or an off-by-one column. Turning on iteration will not heal a $1 gap that is not a revolver plug.

Also tie opening BS cash in year t to ending CF / BS cash in year t−1. Apex 2025E opening cash must be 1,651, not a restated 800.

3. Net income ties to equity

IS NI must be the amount the retained-earnings corkscrew adds.

Apex 2024A: opening equity 3,850 + NI 1,101 − dividends 0 = 4,951. If the IS shows 1,101 and the RE rollforward adds 1,100, flag it.

CheckApex 2024A testPass if
BS balances7,151 − 7,151ABS(diff) ≤ 0.5
Cash tieBS cash 1,651 vs CF ending 1,651ABS(diff) ≤ 0.5
NI / RE tieIS NI 1,101 vs RE addition 1,101ABS(diff) ≤ 0.5
UnitsHeader $000s on every sheet = Assumptions!B2Exact match
SignExpense lines ≥ 0 (positive-expense style)No mix
CircularityIteration on only if a documented revolver loop existsDocumented or off

Apex 2025E, for the same grid: revenue 10,800, NI 1,221, NWC 1,620, PP&E 4,100, Δcash 1,001, ending cash 2,652, assets 8,372 = L+E 8,372. Copy the same check formulas into column D. That is the 9.1 copy-across rule applied to controls.

Error flags you can sum

Store each check as 1 (error) or 0 (OK), then:

Errors = SUM(Checks!C5:C12)

The dashboard on Cover or Checks shows Errors: 0. Conditional formatting can paint the row red when the flag is 1, but the number is what you read in a second window. Do not rely on color alone (9.2).

IFERROR(...,0) is not a check. Wrapping the BS difference in IFERROR hides a #REF! from a deleted debt schedule and reports a clean zero. The correct alarm is the #REF! or a flag that tests ISERROR and returns 1.

Hidden plugs (white font, a 1,651 cash line that is actually =Liab+Equity-otherAssets) can force the BS to "balance" while the CF does not tie. CFI-transparent models show the plug (often a revolver) on a corkscrew and still run the cash-tie check. If the plug is cash itself, the cash-tie check is how you catch a circularity or a missing NI.

Units flag: =IF(Assumptions!B2<>IS!B2,1,0) and the same vs BS and CF. If someone types millions on the IS header and thousands on Assumptions, this fires before you forecast.

Driver status: historical columns (2024A) are mostly blue actuals; forecast columns are formulas. A check can use Go To Special mentally: constants in D:F on the IS (other than 0) are suspect. CFI's guidelines course includes driver status — actual vs forecast — so you do not overwrite 2024A with a growth formula or leave 2027E as a typed actual.

Circularity is managed, not wished away. If the case uses a revolver whose interest depends on the plug, document iteration on on the cover (max iterations and maximum change). CFI's guidelines course treats circularity as something to control. Accidental circularity (a cell pointing at itself) is a Checks miss: the status bar says Circular References and the BS will not settle. The next chapter in this guide covers iteration mechanics; the guidelines rule is: do not enable iteration to silence a #DIV/0! or a $1 cash gap.

Macros are not an integrity system. CFI's view in this course is to avoid macros in the model. Protection (Protect Sheet / Protect Workbook structure) can lock calculation cells after the model is done so a user only edits blue inputs. On a timed FMVA case, do not spend minutes setting passwords; do spend seconds not overwriting green cells.

Cover sheet: version, sources, units, date

Documentation is how a file survives contact with another analyst — or with you after the clock has run. CFI-aligned cover contents:

FieldApex exampleWhy it is there
Model name / purposeApex Components 3-statement forecast — can operations fund capex?Design-backward reminder
Version1.2Distinguishes the file from Apex_v1.1 sent yesterday
Model date2026-08-20As-of date of actuals and assumptions
Units$000sSame as the global marker
Author / reviewerInitialsAccountability
SourcesFY2024 management pack; tax rate from 10-K note 14Blue inputs are not invented
Color legendBlue input / black same-sheet / green cross-sheet9.2 contract
IterationOff (no revolver loop in this tiny file)Circularity status
Sheet indexHyperlinks to Assumptions, IS, BS, CF, ChecksNavigation without macros

Sources matter on the exam when a case states "use the 25% statutory rate" and a leftover 21% sits in blue. The cover (or a comment on Assumptions!C20) cites the rate. If the source is "management growth 8%," write that next to the 8% — still a blue input, but not an anonymous 8%.

Version and date stop you from submitting an old file. If actuals are through 2024 and today is 2026-08-20, the cover says so. A model dated 2023 with 2024A labeled as forecast is a documentation fail even if the formulas copy.

Print the cover as page 1. CFI's print-settings lesson exists so the units line and the color legend appear on the statements, not only in a hidden named range.

Worked failure: the $1 cash miss

Suppose Apex 2024A CF ending cash is 1,651 and someone types BS cash as 1,650 (blue, on the BS — already a guidelines miss; cash should be a formula from the CF). Checks:

CashTie = IF(ABS(1650-1651)>0.5,1,0)1

Errors = 1

Do not add $1 of revenue to absorb it. Do not turn on iteration. Trace: BS cash should be =CF ending cash (green). Restore the link; both read 1,651; flag returns 0.

A second failure: COGS typed as −6,000 in 2024 only. Gross profit becomes 16,000, tax and NI explode, BS equity no longer matches unless you plug. The sign check fires even before you finish the CF. That is the point of installing Checks on day one.

On the FMVA final, if a case study still has Errors ≥ 1 at minute 45, you know the three statements do not articulate. CFI's pacing (about 45 minutes per case, 60 at most) includes time to read the Checks sheet. A model without one forces you to subtract assets from L+E by eye — slower, and easier to miss a $1 thousand.

Loading diagram...
Cover documentation plus a Checks sheet that must sum to zero
Test Your Knowledge

Apex 2024A assets are $7,151 thousand and liabilities plus equity are $7,151 thousand. A CFI-style integrity check should do which of the following?

A
B
C
D
Test Your Knowledge

Which items belong on a CFI-style cover sheet before anyone uses the workbook?

A
B
C
D
Test Your Knowledge

The 2024 cash-flow statement shows ending cash of $1,651 thousand. Balance-sheet cash is $1,650 thousand. What should the Checks sheet do?

A
B
C
D