Form 26AS and your TDS receivable reconciled per deductor TAN, with short, missing and excess credit, partly deposited and provisional bookings flagged, and credit at risk totalled.
Who it is for: Accountant, CA firm article or finance staff at an Indian business that receives payments after TDS and must claim the credit when filing the income tax return.
Format: Claude skill pack · Version: 1.0.0 · Tested on: Python 3.13.5 (standard library only)
What it does
It reads Part I (TDS) of the 26AS text file: each deductor's summary row and its transactions with section, date, booking status and TDS deposited. Your books are read from most Tally, Zoho, Busy or Excel exports; a row with no TAN is placed by deductor name only when one deductor matches, and malformed TANs are reported. Per TAN, books TDS is compared with 26AS TDS deposited within your tolerance, giving matched, short in 26AS, excess in 26AS, missing in 26AS or not in books. Deducted-but-not-deposited and provisional bookings are flagged.
What you need
- Claude.ai with code execution switched on (or Claude Code, or just Python 3.10+)
- Your Form 26AS text file (TRACES > View Form 26AS > Export as Text)
- Your TDS receivable exported as CSV or Excel
5-minute setup
- Claude.ai: open Settings → Capabilities → Skills, click Upload skill and pick
claude-ai-upload/tds-26as-reconciler.zip. - Claude Code: copy the folder
skills/tds-26as-reconcilerinto~/.claude/skills/. - Start a new chat. Attach your file and say: "Use tds-26as-reconciler. Match this 26AS text file with my TDS receivable and tell me the credit at risk".
- Claude runs the script and gives you the files listed under Outputs. Check them before you act on them.
Try it with the sample
Run the sample (a fictional FY 2025-26 26AS and books):
python3 skills/tds-26as-reconciler/scripts/core.py --form26as samples/form26as-fy2025-26.txt --books samples/tds-receivable-fy2025-26.csv --out out
You should see 5 deductors: 1 matched, 2 short in 26AS, 1 not in books and 1 missing from 26AS, credit at risk ₹9,000.00 and 1 duplicate skipped.
Settings you can change
| Option | Default | What it is |
|---|---|---|
--form26as |
(required) |
26AS text file from TRACES, or CSV/XLSX with TAN and tax deducted |
--books |
(required) |
TDS receivable CSV/XLSX: party, TAN, TDS |
--tolerance |
1 |
Rupee difference treated as matched (0-100) |
--out |
out |
Output folder |
What goes in and what comes out
Inputs: Form 26AS text file you downloaded from TRACES (or CSV/XLSX); TDS receivable from your books (CSV/XLSX); Optional: tolerance
Outputs: report.md with credit at risk and deductors to act on; deductors.csv with one row per TAN; book-issues.csv with duplicates, bad TANs and rows not placed
What Pro adds
- Invoice-by-invoice matching within each TAN
- Quarter and section split
- A follow-up message draft for every deductor who is short or missing
Pro: https://oarsmanai.com/agents/tds-26as-reconciler-pro/
AI disclosure and limits
This product does not call an AI model at run time. It was built by Oarsman AI's AI agents and checked by the automated tests shipped with it.
Limits: - Deductor-level comparison; invoice-level matching is in Pro. - Reads Part I (TDS) of 26AS; TCS, tax paid and other parts are not reconciled. - One financial year per run. - Reconciliation help, not tax advice.
Not tested by us: - a real 26AS download (the samples follow the published caret layout) - the AIS JSON or AIS utility export - XLSX files in the shipped tests (CSV and text only)
Files
- oarsman-tds-26as-reconciler-v1.0.0.zip
- CHANGELOG.md
- QA-REPORT.json
- README.md
- SPEC.md
- SUPPORT.md
- TROUBLESHOOTING.md
- VERSION
- VIDEO-SCRIPT.md
- claude-ai-upload
- diagram.mmd
- diagram.png
- preview.png
- samples
- skills
- tests
Help
Self-serve: see TROUBLESHOOTING.md (fixes and FAQ). There is no call, chat or email support. Fixes ship as new versions at your download link. Refund: 14 days, works as described, through the checkout platform.