financial-statements
This Claude Code skill generates formatted income statements, balance sheets, and cash flow statements with period-over-period comparisons and variance analysis. Use it when closing monthly or quarterly books, comparing actuals to budget, identifying material variances for management review, or verifying GAAP presentation requirements and period-end adjustments before financial reporting or executive review.
git clone --depth 1 https://github.com/openyak/openyak /tmp/financial-statements && cp -r /tmp/financial-statements/backend/app/data/plugins/finance/skills/financial-statements ~/.claude/skills/financial-statementsSKILL.md
# /financial-statements
> If you see unfamiliar placeholders or need to check which tools are connected, see [CONNECTORS.md](../../CONNECTORS.md).
**Important**: This command assists with financial statement workflows but does not provide financial advice. All statements should be reviewed by qualified financial professionals before use in reporting or filings.
Generate financial statements with period-over-period comparison and variance analysis. The workflow below walks through income statement generation; balance sheet and cash flow statement reference formats, GAAP presentation requirements (ASC 220/210/230), and common period-end adjustments are included as supporting reference material.
## Usage
```
/financial-statements <period-type> <period>
```
### Arguments
- `period-type` — The reporting period type:
- `monthly` — Single month P&L with prior month and prior year month comparison
- `quarterly` — Quarter P&L with prior quarter and prior year quarter comparison
- `annual` — Full year P&L with prior year comparison
- `ytd` — Year-to-date P&L with prior year YTD comparison
- `period` — The period to report (e.g., `2024-12`, `2024-Q4`, `2024`)
## Workflow
### 1. Gather Financial Data
If ~~erp or ~~data warehouse is connected:
- Pull trial balance or income statement data for the specified period
- Pull comparison period data (prior period, prior year, budget/forecast)
- Pull account hierarchy and groupings for presentation
If no data source is connected:
> Connect ~~erp or ~~data warehouse to pull financial data automatically. You can also paste trial balance data, upload a spreadsheet, or provide income statement data for analysis.
Prompt the user to provide:
- Current period revenue and expense data (by account or category)
- Comparison period data (prior period, prior year, and/or budget)
- Any known adjustments or reclassifications
### 2. Generate Income Statement
Present in standard multi-column format:
```
INCOME STATEMENT
Period: [Period description]
(in thousands, unless otherwise noted)
Current Prior Variance Variance Budget Budget
Period Period ($) (%) Amount Var ($)
-------- -------- -------- -------- -------- --------
REVENUE
Product revenue $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
Service revenue $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
Other revenue $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
-------- -------- -------- -------- --------
TOTAL REVENUE $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
COST OF REVENUE
[Cost items] $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
-------- -------- -------- -------- --------
GROSS PROFIT $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
Gross Margin XX.X% XX.X%
OPERATING EXPENSES
Research & development $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
Sales & marketing $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
General & administrative $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
-------- -------- -------- -------- --------
TOTAL OPERATING EXPENSES $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
OPERATING INCOME (LOSS) $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
Operating Margin XX.X% XX.X%
OTHER INCOME (EXPENSE)
Interest income $XX,XXX $XX,XXX $X,XXX X.X%
Interest expense ($XX,XXX) ($XX,XXX) $X,XXX X.X%
Other, net $XX,XXX $XX,XXX $X,XXX X.X%
-------- -------- --------
TOTAL OTHER INCOME (EXPENSE) $XX,XXX $XX,XXX $X,XXX X.X%
INCOME BEFORE TAXES $XX,XXX $XX,XXX $X,XXX X.X%
Income tax expense $XX,XXX $XX,XXX $X,XXX X.X%
-------- -------- --------
NET INCOME (LOSS) $XX,XXX $XX,XXX $X,XXX X.X% $XX,XXX $X,XXX
Net Margin XX.X% XX.X%
```
### 3. Variance Analysis
For each line item, calculate and flag material variances.
#### Variance Calculation
For each line item, calculate:
- **Dollar variance:** Current period - Prior period (or current period - budget)
- **Percentage variance:** (Current - Prior) / |Prior| x 100
- **Basis point change:** For margins and ratios, express change in basis points (1 bp = 0.01%)
#### Materiality Thresholds
Define what constitutes a "material" variance requiring investigation. Common approaches:
- **Fixed dollar threshold:** Variances exceeding a set dollar amount (e.g., $50K, $100K)
- **Percentage threshold:** Variances exceeding a set percentage (e.g., 10%, 15%)
- **Combined:** Either the dollar OR percentage threshold is exceeded
- **Scaled:** Different thresholds for different line items based on their size and volatility
*Example thresholds (adjust for your organization):*
| Line Item Size | Dollar Threshold | Percentage Threshold |
|---------------|-----------------|---------------------|
| > $10M | $500K | 5% |
| $1M - $10M | $100K | 10% |
| < $1M | $50K | 15% |
#### Variance Decomposition
Break down total variance into component drivers:
- **Volume/quantity effect:** Change in volume at prior period rates
- **Rate/price effect:** Change in rate/price at current period volume
- **Mix effect:** Shift in composition between items with different rates/margins
- **New/discontinued items:** Items present in one pConvert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV. Use this skill when scientists need to standardize instrument data for LIMS systems, data lakes, or downstream analysis. Supports auto-detection of instrument types. Outputs include full ASM JSON, flattened CSV for easy import, and exportable Python code for data engineers. Common triggers include converting instrument files, standardizing lab data, preparing data for upload to LIMS/ELN systems, or generating parser code for production pipelines.
Run nf-core bioinformatics pipelines (rnaseq, sarek, atacseq) on sequencing data. Use when analyzing RNA-seq, WGS/WES, or ATAC-seq data—either local FASTQs or public datasets from GEO/SRA. Triggers on nf-core, Nextflow, FASTQ analysis, variant calling, gene expression, differential expression, GEO reanalysis, GSE/GSM/SRR accessions, or samplesheet creation.
This skill should be used when scientists need help with research problem selection, project ideation, troubleshooting stuck projects, or strategic scientific decisions. Use this skill when users ask to pitch a new research idea, work through a project problem, evaluate project risks, plan research strategy, navigate decision trees, or get help choosing what scientific problem to work on. Typical requests include "I have an idea for a project", "I'm stuck on my research", "help me evaluate this project", "what should I work on", or "I need strategic advice about my research".
Deep learning for single-cell analysis using scvi-tools. This skill should be used when users need (1) data integration and batch correction with scVI/scANVI, (2) ATAC-seq analysis with PeakVI, (3) CITE-seq multi-modal analysis with totalVI, (4) multiome RNA+ATAC analysis with MultiVI, (5) spatial transcriptomics deconvolution with DestVI, (6) label transfer and reference mapping with scANVI/scArches, (7) RNA velocity with veloVI, or (8) any deep learning-based single-cell method. Triggers include mentions of scVI, scANVI, totalVI, PeakVI, MultiVI, DestVI, veloVI, sysVI, scArches, variational autoencoder, VAE, batch correction, data integration, multi-modal, CITE-seq, multiome, reference mapping, latent space.
Performs quality control on single-cell RNA-seq data (.h5ad or .h5 files) using scverse best practices with MAD-based filtering and comprehensive visualizations. Use when users request QC analysis, filtering low-quality cells, assessing data quality, or following scverse/scanpy best practices for single-cell analysis.
Set up your bio-research environment and explore available tools. Use when first getting oriented with the plugin, checking which literature, drug-discovery, or visualization MCP servers are connected, or surveying available analysis skills before starting a new project.
>
>