We use cookies to understand which pages and tools are useful, nothing more — no ad tracking across other sites. You can change this later from the footer.

Skip to content
Lekhya.in

Explainer3 min readPublished

The MSME 45-day payment rule, and why it's harder to check than it sounds

Section 22 of the MSMED Act sets a 45-day payment window for registered micro and small enterprises, but checking it in an audit means matching the right date, against the right flag, on every invoice — not scanning for one overdue bill. How the check actually works, and a free way to run it on a purchase register.

Section 22 of the Micro, Small and Medium Enterprises Development Act requires a buyer to pay a registered micro or small enterprise within 45 days of accepting the goods or services, or the shorter period agreed in writing. Checking this on an audit means three things have to line up on each invoice: a reliable flag confirming the vendor is actually Udyam-registered as micro or small, an accurate invoice/acceptance date, and either an actual payment date or confirmation the invoice is still unpaid. Any invoice flagged MSME where the gap from invoice date to payment date (or to today, if unpaid) exceeds 45 days is a breach worth pulling, separate from the disclosure and section 23 disallowance questions that follow from it.

Why a one-line rule turns into a three-column problem

The rule itself is simple. The purchase register usually isn't built around it. Vendor master data frequently has no reliable MSME field at all, or one that was populated once at vendor onboarding and never revisited even after a vendor's Udyam status changed. Invoice dates and acceptance dates can differ. And "payment date" in an export is sometimes the date an entry was recorded in the books rather than the date money actually left the bank — a distinction that matters a lot when the test is counting days.

What a blank MSME flag actually means

  • It does not mean the vendor isn't MSME-registered — it usually means the field was never filled in.
  • Treating a blank as "not MSME" understates the population at risk and is the single most common way this test misses real exposure.
  • The honest output for a blank flag is "can't determine from this data," not a pass.

A vendor that was registered as MSME after the first few invoices of the year is still flagged "MSME" for the whole year in most purchase registers that only carry one static flag — the test can only be as current as the underlying vendor master.

Where the test stops, and what has to happen next

Finding a delayed invoice is the start of the question, not the end of it. The section 23 disallowance under the Income Tax Act, the exact disclosure wording required in the financial statements, and whether an explanation exists for the delay are all separate steps that a date comparison alone can't resolve. The value of getting the comparison right is that it tells the team which invoices are actually worth spending that time on.

This is practical guidance written for audit teams, not an authoritative statement of any standard or statute. Standards, forms and timelines change. Check the current text issued by the ICAI and the relevant authority before relying on anything here in an audit file.

Free tools, no signup

Each one reads a file entirely in your browser — or, for two of them, just answers a few questions — and nothing is ever uploaded.