Feature #163
openFeature #42: Delivery Note Implementation
Tax Category and single GST Rate dropdown on wizard items
0%
Description
Tax Category and single GST Rate dropdown on wizard items¶
Users pick Inter State or Intra State once, then a single GST Rate per item row that splits into IGST or CGST and SGST.
1. Summary¶
Items used three tax columns (IGST, CGST, SGST) entered by hand. The user asked for a Tax Category chosen first (Inter State or Intra State) and only a GST Rate selection in the item table. The rate is a dropdown of the standard slabs (0, 5, 12, 18, 28), chosen by the user over free entry. An Inter State category puts the rate on IGST; Intra State splits it evenly into CGST and SGST. A new tax_category Select field on the Delivery Challan stores the choice. Changing the category re-splits all rows live, and locked return rows show their rate read-only. The work is in the working tree and not committed.
2. Requirement¶
| # | Requirement | Source | Status |
|---|---|---|---|
| R1 | Choose Tax Category first (Inter State or Intra State) | User, 16 Sep | Done |
| R2 | Item table shows only a GST Rate selection | User, 16 Sep | Done |
| R3 | Rate fills IGST or CGST/SGST by category and totals follow | User, 16 Sep | Done |
3. Decisions¶
| Decision | Options considered | Why this one | Date |
|---|---|---|---|
| GST Rate is a dropdown of standard slabs 0/5/12/18/28 | Free-entry percentage | User chose the dropdown | 2026-09-16 |
| GST Rate column sits right after HSN | After Unit Cost | A Select after the last input broke Frappe's Tab handling and added a blank row | 2026-10-05 |
| IGST, CGST, SGST remain real fields but are hidden and derived | Remove them | The Delivery Challan Item schema is unchanged | 2026-09-16 |
4. Logic & Workflow¶
- The user selects Tax Category above the grid; it is required before Next.
- Each row has one GST Rate dropdown. Inter State sets
igst_rate; Intra State setscgst_rateandsgst_rateto half each. - Changing the category re-splits every row. Totals recompute.
- On Review the Items card shows the category.
tax_categoryis saved on the document bybuild_unsaved_delivery_challan. - Rows from a predecessor DC derive their rate from the stored taxes and are read-only.
5. Files & Components Changed¶
| File / DocType / Fixture | Type | Change | Purpose |
|---|---|---|---|
| canofy_custom_eh/canofy_custom_eh/doctype/delivery_challan/delivery_challan.json | DocType | Changed | New tax_category Select (Inter State / Intra State) |
| canofy_custom_eh/public/js/dc_wizard_common.js | Shared JS | Changed |
NativeItemsGrid GST Rate column and split |
| canofy_custom_eh/canofy_custom_eh/page/delivery_challan_wizard/delivery_challan_wizard.js | Page JS | Changed | Tax Category control, validation, review card |
| canofy_custom_eh/wizard/dc_wizard.py | Python | Changed | Sets tax_category on the new document |
6. Configuration & Deployment¶
DocType change: bench --site <site> migrate. Then build assets and clear cache.
7. Testing¶
| Test | Data / Site | Expected | Actual | Status |
|---|---|---|---|---|
| Single GST Rate column, slabs, Inter and Intra split, live re-split | E2E suite, 5 Oct | TC-019 to TC-025 pass | Pass | PASS |
| Next blocked without category or rate | E2E suite, 5 Oct | TC-029 to TC-036 pass | Pass | PASS |
| Tab order HSN to GST Rate to Qty to Unit Cost | E2E suite, 5 Oct | TC-020 passes | Pass | PASS |
| Category survives Review's Edit | E2E suite, 5 Oct | TC-100 passes | Pass | PASS |
8. Known Limitations & Open Items¶
- Uncommitted (working tree of the feature branch) at the time this README was generated.
- Only the five standard slabs are offered; a non-standard rate on an existing document cannot be selected.
9. Status¶
| Item | Value |
|---|---|
| Branch | claude/delivery-challan-wizard-bcb464 |
| Commits | None yet |
| PR | None |
| Version | Not confirmed |
| Deployed to | Local dev site only |
10. References¶
- Related:
dc-wizard-items-native-grid,dc-wizard-phase-merge,dc-wizard-e2e-tests
Pushed to Redmine on 19 Oct 2026, 14:52 from dc-wizard-tax-category-gst-rate_20261016-1656.md (README created 19 Oct 2026, 14:52).
Files
No data to display