Task #19847
openClearing - Create Air Clearing File from Existing Quotation
0%
Description
A Quotation is a commercial offer prepared for a customer before the shipment/clearing service is processed.
It may contain:
- Customer details
- Shipment type: Air Import or Air Export
- Origin and destination
- Charge details
- Currency
- Estimated costs and sales
- Validity date
When the user creates an Air Clearing File from a quotation, the system should copy relevant information from the quotation into the clearing file.
User Flow¶
User clicks Create Air Clearing File
→ Clicks Use Existing Quotation
→ Quotation popup opens
→ User searches and selects quotation
→ System loads quotation data into Air Clearing screen
→ User completes missing shipment/clearing details
→ User clicks Save
→ Air Clearing File is created
UI Component¶
Button Label¶
Use Existing Quotation
This button should be available on the New Air Clearing File screen together with:
Use Existing HAWB
Use Existing MAWB
Use Existing Quotation
Quotation Selection Popup¶
Popup Title¶
List of Quotations
Search Filters¶
| Field | Type | Remarks |
|---|---|---|
| Quotation Reference | Textbox | Search by quotation number/reference |
| Customer | Searchable dropdown | Customer/company from quotation |
| Cargo Type | Dropdown | Import / Export / All |
| Origin Airport | Searchable dropdown | Air quotation origin |
| Destination Airport | Searchable dropdown | Air quotation destination |
| Airline | Searchable dropdown | If available in quotation |
| Status | Dropdown | Approved / Valid / Accepted |
| Date Range | Date range picker | Default same approach as existing quotation module |
Popup Grid Columns¶
| Column | Description |
|---|---|
| Quotation Ref | Quotation reference |
| Customer | Customer linked to quotation |
| Cargo Type | Import / Export |
| Origin Airport | Origin |
| Destination Airport | Destination |
| Airline | Airline, if available |
| Currency | Quotation currency |
| Total Sales | Quoted sales amount |
| Valid Until | Quotation expiry date |
| Status | Quotation status |
| Action | Select |
Functional Requirements¶
1 – Open Quotation Popup¶
When the user clicks Use Existing Quotation, the system must open the quotation selection popup.
2 – Filter Only Air Quotations¶
The popup must show only quotations relevant to Air Clearing with status "Confirmed".
System should exclude:
- Ocean Freight quotations
- Sea clearing quotations
- Unrelated service quotations, unless configured as applicable
3 – Search Quotation¶
The user must be able to search quotation using:
- Quotation Reference
- Customer
- Cargo Type
- Origin Airport
- Destination Airport
- Airline
- Status
- Date Range
4 – Quotation Eligibility¶
Only eligible quotations should be selectable.
Recommended eligible statuses:
- Comfirmed
Expired, cancelled, rejected, or draft quotations should either be hidden or displayed as non-selectable depending on existing system behaviour.
Suggested validation message:
This quotation cannot be used because it is not approved, accepted, or valid.
5 – Select Quotation¶
When the user selects a quotation:
- Popup closes
- Quotation reference is populated on the Clearing screen
- Commercial and available shipment information are loaded
- The clearing file remains editable before saving
Data Mapping from Quotation to Clearing File¶
A. Reference Mapping¶
| Air Clearing Field | Source from Quotation |
|---|---|
| Quotation Reference | Quotation Reference |
| Customer | Quotation Customer |
| Cargo Type | Import / Export |
| Service Type | Air Clearing / Air Import / Air Export |
B. Shipment Mapping¶
| Air Clearing Field | Source from Quotation |
|---|---|
| Origin Airport | Quotation Origin |
| Destination Airport | Quotation Destination |
| Airline | Quotation Airline, if available |
| Incoterm | Quotation Incoterm, if available |
| Commodity / Description | Quotation Commodity, if available |
| Gross Weight | Quotation Gross Weight, if available |
| Chargeable Weight | Quotation Chargeable Weight, if available |
| Number of Pieces | Quotation Pieces, if available |
C. Party Mapping¶
| Air Clearing Field | Source from Quotation |
|---|---|
| Consignee / Customer | Quotation Customer |
| Shipper | Quotation Shipper, if available |
| Notify Party | Quotation Notify Party, if available |
| Delivery Agent | Quotation Agent, if available |
D. Cost & Sales Mapping¶
Quotation charges should be copied to the Air Clearing File where applicable.
| Clearing Section | Source |
|---|---|
| Sales Charges | Quotation selling charges |
| Cost Charges | Quotation cost charges, if maintained |
| Currency | Quotation currency |
| VAT | Quotation VAT rules |
| Charge Description | Quotation charge description |
| Quantity / Unit | Quotation quantity / unit |
| Rate | Quotation rate |
| Amount | Quotation amount |
6 – Charge Copying Behaviour¶
When quotation charges are copied:
- Sales charges should be copied into the Sales section.
- Cost charges should be copied into the Costs section if available.
- Copied charges must remain editable before invoice generation.
- System must preserve original quotation reference for audit.
7 – No HAWB / MAWB Yet¶
A quotation may not yet have a HAWB or MAWB.
Therefore:
- HAWB Reference may remain blank.
- MAWB Reference may remain blank.
- User should still be allowed to create the clearing file.
- HAWB/MAWB can be linked later if required.
8 – Prevent Duplicate Clearing File from Same Quotation¶
System must validate whether a clearing file already exists for the selected quotation.
Suggested warning:
A clearing file already exists for this quotation. Do you want to continue?
The system may allow continuation after confirmation if the user allows.
9 – Save Clearing File¶
When user clicks Save Clearing File, the system must:
- Generate unique Air Clearing Reference.
- Save quotation reference link.
- Save copied shipment/customer/charge details.
- Set status to DRAFT.
- Create Activity Log entry.
10 – Activity Log Entry¶
On successful save, system must create an Activity Log entry:
<username> created Clearing File <CLEARING_REF> from Quotation <QUOTATION_REF>
11 – Missing Quotation Data¶
If quotation has missing values:
- System should still load available data.
- Missing mandatory fields must be highlighted.
Validation Rules¶
| Field | Rule |
|---|---|
| Quotation Reference | Mandatory after selecting quotation |
| Quotation Status | Must be eligible for use - Confirmed |
| Cargo Type | Must be Import or Export |
| Origin / Destination Airport | Mandatory before save |
| Customer / Consignee | Mandatory before save |
| Currency | Mandatory if charges are copied |
| Charges | Must follow existing charge validation rules |
Acceptance Criteria¶
1 – Open Quotation Popup¶
Given I am on the New Air Clearing File screen,
When I click Use Existing Quotation,
Then the system should open the List of Quotations popup.
2 – Display Air Quotations Only¶
Given the quotation popup is opened,
When records are loaded,
Then the system should display only quotations applicable to Air Clearing.
3 – Search Quotation¶
Given I enter quotation reference, customer, cargo type, or route,
When I click Search,
Then matching quotations should be displayed.
4 – Select Eligible Quotation¶
Given an eligible quotation is displayed,
When I select it,
Then the popup should close and quotation data should populate the Air Clearing screen.
5 – Block Ineligible Quotation¶
Given a quotation is cancelled, rejected, expired, or draft,
When I attempt to select it,
Then the system should prevent selection or display:
This quotation cannot be used because it is not approved, accepted, or valid.
6 – Copy Sales Charges¶
Given the selected quotation contains sales charges,
When the quotation is selected,
Then the system should copy those charges to the Air Clearing Sales section.
7 – Copy Cost Charges¶
Given the selected quotation contains cost charges,
When the quotation is selected,
Then the system should copy those charges to the Air Clearing Costs section.
8 – Allow Creation Without HAWB/MAWB¶
Given the quotation has no HAWB or MAWB,
When I save the clearing file,
Then the system should allow creation, provided mandatory clearing fields are completed.
9 – Duplicate Quotation Warning¶
Given a clearing file already exists for the selected quotation,
When I attempt to create another clearing file,
Then the system should display a warning before allowing continuation.
10 – Activity Log Created¶
Given the clearing file is successfully saved from a quotation,
When save is completed,
Then the system should record the action in the Activity Log section at the end of the clearing page.
GitLab Sync Log
[{"id": "44595", "author": "Fatimah Schaik Hossen", "hours": 3.0, "created": "2026-05-15T10:26:26.585Z", "log_date": "2026-05-15", "comment": "Imported from GitLab by @Fatimah Schaik Hossen on 2026-05-15T10:26:26.585Z: 3h-(3.0)h spend at: 2026-05-15", "status": "active", "deleted_by": "", "redmine_entry_id": 13629}]