
Import Costing Calculator (进口成本计算器)
name: import-costing-calculator
description: Calculates the landed cost (in Malaysian Ringgit, MYR) of imported goods purchased in US Dollars, following a fixed 7-step formula widely used by Malaysian import/trading companies (purchase price → SST 5% → MYR conversion via exchange rate → forwarding charges → transport charges → total → a final scaling/commission step). Use this skill whenever the user asks to calculate import costing, landed cost, CIF-to-MYR conversion, SST on imported goods, freight forwarding cost breakdown, or wants to know "how much will this shipment cost me" / "进口成本" / "costing" / "purchase price to MYR" for goods imported into Malaysia. Trigger this for any request involving USD purchase price + SST + exchange rate + forwarding/transport charges, even if the user only gives some of the numbers and asks you to fill in the rest or explain a step.
Import Costing Calculator
A fixed-formula calculator used by Malaysian import/trading businesses to
work out the landed cost of a shipment, starting from the USD purchase
price and ending in a final MYR figure after SST, exchange-rate
conversion, forwarding charges, transport charges, and a final scaling
step.
When to use this skill
Use this skill any time the user wants to:
- Work out import costing / landed cost for goods bought in USD and sold/used in Malaysia
- Apply SST (Sales & Service Tax, default 5%) to a purchase price
- Convert a USD shipment cost to MYR at a given exchange rate
- Add forwarding (FWD) and transport (TRS) charges on top of the converted cost
- Get a final adjusted figure (e.g. an agent commission, a per-unit allocation, or
any other percentage-of-total step expressed as a "per mille" number)
This applies even if the user gives the steps in a different order, only supplies
some of the numbers, or asks "what would the final answer be if X = ...".
The 7-step formula
| Step | Name | Formula | Currency |
|---|---|---|---|
| 1 | Purchase Price | User input | USD |
| 2 | SST | Step 1 × SST% (default 5%) | USD |
| 3 | Costing in MYR | (Step 1 + Step 2) × Exchange Rate | MYR |
| 4 | FWD Charges | User input | MYR |
| 5 | TRS Charges | User input | MYR |
| 6 | Total | Step 3 + Step 4 + Step 5 | MYR |
| 7 | Final Answer | Step 6 × (input ÷ 1000) | MYR |
Important notes on Step 7
Step 7 takes a per-mille input — the user enters a whole number (e.g. 50),
and the skill divides it by 1000 to get the multiplier (50 → 0.05). This is
not a percentage typed as "5" — always ask or confirm whether the number
the user gives for step 7 is already the per-mille whole number.
Worked example (verified):
- Step 6 Total = MYR 3,507.50
- Step 7 input = 50
- Final Answer = 3,507.50 × (50 ÷ 1000) = 3,507.50 × 0.05 = MYR 175.375
Important notes on the exchange rate (Step 3)
The exchange rate must be the current/up-to-date USD→MYR rate — never
assume a fixed rate. If the user doesn't supply one:
- Ask them for today's rate, OR
- If you have live web/search access, look up the current USD/MYR rate and
tell the user you're using a live rate (state the rate and date used) —
then let them override it.
Never silently use a stale or made-up exchange rate without flagging it.
How to run the calculation
Use the bundled script for all arithmetic — do not compute by hand, to avoid
rounding mistakes.
python3 scripts/calc.py \
--purchase <USD purchase price> \
--sst-rate <SST percent, default 5> \
--fx <USD to MYR exchange rate> \
--fwd <FWD charges in MYR> \
--trs <TRS charges in MYR> \
--seven <step 7 per-mille whole number> \
--json
All flags are optional and default to 0 (sst-rate defaults to 5, fx defaults
to 4.50 as a fallback only — always try to get a real rate from the user or a
live lookup first). Omit any flag the user hasn't given a value for yet, but
tell the user clearly which steps you couldn't complete and what's missing
before presenting a final figure.
The script returns each of the 7 steps individually plus a one-line summary,
so you can show your work transparently rather than just the final number.
Output format
Always show the full step-by-step breakdown, not just the final answer
— the user relies on being able to check the working (e.g. for SST audit
purposes or as a quotation breakdown for a client). Use a format like:
1. Purchase Price (USD) : 1,000.00
2. SST 5% : 50.00
3. Costing in MYR : (1,000.00 + 50.00) × 4.50 = 4,725.00
4. FWD Charges (MYR) : 200.00
5. TRS Charges (MYR) : 150.00
6. Total (3+4+5) : 5,075.00
7. Final Answer (6 × 50‰) : 253.75
If the user is running multiple shipments/items in one request, run the
script once per item and present a small table summarizing all of them plus
a grand total.
Edge cases
- Negative or missing exchange rate: ask the user to confirm a valid
positive rate before proceeding; do not guess. - SST rate other than 5%: the user may specify a different rate (e.g. for
a different tax category) — always use what they specify, defaulting to 5%
only if unstated. - Step 7 omitted: if the user doesn't need a "final answer" scaling step,
it's fine to stop at Step 6 (Total) and present that as the landed cost —
just say clearly that Step 7 was not applied. - Multiple containers/cartons: if the user has several purchase lines
(e.g. several containers in one shipment), run steps 1–3 per line, sum them,
then apply Steps 4–7 once to the combined total — confirm this is what they
want, since some businesses split FWD/TRS per container instead.


