Introducing FiDUS Sell Side

Your template. Your model. Written from the filings.

An initiating-coverage report in your desk’s own format and the linked three-statement model in your own workbook, generated from what the company filed, in one command, so their numbers agree. Every figure carries the document it was read from. The rating, the target price and the recommendation stay yours. One desk’s format, on Lupin, all eighteen pages. Keep scrolling and it turns. Send yours and the report comes back in it.

Page 1 of the generated Lupin reportPage 3 of the generated Lupin reportPage 5 of the generated Lupin reportPage 7 of the generated Lupin reportPage 9 of the generated Lupin reportPage 11 of the generated Lupin reportPage 13 of the generated Lupin reportPage 15 of the generated Lupin reportPage 17 of the generated Lupin report
Page 2 of the generated Lupin reportPage 4 of the generated Lupin reportPage 6 of the generated Lupin reportPage 8 of the generated Lupin reportPage 10 of the generated Lupin reportPage 12 of the generated Lupin reportPage 14 of the generated Lupin reportPage 16 of the generated Lupin reportPage 18 of the generated Lupin report

pages 01–02 of 18Page one · rationale, key risks, market data · NOT RATED, recommendation omitted · Understanding business · group overview · subsidiaries

The template is yours

Forty-four sections in your order, your page one, your sidebar, your palette and table styles. A section your filings cannot fill is removed, never padded with ours.

The model is yours

Your own workbook, refilled for each company. Every formula, named range, chart and sheet survives, because the filler may only write into input cells that already hold a value.

Only the numbers are ours

Each one read from a filing and tagged with it. Your rating scale, disclaimer, contact block and any house prose come from one file you keep, and the header says NOT RATED until your analyst signs.

1,888companies with a generated model

437with a written initiating-coverage report

386with a quarterly update note

3,318live formula cells in Lupin’s model · none overwritten

A section with nothing to say is omitted, not padded. The delivered document either carries content or does not carry the section.

The template, meeting real filings

Forty-four addressable. Thirty-four written.

The report follows a broker’s house format, forty-four sections in a fixed order. Each is built from a named store or not at all. Four are the analyst’s alone: the rating, the recommendation, the disclaimer and the contact block. What a company’s filings do not support is removed from the document, heading and all.

34of 44 written

01Rating & Target Price
02Market Data panel
03Shareholding snapshot (3 quarters)
04Investment Rationale
05Recommendation
06Key Risks (summary)
07Company Journey
08Understanding Business
09In-house Manufacturing
10Group Overview
11Subsidiary & Associate Companies
12Segments / Business Verticals
13Product Portfolio
14Value Creation Process
15Customers
16Business Outlook
17Capex Guidance
18Acquisition / M&A analysis
19Segment-wise Revenue Mix
20Segment-wise PBIT Margin
21Capital Employed Mix
22Geography Sales Mix
23Story in Charts
24Management Details
25Industry Overview
26Con Call Highlights
27Shareholding Pattern
28Dividend Policy
29Credit Rating
30Peer Comparison
31Stock Price Comparison
32Key Pointers and Future Outlook
33Key Risks to Estimates
34Forensic Analysis
35Litigations
36Related Party Transactions
37Contingent Liabilities
38Projected Financials - Balance Sheet
39Projected Financials - Profit & Loss
40Projected Financials - Cash Flow
41Financial Ratios
42Reverse DCF Analysis
43Disclosure and Disclaimer
44Contact details
written from the filingsomitted · nothing to saythe analyst’s · never machine-written

Four sections have no builder at all, company journey, manufacturing, product portfolio and value creation, and appear only when an analyst writes them. Industry overview carries only what management said on the call, because external market research is not in the filings.

Sources

Every figure, with the document it came from.

Eight tags cover every store the generator reads. Each sentence and each table carries its tag inline; the last page of the report lists what the tags mean. Hover a tag.

LUPIN · Investment Rationale · as generated

Revenue grew from 16,369.4 in FY19 to 27,958.0 in FY26, a 7.9% compound annual rate over 7 years.[F1]

Operating cash flow of 7,545.6 in FY26 funded capital expenditure of 2,054.8, leaving free cash flow of 5,490.8.[F1]

Potential entry of generic competitors for Tolvaptan and Mirabegron in FY27; potential price erosion in biosimilars as more players enter the market. (2026-05)[F3]

Source: FiDUS annual-report disclosures, latest filed year[F2]

₹ crore as the store reports it. The month in brackets is the call the risk was read from. A polish pass may reword a sentence, but a rewrite is accepted only if every number and every tag in it is unchanged; otherwise the deterministic draft ships.

Sources · the report’s last page

Every figure and quoted claim in this draft carries a tag identifying the document it was read from.

[F1]FiDUS financial statements, parsed from the company’s filed results
[F2]Annual-report notes and disclosures, latest filed year
[F3]Earnings-call transcript, as filed with the exchange
[F4]NSE daily prices and derived market data
[F5]NSE shareholding pattern, quarterly filings
[F6]Company investor presentation, as filed with the exchange
[F7]Annual-report Management Discussion & Analysis, latest filed year
[F8]Exchange announcement index for credit-rating actions, as filed with NSE/BSE

The linked model

Sixteen sheets. Not one formula touched.

Your own three-statement workbook, refilled for each company from the same store as the report. The filler may write only into input cells that already hold a value, never into a cell whose value begins with an equals sign. Keep scrolling and it leafs through the sheets.

Consol. Historical FS sheet of the Lupin model, as Excel renders itConsol. Common Size FS sheet of the Lupin model, as Excel renders it1Q27 Performance sheet of the Lupin model, as Excel renders it3 Model Projected FS sheet of the Lupin model, as Excel renders itFinancial Ratios sheet of the Lupin model, as Excel renders itSummary_3 Model Projected FS sheet of the Lupin model, as Excel renders itScenarios sheet of the Lupin model, as Excel renders itGraphs sheet of the Lupin model, as Excel renders itPeer Comparison sheet of the Lupin model, as Excel renders itShareholding Pattern sheet of the Lupin model, as Excel renders itContingent Liabilities sheet of the Lupin model, as Excel renders itDividend sheet of the Lupin model, as Excel renders it
Historical FinancialsConsol. Historical FSConsol. Common Size FS1Q27 PerformanceProjected Financials3 Model Projected FSFinancial RatiosSummary_3 Model Projected FSScenariosOther DataGraphsPeer ComparisonShareholding PatternContingent LiabilitiesDividendCredit Rating

Consol. Historical FSfive filed years, P&L, balance sheet and cash flow · 140 formulas

Before a model is called done

Eight checks. Then it ships.

It patches the Excel package directly, so charts, named ranges and every formula survive. Then the gate runs, and a model that fails it never becomes the baseline.

LUPIN · validation · as printed by the gate

PASSno_source_residueall sheets · no template residue in cells, comments, cached results, chart caches or names
PASSbalance_sheet_footsfoots every period (4)
PASSscale_consistentshare capital scale stable across 4 periods · a tenfold jump is a unit error, not a bonus issue
PASSshareholding_totals6 periods sum to 100%
PASSmarket_data_present5 price + 5 share-count years
PASSperiod_labelsheaders FY22A, FY23A, FY24A, FY25A, FY26A
PASSperiod_labels_all_sheetsconsistent with the anchor across 6 other sheets
PASSpeer_fill2 peers with 10 revenue cells

“Never write to a cell whose stored value begins with ‘=’. Preserve formulas, named ranges, sheet order, hidden state, and formatting.”

Formula cells3,318 across 16 sheets
Cell writes, all logged2,411 · each with its source
Scenario inputs267 · zeroed · the analyst’s to set
FY27E / FY28Eship blank until the assumptions are set
Gate across coverage1,829 of 1,888 pass

Results day

The quarter lands. Both refresh.

A daily sweep reads the newest quarter for every covered company. When one is new, the model is regenerated, a snapshot is frozen, and a one-page note says what moved against the year, the quarter and the trailing four-quarter average, with margin moves in basis points. A model that fails the gate never becomes the baseline.

LUPIN · Q1FY27 update · quarter at a glance

₹ crQ1FY27YoYQoQvs 4-qtr avg
Revenue₹8,277 cr+32.0%+10.7%+18.4%
EBITDA₹2,450 cr+41.8%−1.4%+11.1%
PAT₹1,417 cr+16.0%−3.5%+5.8%

Source: FiDUS quarterly statements [F1]

EBITDA margin was 29.6%, expanded 204bps YoY, −366bps QoQ. [F1]

Earnings-call analysis for this quarter is pending (concall pending).

What the sweep can return, per company

updatedbaselineno new quartergate failedno data

A growth figure on a negative base is suppressed rather than printed, because a loss turning to a profit would read as a collapse. A swing is stated in words instead.

The generated Q1 FY27 update note for Lupin, as rendered from the Word file

Peer comparison

A comparison, or none.

Peers are chosen by one rule, applied to 684 mapped companies across 117 sub-sectors. The report takes the closest four; the model’s two slots take the closest two. When nothing qualifies, the section says so, rather than compare a company against one five times its size.

the rule

score = |ln(mcappeer / mcaptarget)| − ln 3 if the same sub-sector
size band 5×, symmetric · stretch to 10× only when the band is empty, at most two, gap stated
Same businessworth three times of size distance
Broader-sector substitutemarked PEER* · said in the note
Price mark older than 14 daysnot a valuation · refused
Market cap above 60× revenuecannot be ranked · refused
Negative-base multipleNM, never a number that screens cheap

“No comparable listed peer: no company in FiDUS’s coverage is in the same business and within 5× of its market capitalisation. A comparison against companies several times its size would not be a comparison, so none is shown.”

The peer comparison sheet of the Lupin model, as Excel renders it

By construction

What the analyst keeps.

Target pricenot produced · the projected model ships with its assumptions zeroed

Not ratedwhat the header prints until a registered analyst supplies a rating

rating · recommendation · disclaimer · contact: read from the analyst’s own file, never generated

Refuses lenders and insurers.

A bank, an NBFC or an insurer raises before the template is opened: the three-statement model does not apply to them and is not generated. The check reads the filing’s taxonomy and then the interest share of revenue, because the taxonomy alone misfiled a restaurant chain.

Refuses a valuation it cannot stand behind.

Negative free cash flow refuses the reverse DCF. Discount and terminal rates are labelled assumptions in the text. One share count serves the report and the model, so no two surfaces disagree.

Not built, deliberately.

Assumption seeding waits on the desk’s own methodology; every model opens flat. Alerting is not built. Reports were last run across coverage on 30 August; models on 15 September.

Where it sits

Not a template. Not a spreadsheet.

The two ways a desk produces an initiating note today: a template filled by an associate over a week, or a model built by hand and rebuilt by hand every quarter. Here is where each one stops.

A template reportA hand-built modelFiDUS
Written byan associate, over days—the generator, in minutes, from the filings
An empty sectionpadded, or a placeholder—removed, heading and all
A number’s sourcea footnote, sometimesa cell referencea tag on every figure · eight tags · an appendix
Report and modelreconciled by handreconciled by handone store, one command, one share count
Formulas—overwritten by whoever edits lastnever written into · 3,318 survive · logged writes
Results dayrewriterebuildrefresh, snapshot, a one-page diff note
Peerswhoever the associate picked—one rule · substitutes marked · refusal when none
Rating and targetthe analyst’sthe analyst’sthe analyst’s · the header says NOT RATED until then
Every FiDUS cell is an output of the generator or a rule in its code.measured 16 Sep 2026

Setup

One symbol. Two files.

One command produces the report and the model from the same store. The analyst’s copy lives in one JSON file keyed by section, so a rating, a recommendation or a house disclaimer needs no code change. A daily sweep keeps every covered company current.

Next on the bench

Built in the open.

Not shipped yet, listed anyway, so everything above stays exactly what the generator does today.

Assumption seeding.

Base, bull and bear inputs set from the desk’s own methodology, so a model opens with a first draft of the projections rather than flat.

A template for lenders.

Banks, NBFCs and insurers, 130 companies, excluded today rather than modelled badly.

Alerting.

The sweep already knows when a quarter lands; nobody is told yet.

Desk access

Your template. Your model.

For research desks at brokers and wealth firms. Send your report template and your model workbook, and one symbol you cover. What comes back is your initiating-coverage draft and your model, filled from the filings, for you to mark up against what your desk would have written.

Get access

Contact

Siddhi Nagvekar

FiDUS · desk access

Contact

Shreyas Mashelkar

FiDUS · desk access

Request
access.

Tell us who you are and which product you want to see. A person replies, not a sequence.