Build the cost stack in layers so missing responsibility is visible
Do not hide a known charge inside an arbitrary margin percentage. Make it a named line, currency, amount and source/date where possible. That makes quote revisions explainable.
Purchase/manufacturing, treatment, labels and export packing.
Pickup, inland movement, terminal/handling, documentation, inspection/testing.
Freight and insurance only where seller-paid.
Bank/payment fees, financing and FX buffer.
Only obligations the agreed delivery term actually places on seller.
Keep the formulas simple enough to audit
Convert each cost line into one base currency using the rate actually used for planning. Sum seller-paid cost, then compare it with quoted revenue after any explicit FX/risk buffer. Quantity should be the commercial quantity, not a convenient spreadsheet denominator.
total_cost = Σ(converted seller-paid cost lines)
quote_revenue = quantity × quoted_unit_price × quote_currency_rate
buffered_revenue = quote_revenue × (1 - explicit_FX_or_risk_buffer)
profit = buffered_revenue - total_cost
margin = profit / buffered_revenue
break_even_unit_price = total_cost / quantity / quote_currency_rate / buffer_factorCost the Incoterm® and exact named place before deciding the selling price
FCA at an origin ICD, CIF at a destination port and DAP at a buyer warehouse can have very different seller-paid cost stacks. Choose/compare the delivery scenario first, then add the corresponding freight, insurance, destination and customs responsibilities. Do not reuse an FOB number under a DAP quote by simply changing the label.
| Commercial change | Costing consequence |
|---|---|
| Quantity changes | Recheck production/purchase, packing, minimum charges, freight breaks and per-unit allocation |
| Named place changes | Reprice inland/terminal/destination legs |
| Freight validity expires | Refresh the relevant quote before renewing customer validity |
| Currency changes | Snapshot new conversion and bank/hedge assumption |
| Payment terms extend | Add finance/credit exposure rather than treating it as free |
Reference FX is for planning; the quotation needs its own locked assumption
A live/reference rate is useful for comparison but does not guarantee the rate your bank/payment provider will deliver. Save the rate, date, source and buffer used in the quotation. If the buyer negotiates weeks later, refresh the model and explain the changed basis rather than silently absorbing the movement.
Worked structure: revise one assumption at a time
This scenario approach keeps price negotiation connected to an operational change. It also prevents a salesperson from promising a target price that drops the margin below break-even after freight and bank costs.
A professional quotation states the assumptions the price depends on
Keep the costing snapshot linked internally, but do not expose every confidential cost line to the buyer. The buyer-facing quotation needs a clear commercial basis; the internal model needs the evidence that explains how you reached it.
- Seller and buyer identities
- Exact product/specification/grade
- Quantity and unit
- Unit/total price and currency
- Incoterm® rule + exact named place + edition
- Payment terms
- Lead/shipment timing
- Quote validity
- Packing and material inclusions/exclusions
- Inspection/certificate assumptions where material
Worked quotation model: show exactly what changes when the term changes
Assume 10,000 units cost ₹85 each including export packing. Origin transport/handling/document services total ₹95,000. A freight quote to the destination port is USD 2,100 and insurance is USD 120. The buyer first asks for FCA origin, then asks for CIF destination.
Under FCA, the seller model should stop at the agreed FCA delivery point. Under CIF, add the sea freight and rule-required insurance while preserving the different risk-transfer point. Do not simply add a random percentage to the FCA unit price.
| Cost layer | FCA scenario | CIF scenario |
|---|---|---|
| Goods + export packing | Seller | Seller |
| Origin/inland + export handling | Seller through FCA point | Seller |
| Main sea freight | Buyer | Seller |
| Rule-required cargo insurance | No | Seller |
| Destination import duty/tax | Buyer | Buyer |
| Risk during main sea transit | Buyer after FCA delivery | Buyer after CIF onboard delivery point |
Separate markup, margin and payment-finance cost
Markup is profit divided by cost; margin is profit divided by selling price. If modeled cost is 100 and you add 20% markup, the price is 120 and the margin is about 16.7%. To achieve a 20% margin on a cost of 100, the selling price is 125 before considering tax/overhead definitions outside the transaction model.
Payment timing also has a cost. A buyer asking for 60-day open account is not economically identical to advance payment even if the invoice price stays unchanged. Add financing, credit-insurance or expected collection cost where material instead of treating time/risk as free.
| Commercial measure | Formula / effect |
|---|---|
| Markup | (price − cost) ÷ cost |
| Margin | (price − cost) ÷ price |
| Break-even | Modeled transaction cost divided by quantity/FX basis |
| Longer buyer credit | Adds working-capital and credit-risk exposure |
| Short quote validity | Can reduce freight/FX exposure when markets move quickly |
Primary references and current-source checks
Requirements, policies and platform guidance can change. Recheck these sources when the decision matters.
ICC — Incoterms® 2020 ↗