1. Start with the tax basis.
For a tax-inclusive quote P with local tax rate r, pre-tax value is P ÷ (1 + r). Embedded tax is P − P ÷ (1 + r). A 120 price including 20% VAT contains 20 of tax, not 24. For a tax-exclusive quote, checkout cost is P × (1 + r).
2. Apply only an eligible, confirmed refund.
Refund = embedded tax × (1 − operator percentage fee) − fixed transaction fee, floored at zero. A country scheme, minimum spend and tourist status alone do not prove the particular store or purchase qualifies. Fees are charged once per modeled transaction. Shipping mode never applies a tourist refund. We use your confirmed local rate for markets where the tax rate has not been verified.
3. Convert without hiding the date.
Reference conversion = amount ÷ (buying currency per USD) × (home currency per USD). Frankfurter aggregates reference data from central banks and official sources. Each currency has its own observation date. The rates are not a card, cash, customs or refund exchange-rate quote. A custom rate can replace them. Card fees apply to gross payment; any refund conversion loss is additional.
4. Assess the import separately.
Default customs goods value is the gross paid amount before any refund. You can override it with the authority’s prescribed valuation in home currency. In shipping mode, freight and insurance are added to customs value. Duty = customs value × entered duty rate. Import VAT = (customs value + duty + entered taxable additional fees) × entered import VAT rate.
This ad valorem model does not handle specific per-unit duties, tariff-rate quotas, anti-dumping formulas, excise, preferential-origin proofs, currency rulings or product bans automatically. Add the assessed costs to other charges or consult a broker. Purchase location and manufacturing origin are different. Import rate inputs begin unverified; zero never means legally duty-free.
5. Treat an allowance as a rule, not a coupon.
The optional traveler-allowance mode exempts a whole category only when its total customs value is at or below the confirmed limit. If it is exceeded, the entire value is taxed. This matches the cited Great Britain other-goods example. It is not a universal rule for every country. Include all other purchases. Do not use this mode where the authority uses a different item allocation or excess-only method.
6. Show the resulting cost.
Scenario total = gross payment − eligible refund + card fee + freight + insurance + brokerage / other paid charges + duty + import VAT. A shelf comparison excludes all home-border costs by definition. Missing checkout tax or unconfirmed import assumptions makes a result incomplete.
7. Test the trip on the whole basket.
Potential goods savings = the same basket’s actual at-home checkout total − overseas scenario costs. Maximum extra trip budget is the positive portion of that difference. After-trip difference = potential goods savings − return travel − accommodation, transit and other trip expenses. Use one currency and destination. Assess customs, transaction fees and allowances once on the combined basket.
What causes a difference?
Our explanations identify observed local pricing, embedded tax, the dated FX conversion and entered fees. A price gap alone cannot establish that a currency is weak, a manufacturer is exploiting a market, or a tariff caused the difference. We do not invent an economic explanation from a ranking.
When prices are checked.
App prices are checked by region after 24 hours, with checks spread across the day. A failed check keeps the previous price and its date. Digital quotes older than two days are flagged. Hardware prices are reviewed separately and flagged after seven days. Exchange-rate references are checked daily; each currency keeps its observation date. Store-account eligibility and digital tax inclusion still require confirmation at checkout.