Quote a full container load for sea export¶
Guide information
Requirements
This tutorial requires the installation of the following applications/modules:
Freight Sale - required for freight quotations and the Select Sailing Schedule button. Check Installed Apps before starting; it may install automatically when all its dependencies are present.
Supplier-Based Pricelist - installed as a dependency of Freight Sale.
A freight quotation is a commercial commitment before Operations touches the shipment: the carrier, route and selling price you write here are what the customer signs off on, and what Operations books against once the order is confirmed. Sending a quotation with the selling price still equal to the buy rate means the shipment runs at zero gross profit without anyone noticing, because nothing in the wizard blocks it. For terms such as POL, POD, ETD and ETA, see the Freight forwarding glossary.
Running scenario: Hai Long Logistics quotes Nhat Long Footwear for an export of 2 x Container 40FT HC of footwear, route Hai Phong Port to Port of Los Angeles, carrier ONE Line, Incoterm CFR (Port of Los Angeles), Freight Prepaid. The ocean freight buy rate is USD 1,850 per container and the price agreed with the customer is USD 2,150 per container.
Before you start¶
A rate card for ONE Line, Hai Phong Port to Port of Los Angeles, Container 40FT HC exists and is still valid - see Maintain carrier rates and vessel schedules.
The quotation’s pricelist and currency are set to USD, the currency of the rate card. Applying the quote writes the rate card’s price straight into the order line without any currency conversion, so a quotation left on a VND pricelist would receive the number 1,850 as if it were VND.
You are in the Sales group so you can create and edit quotations.
When the delivery party differs from the customer, ask the administrator to enable Customer Addresses in Accounting Settings. This makes Delivery Address visible on quotations; this scenario uses Pacific Coast Forwarding Agency, Inc..
Step 1: Create the quotation and add the ocean freight line¶
The product on the order line decides which sailing-schedule wizard becomes available, so picking the wrong load type here means the FCL wizard never shows up in Step 2.
Go to and click New.
Customer: Nhat Long Footwear.
Delivery Address: Pacific Coast Forwarding Agency, Inc..
Order Lines - Product: Ocean Freight - FCL.
Quantity: 2.
On that order line, Container Type: Container 40FT HC. This supplies the container demand when you open the sailing-schedule wizard.
Other Info tab - Incoterm: [CFR] COST AND FREIGHT. The shipment created in Step 6 takes its Incoterm from here.
After you add the line:
The Select Sailing Schedule (FCL) button appears in the header - it stays hidden for any other product or load type.
Tip
Step 1 is done when:
The Select Sailing Schedule (FCL) button is visible on the header.
The order line reads Ocean Freight - FCL, quantity 2.
Step 2: Select the sailing schedule¶
The lane and container type entered here decide which rate cards the comparison table can find - a lane typed differently from the rate card (for example the wrong port) returns an empty table even when a valid rate card exists.
Click Select Sailing Schedule (FCL) and fill in:
POL: Vietnam - HPH (VN), the existing Hai Phong port location.
POD: United States - USLAX (US), the existing Los Angeles port location.
In the container table, check that one row has Container Type Container 40FT HC and Quantity 2. If it is empty, click Add a line and enter those values.
If your dialog shows standalone Container Type and Containers fields instead of a container table, enter Container 40FT HC and 2 in those fields.
Click Search. The comparison table lists every sailing found for that lane and container type:
Both sailings shown here belong to the same rate card, so they carry the same buy price; only the schedule differs.
Warning
If the table is empty, do not type a price by hand. It means no rate card matches this exact lane and container type, or the one that does has already expired - check Maintain carrier rates and vessel schedules first.
Tip
Step 2 is done when:
Both ONE Line sailings for the Hai Phong Port to Port of Los Angeles lane appear in the table.
The listed price reads USD 1,850.00 per container for each sailing.
Decide the FCL service scope¶
The wizard’s FCL Service Scope field decides whether the quote starts at the port or at the shipper’s door.
Option |
Use when |
What changes |
|---|---|---|
Port to Port |
The ocean quote starts and ends at the port; any inland trucking is sold as its own service line (for this shipment, the empty container pickup bought from Phuong Nam Transport, see Buy subcontracted services with purchase orders) |
No pickup line is added by Apply Quote |
Door to Port |
The contract covers pickup at the shipper’s warehouse inside the same freight quote |
A Pickup Location becomes required, and Apply Quote adds a trucking line at the vendor’s price (no markup) |
Select the scope agreed with the customer. Use Port to Port only when the quoted service starts and ends at the ports and inland pickup is quoted separately. If the quote does not make the covered legs clear, ask Sales/Pricing to confirm before applying it.
Step 3: Apply the quote¶
Applying the quote writes the carrier and the buy rate onto the order line - it does not write a selling price, so this step alone does not produce a number you can send to the customer.
Click Select on the sailing ONE COMMITMENT / 026W. The wizard shows the selected schedule, the FCL Service Scope (keep Port to Port) and an Additional Services section.
Untick Include Origin Local Charges and Include Destination Local Charges.
Click Apply Quote.
Note
With the two boxes ticked (the default), the wizard lists every local charge whose Port is the POL or the POD and adds one line for each, at Quantity 1, in this quotation’s currency. A standard installation already ties several local charges to Hai Phong Port and Port of Los Angeles. Hai Long bills the THC at Hai Phong Port in VND and the D/O fee at Port of Los Angeles on the shipment itself, so this USD quotation carries the ocean freight only - see Charges and Profitability. State the local charges the customer will pay (THC VND 3,200,000 per container, D/O fee USD 180) in the quotation’s notes.
Important
This is not a display error - it is what Apply Quote always does unless the customer’s pricelist has a rule based on Supplier Price with a markup (see Maintain carrier rates and vessel schedules). With the default pricelist, the ocean freight line is written at the buy price. Edit its Unit Price by hand to the price agreed with the customer before sending the quotation: 1,850.00 -> 2,150.00 USD.
Tip
Step 3 is done when:
The order has one line, Ocean Freight - FCL, Quantity 2, Vendor ONE Line.
Its Unit Price is the agreed 2,150.00 USD, not the 1,850.00 USD buy rate the wizard wrote.
Step 4: Check margin before sending¶
Sending a quotation with the selling price still equal to the buy rate means the shipment breaks even before a single cost is added on the operations side - nothing in the wizard warns you, so this check has to be done by hand, line by line.
Compare the Unit Price against the buy rate. The local charges are checked on the shipment once they are recorded there, in Charges and Profitability.
Charge line |
Buy rate |
Sell price on this quotation |
Quantity |
|---|---|---|---|
Ocean Freight - FCL |
USD 1,850 / container |
USD 2,150 / container |
2 |
Tip
Step 4 is done when:
The sell price, USD 2,150 per container, is higher than the buy rate, USD 1,850.
Ocean Freight total revenue (2 x USD 2,150 = USD 4,300) is higher than total cost (2 x USD 1,850 = USD 3,700), a margin of USD 600 on the shipment’s ocean freight.
Step 5: Send the quotation¶
Click Send by Email or Print to deliver the quotation, following the standard Odoo Sales flow.
Tip
Step 5 is done when: the customer has received a quotation whose prices match what was checked in Step 4 - not the buy-rate figures from Step 3.
Step 6: Confirm when the customer agrees¶
Confirming is the handover point from commercial to operations: it turns the quotation into a binding order and creates the shipment Operations will book against, so confirm only once the customer has actually agreed to the price sent in Step 5.
Click Confirm.
After you click Confirm:
The order moves to Sales Order.
A shipment is created automatically and linked to the order, ready for Operations to continue in Book carrier space for a shipment leg.
Tip
Step 6 is done when:
The Shipments smart button on the order reads 1.
The new shipment shows the route Hai Phong Port to Port of Los Angeles and 2 x Container 40FT HC.
See also
Book carrier space for a shipment leg - Operations books the carrier space for the shipment this order created.
Known limitations¶
Step |
What Viindoo does today |
What you do instead |
|---|---|---|
Apply Quote (Step 3) |
The ocean freight line is written at the buy price unless the customer’s pricelist has a rule based on Supplier Price with a markup |
Edit the Unit Price by hand to the price agreed with the customer before sending |
Apply Quote (Step 3), local charges |
With the local charge boxes ticked, every local charge tied to the POL or the POD is added, in the quotation’s currency, at the carrier’s vendor price or the product’s Sales Price, never with a markup; there is no way to pick only some of them |
Untick the boxes and record local charges on the shipment, or delete the unwanted lines right after applying the quote and correct the prices of the others |
Apply Quote (Step 3), currency |
The rate card’s price is written onto the order line without converting currency, even if the quotation’s pricelist uses a different currency |
Keep the quotation on a USD pricelist before opening the wizard - see Before you start |
Select Sailing Schedule (Step 2) |
If one carrier has more than one valid rate card with overlapping dates on the same lane, the comparison table shows the sailings of only one of them |
Keep one valid rate card per carrier, lane and container type; if a sailing seems missing, check the Vessel Schedules tab of each rate card |
Apply Quote (Step 3), local charge quantity |
A local charge line is always added with Quantity 1, regardless of the number of containers on the quotation |
Correct the Quantity by hand for every local charge billed per container, such as THC |
Troubleshooting¶
No sailing appears in the comparison table¶
Symptom: After clicking Search in the Select Sailing Schedule wizard, the table stays empty.
Cause: No rate card exists for this exact lane, container type and validity period, or an existing rate card has already expired.
Fix:
Do not type a price by hand.
Open Maintain carrier rates and vessel schedules and check the lane, container type and validity dates on the rate card.
If none matches, ask the carrier or Pricing for an updated rate card before quoting the customer.
The selling price on the printed quotation looks off by a large factor¶
Symptom: The amount on the quotation sent to the customer reads far too high or far too low, often by a factor in the thousands.
Cause: The quotation’s currency differs from the rate card’s currency (see Known limitations) - Apply Quote does not convert between them.
Fix:
Check the Pricelist on the order header before applying the quote - its currency is the quotation’s currency.
If the quote was already applied in the wrong currency, delete the lines the wizard added, set a USD Pricelist on the quotation, then reopen Select Sailing Schedule (FCL) and apply again.
See also
Related articles
Optional modules