3-statement-model

Populate and validate integrated 3-statement financial model templates in Excel.

Updated Sep 17, 2026
One-click install
npx skills add https://github.com/hkw2028/toy-project --skill 3-statement-model-hkw2028
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: 3-statement-model
Source: https://github.com/hkw2028/toy-project/tree/main/.agents/skills/3-statement-model
Command: npx skills add https://github.com/hkw2028/toy-project --skill 3-statement-model-hkw2028

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires openpyxl, and includes references (resource) components.

What problem does it solve? Completing a 3-statement financial model template (Income Statement, Balance Sheet, Cash Flow Statement) is error-prone: broken formulas, hardcoded projections, and statements that fail to tie out. This Skill guides the population of existing model templates with proper formula linkages, scenario toggles, and systematic validation checks so the model balances and flexes with assumptions. ## Core Features & Use Cases - Template Completion: Map template tabs (IS, BS, CF, WC, D&A, Debt, NOL, Assumptions), populate historicals and drivers, and build projections using formulas instead of hardcoded values. - Cross-Statement Validation: Run integrity checks including Assets = Liabilities + Equity, cash tie-out, retained earnings roll-forward, NOL limits, and scenario hierarchy audits. - SEC Filing Extraction: Pull 3 years of historical financials from 10-K/10-Q filings via EDGAR and map filing line items to model line items. - Use Case: An analyst receives a partially built model template for a public company. The Skill extracts historicals from the 10-K, builds formula-driven projections from the Assumptions tab, and verifies every check passes in Base, Upside, and Downside scenarios. ## Quick Start Ask the AI to complete the attached 3-statement model template by populating historicals, building formula-driven projections, and verifying the balance sheet and cash tie-out checks.

Frequently Asked Questions about 3-statement-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fill out a 3-statement financial model template?

Map the template tabs first, then populate historical actuals, enter assumption drivers, and build projections using Excel formulas that reference the Assumptions tab. Confirm each statement with the user before moving to the next, and finish with cross-statement integrity checks.

How to link Income Statement, Balance Sheet, and Cash Flow in Excel?

Link Net Income from the IS to the top of CFO, link ending cash from the CF to BS cash, and roll retained earnings forward as prior RE plus Net Income minus dividends. Verify Assets minus Liabilities minus Equity equals zero for every period.

Should I use Office JS or openpyxl to populate an Excel model?

Use Office JS when running inside Excel as an add-in, writing formulas via range.formulas so Excel recalculates natively. Use Python with openpyxl when generating a standalone .xlsx file, then run a recalculation script before delivery.

Why does my balance sheet not balance after populating the model?

Common causes include hardcoded values instead of formulas, broken cross-tab links, incorrect working capital sign conventions, or a retained earnings roll-forward missing SBC or dividends. Trace precedents on the check row and verify each schedule ties to its statement line item.

Can I extract historical financials from SEC 10-K filings for the model?

Yes, pull 3 years of Income Statement and Cash Flow data plus Balance Sheets from 10-K filings on SEC EDGAR, mapping filing line items to model line items. Verify IS Net Income equals CF starting Net Income and BS cash equals CF ending cash for each year.

How do I handle circular references from interest expense in Excel models?

Interest creates circularity through Net Income, cash, and debt balances. Enable iterative calculation in Excel options with 100 maximum iterations and 0.001 maximum change, and add a circuit breaker toggle in the Assumptions tab.