Form 26AS and your TDS receivable reconciled per deductor and invoice, with credit at risk totalled, quarter and section split, and a follow-up draft for every deductor who is short.
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. Per TAN, books TDS is compared with 26AS TDS deposited within your tolerance. Deducted-but-not-deposited and provisional bookings are flagged. With --detail, invoices are matched to 26AS transactions by tax deducted within the day window, never guessing between equal amounts. Short deductors get a follow-up draft.
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-pro.zip. - Claude Code: copy the folder
skills/tds-26as-reconciler-prointo~/.claude/skills/. - Start a new chat. Attach your file and say: "Use tds-26as-reconciler-pro. Reconcile this 26AS text file with my TDS receivable invoice by invoice and draft messages to the customers who are short".
- 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-pro/scripts/core.py --form26as samples/form26as-fy2025-26.txt --books samples/tds-receivable-fy2025-26.csv --detail --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, 1 duplicate skipped, 3 follow-up drafts and 4 invoices matched to 26AS transactions.
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, invoice, date, amount, TDS |
--tolerance |
1 |
Rupee difference treated as matched (0-100) |
--detail |
off |
Match invoice by invoice within each TAN |
--days |
45 |
Days between invoice date and 26AS transaction date (0-120) |
--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, day window
Outputs: report.md with credit at risk and deductors to act on; deductors.csv with one row per TAN; transactions.csv with invoice-level matches; quarter-section.csv; deductor-followups.csv with message drafts; book-issues.csv
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: - Reads Part I (TDS) of 26AS; TCS, tax paid and other parts are not reconciled. - One financial year per run. - Invoice matching pairs equal TDS amounts within the day window; split deductions are listed, not combined. - Message drafts are not sent. - 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-pro-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.