DueproofGitHub

Know what every notice asks of you, and by when.

Dueproof reads tax, regulatory and court notices in English and 22 Indian languages, and keeps one register of what is owed and when. Every entry is outlined on the page it came from. It runs on your own server.

Open source, Apache 2.0. Version 0.1 is early: run it beside your current process first.

Inward registerHarbour Valley Components, 2026
Notices received, with what each one asks and by when. Choose a row to see its page.
No.ReceivedSubjectDeskDue
21514 Oct 2026Regional PF CommissionerPayroll & Labour12 Nov 2026
21620 Oct 2026National Faceless Assessment CentreDirect Tax4 Nov 2026
21724 Oct 2026Asst. Commissioner of State TaxGST & Indirect Tax23 Nov 2026
21824 Oct 2026Asst. Commissioner of State TaxGST & Indirect Tax18 Nov 2026
Entry 217, page 1 of the noticeSample notice

Office of the Assistant Commissioner of State Tax

Commercial Taxes Department, Northline Division

Reference No: ZD2910260012345 Date: 20 October 2026

Subject: Notice under Section 61 for intimating discrepancies in the return (Form GST ASMT-10)

On scrutiny of the returns filed for the above period, discrepancies were noticed in the input tax credit claimed against the supplier statements.

You are hereby directed to explain the discrepancies and pay the tax of Rs. 4,52,300 with interest within 30 days of receipt of this notice.

A personal hearing is fixed on 18 November 2026 at 11:00 AM before the undersigned at the Division office.

Duty
Explain the discrepancies and pay the tax with interest.
Due
23 Nov 2026 (30 days from receipt on 24 Oct 2026)
Amount
₹4,52,300
Desk
GST & Indirect Tax

Choose an entry to see the page it came from. Three sample notices gave four entries: the GST notice asks for a reply and fixes a hearing.

For the people who keep the register

Anyone who receives notices on someone else's behalf, and answers for it when a date slips.

ASMT-10DRC-01143(2)TDS

Associates at CA firms

Hundreds of clients, each with GST, income-tax and TDS logins. Notices arrive by email, by post and as photos forwarded on WhatsApp.

One register across every client, sorted by what is due first, each date traceable to the line that set it.

ROCSec. 454SEBILODR

Company secretaries

ROC letters, stock-exchange queries, RBI and SEBI circulars. Each needs an owner and a date the board can see.

An owner and a status on every duty, a weekly email of what is due, and a history of every change.

RBI circularSummons7AShow cause

Compliance teams at lenders and NBFCs

Circulars in English, orders and summons in regional languages, and auditors who ask how you knew.

Indian-language notices read on your own server, with the original wording kept as the proof.

The notices it knows, desk by desk

How a notice becomes an entry

No language model and no cloud service. Rules you can read, and a page you can check.

  1. Read

    Typed PDFs are read directly. Scans and phone photos are straightened and run through OCR.

  2. Translate

    Indian-language text is translated on your machine by IndicTrans2, so one set of rules reads every language.

  3. Find

    Rules pick out duties, deadlines, hearings, amounts, reference numbers and the sections cited.

  4. Prove

    Each finding is outlined on its page. If the passage can't be found, Dueproof says so rather than guess.

  5. Track

    Give each duty an owner, correct a date, mark it done. Every change is kept, and a weekly email lists what is due.

“Within 30 days of receipt” means your receipt.

Many notices count from the day they reach you, not the day they were signed. Dueproof records when each one arrived and counts from there.

If the arrival date is wrong, correct it. The change is logged with your name, and the original reading is kept. Try it: change the date on the right.

“…pay the tax of Rs. 4,52,300 with interest within 30 days of receipt of this notice.”
Notice dated 20 Oct 2026
Reply by
23 Nov 2026
Counted from the notice date
19 Nov 2026 (4 days early)

22 Indian languages, read as they arrive

Scans and photographs are read in 15 of them; the other 7 from typed PDFs, because no OCR model exists for them yet. Six are tested end to end with the translation model.

हिन्दीHindi
বাংলাBengali
मराठीMarathi
తెలుగుTelugu
தமிழ்Tamil
ગુજરાતીGujarati
اردوUrdu
ಕನ್ನಡKannada
ଓଡ଼ିଆOdia
മലയാളംMalayalam
ਪੰਜਾਬੀPunjabi
অসমীয়াAssamese
मैथिलीMaithiliTyped PDFs only
ᱥᱟᱱᱛᱟᱲᱤSantaliTyped PDFs only
کٲشُرKashmiriTyped PDFs only
नेपालीNepali
سنڌيSindhi
कोंकणीKonkaniTyped PDFs only
डोगरीDogriTyped PDFs only
ꯃꯤꯇꯩꯂꯣꯟManipuriTyped PDFs only
बड़ोBodoTyped PDFs only
संस्कृतम्Sanskrit

What each language supports

Your notices stay in your office

One Python service and one database file on a machine you control. Nothing is sent anywhere: no cloud service, no API key, no telemetry.

Sign-in

Built-in accounts, or your own single sign-on in front.

Backups

One command to back up, verify and restore.

Accuracy

dueproof eval measures it on your own documents.

# Needs Python 3.12+ and Tesseract
git clone https://github.com/MaanavKrishna/dueproof
cd dueproof
python3 -m venv .venv
.venv/bin/pip install -e .
.venv/bin/dueproof users add you@example.org --admin
.venv/bin/dueproof serve

Then open http://127.0.0.1:8000 and drop in a notice. dueproof doctor checks the setup.

What it will never do

  • Send your documents to a cloud serviceRunning on your own machine is the point.
  • Act on its ownNo replies filed and no payments made. Dueproof proposes; a person decides.
  • Replace the rules with a modelBeing able to say why a sentence was flagged is the product.
  • Rewrite a translation to “fix” itA doubtful translation is flagged, and the original is shown.
  • Guess where a passage isIf it can't be located on the page, you are told so.
  • Hide what it got wrongCorrections are kept beside the original reading, and can be exported to measure accuracy.

Try it beside your current process

Run it for a month on the notices you already track by hand, then compare the two registers. If Dueproof missed something, tell us what it was.