financial-statement-normalization

Capitalize R&D and leases, then derive FCFF, FCFE, invested capital, and ROIC.

Updated Sep 9, 2026
One-click install
npx skills add https://github.com/lyndonkl/hermesworld --skill financial-statement-normalization-lyndonkl
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: financial-statement-normalization
Source: https://github.com/lyndonkl/hermesworld/tree/main/packages/special-situations-analyst/skills/corporate-finance/financial-statement-normalization
Command: npx skills add https://github.com/lyndonkl/hermesworld --skill financial-statement-normalization-lyndonkl

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Accounting statements are built for auditability, not valuation: R&D is expensed when it is really an investment, operating leases hide debt, and one-time items distort operating income. This Skill applies the standard corrections and derives the cash flows, capital base, and returns a valuation model actually needs. ## Core Features & Use Cases - R&D and Lease Capitalization: Convert R&D history into a research asset with amortization, and discount lease commitments into lease debt with imputed interest, iterating the cost of debt to a fixed point. - Cash Flow and Capital Derivation: Compute FCFF, FCFE (stable-leverage or explicit debt flows), invested capital, ROIC, return spread, and economic value added from corrected numbers. - Earnings Normalization and Ratios: Normalize peak or trough earnings via average margin, ROC, or earnings methods, and produce a full diagnostic ratio pack. - Use Case: Before running a DCF on an R&D-heavy retailer, capitalize its research spending and store leases, strip a recurring restructuring charge, and hand adjusted EBIT, invested capital, and sales-to-capital to the valuation engine. ## Quick Start Ask the agent to capitalize this company's R&D and operating leases and compute FCFF and ROIC from its latest financial statements.

Frequently Asked Questions about financial-statement-normalization

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

FAQPage Schema
How do I capitalize R&D expenses for a valuation?

Treat each of the last N years of R&D as an investment written off straight line over N years. The capitalize-rd subcommand takes current and past R&D plus an amortizable life and returns the research asset, this year's amortization, and the EBIT adjustment.

How to convert operating lease commitments into debt?

Discount the disclosed lease commitments at the pre-tax cost of debt. The capitalize-leases subcommand handles the itemized schedule and the lump-sum thereafter figure, returning lease debt, depreciation, imputed interest, and the EBIT adjustment.

Does this script require any Python packages to install?

No. The normalize.py script uses only the Python standard library, so it runs anywhere with python3 and no pip installs. Every subcommand reads JSON from stdin or a file and prints JSON.

Why does ROIC fall after capitalizing R&D and leases?

ROIC usually falls because the capital base rises proportionally more than earnings once the research asset and lease debt are added. If corrected ROIC rises instead, the EBIT leg was applied without the capital leg, which is the most common modeling error.

When should I not normalize a company's earnings?

Do not normalize when the cause is structural: a life-cycle stage, excessive leverage, or a long-term operating problem. Normalization only fits temporary shocks and cyclicality; structural cases need a revenue-driven forecast with a target margin instead.

Why must FCFF stay unchanged when R&D is capitalized?

Capitalizing R&D raises after-tax operating income and net capital expenditure by the same amount, leaving FCFF invariant. To preserve this, add the R&D amortization to depreciation and pass the effective tax rate on corrected EBIT rather than taxing the add-back.