Skip to main content
Glama
dgomesbr
by dgomesbr

India Compliance Calendar

A single pane of glass for Indian statutory deadlines, built for an in-house compliance team: what is due, what is at risk, and what each filing costs if it is late. Every date cites the act, rule, notification or circular it comes from.

Live site: https://dgomesbr.github.io/india-compliance-calendar/

It is our own take on the corplawupdates.in calendar: the same idea, rebuilt from primary government sources as structured, recurring rules, with no content copied from any commercial site.

What it does

  • Risk first. The overview opens on the chosen horizon with overdue and due-this-week items at the top, the counts by state set large on the cover (each one filters the table), and the costliest-if-late list beside the table.

  • Any horizon. 1 week, 2 weeks, 1 month, 1 quarter, to year end, to FY end, or a custom window up to 24 months ahead.

  • Order by fine. Sort by due date, by penalty exposure (the fixed cost of a 30-day delay: late fees and flat penalties, with interest shown separately), or by law.

  • The timeline. One lane per law across the horizon; each due date is a mark sized by its penalty exposure and coloured by its state, so it is clear which law is heavy when. Select a mark to filter the table. Keyboard and screen-reader accessible.

  • Cost of a delay. For filings whose late fee grows by the day, the detail panel and each entry page chart the fixed cost against days late, with a slider, a hover readout and the same values as a table.

  • Our obligations only. An entity profile (type, GST mode, TDS, employees, audit, transfer pricing, foreign investment, import/export, states) filters everything, including state professional tax and labour welfare fund.

  • Mark filed, with owner and acknowledgement. Stored in the browser; teams share records by exporting and importing JSON.

  • Event planner. Enter an AGM, allotment, director change, charge or foreign investment date and get every downstream deadline (AOC-4, MGT-7, ADT-1, PAS-3, FC-GPR, DIR-12, CHG-1 ...), then add them to the calendar.

  • Board report. A printable status for any quarter, FY or custom period: filed, overdue, pending, not recorded, with CSV export.

  • Regulator feed. A daily GitHub Actions job collects official RSS feeds into an updates page and an RSS feed of its own.

  • Holidays abroad. Canada federal statutory holidays, Ontario public and bank holidays, and US federal and Federal Reserve holidays sit beside the Indian ones in the month calendar and the overview, for teams that pay, file or meet across borders, with ICS feeds of their own. They never move an Indian due date.

  • Subscribe and export. ICS feeds for everything, per law and per audience, with reminders 7 days and 1 day before; single-event downloads; CSV.

  • Built for agents too. A static JSON API, llms.txt, and an MCP server so AI agents can ask what is due and what it costs.

Related MCP server: indian-regulatory-mcp

Data

Rules live in data/rules, one YAML file per law area: income tax, GST, MCA and LLP, SEBI LODR, RBI and FEMA, labour (EPF, ESI, labour codes), state levies (professional tax, labour welfare fund), foreign trade and other regulators. Each rule has a schedule, applicability, the law, a structured penalty model, sources, a verified date and a confidence level. Notified extensions are recorded per period with their circular. Dates past the verified window are shown as projected. See docs/DATA_MODEL.md.

Holidays (central gazetted and restricted, exchange and bank holidays where published) are in data/holidays. The survey of open datasets and official sources behind the calendar is in docs/DATA_SOURCES.md and on the site's Sources page.

This is information, not legal advice. Laws, forms and portals change; confirm on the official portal before you file. Found a wrong date? Open a correction with the official source.

API, feeds and MCP

What

Where

Rules, holidays, events in one file

/api/v1/bundle.json

Dated occurrences, current FY to 25 months ahead

/api/v1/occurrences.json

Rules, holidays, events, updates, sources, meta

/api/v1/{rules,holidays,events,updates,sources,meta}.json

Calendar feeds

/ics/all.ics, /ics/<law>.ics, /ics/for-<audience>.ics, /ics/rules/<id>.ics

Regulator updates

/updates.xml

Agent orientation

/llms.txt

MCP server (Node 22.18 or later, no dependencies, reads the published data):

git clone https://github.com/dgomesbr/india-compliance-calendar
claude mcp add india-compliance-calendar -- node ./india-compliance-calendar/mcp/server.ts

Tools: upcoming_obligations, get_obligation, search_obligations, event_deadlines, check_date, list_holidays, regulatory_updates. Set ICC_DATA_URL to a fork's bundle.json or a local file. See mcp/README.md.

Development

npm ci
npm run dev        # http://localhost:4321/india-compliance-calendar/
npm test           # engine, data validation, feed parser, MCP server
npm run validate   # data checks only
npm run feeds      # collect regulator feeds into data/updates.json
npm run build      # static site in dist/

Stack: Astro 7 with Preact islands, TypeScript, YAML data, no backend. The date engine in src/lib is plain erasable TypeScript shared by the build, the browser and the MCP server.

Deployment

.github/workflows/deploy.yml validates, tests, collects feeds and deploys to GitHub Pages on every push to main and daily at 06:00 IST, so date windows and feeds stay current. refresh-sources.yml runs every other day: it compares the Income Tax e-Filing tax calendar and the GST portal's current dates with the rules, checks the holiday calendars abroad against their statutory rules and open datasets (drafting a coming year from the rule until its authority publishes it), checks every cited link, and commits the results to data/source-status.json, which the Sources page shows. Forks can publish elsewhere with ICC_SITE and ICC_BASE.

Design

Designed with the Impeccable process: product context in PRODUCT.md, the visual system in DESIGN.md. The world is a listed company's annual report: a navy masthead over white working pages, ruled tables with tabular figures, one cobalt for actions, state tints only where state is the message, and two charts: the timeline that tells the year, and the cost of a delay for a single filing. Each law has its own colour, shown only as a swatch beside its name. Motion explains change (rows glide, figures count, the timeline assembles from Today) and gives way to plain fades under reduced motion.

Licence

Code: MIT. Compiled data in data/: CC BY 4.0. Government source material keeps its own terms. Fonts: Archivo and Fragment Mono, SIL Open Font License.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to perform Japanese business calendar calculations including holiday detection, business day arithmetic, payment date settlement, and deadline management using local data.
    6
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to manage Indian enterprise systems by providing tools for accounting (TallyPrime), invoicing (Zoho Books), and GST compliance (validation, e-invoice generation, and GSTR-2B reconciliation), with dry-run-first writes and an audit trail.
    Apache 2.0