Overview
The balance sheet presents a company’s financial position at a specific point in time, showing assets, liabilities, and equity. It implements the fundamental accounting equation: Assets = Liabilities + Equity.Balance sheets are generated using
BalanceSheetService in packages/core/src/reporting/BalanceSheetService.ts, following ASC 210 standards.Report Structure
Sections
The balance sheet is organized into five main sections per ASC 210:- Assets
- Liabilities
- Equity
Current Assets
- Cash and cash equivalents
- Accounts receivable
- Inventory
- Prepaid expenses
- Other current assets
- Property, plant, and equipment
- Intangible assets
- Long-term investments
- Other non-current assets
Line Items
Each line item includes:Key Totals
- Total Assets: Current Assets + Non-Current Assets
- Total Liabilities: Current Liabilities + Non-Current Liabilities
- Total Equity: Sum of all equity accounts
- Total Liabilities and Equity: Must equal Total Assets
Generating a Balance Sheet
Select company and date
Choose the company and the as-of date for the balance sheet. This represents the financial position at the end of that specific day.
Configure comparative period (optional)
Optionally select a comparative date (e.g., prior year-end) to show period-over-period changes with variance analysis.
Set display options
- Include zero balances: Show or hide accounts with zero balances
- Show account numbers: Display account codes for reference
- Indentation level: Control hierarchical display depth
Service Methods
generateBalanceSheet
Generates a complete balance sheet report.BalanceSheetReport with all sections, line items, and totals
Errors:
CompanyNotFoundError: Company does not existBalanceSheetNotBalancedError: Assets ≠ Liabilities + Equity
Report Validation
The balance sheet implements strict validation per ASC 210:Balancing Equation
- Total Assets amount
- Total Liabilities amount
- Total Equity amount
- The discrepancy
A balance sheet that doesn’t balance indicates serious accounting data issues and must be investigated immediately.
Comparative Analysis
When a comparative date is provided, the report includes:Variance Columns
- Absolute Variance: Current amount - Comparative amount
- Percentage Variance: (Variance / Comparative amount) × 100
Variance Analysis Features
Account Classification
Accounts are classified into sections based onAccountCategory:
Current vs Non-Current Assets
- Current Assets:
CurrentAssetcategory - Non-Current Assets:
NonCurrentAsset,FixedAsset,IntangibleAssetcategories
Current vs Non-Current Liabilities
- Current Liabilities:
CurrentLiabilitycategory - Non-Current Liabilities:
NonCurrentLiabilitycategory
Equity
- Contributed Capital:
ContributedCapitalcategory - Retained Earnings:
RetainedEarningscategory - Other Comprehensive Income:
OtherComprehensiveIncomecategory - Treasury Stock:
TreasuryStockcategory (contra-equity)
UI Workflow
- Single Period
- Comparative Period
- Navigate to Reports → Balance Sheet
- Select the company
- Choose the As-of Date (e.g., December 31, 2024)
- Click Generate Report
- Review the financial position:
- Current and non-current assets
- Current and non-current liabilities
- Equity components
- Verify Total Assets equals Total Liabilities and Equity
- Export to PDF or Excel
Report Features
Section Helpers
TheBalanceSheetReport class provides convenient methods:
Balance Checking
Export Formats
Balance sheets support multiple export formats:- PDF: Professional formatted report with company header
- Excel: Multi-sheet workbook with formulas and formatting
- CSV: Raw data for custom analysis
- JSON: Structured data for API integration
Best Practices
- Monthly Close: Generate balance sheets at month-end to track financial position trends
- Comparative Reporting: Always include prior period comparison for meaningful analysis
- Account Organization: Maintain proper account categorization for accurate section classification
- Regular Validation: Verify the balance sheet equation holds before closing periods
- Zero Balance Exclusion: Exclude zero-balance accounts for cleaner presentation
Common Issues
| Issue | Cause | Resolution |
|---|---|---|
| Balance sheet doesn’t balance | Incomplete journal entries | Review trial balance first, verify all entries have balanced debits/credits |
| Accounts in wrong section | Incorrect account category | Update account’s category in chart of accounts |
| Missing accounts | Zero balance + excluded | Enable “Include zero balances” option |
| Comparative period error | Invalid comparative date | Ensure comparative date is before as-of date |
The balance sheet is typically generated after the trial balance to ensure all accounts are balanced before sectional classification.