1. Problem Statement
Section 43B(h), inserted by Finance Act 2023 and applicable from Assessment Year 2024–25, disallows expenditure representing payments due to Micro or Small Enterprises (MSEs) that remain outstanding beyond the timelines prescribed under Section 15 of the MSMED Act, 2006 — 15 days where no written agreement exists, and a maximum of 45 days where a written agreement exists.
For a practising Chartered Accountant handling tax audits, this provision requires completing the following steps for every MSME vendor of every client:
- Verifying Udyam registration status of each vendor on the Government portal — manually, one by one.
- Determining the appointed day for each invoice based on delivery date and agreement terms.
- Performing FIFO-based payment matching across all invoices and partial payments in the vendor ledger.
- Calculating compound interest at 3× the RBI bank rate with monthly rests, per invoice, per day of delay.
- Populating all sub-clauses of Form 3CD Clause 22 accurately for each MSME vendor.
A typical audit client has 30 to 80 MSME vendors. This workflow takes a CA 4 to 5 hours per client per year — manually, in spreadsheets, with high error risk. A missed disallowance creates direct tax liability for the client and professional exposure for the CA. No existing compliance tool addresses this specific multi-step workflow end to end.
2. Solution — MSMEGuard
MSMEGuard is a purpose-built, browser-based compliance tool that automates the complete Section 43B(h) workflow for Chartered Accountants. It requires no installation, no subscription, and processes all financial data entirely on the user's device — no client data is transmitted to any server at any point.
Core Features
- Vendor Master with Agreement Configuration — Records each vendor's Udyam number, MSME classification, and payment agreement terms, which drive the deadline calculation per vendor.
- Excel / CSV Ledger Parsing — Accepts standard Tally or accounting-system exports (invoice dates, amounts, payment dates) using SheetJS and PapaParse. No manual reformatting required.
- Appointed Day Calculation — Computes the exact appointed day per invoice as defined in MSMED Act, accounting for acceptance timelines and the 15/45 day rule.
- FIFO Payment Matching — Applies all payments to the oldest outstanding invoices first, the legally correct and conservative method, ensuring disallowance figures are auditable.
- Interest Engine — Calculates interest at 3× the RBI bank rate (currently ~18% p.a.) with monthly rests, per invoice, from the appointed day to the date of actual payment.
- 43B(h) Disallowance Computation — Identifies all invoices unpaid as of 31 March and computes the total disallowable amount for inclusion in the tax computation.
- Form 3CD Clause 22 Auto-Draft — Auto-populates all five statutory sub-clauses: principal unpaid, interest paid beyond appointed day, interest due and payable, interest accrued and unpaid, and the carry-forward figure for subsequent year assessment.
- Multi-Vendor Batch Processing — Processes up to 10 vendor ledgers simultaneously with a consolidated disallowance summary across the full engagement.
- Privacy-First Architecture — Runs entirely in the browser. Sensitive client financial data never leaves the CA's device.
Result: A compliance check that previously required 4–5 hours per client is completed in under 10 minutes, with mathematically verified outputs and a ready-to-use Form 3CD Clause 22 draft.
3. Tools and Technologies Used
| Technology | Role in MSMEGuard |
| React 18 + Vite | Single-page application framework with React hooks for state management. Vite provides fast local development and production build bundling. |
| SheetJS (xlsx) | Parses vendor ledger files in Excel format (.xlsx, .xls) directly in the browser — no server required. Converts spreadsheet data to structured JavaScript arrays. |
| API Setu (Govt. of India) | Official Government of India API gateway used to verify Udyam registrations via Ministry of MSME's certificate endpoint. Only the Udyam number is transmitted. |
| Vanilla JavaScript | All core computation — FIFO matching, appointed day logic, interest with monthly rests, 43B(h) disallowance, and Clause 22 generation — implemented as pure functions. |
| Claude (Anthropic AI) | Primary development co-pilot throughout the build: architecture decisions, algorithm design, UI implementation, debugging, and iterative feature development. |
4. Implementation Plan
MSMEGuard is fully functional and deployed at production quality. The roadmap below outlines the development journey completed and enhancements planned for broader adoption.
Phase 1 — Core Engine (Completed)
- Section 43B(h) disallowance logic with FIFO payment matching
- Appointed day computation per invoice per MSMED Act
- Interest calculator at 3× RBI bank rate with monthly rests
- Excel and CSV ledger file parsing (SheetJS + PapaParse)
- Single-vendor analysis and results dashboard
Phase 2 — Professional Features (Completed)
- Udyam verification via API Setu (Ministry of MSME official gateway)
- Form 3CD Clause 22 auto-draft with all statutory sub-clauses
- Multi-vendor batch processing for up to 10 vendors simultaneously
- Consolidated disallowance summary across all vendors in an engagement
- Privacy-first browser-only architecture.
Phase 3 — Planned Enhancements
- Year-end payment advisory: flag invoices approaching 31 March deadline with estimated tax impact for proactive client guidance.
- Client advisory letter generator: auto-draft a professional communication to clients on delayed payment risk and recommended action.
- RBI bank rate auto-update: dynamic fetch of current bank rate to eliminate manual override dependency.
- PDF audit evidence package: one-click export of complete workpaper — vendor status, ledger analysis, interest workings, and Clause 22 draft — as a single PDF.