Seller Profit Guard

How to calculate Shopify multi-currency margin

Last updated: 2026-08-09

Written and reviewed by Seller Profit Guard Editorial Team.

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate.

multi-currency input ledger from currency roles and rate directions through local price, settlement, costs, contribution, decision, and restoration
Original multi-currency input ledger diagram using invented values and no customer or transaction records.

Dimension every exchange-rate field

Write pricing rate as presentment units per one store-currency unit and settlement rate as store-currency units per one presentment unit. The unit labels are part of the input contract, not optional prose.

Before calculating, multiply an invented one-unit example by each rate and state the expected currency. A reciprocal-rate error must Block the packet even when the resulting number looks commercially plausible.

Apply the current gross-order fee contract

For capture dates on or after April 6, 2026, this calculator applies the seller-entered Shopify Payments conversion-fee percentage to gross captured revenue in store currency.

Record the capture date, source-review date, pricing method, and fee version together. Historical transactions need a separate versioned contract instead of silently reusing current arithmetic.

Choose one order grain

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate. Use dimensioned currency units and dated events; never let an unlabeled rate enter the formula. Checkpoint 1 in the multi-currency input ledger records amount, currency, rate direction, transaction event, source date, owner, and accepted version before any output is interpreted.

For choose one order grain, keep store, presentment, and payout currencies; base and local price; pricing and settlement rates; adjustment; rounding; payment and conversion fee; product and fulfillment cost; duty responsibility; refund exposure; market configuration; transaction date; owner; reviewer; and restoration evidence as distinct fields.

Declare the currency trio

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate. Use dimensioned currency units and dated events; never let an unlabeled rate enter the formula. Checkpoint 2 in the multi-currency input ledger records amount, currency, rate direction, transaction event, source date, owner, and accepted version before any output is interpreted.

For declare the currency trio, keep store, presentment, and payout currencies; base and local price; pricing and settlement rates; adjustment; rounding; payment and conversion fee; product and fulfillment cost; duty responsibility; refund exposure; market configuration; transaction date; owner; reviewer; and restoration evidence as distinct fields.

Define rate directions

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate. Use dimensioned currency units and dated events; never let an unlabeled rate enter the formula. Checkpoint 3 in the multi-currency input ledger records amount, currency, rate direction, transaction event, source date, owner, and accepted version before any output is interpreted.

For define rate directions, keep store, presentment, and payout currencies; base and local price; pricing and settlement rates; adjustment; rounding; payment and conversion fee; product and fulfillment cost; duty responsibility; refund exposure; market configuration; transaction date; owner; reviewer; and restoration evidence as distinct fields.

multi-currency input ledger: define rate directions
Original explanatory diagram for define rate directions without customer, order, payment, payout, bank, customs, or tax data.

Build the local price

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate. Use dimensioned currency units and dated events; never let an unlabeled rate enter the formula. Checkpoint 4 in the multi-currency input ledger records amount, currency, rate direction, transaction event, source date, owner, and accepted version before any output is interpreted.

For build the local price, keep store, presentment, and payout currencies; base and local price; pricing and settlement rates; adjustment; rounding; payment and conversion fee; product and fulfillment cost; duty responsibility; refund exposure; market configuration; transaction date; owner; reviewer; and restoration evidence as distinct fields.

Apply market rounding

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate. Use dimensioned currency units and dated events; never let an unlabeled rate enter the formula. Checkpoint 5 in the multi-currency input ledger records amount, currency, rate direction, transaction event, source date, owner, and accepted version before any output is interpreted.

For apply market rounding, keep store, presentment, and payout currencies; base and local price; pricing and settlement rates; adjustment; rounding; payment and conversion fee; product and fulfillment cost; duty responsibility; refund exposure; market configuration; transaction date; owner; reviewer; and restoration evidence as distinct fields.

Translate captured revenue

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate. Use dimensioned currency units and dated events; never let an unlabeled rate enter the formula. Checkpoint 6 in the multi-currency input ledger records amount, currency, rate direction, transaction event, source date, owner, and accepted version before any output is interpreted.

For translate captured revenue, keep store, presentment, and payout currencies; base and local price; pricing and settlement rates; adjustment; rounding; payment and conversion fee; product and fulfillment cost; duty responsibility; refund exposure; market configuration; transaction date; owner; reviewer; and restoration evidence as distinct fields.

Apply current conversion fees

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate. Use dimensioned currency units and dated events; never let an unlabeled rate enter the formula. Checkpoint 7 in the multi-currency input ledger records amount, currency, rate direction, transaction event, source date, owner, and accepted version before any output is interpreted.

For apply current conversion fees, keep store, presentment, and payout currencies; base and local price; pricing and settlement rates; adjustment; rounding; payment and conversion fee; product and fulfillment cost; duty responsibility; refund exposure; market configuration; transaction date; owner; reviewer; and restoration evidence as distinct fields.

Attach seller costs

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate. Use dimensioned currency units and dated events; never let an unlabeled rate enter the formula. Checkpoint 8 in the multi-currency input ledger records amount, currency, rate direction, transaction event, source date, owner, and accepted version before any output is interpreted.

For attach seller costs, keep store, presentment, and payout currencies; base and local price; pricing and settlement rates; adjustment; rounding; payment and conversion fee; product and fulfillment cost; duty responsibility; refund exposure; market configuration; transaction date; owner; reviewer; and restoration evidence as distinct fields.

Separate duties and taxes

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate. Use dimensioned currency units and dated events; never let an unlabeled rate enter the formula. Checkpoint 9 in the multi-currency input ledger records amount, currency, rate direction, transaction event, source date, owner, and accepted version before any output is interpreted.

For separate duties and taxes, keep store, presentment, and payout currencies; base and local price; pricing and settlement rates; adjustment; rounding; payment and conversion fee; product and fulfillment cost; duty responsibility; refund exposure; market configuration; transaction date; owner; reviewer; and restoration evidence as distinct fields.

Version the evidence packet

Shopify multi-currency margin equals captured customer revenue translated to the declared store currency minus translated payment cost, current-method currency-conversion fee, product cost, fulfillment, seller-absorbed duties, refund reserve, and other attributable variable cost. Keep customer pricing and capture-time settlement rates strictly separate. Use dimensioned currency units and dated events; never let an unlabeled rate enter the formula. Checkpoint 10 in the multi-currency input ledger records amount, currency, rate direction, transaction event, source date, owner, and accepted version before any output is interpreted.

For version the evidence packet, keep store, presentment, and payout currencies; base and local price; pricing and settlement rates; adjustment; rounding; payment and conversion fee; product and fulfillment cost; duty responsibility; refund exposure; market configuration; transaction date; owner; reviewer; and restoration evidence as distinct fields.

Choose one order grain: verification test 1

Create a synthetic counterexample for choose one order grain. Change one field only, retain the prior packet, and show local price, translated gross, payment cost, conversion fee, seller cost, contribution, margin, and Block, Review, or Ready state.

Then reconcile the counterexample against current Markets, price breakdown, capture, payout, fee-method, cost, incoterm, duty, refund, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any customer, order, payment, payout, bank, customs, or tax record.

Declare the currency trio: verification test 2

Create a synthetic counterexample for declare the currency trio. Change one field only, retain the prior packet, and show local price, translated gross, payment cost, conversion fee, seller cost, contribution, margin, and Block, Review, or Ready state.

Then reconcile the counterexample against current Markets, price breakdown, capture, payout, fee-method, cost, incoterm, duty, refund, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any customer, order, payment, payout, bank, customs, or tax record.

Define rate directions: verification test 3

Create a synthetic counterexample for define rate directions. Change one field only, retain the prior packet, and show local price, translated gross, payment cost, conversion fee, seller cost, contribution, margin, and Block, Review, or Ready state.

Then reconcile the counterexample against current Markets, price breakdown, capture, payout, fee-method, cost, incoterm, duty, refund, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any customer, order, payment, payout, bank, customs, or tax record.

multi-currency input ledger: define rate directions: verification test 3
Original explanatory diagram for define rate directions: verification test 3 without customer, order, payment, payout, bank, customs, or tax data.

Build the local price: verification test 4

Create a synthetic counterexample for build the local price. Change one field only, retain the prior packet, and show local price, translated gross, payment cost, conversion fee, seller cost, contribution, margin, and Block, Review, or Ready state.

Then reconcile the counterexample against current Markets, price breakdown, capture, payout, fee-method, cost, incoterm, duty, refund, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any customer, order, payment, payout, bank, customs, or tax record.

Apply market rounding: verification test 5

Create a synthetic counterexample for apply market rounding. Change one field only, retain the prior packet, and show local price, translated gross, payment cost, conversion fee, seller cost, contribution, margin, and Block, Review, or Ready state.

Then reconcile the counterexample against current Markets, price breakdown, capture, payout, fee-method, cost, incoterm, duty, refund, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any customer, order, payment, payout, bank, customs, or tax record.

Translate captured revenue: verification test 6

Create a synthetic counterexample for translate captured revenue. Change one field only, retain the prior packet, and show local price, translated gross, payment cost, conversion fee, seller cost, contribution, margin, and Block, Review, or Ready state.

Then reconcile the counterexample against current Markets, price breakdown, capture, payout, fee-method, cost, incoterm, duty, refund, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any customer, order, payment, payout, bank, customs, or tax record.

Apply current conversion fees: verification test 7

Create a synthetic counterexample for apply current conversion fees. Change one field only, retain the prior packet, and show local price, translated gross, payment cost, conversion fee, seller cost, contribution, margin, and Block, Review, or Ready state.

Then reconcile the counterexample against current Markets, price breakdown, capture, payout, fee-method, cost, incoterm, duty, refund, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any customer, order, payment, payout, bank, customs, or tax record.

Attach seller costs: verification test 8

Create a synthetic counterexample for attach seller costs. Change one field only, retain the prior packet, and show local price, translated gross, payment cost, conversion fee, seller cost, contribution, margin, and Block, Review, or Ready state.

Then reconcile the counterexample against current Markets, price breakdown, capture, payout, fee-method, cost, incoterm, duty, refund, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any customer, order, payment, payout, bank, customs, or tax record.

Separate duties and taxes: verification test 9

Create a synthetic counterexample for separate duties and taxes. Change one field only, retain the prior packet, and show local price, translated gross, payment cost, conversion fee, seller cost, contribution, margin, and Block, Review, or Ready state.

Then reconcile the counterexample against current Markets, price breakdown, capture, payout, fee-method, cost, incoterm, duty, refund, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any customer, order, payment, payout, bank, customs, or tax record.

Version the evidence packet: verification test 10

Create a synthetic counterexample for version the evidence packet. Change one field only, retain the prior packet, and show local price, translated gross, payment cost, conversion fee, seller cost, contribution, margin, and Block, Review, or Ready state.

Then reconcile the counterexample against current Markets, price breakdown, capture, payout, fee-method, cost, incoterm, duty, refund, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any customer, order, payment, payout, bank, customs, or tax record.

Shopify Multi-Currency Margin Formula and Inputs: evidence exercise 1

Reperform choose one order grain using the invented USD 100 base price, EUR presentment packet, 0.92 EUR-per-USD pricing rate, 2% adjustment, EUR 0.01 rounding, and the declared stable or adverse USD-per-EUR settlement rate.

Stress pricing rate, adjustment, rounding, capture rate, payment fee, conversion fee, product cost, fulfillment, absorbed duty, refund reserve, margin target, market evidence, owner, conflict, or restoration one at a time. Exact cents do not turn an estimate into a live payout, tax result, duty recovery, or hedge.

Shopify Multi-Currency Margin Formula and Inputs: evidence exercise 2

Reperform declare the currency trio using the invented USD 100 base price, EUR presentment packet, 0.92 EUR-per-USD pricing rate, 2% adjustment, EUR 0.01 rounding, and the declared stable or adverse USD-per-EUR settlement rate.

Stress pricing rate, adjustment, rounding, capture rate, payment fee, conversion fee, product cost, fulfillment, absorbed duty, refund reserve, margin target, market evidence, owner, conflict, or restoration one at a time. Exact cents do not turn an estimate into a live payout, tax result, duty recovery, or hedge.

Shopify Multi-Currency Margin Formula and Inputs: evidence exercise 3

Reperform define rate directions using the invented USD 100 base price, EUR presentment packet, 0.92 EUR-per-USD pricing rate, 2% adjustment, EUR 0.01 rounding, and the declared stable or adverse USD-per-EUR settlement rate.

Stress pricing rate, adjustment, rounding, capture rate, payment fee, conversion fee, product cost, fulfillment, absorbed duty, refund reserve, margin target, market evidence, owner, conflict, or restoration one at a time. Exact cents do not turn an estimate into a live payout, tax result, duty recovery, or hedge.

multi-currency input ledger: shopify multi-currency margin formula and inputs: evidence exercise 3
Original explanatory diagram for shopify multi-currency margin formula and inputs: evidence exercise 3 without customer, order, payment, payout, bank, customs, or tax data.

Shopify Multi-Currency Margin Formula and Inputs: evidence exercise 4

Reperform build the local price using the invented USD 100 base price, EUR presentment packet, 0.92 EUR-per-USD pricing rate, 2% adjustment, EUR 0.01 rounding, and the declared stable or adverse USD-per-EUR settlement rate.

Stress pricing rate, adjustment, rounding, capture rate, payment fee, conversion fee, product cost, fulfillment, absorbed duty, refund reserve, margin target, market evidence, owner, conflict, or restoration one at a time. Exact cents do not turn an estimate into a live payout, tax result, duty recovery, or hedge.

Shopify Multi-Currency Margin Formula and Inputs: evidence exercise 5

Reperform apply market rounding using the invented USD 100 base price, EUR presentment packet, 0.92 EUR-per-USD pricing rate, 2% adjustment, EUR 0.01 rounding, and the declared stable or adverse USD-per-EUR settlement rate.

Stress pricing rate, adjustment, rounding, capture rate, payment fee, conversion fee, product cost, fulfillment, absorbed duty, refund reserve, margin target, market evidence, owner, conflict, or restoration one at a time. Exact cents do not turn an estimate into a live payout, tax result, duty recovery, or hedge.

Shopify Multi-Currency Margin Formula and Inputs: evidence exercise 6

Reperform translate captured revenue using the invented USD 100 base price, EUR presentment packet, 0.92 EUR-per-USD pricing rate, 2% adjustment, EUR 0.01 rounding, and the declared stable or adverse USD-per-EUR settlement rate.

Stress pricing rate, adjustment, rounding, capture rate, payment fee, conversion fee, product cost, fulfillment, absorbed duty, refund reserve, margin target, market evidence, owner, conflict, or restoration one at a time. Exact cents do not turn an estimate into a live payout, tax result, duty recovery, or hedge.

Shopify Multi-Currency Margin Formula and Inputs: evidence exercise 7

Reperform apply current conversion fees using the invented USD 100 base price, EUR presentment packet, 0.92 EUR-per-USD pricing rate, 2% adjustment, EUR 0.01 rounding, and the declared stable or adverse USD-per-EUR settlement rate.

Stress pricing rate, adjustment, rounding, capture rate, payment fee, conversion fee, product cost, fulfillment, absorbed duty, refund reserve, margin target, market evidence, owner, conflict, or restoration one at a time. Exact cents do not turn an estimate into a live payout, tax result, duty recovery, or hedge.

Shopify Multi-Currency Margin Formula and Inputs: evidence exercise 8

Reperform attach seller costs using the invented USD 100 base price, EUR presentment packet, 0.92 EUR-per-USD pricing rate, 2% adjustment, EUR 0.01 rounding, and the declared stable or adverse USD-per-EUR settlement rate.

Stress pricing rate, adjustment, rounding, capture rate, payment fee, conversion fee, product cost, fulfillment, absorbed duty, refund reserve, margin target, market evidence, owner, conflict, or restoration one at a time. Exact cents do not turn an estimate into a live payout, tax result, duty recovery, or hedge.

Shopify Multi-Currency Margin Formula and Inputs: evidence exercise 9

Reperform separate duties and taxes using the invented USD 100 base price, EUR presentment packet, 0.92 EUR-per-USD pricing rate, 2% adjustment, EUR 0.01 rounding, and the declared stable or adverse USD-per-EUR settlement rate.

Stress pricing rate, adjustment, rounding, capture rate, payment fee, conversion fee, product cost, fulfillment, absorbed duty, refund reserve, margin target, market evidence, owner, conflict, or restoration one at a time. Exact cents do not turn an estimate into a live payout, tax result, duty recovery, or hedge.

Shopify Multi-Currency Margin Formula and Inputs: evidence exercise 10

Reperform version the evidence packet using the invented USD 100 base price, EUR presentment packet, 0.92 EUR-per-USD pricing rate, 2% adjustment, EUR 0.01 rounding, and the declared stable or adverse USD-per-EUR settlement rate.

Stress pricing rate, adjustment, rounding, capture rate, payment fee, conversion fee, product cost, fulfillment, absorbed duty, refund reserve, margin target, market evidence, owner, conflict, or restoration one at a time. Exact cents do not turn an estimate into a live payout, tax result, duty recovery, or hedge.

Sources and further reading

Related Seller Profit Guard tools

Next step: Open Seller Profit Guard.

This is operational planning help, not tax, accounting, legal, financial, or platform-policy advice. Review the Terms and disclaimer, and verify current platform rules and fee assumptions before changing prices.