← SIMRANJAISWAL.INCASE · STUCK MONEY · 03 · THE MAKEOVER

Six tiles, no answer

India's national delayed-payments dashboard tracks ₹55,244 crore that small businesses say they are owed. Its front page is six coloured tiles of counts. This is what it hides, and what it should look like — rebuilt on nothing but its own published numbers.

01 · THE BUSINESS QUESTION

Three people open this page with a question. None of them can answer it.

MSME Samadhaan is the portal where a micro or small enterprise files a complaint when a buyer pays late — and where the Ministry, 37 state Facilitation Councils and Parliament go to see how the system is doing. An MSME owner wants to know: if I file in my state, against this kind of buyer, will anything happen, and how long will it take? A council chair wants to know which of the thousands of pending applications to hear first. A minister is asked in Parliament how much money is stuck and whether it is getting better. The front page answers none of these. It answers "how many rows are in each table."

02 ·TRACEWHAT THE PORTAL PUBLISHES, AND WHERE IT DISAGREES WITH ITSELF

Eleven report pages, all tables, no join. So the first job was the boring one: read every table and make the totals agree.

Behind the tiles sit eleven separate reports — by state, by council, by buyer category, by railway zone, by ministry, by ageing — each a long HTML table with two numbers crammed into every cell (a count and a rupee amount, separated by a space). Nothing links them. Read together, they disagree in ways the front page never mentions:

THE NUMBERFRONT-PAGE TILESTATE REPORT, SUMMEDWHAT THE GAP MEANS
Applications filed2,34,3602,32,253Two thousand applications belong to no state — or the reports refresh on different clocks. Nobody says which.
Amount claimednot shown₹50,495 crThe single most important number in the system is absent from the page that everyone lands on.
Money still pending, by agenot shown₹8,747 crPublished only inside a 36-row table with 22 columns. Never summarised. Never charted.
Applications filed, Dec 2025 → Aug 20262,56,892 → 2,56,892The headline froze. New filings moved to a separate ODR portal on 15 October 2025. The dashboard does not say so, so the freeze reads as a system that stopped working.
# every cell on the portal holds two numbers as one string: "53322 10339.56" = count, ₹ crore
def split_cell(s):
    parts = s.split()
    return int(parts[0]), float(parts[1])             # count, amount_cr

states = [parse_row(r) for r in statewise_age_report.rows]
assert abs(sum(s.filed for s in states) - welcome_tile.filed) < 100, \
    "state report and front page disagree — publish the gap, don't hide it"   # they do: 2,107 apart
03 ·AGERANKTHE CRITIQUE: WHAT THE SIX TILES DO TO A READER

A faithful recreation of the front page as it was in May 2025 — with the ten things wrong with it.

1 6 4 2 3 5 8 9 7 10
MSME SAMADHAAN — Delayed Payment Monitoring SystemEnglish ▾   Officer Login
Applications & Cases status of Micro and Small Units (MSEs)
2,34,360Applications filed by MSEsMore info ▢
21890Applications Mutually SettledMore info ▢
58147Applications yet to be viewed by MSEFC CouncilMore info ▢
64740Applications Rejected by MSEFC CouncilMore info ▢
47149Cases Disposed by MSEFC CouncilMore info ▢
42434Cases Currently under Consideration by MSEFCMore info ▢
Case Category 1Case Category 2Case Category 3Total Cases
Cases filed in MSE Facilitation Council (MSEFC) after 30/10/2017 (i.e. after Launch of MSME-Samadhaan)
89583Cases FiledMore info ▢
26554.40Amount Payable (Rs. Crore)More info ▢
47149Cases DisposedMore info ▢
7690.61Amount Involved in Disposed Cases (Rs. Crore)More info ▢
*Sum of cases currently under MSEFC & cases disposed by MSEFCs after 30/10/2017.
RECREATED FROM THE PORTAL'S FRONT PAGE, INTERNET ARCHIVE CAPTURE OF 1 MAY 2025 · SAME NUMBERS, SAME COLOURS, SAME COPY · THE ORIGINAL IS AT SAMADHAAN.MSME.GOV.IN
1Six tiles, one weight. Every number is the same size in the same bold white. Nothing is the headline, so nothing is read.
2Counts without money. The top row has no rupee sign anywhere. 21,890 settlements could be ₹2 crore or ₹2,000 crore. It is ₹3,018 crore. You cannot tell.
3A queue described as a status. "Yet to be viewed by Council" is 58,147 applications nobody has opened. It is painted the same friendly amber as "settled".
4Two number formats on one screen. 2,34,360 uses Indian grouping; 64740 has none; 26554.40 is a decimal with no separator. The reader re-parses every tile.
5Colour without meaning. Six hues carry zero semantics — blue is used for both "filed" and "rejected". Colour is the fastest channel a dashboard has, and it is spent on decoration.
6The vanity metric is the hero. "Applications filed" is the biggest number and the first tile. It measures demand, not performance — and it has not moved since October 2025.
7Internal taxonomy leaks out. "Case Category 1 / 2 / 3" means nothing to an MSME owner. The tabs hide the one row that has money in it.
8No time, no age, no place. There is no trend, no ageing, no state on the front page — the three dimensions every one of the three readers actually needs. They exist, eleven clicks away, as tables.
9"More info" is a dead end. Each link opens another wall of numbers. There is no path from the total to the state to the council to the application.
10The footnote carries the meaning. "*Sum of cases currently under MSEFC & disposed after 30/10/2017" is the only sentence explaining what the second row is. It is 11px, grey, and last.
04 · THE FIVE QUESTIONS

A dashboard is a list of questions with a chart under each. So — the questions, in the order the money cares about.

#THE QUESTIONWHO ASKS ITTHE FORM THAT ANSWERS IT
Q1How much money is stuck, and how much has come out?Minister · MSME ownerFour numbers with meaning, then a funnel from claimed to recovered
Q2How old is the stuck money?Council chair · MinisterAgeing buckets of pending value — the shape says everything
Q3Where is it stuck?EveryoneStates ranked by pending money, switchable to disposal rate
Q4Who owes it?Minister · MSME ownerBuyer categories — claimed against still pending, private buyers included
Q5Which councils clear their queue, and which don't?Ministry · Council chairDisposal rate per council, largest twelve, as a dot plot
Q6Is the headline even alive?Anyone reading the tileThe filed count over time, with the note the portal never wrote
05 ·SEALTHE REBUILD — SAME DATA, SIX ANSWERS

Money first. Age second. Place third. Then the people who owe it, the councils that clear it, and one honest note about the headline.

Delayed payments to MSEs — where the money is stuck

FUNNEL · MINISTRY ANNUAL REPORT, AS ON 31 DEC 2025
STATE · CATEGORY · COUNCIL · PORTAL REPORTS, 17 APR 2025 CAPTURE
INDIAN GROUPING THROUGHOUT · ₹ CRORE
CLAIMED BY MSEs₹55,244 cr2,56,892 applications since Oct 2017
RESOLVED BY COUNCILS₹14,638 cr53,911 cases disposed — 26% of value claimed
PENDING, OLDER THAN A YEAR₹4,769 cr30,788 applications · 55% of all pending value
HEADLINE STATUSFrozenNo new filings since 15 Oct 2025 — intake moved to the ODR portal
Q1 · HOW MUCH IS STUCK, HOW MUCH CAME OUT

Of ₹55,244 crore claimed, councils have resolved ₹14,638 crore. ₹14,947 crore is in no published bucket at all.

₹ CRORE · MINISTRY OF MSME ANNUAL REPORT 2025–26, AS ON 31 DEC 2025 · "NOT IN ANY PUBLISHED BUCKET" = CLAIMED MINUS THE FOUR REPORTED STAGES; MOSTLY REJECTED OR WITHDRAWN, BUT THE REPORT DOES NOT SAY · HOVER A BAR.
Q2 · HOW OLD IS THE STUCK MONEY

More than half the pending value has waited over a year.

PENDING APPLICATIONS BY AGE, ₹ CRORE · ALL STATES · PORTAL AGEING REPORT, 17 APR 2025.
Q4 · WHO OWES IT

Private buyers the portal files under "Other" owe the most by far. Among government buyers, state governments and central PSUs lead.

CLAIMEDSTILL PENDING
₹ CRORE BY RESPONDENT CATEGORY · PENDING = APPLICATIONS + CASES UNDER HEARING · "OTHER" IS THE PORTAL'S OWN LABEL FOR BUYERS OUTSIDE EVERY NAMED CATEGORY — 1,12,121 APPLICATIONS, MOSTLY PRIVATE COMPANIES · PORTAL CATEGORY REPORT, 17 APR 2025.
Q3 · WHERE IS IT STUCK

Uttar Pradesh and Gujarat hold the most pending money — and Uttar Pradesh has disposed of under 5% of what was filed.

PENDING ₹ CRORE
TWELVE STATES WITH THE MOST PENDING VALUE · PORTAL STATE-WISE AGEING REPORT, 17 APR 2025 · SWITCH THE METRIC ABOVE.
Q5 · WHICH COUNCILS CLEAR THEIR QUEUE

Gandhinagar clears 92% of its cases. West Bengal and Delhi South-East clear under 30%.

CASES DISPOSED ÷ CASES FILED, TWELVE LARGEST COUNCILS · PORTAL COUNCIL REPORT, 17 APR 2025.
Q6 · IS THE HEADLINE ALIVE

The headline number stopped on 15 October 2025. The tile never said why.

APPLICATIONS FILED, CUMULATIVE · APR 2025 PORTAL · DEC 2025 ANNUAL REPORT · JUN & AUG 2026 PIB / PRESS · NEW FILINGS GO TO THE ODR PORTAL SINCE 15 OCT 2025.
06 · THE DESIGN DECISIONS

Every change above is a rule, not a taste. Here they are, so the next dashboard gets them for free.

BEFOREAFTERTHE RULE
Six equal tiles of countsFour numbers with meaning, money firstA dashboard has one headline. Choose it, size it, and let the rest support it.
Counts only₹ crore on every chart, counts as the secondary labelThe unit of a delayed-payment system is money, not rows.
2,34,360 / 64740 / 26554.40Indian grouping everywhere, one decimal ruleOne number format per screen. The reader should never re-parse.
Six decorative huesOne accent; red reserved for "stuck"; grey for contextColour encodes state or identity. Never both, never neither.
No age, no place, no timeAgeing buckets, states, councils, a trendAnswer the readers' questions, in the order the money cares about.
"More info" walls of tablesToggle metrics on the same chart; the table stays one click awayDrill by changing the question, not by changing the page.
A frozen headline, unexplainedThe freeze charted, with the reason written on the chartAnnotate the surprise. A number that stopped moving is either broken or explained.
Totals that disagree across reportsReconciliation checks before publish; the gap shown, not hiddenIf two reports disagree, the dashboard says so. Silence is a lie of omission.
Default palettePalette validated for colour-vision deficiency; every series also labelled in textIdentity is never carried by colour alone.
07 ·WATCHHOW IT WOULD STAY ALIVE

The rebuild is worthless if it is a screenshot. The pipeline that keeps it honest is forty lines.

# nightly: read the eleven reports, reconcile, publish (simplified)
REPORTS = ["StateWise_AgeRpt", "CategoryAmtAge_Rpt", "Council_Report", "ReportAllAmount", ...]
frames  = {name: parse_two_number_cells(fetch(name)) for name in REPORTS}

# three reconciliations that have to hold — or the gap gets published as a number, not swallowed
gap_filed  = frames["StateWise_AgeRpt"].filed.sum() - welcome.filed
gap_amount = welcome.claimed_cr - sum(stage.amount_cr for stage in funnel_stages)
gap_cat    = frames["CategoryAmtAge_Rpt"].filed.sum() - frames["ReportAllAmount"].filed.sum()

snapshot = dict(as_of=today, funnel=funnel, ageing=ageing_buckets, states=top_states,
                categories=cats, councils=council_rates, gaps=dict(filed=gap_filed, amount=gap_amount))
publish(snapshot)                                          # the dashboard reads one JSON, never a table
alert_if(pending_over_a_year.amount_cr > last.pending_over_a_year.amount_cr * 1.05)   # the WATCH

Two design choices in that pipeline matter more than the code. Gaps are published, not swallowed — the front page would carry a small line reading "reports disagree by 2,107 applications" instead of pretending they agree. And the alert is on money over a year old, because that is the number a delayed-payment system exists to shrink; everything else is activity.

08 · WHAT WOULD CHANGE FOR THE THREE READERS
READERBEFOREAFTER
The MSME owner in LucknowSees 2,34,360 applications and a green "disposed" tile. Files.Sees that Uttar Pradesh has disposed of under 5% of filings and that 7,587 applications there are more than a year old. Files with a lawyer, or goes to the ODR portal, or negotiates.
The council chair in KolkataOpens an 800-row table of applications sorted by number.Sees ₹124 crore of her state's pending value is over a year old, and which buyer categories hold it. Hears those first.
The minister at question hourReads out the filed count, which sounds like reach.Reads out that 26% of claimed value has been resolved, 55% of pending value is over a year old, and that the headline froze in October because intake moved — and says what the ODR portal has cleared since.
09 · THE TAKEAWAY

A dashboard is not a place to put numbers. It is a place to put answers. Six tiles of counts is what you get when a database is asked to describe itself. The same eleven tables, read as a ledger — traced for gaps, aged, ranked by money and place — say something a minister could act on tomorrow morning: ₹4,769 crore has been waiting more than a year, most of it in four states, and the number on the front page stopped being true last October.

A MAKEOVER ON PUBLIC DATA, NOT CLIENT WORK. SOURCES: MSME SAMADHAAN PORTAL REPORTS (INTERNET ARCHIVE CAPTURES, 17 APR – 1 MAY 2025), MINISTRY OF MSME ANNUAL REPORT 2025–26 (FIGURES AS ON 31 DEC 2025), PIB RELEASE 26 JUN 2026 AND PRESS REPORTS TO 14 AUG 2026. ALL FIGURES ARE THE PORTAL'S OWN; DERIVED PERCENTAGES AND THE "NOT IN ANY PUBLISHED BUCKET" GAP ARE COMPUTED FROM THEM. THE ORIGINAL FRONT PAGE IS RECREATED, NOT SCREENSHOTTED. THE PORTAL WAS OFFLINE WHEN THIS WAS WRITTEN (SEPT 2026).

Have a dashboard that reports activity instead of money? The Leak Ledger starts by reading every table you already publish and making them agree — then builds the six answers your readers actually came for. Two weeks, fixed fee.

Start with a TRACE → Case 01 → Case 02 →