Task #18992
closedTask #19240: Sprint Planning for 06/01/2026 - 16/01/2026
Charges Maintenance - Clone Existing Charge
Description
Add a “Clone Charge” functionality in the Manage Charge screen to allow users to duplicate an existing charge setup and modify only key details instead of re-entering all fields.
At present, users must manually re-create the same charge for each shipment category (Ocean Import / Ocean Export / Air Import / Air Export). This is time-consuming.
Proposed Enhancement
A “Clone” (copy) icon/button will be added next to each charge in the Manage Charge list screen.
When clicked, the system will:
- Open the Update Charge screen in “Clone Mode.”
- Pre-fill all fields from the selected charge (Description, VAT, Amount, Currency, Account Mappings, etc.).
- Require the user to:
- Enter a new Code (mandatory field).
- Re-select Cargo Type (Import / Export).
- Re-select Shipment Channel (Air / Sea).
- Add a description at the start in the Charge popup as below:
-
Clone Charge – SFEAGF
The form is prefilled from charge SFEAGF. Enter a new Code and re‑select Cargo Type & Shipment Channel.
-
Note, here SFEAGF is the Charge Code of the cloned charge.
-
- Allow the user to review and modify other fields if needed before saving.
Acceptance Criteria
| # | Criteria | Expected Result |
|---|---|---|
| 1 | A “Clone” icon is available in the Manage Charge list next to Edit/Delete icons. | User can click it to duplicate an existing charge. |
| 2 | When “Clone” is clicked, the system opens the Update Charge form in “Clone Mode”. | All fields are pre-populated from the selected charge except Code, Cargo Type, and Shipment Channel. |
| 3 | The Code, Cargo Type, and Shipment Channel fields must be mandatory to fill before saving. | Validation message if left blank. |
| 4 | User can modify any prefilled values (Description, Currency, Amount, VAT, etc.) before saving. | Editable as in normal creation mode. |
| 5 | Clicking Save/Update will create a new charge record with a unique code. | Existing charge remains unchanged. |
| 6 | If the user clicks Cancel, the cloning process is aborted with no new record created. | User is returned to Manage Charge screen. |
| 7 | Audit log (if applicable) should capture cloned-from reference. | e.g., “Cloned from SFEAGF.” |
GitLab Sync Log
[{"id": "36494", "author": "Gilles Mahomudally", "hours": 5.0, "created": "2026-01-06T09:31:42.034Z", "log_date": "2026-01-05", "comment": "Imported from GitLab by @Gilles Mahomudally on 2026-01-06T09:31:42.034Z: 5h-(5.0)h spend at: 2026-01-05", "status": "active", "deleted_by": "", "redmine_entry_id": 11883}, {"id": "36507", "author": "Gilles Mahomudally", "hours": 5.5, "created": "2026-01-07T06:14:08.457Z", "log_date": "2026-01-06", "comment": "Imported from GitLab by @Gilles Mahomudally on 2026-01-07T06:14:08.457Z: 5h 30m-(5.5)h spend at: 2026-01-06", "status": "active", "deleted_by": "", "redmine_entry_id": 11886}, {"id": "36548", "author": "Gilles Mahomudally", "hours": 7.0, "created": "2026-01-08T05:59:33.686Z", "log_date": "2026-01-07", "comment": "Imported from GitLab by @Gilles Mahomudally on 2026-01-08T05:59:33.686Z: 7h-(7.0)h spend at: 2026-01-07", "status": "active", "deleted_by": "", "redmine_entry_id": 11899}]