Skip to content

feat: FY2025-26 Schedule 112A consolidation + quarterly gains split (Section F)#144

Merged
codereverser merged 3 commits into
mainfrom
feat/112a-fy2025-consolidation
Jul 22, 2026
Merged

feat: FY2025-26 Schedule 112A consolidation + quarterly gains split (Section F)#144
codereverser merged 3 commits into
mainfrom
feat/112a-fy2025-consolidation

Conversation

@codereverser

@codereverser codereverser commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

Two related ITR capital-gains improvements for the latest AY, on top of main.

1. Schedule 112A — FY2025-26+ consolidation

The latest 112A utility no longer needs split-wise (per-scrip) detail for equity/units acquired after 31-Jan-2018 — it accepts a single consolidated row (Name=CONSOLIDATED, ISIN=INNOTREQUIRD) with only Full Value (6), Cost of acquisition (8) and Expenditure (12) editable, and it dropped the Share/Unit Transferred (1b) column that was specific to FY2024-25.

2. Quarterly gains split — Schedule CG Section F (85b55e6)

The advance-tax quarterly breakup the ITR needs to compute 234C interest — realised gains bucketed by date of transfer into the five installment windows (Upto 15/6, 16/6–15/9, 16/9–15/12, 16/12–15/3, 16/3–31/3), as the
CAMS/KFin desktop gains statements also report.

The latest ITR Schedule 112A utility no longer needs split-wise
(per-scrip) details for equity/units acquired after 31-Jan-2018 — it
accepts a single consolidated row (Name=CONSOLIDATED, ISIN=INNOTREQUIRD)
with only Full Value(6), Cost of acquisition(8) and Expenditure(12)
editable. It also dropped the "Share/Unit Transferred(1b)" column that
was specific to FY2024-25.

For FY2025-26 onward:
- Collapse all AE (after-2018) rows into one consolidated GainEntry112A,
  keeping BE (grandfathered) rows itemised as before.
- Emit whole-rupee integers only (the utility rejects decimals).
- Fold buy-side stamp duty into Cost of acquisition (s.55); exclude STT
  (not deductible, s.48).
- Fill the utility-derived cols 7/13/14 with their computed integer
  values rather than 0, so the CSV is self-consistent regardless of
  whether the import recomputes them.
- Drop the 1b column for FY2025-26 (kept only for FY2024-25).
Adds the advance-tax quarterly breakup that the ITR needs to compute
234C interest — realised gains bucketed by date of transfer into the
five installment windows (Upto 15/6, 16/6-15/9, 16/9-15/12, 16/12-15/3,
16/3-31/3), as the CAMS/KFin desktop gains statements also report.

- CapitalGainsReport.quarterly_gains(fy) returns {category: [q1..q5]}
  for the four categories casparser can distinguish (equity/debt x
  LTCG/STCG). Debt is left as one applicable-rate bucket since the
  taxpayer's slab is unknown.
- The Equity LTCG row uses the same per-lot taxable measure as
  Schedule 112A (_taxable_112a mirrors GainEntry112A.balance:
  grandfathering + stamp handled per lot), so its total reconciles
  with generate_112a exactly.
- CLI renders one whole-rupee table per FY (print_quarterly), empty
  categories omitted, with a reconciliation note.

Windows are fiscal-ordered and inclusive of the closing date; the last
is the 16-31 Mar sliver.
@codecov

codecov Bot commented Jul 19, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.06%. Comparing base (abd4b0e) to head (568256a).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #144      +/-   ##
==========================================
+ Coverage   94.97%   95.06%   +0.09%     
==========================================
  Files          19       19              
  Lines        2979     3032      +53     
==========================================
+ Hits         2829     2882      +53     
  Misses        150      150              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

CBDT notified the CII for FY2026-27 as 384 (Notification 85/2026, dated
15-Jul-2026; up 2.3% from 376). Used for indexed cost of acquisition on
debt-fund LTCG.
@codereverser
codereverser merged commit ed55721 into main Jul 22, 2026
4 checks passed
@codereverser
codereverser deleted the feat/112a-fy2025-consolidation branch July 22, 2026 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant