# rulepack: PB-IBDP-2026 version: v3 dated: 2026-08-14
# source: state notification + clarification dated 2026-08-14 (hash sha256:8ad41f0c)
definitions:
fci: eligible fixed capital investment (plant, machinery, building)
net_sgst: sgst discharged through the electronic cash ledger
priority_sector: [electronics, semiconductors, medical_devices]
in_state_consumption: place_of_supply == state_code
computation_graph:
step_1: base = sum(net_sgst[month] for month in fy) where in_state_consumption
step_2: rate = 1.00 # 100% of net sgst
step_3: uplift = 0.25 if priority_sector else 0.00
step_4: gross = base * (rate + uplift)
step_5: entitlement = min(gross, cap.total_of_fci)
step_6: payable = entitlement - previously_claimed - exposure_adjustments
itc_apportionment: # CHANGED in v3
− v2: igst_credit -> apportion pro-rata to cgst/sgst by output ratio
+ v3: igst_credit -> set off igst liability first,
+ then apportion the remainder EQUALLY to cgst and sgst
+ effect: reduces the cash-ledger sgst base in years with high igst output
condition_checks:
- id: dues rule: gst_cash_ledger.pending_dues == 0
- id: recon13b rule: abs(gstr1.turnover - gstr3b.turnover) == 0
- id: itc2a rule: abs(itc_3b - itc_2a) <= tolerance(0)
- id: einv rule: every capex_invoice above threshold has an irn
- id: ewb rule: every asset_movement has an e_way_bill
- id: epf rule: ecr_filed_by_15th for last 12 months
- id: cap rule: asset.capitalised_value == invoice_value
caps:
total_of_fci: 1.00 * fci # 100% of fci over the policy window
annual_ceiling: none
haryana_style_ceiling: 1.25 * fci # comparator, toggleable in simulator
policy_window_years: 15
exclusions:
- assets funded under any exhausted prior policy (same head)
- igst and cgst components
- supplies where place_of_supply != state_code
- assets claimed under a central scheme for the same head
filing_calendar:
claim_due: 2026-09-30
quarterly_progress_report: within 30 days of quarter end
annexure_a6_external_sla_days: 18
appeal_window_days: 60 from date of sanction letter
disallowance_semantics:
scope: per_sku — a shortfall disallows the affected skus only
remedy: documentary (fresh certificate, classification opinion, revised statement)
credit_cycle: allowed_in_next_sanction_cycle
recovery_semantics:
excess_availed_in_earlier_years: adjusted against current or future claims
ring_fence: claim year closes on assessment closure
The highlighted block is the only substantive change from v2 (2025-06-02): the ITC apportionment clause.