@mudraforge/statutory 2.12.1 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +13 -0
  3. package/docs/ARCHITECTURE.md +70 -47
  4. package/docs/ARCHITECTURE_DECISIONS.md +22 -2
  5. package/docs/CORPUS_QUALITY.md +3 -3
  6. package/docs/DOMAIN_BREADTH_AND_DEPTH_COMPARISON.md +4 -4
  7. package/docs/ENTERPRISE_GOVERNANCE.md +2 -1
  8. package/docs/OKF_MAINTENANCE_SOP.md +5 -5
  9. package/docs/PILOT_EVALUATION_GUIDE.md +5 -4
  10. package/docs/PROVENANCE.md +6 -6
  11. package/docs/VERIFICATION.md +6 -6
  12. package/okf/corporate_ma_restructuring/business_combinations_indas_103/ast.json +20 -0
  13. package/okf/corporate_ma_restructuring/impairment_of_assets_indas_36/ast.json +20 -0
  14. package/okf/corporate_ma_restructuring/loss_carryforward_sec79/ast.json +33 -0
  15. package/okf/corporate_ma_restructuring/share_based_payments_indas_102/ast.json +20 -0
  16. package/okf/corporate_ma_restructuring/slump_sale_50b/ast.json +21 -0
  17. package/okf/corporate_ma_restructuring/tax_clearance_sec281/ast.json +21 -0
  18. package/okf/direct_tax/corporate_tax_115baa_115jb/ast.json +23 -0
  19. package/okf/direct_tax/income_taxes_deferred_tax_indas_12/ast.json +20 -0
  20. package/okf/direct_tax/special_rates_non_filer_206ab/ast.json +26 -0
  21. package/okf/direct_tax/statutory_disallowance_43b/ast.json +35 -0
  22. package/okf/direct_tax/tcs_goods_206c_1h/ast.json +69 -0
  23. package/okf/direct_tax/tds_commission_194h/ast.json +60 -0
  24. package/okf/direct_tax/tds_contractor_194c/ast.json +71 -0
  25. package/okf/direct_tax/tds_ecommerce_194o/ast.json +48 -0
  26. package/okf/direct_tax/tds_goods_194q/ast.json +71 -0
  27. package/okf/direct_tax/tds_goods_393/ast.json +59 -0
  28. package/okf/direct_tax/tds_individual_contract_194m/ast.json +59 -0
  29. package/okf/direct_tax/tds_interest_194a/ast.json +59 -0
  30. package/okf/direct_tax/tds_perquisites_194r/ast.json +47 -0
  31. package/okf/direct_tax/tds_property_194ia/ast.json +70 -0
  32. package/okf/direct_tax/tds_rent_194i/ast.json +60 -0
  33. package/okf/direct_tax/tds_rent_individual_194ib/ast.json +59 -0
  34. package/okf/direct_tax/tds_services_194j/ast.json +60 -0
  35. package/okf/indirect_tax_gst/blocked_itc_17_5/ast.json +26 -0
  36. package/okf/indirect_tax_gst/common_itc_reversal_rule42_43/ast.json +26 -0
  37. package/okf/indirect_tax_gst/composite_mixed_supplies_sec8/ast.json +21 -0
  38. package/okf/indirect_tax_gst/composition_levy_sec10/ast.json +23 -0
  39. package/okf/indirect_tax_gst/credit_debit_notes_sec34/ast.json +21 -0
  40. package/okf/indirect_tax_gst/e_invoicing_rule48_4/ast.json +20 -0
  41. package/okf/indirect_tax_gst/export_services_lut_sec16/ast.json +20 -0
  42. package/okf/indirect_tax_gst/gst_tds_sec51/ast.json +23 -0
  43. package/okf/indirect_tax_gst/itc_eligibility_16_2/ast.json +20 -0
  44. package/okf/indirect_tax_gst/itc_reversal_rule37_37a/ast.json +45 -0
  45. package/okf/indirect_tax_gst/rcm_liability_sec9_3/ast.json +26 -0
  46. package/okf/international_tax/cross_border_remittance_195/ast.json +39 -0
  47. package/okf/international_tax/financial_instruments_ecl_indas_109/ast.json +24 -0
  48. package/okf/international_tax/foreign_exchange_indas_21_109/ast.json +20 -0
  49. package/okf/international_tax/foreign_tax_credit_irc_901_904/ast.json +20 -0
  50. package/okf/international_tax/transfer_pricing_alp_92c/ast.json +25 -0
  51. package/okf/manifest.json +49 -3
  52. package/okf/msme_commercial/delayed_payments_15_16/ast.json +38 -0
  53. package/okf/msme_commercial/enterprise_classification_sec7/ast.json +25 -0
  54. package/okf/msme_commercial/lease_accounting_indas_116/ast.json +20 -0
  55. package/okf/msme_commercial/mca_msme_1_filing/ast.json +20 -0
  56. package/okf/msme_commercial/provisions_contingencies_indas_37/ast.json +20 -0
  57. package/okf/msme_commercial/revenue_recognition_indas_115/ast.json +20 -0
  58. package/okf/msme_commercial/statutory_disclosures_sec22/ast.json +21 -0
  59. package/package.json +16 -1
  60. package/src/constants.js +1 -1
  61. package/src/index.js +16 -2
  62. package/src/payroll.js +506 -0
  63. package/src/usvm/evaluation_vm.js +504 -0
  64. package/src/usvm/index.js +65 -0
  65. package/src/usvm/math_rational.js +165 -0
  66. package/src/usvm/rules/sec_115baa_115jb_mat.json +23 -0
  67. package/src/usvm/rules/sec_192_salary_tds.json +23 -0
  68. package/src/usvm/rules/sec_194a_interest.json +59 -0
  69. package/src/usvm/rules/sec_194c_contractors.json +71 -0
  70. package/src/usvm/rules/sec_194h_commission.json +60 -0
  71. package/src/usvm/rules/sec_194i_rent.json +60 -0
  72. package/src/usvm/rules/sec_194ia_property.json +70 -0
  73. package/src/usvm/rules/sec_194ib_rent_ind.json +59 -0
  74. package/src/usvm/rules/sec_194j_services.json +60 -0
  75. package/src/usvm/rules/sec_194m_contract_ind.json +59 -0
  76. package/src/usvm/rules/sec_194o_ecommerce.json +48 -0
  77. package/src/usvm/rules/sec_194q_goods.json +71 -0
  78. package/src/usvm/rules/sec_194r_perquisites.json +47 -0
  79. package/src/usvm/rules/sec_195_cross_border.json +39 -0
  80. package/src/usvm/rules/sec_206ab_non_filer.json +26 -0
  81. package/src/usvm/rules/sec_206c1h_tcs.json +69 -0
  82. package/src/usvm/rules/sec_281_tax_clearance.json +21 -0
  83. package/src/usvm/rules/sec_393_goods.json +59 -0
  84. package/src/usvm/rules/sec_43bh_disallowance.json +35 -0
  85. package/src/usvm/rules/sec_50b_slump_sale.json +21 -0
  86. package/src/usvm/rules/sec_79_loss_continuity.json +33 -0
  87. package/src/usvm/rules/sec_92c_transfer_pricing.json +25 -0
  88. package/src/usvm/rules/sec_ftc_dtaa_relief.json +20 -0
  89. package/src/usvm/rules/sec_gst_blocked_itc_17_5.json +26 -0
  90. package/src/usvm/rules/sec_gst_composite_mixed_8.json +21 -0
  91. package/src/usvm/rules/sec_gst_composition_levy_10.json +23 -0
  92. package/src/usvm/rules/sec_gst_credit_debit_notes_34.json +21 -0
  93. package/src/usvm/rules/sec_gst_einvoicing_rule48_4.json +20 -0
  94. package/src/usvm/rules/sec_gst_ewaybill_rule138.json +21 -0
  95. package/src/usvm/rules/sec_gst_export_lut_16.json +20 -0
  96. package/src/usvm/rules/sec_gst_itc_eligibility_16_2.json +20 -0
  97. package/src/usvm/rules/sec_gst_itc_reversal_rule37_37a.json +45 -0
  98. package/src/usvm/rules/sec_gst_rcm_liability_9_3.json +26 -0
  99. package/src/usvm/rules/sec_gst_rule42_43_apportionment.json +26 -0
  100. package/src/usvm/rules/sec_gst_tds_sec51.json +23 -0
  101. package/src/usvm/rules/sec_indas102_esop.json +20 -0
  102. package/src/usvm/rules/sec_indas103_mna.json +20 -0
  103. package/src/usvm/rules/sec_indas109_ecl.json +24 -0
  104. package/src/usvm/rules/sec_indas115_revenue.json +20 -0
  105. package/src/usvm/rules/sec_indas116_leases.json +20 -0
  106. package/src/usvm/rules/sec_indas12_deferred_tax.json +20 -0
  107. package/src/usvm/rules/sec_indas21_fx_reval.json +20 -0
  108. package/src/usvm/rules/sec_indas36_impairment.json +20 -0
  109. package/src/usvm/rules/sec_indas37_provisions.json +20 -0
  110. package/src/usvm/rules/sec_msme_classification_sec7.json +25 -0
  111. package/src/usvm/rules/sec_msme_delayed_payments_15_16.json +38 -0
  112. package/src/usvm/rules/sec_msme_disclosures_sec22.json +21 -0
  113. package/src/usvm/rules/sec_msme_mca_form_1.json +20 -0
  114. package/src/usvm/schemas/statutory_ast_schema.js +203 -0
  115. package/src/usvm/usvm_domain_evaluators.js +1021 -0
  116. package/types/index.d.ts +39 -0
@@ -0,0 +1,20 @@
1
+ {
2
+ "sectionId": "INDAS102_SHARE_BASED_PAYMENTS",
3
+ "version": "1.0.0",
4
+ "governingStatute": "Companies (Indian Accounting Standards) Rules, 2015",
5
+ "statutorySection": "Ind AS 102 / ASC 718",
6
+ "successorStatute": "Ind AS 102",
7
+ "successorSection": "Ind AS 102",
8
+ "triggerPolicy": {
9
+ "type": "TRANSACTION_DATE",
10
+ "description": "Grant date fair value ESOP graded vesting expense amortization"
11
+ },
12
+ "computation": {
13
+ "archetype": "SHARE_BASED_PAYMENTS_INDAS102",
14
+ "vestingModel": "GRADED_VESTING_AMORTIZATION"
15
+ },
16
+ "rounding": {
17
+ "transactionLine": "COMMERCIAL_PAISA",
18
+ "assessmentTotal": "COMMERCIAL_PAISA"
19
+ }
20
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "sectionId": "ITACT1961_SEC50B",
3
+ "version": "1.0.0",
4
+ "governingStatute": "Income-tax Act, 1961",
5
+ "statutorySection": "Section 50B read with Rule 11UAE",
6
+ "successorStatute": "Income-tax Act, 2025",
7
+ "successorSection": "Section 50B equivalent",
8
+ "triggerPolicy": {
9
+ "type": "TRANSACTION_DATE",
10
+ "description": "Lump-sum business undertaking transfer capital gains computation"
11
+ },
12
+ "computation": {
13
+ "archetype": "SLUMP_SALE_NET_WORTH_50B",
14
+ "excludeRevaluationReserve": true,
15
+ "depreciableAssetBasis": "WDV_UNDER_SECTION_43_6"
16
+ },
17
+ "rounding": {
18
+ "transactionLine": "COMMERCIAL_PAISA",
19
+ "assessmentTotal": "COMMERCIAL_PAISA"
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "sectionId": "ITACT1961_SEC281",
3
+ "version": "1.0.0",
4
+ "governingStatute": "Income-tax Act, 1961",
5
+ "statutorySection": "Section 281",
6
+ "successorStatute": "Income-tax Act, 2025",
7
+ "successorSection": "Section 281 equivalent",
8
+ "triggerPolicy": {
9
+ "type": "TRANSACTION_DATE",
10
+ "description": "Evaluation of asset transfer during pending tax assessment proceedings"
11
+ },
12
+ "computation": {
13
+ "archetype": "TAX_CLEARANCE_VOID_TRANSFER_SEC281",
14
+ "deMinimisDemandInr": 5000,
15
+ "deMinimisAssetInr": 10000
16
+ },
17
+ "rounding": {
18
+ "transactionLine": "COMMERCIAL_PAISA",
19
+ "assessmentTotal": "COMMERCIAL_PAISA"
20
+ }
21
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "sectionId": "ITACT1961_SEC115BAA_115JB",
3
+ "version": "1.0.0",
4
+ "governingStatute": "Income-tax Act, 1961",
5
+ "statutorySection": "Sections 115BAA, 115JB & 115JAA",
6
+ "successorStatute": "Income-tax Act, 2025",
7
+ "successorSection": "Section 115BAA & MAT equivalents",
8
+ "triggerPolicy": {
9
+ "type": "FISCAL_YEAR_END",
10
+ "description": "Annual Corporate Tax Return filing & MAT comparison"
11
+ },
12
+ "computation": {
13
+ "archetype": "CORPORATE_TAX_MAT_VS_CONCESSIONAL",
14
+ "concessionalBaseRate": 0.22,
15
+ "matBaseRate": 0.15,
16
+ "surchargeConcessional": 0.1,
17
+ "cessRate": 0.04
18
+ },
19
+ "rounding": {
20
+ "transactionLine": "COMMERCIAL_PAISA",
21
+ "assessmentTotal": "COMMERCIAL_PAISA"
22
+ }
23
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "sectionId": "INDAS12_INCOME_TAXES",
3
+ "version": "1.0.0",
4
+ "governingStatute": "Companies (Indian Accounting Standards) Rules, 2015",
5
+ "statutorySection": "Ind AS 12 / ASC 740",
6
+ "successorStatute": "Ind AS 12",
7
+ "successorSection": "Ind AS 12",
8
+ "triggerPolicy": {
9
+ "type": "FISCAL_YEAR_END",
10
+ "description": "Period-end tax balance sheet timing difference recognition"
11
+ },
12
+ "computation": {
13
+ "archetype": "DEFERRED_TAX_TIMING_DIFFERENCE",
14
+ "prudenceTest": "PROBABLE_FUTURE_TAXABLE_PROFIT"
15
+ },
16
+ "rounding": {
17
+ "transactionLine": "COMMERCIAL_PAISA",
18
+ "assessmentTotal": "COMMERCIAL_PAISA"
19
+ }
20
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "sectionId": "ITACT1961_SEC206AB",
3
+ "version": "1.0.0",
4
+ "governingStatute": "Income-tax Act, 1961",
5
+ "statutorySection": "Section 206AB",
6
+ "successorStatute": "Income-tax Act, 2025",
7
+ "successorSection": "Omitted w.e.f. 1 April 2025 by Finance Act, 2025",
8
+ "triggerPolicy": {
9
+ "type": "EARLIER_OF",
10
+ "events": [
11
+ "creditDate",
12
+ "paymentDate"
13
+ ],
14
+ "description": "Earlier of credit or payment for non-compliant specified persons"
15
+ },
16
+ "computation": {
17
+ "archetype": "NON_FILER_PENAL_RATE_206AB",
18
+ "multiplier": 2,
19
+ "minimumPenalRatePercent": 5,
20
+ "sunsetOmissionDate": "2025-04-01"
21
+ },
22
+ "rounding": {
23
+ "transactionLine": "COMMERCIAL_PAISA",
24
+ "assessmentTotal": "COMMERCIAL_PAISA"
25
+ }
26
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "sectionId": "ITACT1961_SEC43BH",
3
+ "version": "1.0.0",
4
+ "governingStatute": "Income-tax Act, 1961",
5
+ "statutorySection": "Section 43B(h)",
6
+ "successorStatute": "Income-tax Act, 2025",
7
+ "successorSection": "Section 37(2)(g)",
8
+ "triggerPolicy": {
9
+ "type": "PAYMENT_ONLY",
10
+ "description": "Evaluated against invoice date, agreed terms, and March 31 fiscal year-end boundary"
11
+ },
12
+ "guards": [
13
+ {
14
+ "id": "GUARD_TRADER_EXCLUSION",
15
+ "field": "isTrader",
16
+ "operator": "IS_TRUE",
17
+ "onMatch": {
18
+ "action": "HALT_EXEMPT",
19
+ "disposition": "EXEMPT_TRADER_NOT_GOVERNED_BY_43BH",
20
+ "reason": "Retail and wholesale trade (NIC 45, 46, 47) excluded from Section 43B(h) per Ministry OM 02.07.2021"
21
+ }
22
+ }
23
+ ],
24
+ "computation": {
25
+ "archetype": "MSME_FISCAL_BOUNDARY_43BH",
26
+ "maxWrittenDays": 45,
27
+ "statutoryBaselineDays": 15,
28
+ "fiscalYearBoundaryMonth": 3,
29
+ "fiscalYearBoundaryDay": 31
30
+ },
31
+ "rounding": {
32
+ "transactionLine": "COMMERCIAL_PAISA",
33
+ "assessmentTotal": "INCOME_TAX_ACT_1961_SEC288B"
34
+ }
35
+ }
@@ -0,0 +1,69 @@
1
+ {
2
+ "$schema": "https://mudraforge.in/schemas/statutory-ast-v2.1.json",
3
+ "sectionId": "ITA1961_SEC206C_1H",
4
+ "version": "2.1.0",
5
+ "title": "TCS on Sale of Goods Exceeding Fifty Lakh Rupees",
6
+ "governingStatute": "Income-tax Act, 1961",
7
+ "statutorySection": "Section 206C(1H)",
8
+ "successorStatute": "Income-tax Act, 2025",
9
+ "successorSection": "Section 206C(1H) (Omitted w.e.f. 1 April 2025)",
10
+ "successorTableItem": "OMITTED_SUNSET_BY_FINANCE_ACT_2025",
11
+ "transitionalCutoverDate": "2025-04-01",
12
+ "effectivePeriod": {
13
+ "validFrom": "2020-10-01",
14
+ "validTo": "2025-03-31"
15
+ },
16
+ "triggerPolicy": {
17
+ "type": "DEBIT_OR_RECEIPT",
18
+ "events": [
19
+ "PAYMENT_DISBURSEMENT"
20
+ ],
21
+ "statutoryBasis": "Section 206C(1H) at the time of receipt of amount"
22
+ },
23
+ "guards": [
24
+ {
25
+ "id": "GUARD_SUNSET_OMITTED_FINANCE_ACT_2025",
26
+ "field": "isPostSunset2025",
27
+ "operator": "EQ",
28
+ "value": true,
29
+ "onMatch": {
30
+ "action": "HALT_EXEMPT",
31
+ "disposition": "OMITTED_SUNSET_BY_FINANCE_ACT_2025",
32
+ "reason": "Section 206C(1H) was omitted effective 1 April 2025 by Finance Act, 2025."
33
+ }
34
+ },
35
+ {
36
+ "id": "GUARD_BUYER_LIABLE_FOR_194Q",
37
+ "field": "isBuyerDeducting194Q",
38
+ "operator": "EQ",
39
+ "value": true,
40
+ "onMatch": {
41
+ "action": "HALT_EXEMPT",
42
+ "disposition": "EXEMPT_BUYER_DEDUCTING_194Q",
43
+ "reason": "Section 206C(1H) second proviso: TCS not applicable if buyer is liable and deducting TDS under 194Q."
44
+ }
45
+ },
46
+ {
47
+ "id": "GUARD_MISSING_PAN_TCS_1_PERCENT",
48
+ "field": "payee.isPanValid",
49
+ "operator": "EQ",
50
+ "value": false,
51
+ "onMatch": {
52
+ "action": "OVERRIDE_RATE",
53
+ "overrideRateBps": 100,
54
+ "governingSection1961": "Section 206C(1H) Second Proviso (1% cap)",
55
+ "governingSection2025": "Section 206C(1H)"
56
+ }
57
+ }
58
+ ],
59
+ "computation": {
60
+ "archetype": "EXCESS_OVER_THRESHOLD",
61
+ "thresholdPaisa": "500000000",
62
+ "standardRateBps": 10,
63
+ "baseDetermination": "CUMULATIVE_RECEIPTS_IN_FINANCIAL_YEAR"
64
+ },
65
+ "rounding": {
66
+ "transactionLine": "COMMERCIAL_PAISA",
67
+ "assessmentTotal": "INCOME_TAX_ACT_1961_SEC288B"
68
+ }
69
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "$schema": "https://mudraforge.in/schemas/statutory-ast-v2.1.json",
3
+ "sectionId": "ITA1961_SEC194H",
4
+ "version": "2.1.0",
5
+ "title": "TDS on Commission or Brokerage",
6
+ "governingStatute": "Income-tax Act, 1961",
7
+ "statutorySection": "Section 194H",
8
+ "successorStatute": "Income-tax Act, 2025",
9
+ "successorSection": "Section 393(1), Table 1, Sl. No. 1(ii)",
10
+ "successorTableItem": "TABLE_1_SL_NO_1_II_COMMISSION",
11
+ "transitionalCutoverDate": "2026-04-01",
12
+ "effectivePeriod": {
13
+ "validFrom": "2001-06-01",
14
+ "validTo": null
15
+ },
16
+ "triggerPolicy": {
17
+ "type": "EARLIER_OF",
18
+ "events": [
19
+ "BOOK_CREDIT",
20
+ "PAYMENT_DISBURSEMENT"
21
+ ],
22
+ "statutoryBasis": "Section 194H earlier of credit or payment"
23
+ },
24
+ "guards": [
25
+ {
26
+ "id": "GUARD_MISSING_PAN_206AA",
27
+ "field": "payee.isPanValid",
28
+ "operator": "EQ",
29
+ "value": false,
30
+ "onMatch": {
31
+ "action": "OVERRIDE_RATE",
32
+ "overrideRateBps": 2000,
33
+ "governingSection1961": "Section 206AA (20% missing PAN)",
34
+ "governingSection2025": "Section 397(2) (20% missing PAN)"
35
+ }
36
+ },
37
+ {
38
+ "id": "GUARD_PRE_OCTOBER_2024_5_PERCENT",
39
+ "field": "isPreOctober2024",
40
+ "operator": "EQ",
41
+ "value": true,
42
+ "onMatch": {
43
+ "action": "OVERRIDE_RATE",
44
+ "overrideRateBps": 500,
45
+ "governingSection1961": "Section 194H prior to Finance (No. 2) Act 2024 (5%)",
46
+ "governingSection2025": "Section 393(1)"
47
+ }
48
+ }
49
+ ],
50
+ "computation": {
51
+ "archetype": "CLIFF_THRESHOLD",
52
+ "thresholdPaisa": "1500000",
53
+ "standardRateBps": 200,
54
+ "baseDetermination": "ANNUAL_AGGREGATE"
55
+ },
56
+ "rounding": {
57
+ "transactionLine": "COMMERCIAL_PAISA",
58
+ "assessmentTotal": "INCOME_TAX_ACT_1961_SEC288B"
59
+ }
60
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "$schema": "https://mudraforge.in/schemas/statutory-ast-v2.1.json",
3
+ "sectionId": "ITA1961_SEC194C",
4
+ "version": "2.1.0",
5
+ "title": "TDS on Payments to Contractors and Sub-Contractors",
6
+ "governingStatute": "Income-tax Act, 1961",
7
+ "statutorySection": "Section 194C",
8
+ "successorStatute": "Income-tax Act, 2025",
9
+ "successorSection": "Section 393(1), Table 1, Sl. No. 2",
10
+ "successorTableItem": "TABLE_1_SL_NO_2_CONTRACTORS",
11
+ "transitionalCutoverDate": "2026-04-01",
12
+ "effectivePeriod": {
13
+ "validFrom": "1972-06-01",
14
+ "validTo": null
15
+ },
16
+ "triggerPolicy": {
17
+ "type": "EARLIER_OF",
18
+ "events": [
19
+ "BOOK_CREDIT",
20
+ "PAYMENT_DISBURSEMENT"
21
+ ],
22
+ "statutoryBasis": "Section 194C(1) earlier of credit or payment"
23
+ },
24
+ "guards": [
25
+ {
26
+ "id": "GUARD_TRANSPORTER_EXEMPTION",
27
+ "field": "isTransporterExempt",
28
+ "operator": "EQ",
29
+ "value": true,
30
+ "onMatch": {
31
+ "action": "HALT_EXEMPT",
32
+ "disposition": "EXEMPT_TRANSPORTER_SECTION_194C_6",
33
+ "reason": "Section 194C(6): Goods transport operators owning ten or fewer carriages furnishing PAN declaration are exempt."
34
+ }
35
+ },
36
+ {
37
+ "id": "GUARD_MISSING_PAN_206AA",
38
+ "field": "payee.isPanValid",
39
+ "operator": "EQ",
40
+ "value": false,
41
+ "onMatch": {
42
+ "action": "OVERRIDE_RATE",
43
+ "overrideRateBps": 2000,
44
+ "governingSection1961": "Section 206AA (20% missing PAN)",
45
+ "governingSection2025": "Section 397(2) (20% missing PAN)"
46
+ }
47
+ },
48
+ {
49
+ "id": "GUARD_INDIVIDUAL_HUF_1_PERCENT",
50
+ "field": "isIndividualOrHuf",
51
+ "operator": "EQ",
52
+ "value": true,
53
+ "onMatch": {
54
+ "action": "OVERRIDE_RATE",
55
+ "overrideRateBps": 100,
56
+ "governingSection1961": "Section 194C(1)(a) (1% for Individual/HUF)",
57
+ "governingSection2025": "Section 393(1) Table 1 (1% for Individual/HUF)"
58
+ }
59
+ }
60
+ ],
61
+ "computation": {
62
+ "archetype": "CLIFF_THRESHOLD",
63
+ "thresholdPaisa": "3000000",
64
+ "standardRateBps": 200,
65
+ "baseDetermination": "CONTRACT_VALUE_OR_AGGREGATE_ANNUAL"
66
+ },
67
+ "rounding": {
68
+ "transactionLine": "COMMERCIAL_PAISA",
69
+ "assessmentTotal": "INCOME_TAX_ACT_1961_SEC288B"
70
+ }
71
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "https://mudraforge.in/schemas/statutory-ast-v2.1.json",
3
+ "sectionId": "ITA1961_SEC194O",
4
+ "version": "2.1.0",
5
+ "title": "TDS on Payments by E-Commerce Operator to E-Commerce Participants",
6
+ "governingStatute": "Income-tax Act, 1961",
7
+ "statutorySection": "Section 194O",
8
+ "successorStatute": "Income-tax Act, 2025",
9
+ "successorSection": "Section 393(1), Table 1, Sl. No. 15",
10
+ "successorTableItem": "TABLE_1_SL_NO_15_ECOMMERCE",
11
+ "transitionalCutoverDate": "2026-04-01",
12
+ "effectivePeriod": {
13
+ "validFrom": "2020-10-01",
14
+ "validTo": null
15
+ },
16
+ "triggerPolicy": {
17
+ "type": "EARLIER_OF",
18
+ "events": [
19
+ "BOOK_CREDIT",
20
+ "PAYMENT_DISBURSEMENT"
21
+ ],
22
+ "statutoryBasis": "Section 194O earlier of credit or payment"
23
+ },
24
+ "guards": [
25
+ {
26
+ "id": "GUARD_MISSING_PAN_5_PERCENT",
27
+ "field": "payee.isPanValid",
28
+ "operator": "EQ",
29
+ "value": false,
30
+ "onMatch": {
31
+ "action": "OVERRIDE_RATE",
32
+ "overrideRateBps": 500,
33
+ "governingSection1961": "Section 206AA Second Proviso (5% e-commerce cap)",
34
+ "governingSection2025": "Section 397(2)"
35
+ }
36
+ }
37
+ ],
38
+ "computation": {
39
+ "archetype": "FLAT_RATE",
40
+ "thresholdPaisa": "0",
41
+ "standardRateBps": 10,
42
+ "baseDetermination": "GROSS_SALE_CONSIDERATION"
43
+ },
44
+ "rounding": {
45
+ "transactionLine": "COMMERCIAL_PAISA",
46
+ "assessmentTotal": "INCOME_TAX_ACT_1961_SEC288B"
47
+ }
48
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "$schema": "https://mudraforge.in/schemas/statutory-ast-v2.1.json",
3
+ "sectionId": "ITA1961_SEC194Q",
4
+ "version": "2.1.0",
5
+ "title": "Tax Deduction at Source on Purchase of Goods",
6
+ "governingStatute": "Income-tax Act, 1961",
7
+ "statutorySection": "Section 194Q",
8
+ "successorStatute": "Income-tax Act, 2025",
9
+ "successorSection": "Section 393(1), Table 1, Sl. No. 8(ii)",
10
+ "successorTableItem": "TABLE_1_SL_NO_8_II_PURCHASE_OF_GOODS",
11
+ "transitionalCutoverDate": "2026-04-01",
12
+ "effectivePeriod": {
13
+ "validFrom": "2021-07-01",
14
+ "validTo": null
15
+ },
16
+ "triggerPolicy": {
17
+ "type": "EARLIER_OF",
18
+ "events": [
19
+ "BOOK_CREDIT",
20
+ "PAYMENT_DISBURSEMENT"
21
+ ],
22
+ "statutoryBasis": "Section 194Q(1) earlier of credit or payment"
23
+ },
24
+ "guards": [
25
+ {
26
+ "id": "GUARD_FOREIGN_IMPORT",
27
+ "field": "isImportOfGoods",
28
+ "operator": "EQ",
29
+ "value": true,
30
+ "onMatch": {
31
+ "action": "HALT_EXEMPT",
32
+ "disposition": "EXEMPT_IMPORT_OF_GOODS_FOREIGN_VENDOR",
33
+ "reason": "CBDT Circular 13/2021 Question 3: Section 194Q does not apply to import of goods from non-residents."
34
+ }
35
+ },
36
+ {
37
+ "id": "GUARD_NON_RESIDENT_SELLER",
38
+ "field": "payee.isResident",
39
+ "operator": "EQ",
40
+ "value": false,
41
+ "onMatch": {
42
+ "action": "HALT_EXEMPT",
43
+ "disposition": "EXEMPT_IMPORT_OF_GOODS_FOREIGN_VENDOR",
44
+ "reason": "Non-resident seller without PE in India is exempt from 194Q."
45
+ }
46
+ },
47
+ {
48
+ "id": "GUARD_MISSING_OR_INOPERATIVE_PAN",
49
+ "field": "payee.isPanValid",
50
+ "operator": "EQ",
51
+ "value": false,
52
+ "onMatch": {
53
+ "action": "OVERRIDE_RATE",
54
+ "overrideRateBps": 500,
55
+ "governingSection1961": "Section 206AA(1) First Proviso (5% statutory cap for goods)",
56
+ "governingSection2025": "Section 397(2)(b)(i)(C) (5% statutory cap for goods)"
57
+ }
58
+ }
59
+ ],
60
+ "computation": {
61
+ "archetype": "EXCESS_OVER_THRESHOLD",
62
+ "thresholdPaisa": "500000000",
63
+ "standardRateBps": 10,
64
+ "baseDetermination": "CUMULATIVE_TURNOVER_IN_FINANCIAL_YEAR",
65
+ "notes": "Tax applies strictly to the incremental excess over 50 Lakhs."
66
+ },
67
+ "rounding": {
68
+ "transactionLine": "COMMERCIAL_PAISA",
69
+ "assessmentTotal": "INCOME_TAX_ACT_1961_SEC288B"
70
+ }
71
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "$schema": "https://mudraforge.in/schemas/statutory-ast-v2.1.json",
3
+ "sectionId": "ITA2025_SEC393",
4
+ "version": "2.1.0",
5
+ "title": "Tax Deduction at Source on Payment for Purchase of Goods (2025 Act)",
6
+ "governingStatute": "Income-tax Act, 2025",
7
+ "statutorySection": "Section 393(1), Table 1, Sl. No. 8(ii)",
8
+ "successorStatute": "Income-tax Act, 2025",
9
+ "successorSection": "Section 393(1), Table 1, Sl. No. 8(ii)",
10
+ "successorTableItem": "TABLE_1_SL_NO_8_II_PURCHASE_OF_GOODS",
11
+ "transitionalCutoverDate": "2026-04-01",
12
+ "effectivePeriod": {
13
+ "validFrom": "2026-04-01",
14
+ "validTo": null
15
+ },
16
+ "triggerPolicy": {
17
+ "type": "EARLIER_OF",
18
+ "events": [
19
+ "BOOK_CREDIT",
20
+ "PAYMENT_DISBURSEMENT"
21
+ ],
22
+ "statutoryBasis": "Section 393(1) earlier of credit or payment"
23
+ },
24
+ "guards": [
25
+ {
26
+ "id": "GUARD_FOREIGN_IMPORT",
27
+ "field": "isImportOfGoods",
28
+ "operator": "EQ",
29
+ "value": true,
30
+ "onMatch": {
31
+ "action": "HALT_EXEMPT",
32
+ "disposition": "EXEMPT_IMPORT_OF_GOODS_FOREIGN_VENDOR",
33
+ "reason": "Section 393 does not apply to import of goods from non-residents."
34
+ }
35
+ },
36
+ {
37
+ "id": "GUARD_MISSING_OR_INOPERATIVE_PAN",
38
+ "field": "payee.isPanValid",
39
+ "operator": "EQ",
40
+ "value": false,
41
+ "onMatch": {
42
+ "action": "OVERRIDE_RATE",
43
+ "overrideRateBps": 500,
44
+ "governingSection1961": "Section 206AA(1) First Proviso",
45
+ "governingSection2025": "Section 397(2)(b)(i)(C)"
46
+ }
47
+ }
48
+ ],
49
+ "computation": {
50
+ "archetype": "EXCESS_OVER_THRESHOLD",
51
+ "thresholdPaisa": "500000000",
52
+ "standardRateBps": 10,
53
+ "baseDetermination": "CUMULATIVE_TURNOVER_IN_FINANCIAL_YEAR"
54
+ },
55
+ "rounding": {
56
+ "transactionLine": "COMMERCIAL_PAISA",
57
+ "assessmentTotal": "INCOME_TAX_ACT_2025_SEC516"
58
+ }
59
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "$schema": "https://mudraforge.in/schemas/statutory-ast-v2.1.json",
3
+ "sectionId": "ITA1961_SEC194M",
4
+ "version": "2.1.0",
5
+ "title": "TDS on Payment to Contractors/Professionals by Certain Individuals or HUF",
6
+ "governingStatute": "Income-tax Act, 1961",
7
+ "statutorySection": "Section 194M",
8
+ "successorStatute": "Income-tax Act, 2025",
9
+ "successorSection": "Section 393(1), Table 1, Sl. No. 14",
10
+ "successorTableItem": "TABLE_1_SL_NO_14_INDIVIDUAL_CONTRACTOR",
11
+ "transitionalCutoverDate": "2026-04-01",
12
+ "effectivePeriod": {
13
+ "validFrom": "2019-09-01",
14
+ "validTo": null
15
+ },
16
+ "triggerPolicy": {
17
+ "type": "EARLIER_OF",
18
+ "events": [
19
+ "BOOK_CREDIT",
20
+ "PAYMENT_DISBURSEMENT"
21
+ ],
22
+ "statutoryBasis": "Section 194M earlier of credit or payment"
23
+ },
24
+ "guards": [
25
+ {
26
+ "id": "GUARD_COVERED_BY_194C_H_J",
27
+ "field": "isPayerCoveredBy194C_H_J",
28
+ "operator": "EQ",
29
+ "value": true,
30
+ "onMatch": {
31
+ "action": "HALT_EXEMPT",
32
+ "disposition": "EXEMPT_GOVERNED_BY_SECTIONS_194C_194H_194J",
33
+ "reason": "Payers required to deduct under 194C, 194H, or 194J are exempt from 194M."
34
+ }
35
+ },
36
+ {
37
+ "id": "GUARD_MISSING_PAN_206AA",
38
+ "field": "payee.isPanValid",
39
+ "operator": "EQ",
40
+ "value": false,
41
+ "onMatch": {
42
+ "action": "OVERRIDE_RATE",
43
+ "overrideRateBps": 2000,
44
+ "governingSection1961": "Section 206AA (20% missing PAN)",
45
+ "governingSection2025": "Section 397(2)"
46
+ }
47
+ }
48
+ ],
49
+ "computation": {
50
+ "archetype": "CLIFF_THRESHOLD",
51
+ "thresholdPaisa": "500000000",
52
+ "standardRateBps": 200,
53
+ "baseDetermination": "ANNUAL_AGGREGATE"
54
+ },
55
+ "rounding": {
56
+ "transactionLine": "COMMERCIAL_PAISA",
57
+ "assessmentTotal": "INCOME_TAX_ACT_1961_SEC288B"
58
+ }
59
+ }