Four tabs: Tax classes, Tax rates, Shipping classes and Shipping zones.
Tax
- A tax class holds rates. Exactly one class is the default; with no default class, no tax is charged at all. A product uses its own tax class, else the default.
- A rate has a name, a country, state, postcode and city pattern (
*matches everything; on Farsi installs these fields are hidden and every rate is country-wide), a percentage, a Priority, Compound and Also apply this rate to shipping. - For each destination, one rate per priority applies (the first that matches); rates at different priorities add. A compound rate adds on top of earlier compound taxes only. Shipping is taxed once, by the default class's rates that have the shipping switch.
- Tax is always added on top of prices: there is no tax-inclusive option. With no address entered, tax shows 0.
- A tax class in use by products cannot be deleted, and neither can the default class.
Shipping classes
A shipping class groups products that cost the same to ship, used by flat-rate methods. It cannot be deleted while products use it.
Zones and methods
A zone is a set of regions: countries, postcodes or provinces (Iran: all of Iran or chosen provinces). A zone with no regions matches everywhere not covered by another. The most specific zone wins: state or postcode, then country, then catch-all. The page cannot reorder zones or methods.
Method types: Flat rate (a base cost plus per-class costs, each applied once per order), Free shipping (optionally above a minimum, measured after the coupon), Local pickup (no cost) and Cash on delivery (the buyer pays the carrier; nothing is added to the total).
What the buyer sees
The checkout lists the zone's methods and honours the buyer's choice; the default is a free method that qualifies, else the first by order then name. If the zone has methods but none apply, the order is refused with "Shipping to this address is only offered on orders above a minimum amount." If no zone matches the destination, shipping is free and the order is not refused, so keep one broad catch-all zone.