Government of Tamil Nadu spending on social justice department (Demand No. 04): what was spent, what is budgeted for 2026-27, and what the Budget announced. Every figure traces to a page of an official budget document.
For context: the 2026-27 Budget Speech announced ₹3,937 crore for the whole Social Justice Department. The department's budget is spread over several Demands for Grants: 04 Social Justice Department (this page).
Amount grew from ₹3,351 crore in 2018-19 to ₹3,938 crore in 2026-27
Total of all heads of this Demand, ₹ crore. Each year shows the latest stage available: Actual, then Revised Estimate (RE), then Revised Budget Estimate (RBE).
- Revenue
- Capital
- Loans
| 2018-19 | 3,351.3 |
|---|---|
| 2019-20 | 3,594.4 |
| 2020-21 | 3,715.3 |
| 2021-22 | 2,446.8 |
| 2022-23 | 2,794.5 |
| 2023-24 | 3,373.2 |
| 2024-25 | 3,831.0 |
| 2025-26 | 3,946.9 |
| 2026-27 | 3,937.6 |
Source: Demand No. 04 books and Annual Financial Statements, Government of Tamil Nadu. Values in ₹ crore.
Largest allocations
Top five minor heads, ₹ crore.
| Minor head | 2024-25 Actual | 2025-26 RE | 2026-27 RBE |
|---|---|---|---|
| 2225-01-277 Education | 1,999.3 | 2,088.5 | 2,093.7 |
| 4225-01-800 Other Expenditure | 230.0 | 335.7 | 361.6 |
| 2225-02-277 Education | 287.4 | 312.9 | 328.5 |
| 4225-01-277 Education | 369.5 | 311.7 | 260.5 |
| 4225-02-796 Development Action Plan for Scheduled Tribes (DAPST) | 225.0 | 225.0 | 225.0 |
Detailed allocation
Loading the explorer…
Series show the latest stage available for each year (Actual > RE > RBE > IBE > BE). Heads 2070, 2225, 2235, 2251, 4070, 4225, 7610 are shared with other Demands and are not compared. 13 related data issues
Known data issues
Known gaps and discrepancies in the source documents or between them. Each has a permanent ID. “Documented” means the document itself is wrong and we kept the printed figure; “open” means we have not found the cause.
13 issues
| ID | Status | What | Treatment |
|---|---|---|---|
DQ-D04-0001 | explained | latest-stage roll-up does not add up 2225-01-001-AA, 2018-19 Object values add to 0 thousand but the sub-head shows 474,767 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0002 | explained | latest-stage roll-up does not add up 2225-01-001-AA, 2019-20 Object values add to 0 thousand but the sub-head shows 538,223 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0003 | explained | latest-stage roll-up does not add up 2225-01-001-AA, 2020-21 Object values add to 0 thousand but the sub-head shows 525,899 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0004 | explained | latest-stage roll-up does not add up 2225-01-001-AA, 2021-22 Object values add to 0 thousand but the sub-head shows 583,454 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0005 | explained | latest-stage roll-up does not add up 2225-01-001-UA, 2022-23 Object values add to 1,237 thousand but the sub-head shows 1,231 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (8 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0006 | explained | latest-stage roll-up does not add up 2225-01-277-AA, 2019-20 Object values add to 4,303,063 thousand but the sub-head shows 4,302,239 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (3 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0007 | explained | latest-stage roll-up does not add up 2225-01-800-UL, 2023-24 Object values add to 17,084 thousand but the sub-head shows 16,990 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (14 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0008 | explained | latest-stage roll-up does not add up 2225-02-277-AW, 2020-21 Object values add to 83,718 thousand but the sub-head shows 82,965 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (13 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0009 | explained | latest-stage roll-up does not add up 2225-80-001-AA, 2018-19 Object values add to 474,767 thousand but the sub-head shows 0 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0010 | explained | latest-stage roll-up does not add up 2235-01-911-SD, 2018-19 Object values add to 0 thousand but the sub-head shows -2,384 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0011 | explained | latest-stage roll-up does not add up 2235-60-911-SD, 2018-19 Object values add to -2,384 thousand but the sub-head shows 0 The latest value per code is chosen separately, and for some codes under this sub-head the Actual column is blank, so an earlier-stage figure is used (0 codes here use a different stage from the sub-head). Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0012 | explained | latest-stage roll-up differs by rounding 12 sub-head/year pairs For 12 sub-head/year pairs the object values add to within Rs 5 thousand of the sub-head figure (largest difference 5 thousand = Rs 0.0005 crore) Each code shows its latest printed stage, and different codes under one sub-head can come from different books, where amounts are rounded separately. Within each demand book every total ties exactly. | Published as is; each code carries its own stage |
DQ-D04-0013 | explained | code printed in some books but not in between 33 code families 33 codes (with the codes below them) are printed in some books, absent from a book in between and printed again later. Examples: 2225-01-277-AA-309-09 'School Education' (absent from 2022-23 BE); 2225-01-277-AE-372 'Hostels' (absent from 2022-23 BE); 2225-01-277-BB-301-04 'Payment to the Teachers working under Integrated Scheme for School Education (Samagra Shiksha)' (absent from 2021-22 IBE, 2021-22 RBE, 2022-23 BE). The full list is in the master_codes file (columns books_present and books_list). Checked against the PDFs: for 54 of 54 family/book absences a text search of the book finds no line with that code. A line with nothing to show in a book seems to be left out of that book; this has not been confirmed with the department. | Each code kept once; presence per book recorded in books_list |
Downloads
Social Justice Department (Demand 04): budget by code
Every code in Demand 04 from major head down to detail, with full hierarchy and the latest-stage value per fiscal year in Rs crore.
- master_codes.csv CSV · 2,188 rows · 1.4 MB
- values_long.csv CSV · 15,020 rows · 4.0 MB
master_code is built only from printed codes. Voted and charged amounts are summed. Where the latest printed figure is nil the value is 0.
Column dictionary (27 columns)
| Column | Type | Meaning |
|---|---|---|
master_code | string | Unique alphanumeric code built from printed codes only, for example 2404-00-195-AB-309-03. |
level | string | Level of the code: major, minor, subhead, object or detail. |
major_code | string | Major head code. |
major_description | string | Major head description. |
minor_code | string | Minor head code with major and sub-major. |
minor_description | string | Minor head description. |
category | string | State's Expenditure, Central Sector Schemes, or Schemes Shared between State and Centre. |
subhead_code | string | Sub-head code. |
subhead_description | string | Sub-head description. |
object_code | string | Object code. |
object_description | string | Object description. |
detail_code | string | Detail code. |
detail_description | string | Detail description. |
full_path_description | string | Descriptions of all levels joined top to bottom. |
parent_code | string | master_code of the level above. |
alternate_labels | string | Older wording of the description, where it changed. |
hod | string | Head of department code printed in the demand book. |
first_book | string | First demand book that prints the code. |
last_book | string | Last demand book that prints the code. |
books_present | integer | Number of the six demand books that print the code. |
books_list | string | The demand books that print the code. |
status | string | Status of the item: for codes, in all books, new, discontinued or intermittent; for issues, documented, explained or open. |
fiscal_year | string | Financial year, April to March, written like 2025-26. |
stage | string | Budget stage of the figure: Actual (audited), RE (revised estimate), RBE (revised budget estimate), IBE (interim budget estimate) or BE (budget estimate). |
amount_crore | number | Amount in Rs crore (1 crore = 10 million rupees). |
amount_thousand | number | Amount in Rs thousand, as printed in the source document. |
source_edition | string | The budget document the figure was read from, for example 2026-27 RBE. |
AFS compared with the Social Justice Department demand book
Every head of Demand 04 is also printed in another Demand, so no head of the Annual Financial Statements can be compared with this book alone. This file is empty.
- afs_vs_demand04.csv CSV · 0 rows · 1 KB
Column dictionary (11 columns)
| Column | Type | Meaning |
|---|---|---|
book | string | The edition of the budget document (AFS and demand book share the edition). |
head | string | Major head: 2404 (revenue), 4404 (capital outlay) or 6404 (loans). |
fiscal_year | string | Financial year, April to March, written like 2025-26. |
estimate_type | string | Budget stage of the figure (Actual, RE, RBE, IBE, BE). |
afs_thousand | string | Amount printed in the AFS, Rs thousand. |
demand_thousand | string | Amount printed in the demand book, Rs thousand. |
afs_crore | string | Amount printed in the Annual Financial Statement, Rs crore. |
demand_crore | string | Amount printed in the Dairy Development demand book, Rs crore. |
gap_thousand | string | AFS minus demand book, Rs thousand. |
gap_crore | string | AFS minus demand book, Rs crore. |
gap_pct_of_afs | string | Gap as a percentage of the AFS amount. |
Budget announcements
Everything the Budget speech and highlights announce (currently the 2026-27 Revised Budget Estimates): schemes, projects, programmes, reforms, subsidies and policies. One row per announcement per budget year, with the primary amount exactly as printed, its kind (allocation, project cost and so on), the speech paragraph and highlights bullet it comes from, and the Demand(s) for Grants it relates to.
- announcements.csv CSV · 178 rows · 66 KB
announcement_code is permanent: an announcement keeps its code in every budget year, and one that ends is marked is_current = no, never removed. related_demands links the announcement to the Demand(s) for Grants it relates to; blank means not yet linked. source_document names the budget document, and paragraph or bullet, each row was taken from. Some amounts are the current-year allocation, others the cost of a whole project: always read amount_kind.
Column dictionary (17 columns)
| Column | Type | Meaning |
|---|---|---|
announcement_code | string | Permanent ID of the announcement, SCH-2026-nnn. It never changes and is never reused. |
budget_year | string | Fiscal year of the budget document the row was taken from, for example 2026-27. |
name | string | Scheme, project, policy or announcement name as used on this site. |
department | string | Department heading under which the speech and highlights list the item. |
item_type | string | scheme, project, programme, policy, fund, subsidy, reform, platform, committee, announcement and so on. |
related_demands | string | Demand No(s). for Grants this announcement relates to, separated by semicolons (for example 08). Blank if not yet linked. |
amount_text | string | Primary amount exactly as printed, for example Rs.139 crore. |
amount_crore | number | Amount in Rs crore (1 crore = 10 million rupees). |
amount_kind | string | What the amount is: allocation, cost_stated, project_cost, valued_at, annual, multi_year_cost, capital_outlay, increase, viability_gap, credit_target, grant_sought or none. |
other_amounts | string | Other amounts printed with the item, each with what it is. |
source_document | string | Budget document, and the paragraph or bullet in it, that this row was taken from. |
highlights_bullet | integer | Bullet number in the highlights document. |
highlights_page | string | Printed page of that bullet in the highlights. |
speech_para | integer | Paragraph number in the budget speech. |
speech_page | string | Printed page of that paragraph in the speech. |
is_current | string | yes if the announcement is part of the current budget; no if it has ended or been withdrawn (the row and its code are kept). |
source_text | string | The highlights bullet text the entry is based on. |