One function

compute_interest in shivprime94/file-itr

The author described this change as fix(itr-engine): correct s.234C first_due year-roll for 44AD/44ADA (#23). It counts as a record because the check below fails on the code as it stood at f57b975ca and passes on 6106439c4, with nothing else changed between the two runs.

Fix saved2026-08-01
Sharing licenceMIT · LICENSE
Change size+2 2

What the code was meant to do, written into the code itself as a docstring

Phase 4: s.234A/234B/234C interest on the Phase 3 tax figure. `tds` covers TDS/TCS credit; `payments` are advance-tax challans (payments dated within the FY count as advance tax). `items` are needed only for the s.234C capital-gains carve-out; without them, all income is treated as foreseeable from the first instalment (never understates interest).

The change

6060 if single_instalment else "s234c.schedule"
6161 )
6262 schedule = table.get(schedule_key, ay_ref_date).value
63- first_due = date(fy_start, schedule[0][0], schedule[0][1])
63+ first_due = _instalment_due(fy_start, schedule[0][0], schedule[0][1])
6464 cess = table.get("cess.health_education", ay_ref_date).value
6565
6666 # Per-item tax attribution for the carve-out (proviso to s.234C(1)).
9494
9595 i234c = Decimal("0")
9696 for month, day, cum, safe, nmonths in schedule:
97- due = date(fy_start + 1 if month < 4 else fy_start, month, day)
97+ due = _instalment_due(fy_start, month, day)
9898 carved = sum((amt for sale, amt in carve_items if sale > due), Decimal("0"))
9999 annual = net - carved
100100 paid = sum((p.amount for p in payments if p.paid_on <= due), Decimal("0"))

The check that tells the two apart

failpass·skills/itr-india/engine/tests/test_interest.py::test_234c_presumptive_first_due_year_roll_allows_in_fy_slab_stcg

Check file skills/itr-india/engine/tests/test_interest.py, taken without changes from the fix and copied onto the older code, so the exact same check runs against both versions.

Origin and history

The code before itf57b975ca6e66b3f475606c9e68da23d39a316e1
Broken version dated2026-08-01
Moduleskills.itr-india.engine.interest
Units changedcompute_interest
Fingerprint35dd9ed8c305e3c7
Checked2026-08-18 by goldset/0.1

Every field above is generated by our program. None of it is written by hand.

Other bugs found in shivprime94/file-itr