Skip to content

Accounts Payable | MSME 43B(h) Compliance

Section 43B(h), enforced at the bill. Not at year-end.

Udyam registry verified at vendor onboarding and re-checked at every bill. The 45-day clock starts at the invoice date. The payment scheduler enforces it. The disallowance impact is visible before any override.

Msme Payment Terms

How most teams handle 43B(h) today

The 45-day rule found at FY-end, not at scheduling.

Section 43B(h) of the Income Tax Act made MSME payment timing a tax matter from FY 2023-24. Payments to MSME vendors past 45 days (or 15 days where no agreement exists) are disallowed in the year of the invoice and allowed only in the year of payment. The reality on the ground:

  • MSME status known for the few largest vendors. For the long tail, the Udyam status sits in someone's email from two FYs ago.
  • Bills go through approvals and into the next payment cycle without a check on the 45-day window. 'We'll catch it at year-end' becomes the operating model.
  • FY-end disallowance computed manually from the bill register. ₹2 to 15 crore typically gets reclassified across vendors no one was tracking.
  • Vendors discovering MSME status retrospectively chase you for penal interest under the MSMED Act, on top of the income-tax disallowance.

By the time the auditor flags it, the cash has gone, the FY has closed, and the tax cost is already in the books.

How it works

Udyam, the 45-day clock, and the scheduler that enforces both.

Step 01

Udyam verified at onboarding

Every new vendor's Udyam registration is checked against the live Udyam registry. Status (micro, small, medium, not-registered) is stored on the vendor master with the verification timestamp.

Step 02

Re-verified at bill capture

Each bill triggers a re-check. Vendors who became MSME mid-year are caught at the next bill, not at FY-end.

Step 03

Clock starts at the invoice date

The 45-day window (or 15 days where no written agreement exists) is computed from the invoice date per Section 15 of the MSMED Act, with the cut-off date stored on the bill.

Step 04

Scheduler enforces, not flags

Bills approaching the 45-day window are auto-prioritised in the next payment run. Bills past the window block the run with the disallowance impact and penal-interest exposure shown at the bill.

Step 05

Override needs the disallowance number

If a payment must be released past the window, the override screen surfaces the exact disallowance amount and the penal interest payable. The override is captured with reason, approver and audit trail.

What the system does

Capability, input, output.

  • Udyam live check

    Input
    Vendor Udyam number
    Output
    Micro / small / medium / not-MSME status
  • Re-verification cadence

    Input
    Bill capture event
    Output
    Updated MSME status per bill
  • 45-day clock

    Input
    Invoice date + agreement terms
    Output
    Due-by date stored on the bill
  • Payment scheduler gate

    Input
    Bill due-by date + run date
    Output
    Block / prioritise / allow with override
  • Disallowance computation

    Input
    Bill amount + tax position
    Output
    Disallowed amount per Section 43B(h)
  • Penal interest tracker

    Input
    MSMED Act Section 16
    Output
    Interest accruing per bill, daily
  • FY audit pack

    Input
    All MSME bills + payment timing
    Output
    Hash-verified report for tax audit

Compliance + integrations

The income-tax pin and the underlying obligation, both at the bill.

Section 43B(h) is the income-tax pin. The MSMED Act is the underlying obligation. Both are enforced at the bill, not at the audit.

Regulations we work within

  • Section 43B(h), Income Tax Act

    Disallowance of MSME payments past 45 days, computed per bill in the year of accrual.

  • MSMED Act, Section 15

    45-day rule (15 days where no written agreement), based on the invoice date.

  • MSMED Act, Section 16

    Penal interest at 3× the RBI bank rate, compounded monthly, accruing from day 46.

  • MSMED Act, Section 23

    Interest paid to MSME vendors disallowed under Section 23, surfaced separately from 43B(h).

  • Form 3CD, Clause 22

    Tax-audit disclosure of MSME payment timing, pre-populated from the system.

Connects to

  • Udyam Registry Live verification of registration status
  • Tally Prime Bidirectional sync of MSME flag
  • Zoho Books Native connector
  • SAP Business One Native connector

MSME 43B(h) Compliance FAQ

What buyers ask.

Some of our vendors don't share their Udyam number. How do we know if they're MSME?

Vendor portal onboarding asks every vendor for their Udyam status. Vendors who don't respond can be checked by name + PAN against the Udyam registry directly. Vendors silent on status are tagged 'unverified' (not 'non-MSME'), so the AP team knows the position is uncertain.

What if a vendor's MSME status changes mid-year?

A vendor moving from 'not-MSME' to 'micro' (or 'small' to 'medium') is caught at the next bill capture's re-verification. Bills already in flight retain the status they were captured under; new bills use the updated status. The transition is captured in the audit trail.

What about composite contracts with both goods and services from the same MSME?

The 45-day rule under MSMED Act Section 15 applies to both goods and services. Bills are computed per the invoice date irrespective of the goods or services split. Where the contract has different payment terms for each, the system applies the bill-level due date.

Can the CFO override the block in an emergency?

Yes. The override surfaces the exact disallowance amount under Section 43B(h) and the penal interest accruing under MSMED Section 16, with the dual-control approver chain. The override decision, reason and approval trail are captured for the tax audit.

Form 3CD Clause 22. Does the system pre-populate?

Yes. Clause 22 (MSME payment timing) is drafted from the system’s bill-level MSME flags and payment dates. The CA reviews and finalises with DSC. The supporting workpaper is exportable as a hash-verified audit pack.

See your MSME exposure tonight.

Connect your vendor master, free. The Udyam check runs across every vendor by morning. The 45-day clock starts from the next bill. Disallowance becomes a number you watch, not a number you discover.