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.
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.
What the system does
Capability, input, output.
| Capability | Input | Output |
|---|---|---|
| Udyam live check | Vendor Udyam number | Micro / small / medium / not-MSME status |
| Re-verification cadence | Bill capture event | Updated MSME status per bill |
| 45-day clock | Invoice date + agreement terms | Due-by date stored on the bill |
| Payment scheduler gate | Bill due-by date + run date | Block / prioritise / allow with override |
| Disallowance computation | Bill amount + tax position | Disallowed amount per Section 43B(h) |
| Penal interest tracker | MSMED Act Section 16 | Interest accruing per bill, daily |
| FY audit pack | All MSME bills + payment timing | Hash-verified report for tax audit |
-
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.
More in Accounts Payable
Related features
Payment Scheduling
Schedule batches by due date. MSME 43B(h) rule enforced. Take early-pay discounts. Bank rails for direct payment.
See Payment SchedulingVendor Payment Batches
NEFT/RTGS/IMPS/UPI rail selection with auto-fallback. Connected Banking integration. Status posted back.
See Vendor Payment BatchesVendor Statement Reconciliation
Vendor 'as per us' vs 'as per them' reconciled monthly. Mismatches drilled to invoice/payment.
See Vendor Statement Reconciliation
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.