---
type: redmine-readme
project: Endress + Hauser
subject: Manual E-Way Bill entry in the wizard
story_key: dc-wizard-manual-eway-bill
generated_at: 2026-10-16T16:56:59+05:30
story_type: feature
---

# Manual E-Way Bill entry in the wizard

> Users can enter an E-Way Bill number generated outside the system, as an alternative to the GSP flow.

## 1. Summary
The wizard's E-Way Bill step only offered the automated save, validate and generate flow. The `eway_bill_number` and `eway_bill_attachment` fields were already plain editable fields on the Delivery Challan, so this feature adds an always-visible card, "Already Have an E-Way Bill Number?", to the step. Saving it sets those two fields and moves the wizard to Dispatch or Receipt. No E-Way Bill Request is created. Committed in `9c93020`.

## 2. Requirement
| # | Requirement | Source | Status |
|---|---|---|---|
| R1 | Handle manual E-Way Bill generation through the wizard | User, 15 Sep | Done |
| R2 | Manual entry is always available next to the GSP flow | User choice, 15 Sep | Done |
| R3 | Attachment is optional | User choice, 15 Sep | Done |

## 3. Decisions
| Decision | Options considered | Why this one | Date |
|---|---|---|---|
| Manual entry is an always-available alternative | Show it only after a GSP failure | User chose the always-available option | 2026-09-15 |
| E-Way Bill PDF attachment is optional | Required | User chose optional | 2026-09-15 |
| No E-Way Bill Request is created and `eway_bill_document` stays unset | Create a request record | The two fields are already plain fields; routing only checks `eway_bill_number` | 2026-09-15 |

## 4. Logic & Workflow
1. On the E-Way Bill step the user types the number (and optionally attaches the PDF) and presses Save.
2. The client blocks an empty value. `save_manual_eway_bill` strips spaces, rejects non-digits (same rule as E-Way Bill Request) and sets the fields.
3. The wizard re-reads the document and advances to Dispatch or Receipt.

## 5. Files & Components Changed
| File / DocType / Fixture | Type | Change | Purpose |
|---|---|---|---|
| canofy_custom_eh/api/delivery_challan_wizard.py | Python API | Changed | `save_manual_eway_bill(dc_name, eway_bill_number, eway_bill_attachment=None)` |
| canofy_custom_eh/canofy_custom_eh/page/delivery_challan_wizard/delivery_challan_wizard.js | Page JS | Changed | Manual entry card on the E-Way Bill step |

## 6. Configuration & Deployment
No settings. Build assets and clear cache.

## 7. Testing
| Test | Data / Site | Expected | Actual | Status |
|---|---|---|---|---|
| Empty blocked, non-digits rejected, valid entry persists and advances | frappe.local, Playwright, 15 Sep | As described | Confirmed | PASS |
| Manual E-Way Bill in the full lifecycle | E2E suite, 5 Oct | TC-072 passes | Pass | PASS |

## 8. Known Limitations & Open Items
- There is no check that a manually entered number exists on the GST portal.

## 9. Status
| Item | Value |
|---|---|
| Branch | claude/delivery-challan-wizard-bcb464 |
| Commits | `9c93020` (16 Sep 2026) |
| PR | Not confirmed |
| Version | Not confirmed |
| Deployed to | Local dev site only |

## 10. References
- Related: `dc-wizard-guided-flow`
