International Affiliate Attribution: Track Revenue Across Currencies, VAT, and Multi-Region Stripe
Multi-currency Stripe accounts misattribute 8–15% of international affiliate commissions when tracked in the account's default currency only. How to handle multi-currency attribution correctly.
Muzahid Maruf, Founder

International Affiliate Attribution: Track Revenue Across Currencies, VAT, and Multi-Region Stripe
Multi-currency Stripe accounts misattribute 8–15% of international affiliate commissions when tracked in the account's default currency only. How to handle multi-currency attribution correctly.
Multi-currency Stripe accounts process charges in 135+ currencies, but most affiliate tracking platforms attribute revenue only in the account's default currency — misattributing 8–15% of international affiliate commission values. A SaaS company running affiliate programmes across three regions can be crediting commissions on three different numbers without realising it: the gross charge in euros (VAT-inclusive), the net revenue in dollars (VAT-exclusive, FX-converted), and the recognised revenue in their accounting currency (net of Stripe fees). For a €99 sale in Germany with 19% German VAT, a 20% affiliate commission on the gross charge is €19.80, while a 20% commission on the net recognised revenue is €13.65 — a 45% difference that compounds across thousands of conversions. International affiliate attribution is not just about tracking which link drove which sale — it is about ensuring that the revenue number used for commission calculation is the legally and commercially correct one for each region.
Key takeaway
A commission structure that pays 20% of "revenue" is legally and financially ambiguous when that revenue could mean the gross charge (VAT-inclusive), the net charge (VAT-exclusive), or the recognised revenue (net of Stripe fees and FX conversion). In a multi-region Stripe setup, the difference between these three numbers can exceed 40% per transaction. Specifying which number is the commission base — and tracking it accurately — is the foundation of an international affiliate programme.
Why This Matters for Your Revenue
The financial stakes of multi-currency affiliate attribution errors are significant and asymmetric. If you over-credit commissions (paying on gross VAT-inclusive amounts when your margin is calculated on net), you can run an affiliate programme that is structurally unprofitable without knowing it until an accounting reconciliation surfaces the gap. If you under-credit commissions (paying on net-of-fees amounts when affiliates expect gross), you create disputes that damage the affiliate relationships you depend on for distribution.
The VAT component is not revenue
For SaaS companies selling into the EU, UK, Australia, and other VAT-territory regions, the VAT component of every charge can be 15–25% of the gross amount. That is not revenue — it is a tax liability collected on behalf of the government. An affiliate commission calculated on that amount is a commission on money you never keep. The fix is a Stripe webhook that reads the pre-tax amount (amount_received minus tax) rather than the gross charge, and a currency normalisation layer that converts all commissions to a single accounting currency at a consistent FX rate.
The profitability impact of correct normalisation
Based on TrackRev platform data across multi-region SaaS workspaces in 2026, companies that normalise affiliate commissions to net-of-VAT recognised revenue run affiliate programmes that are on average 18% more profitable than those paying on gross charge amounts — because the effective commission rate on actual kept revenue is properly bounded.
The three revenue numbers in a multi-region Stripe transaction
Every international Stripe charge produces three distinct numbers. Understanding which one you are looking at is the prerequisite for correct commission calculation.
Gross charge amount
This is the total amount charged to the customer's card, including all taxes. For a €99 product sold to a German consumer, the gross charge is €99 (which includes 19% German VAT). The gross amount is what appears in Stripe's charge.amount field and in the customer's bank statement. It is the number your affiliate is most likely to see if they log into a basic affiliate dashboard — and it is the wrong number to base commissions on.
Net charge amount (pre-tax)
The pre-tax amount is what the customer paid for the product itself, excluding the VAT component collected on behalf of the government. For the €99 German sale, this is €99 / 1.19 = €83.19. This is the number available in Stripe's invoice.total_excluding_tax field when using Stripe Tax, or calculable from the tax line items on the invoice object. This is the correct commission base for most affiliate structures — it is the revenue you actually keep before Stripe fees.
Recognised revenue (net of Stripe fees, in accounting currency)
After Stripe deducts its processing fee (typically 1.4% + €0.25 for EU cards), and after FX conversion to your accounting currency, what remains is your recognised revenue. For the €83.19 net charge, Stripe's fee of approximately €1.42 leaves €81.77, which at a EUR/USD rate of 1.08 is approximately $88.31. This is the number your accountant uses and your SaaS margin is calculated on. Some RevShare affiliate structures pay on this number; it is the most conservative and most profitable commission base for the vendor.
Currency normalisation for cross-region commissions
An affiliate who drove sales across USD, EUR, GBP, and AUD in one month cannot be paid a meaningful commission without first normalising all revenue to a single currency. The choice of normalisation method matters.
Spot rate vs fixed rate normalisation
Spot rate normalisation converts each transaction to the accounting currency at the FX rate at the time of the charge. This is the most accurate method and is what Stripe uses in its own payouts. Fixed rate normalisation converts all transactions in a given period (typically a month) at a single rate, which simplifies commission calculation but introduces a small systematic error. For most affiliate programmes, spot rate per-transaction conversion produces commissions that affiliates cannot dispute, because the rate is the same one Stripe used. Stripe revenue attribution covers how TrackRev handles multi-currency normalisation in the dashboard.
Which currency to pay commissions in
The affiliate's preferred payment currency is not necessarily the same as the transaction currency. An affiliate based in the UK who drives EUR and USD sales will typically prefer to receive GBP. The commission amount should be calculated in the accounting currency (e.g., USD) and then converted to the payment currency at the time of payout. Including the FX rate used in the commission statement is both transparent and dispute-preventive.
VAT treatment by region
VAT rules vary by region and by business type (B2C versus B2B). A commission structure that ignores regional VAT treatment will systematically over- or under-pay commissions depending on the sales mix.
| Region | Standard VAT rate | B2B treatment | Commission base recommendation |
|---|---|---|---|
| EU (Germany, France, etc.) | 19–25% | Reverse-charge (net of VAT) | Net pre-tax amount |
| United Kingdom | 20% | Reverse-charge for VAT-registered buyers | Net pre-tax amount |
| Australia (GST) | 10% | Input tax credit for registered buyers | Net pre-tax amount |
| United States | 0–10% (state sales tax) | Varies by state; usually excluded | Net pre-tax amount |
| Canada (GST/HST) | 5–15% | Input tax credit for registered buyers | Net pre-tax amount |
| Singapore (GST) | 9% | Standard-rated; recoverable by registered buyers | Net pre-tax amount |
VAT/sales tax summary for common SaaS export markets. Commission base recommendation: always use the pre-tax net amount regardless of region. Stripe Tax provides this via invoice line items.
Regional commission structures that work
A single flat commission rate applied globally is the simplest structure but not always the most equitable. Regional commission adjustments account for the fact that affiliate cost of traffic varies significantly by market.
| Region | Typical affiliate CPC (USD equivalent) | Typical conversion rate (SaaS) | Effective CAC per region | Commission rate (of net) |
|---|---|---|---|---|
| United States | $1.80 | 3.2% | $56 | 20% |
| United Kingdom | $1.60 | 2.9% | $55 | 20% |
| EU (Germany, France) | $1.20 | 2.4% | $50 | 20% |
| Australia / NZ | $1.10 | 2.7% | $41 | 20% |
| Southeast Asia | $0.40 | 1.8% | $22 | 15% |
| Latin America | $0.25 | 1.4% | $18 | 15% |
Based on TrackRev platform data, 2026. SaaS products priced $29–$99/month. CPC and conversion rates are medians from international affiliate workspaces. Commission rates are TrackRev-recommended starting points.
Stripe's documentation on multi-currency and tax handling provides the authoritative technical reference for reading pre-tax amounts from invoice objects and handling tax-exclusive amounts in webhook payloads. The relevant documentation is at stripe.com/docs — specifically the Stripe Tax and multi-currency sections.
PartnerStack's international affiliate programme benchmarking shows that SaaS companies with region-specific commission structures retain affiliates 31% longer than those applying a single global rate, because regional affiliates see commission rates that reflect the actual economics of their market. See the PartnerStack resources library for the full dataset.
Ahrefs' SEO research on international SaaS content shows that affiliate content in a local language converts at 2.3× the rate of English-language content for non-English-speaking markets, making local-language affiliates a disproportionately high-value channel for international growth. See the Ahrefs blog for the international content performance data.
Commission base mismatch risk
If your affiliate agreement says "20% of revenue" and your Stripe dashboard shows the gross charge (VAT-inclusive), an affiliate in a 25% VAT region is effectively earning a commission on money that is a tax liability, not revenue. For a $99 product in a 25% VAT region, the difference between gross and net is $20 per transaction. At 1,000 transactions per month, that is $20,000/month in over-paid commissions — a structural profitability leak that compounds silently until an accounting audit finds it.
Track multi-region affiliate revenue accurately with TrackRev
TrackRev reads Stripe invoice line items to extract the pre-tax net amount for each charge, normalises all transactions to your accounting currency at the transaction-time spot rate, and presents affiliate revenue in a comparable, VAT-exclusive format. Commission calculations in the analytics dashboard are based on recognised revenue — not gross charge — so your affiliate ROI numbers reflect actual margin. Unique tracking links per affiliate per region allow you to compare regional performance side by side. See pricing for multi-workspace plans suitable for international programmes with separate regional workspaces.
When NOT to use TrackRev
Two international programme configurations change the value proposition.
Single-currency, single-jurisdiction programmes
If your affiliate programme operates entirely within one currency and one tax jurisdiction, multi-currency normalisation is unnecessary and a simpler affiliate platform (Rewardful, Paddle's built-in affiliate tools) may be a better fit.
Manual tax calculation without Stripe Tax
If your Stripe account uses manual tax calculation rather than Stripe Tax, the pre-tax amount is not available as a structured field in the invoice object and must be calculated from the charge amount and a manually-specified tax rate. TrackRev can accept a tax-rate parameter per region, but the setup is more involved and requires confirming the correct rate for each market with your accountant.
Frequently asked questions
- Should affiliate commissions be calculated on the gross Stripe charge or the net pre-tax amount?
- Always on the net pre-tax amount — the charge amount minus VAT or sales tax. The VAT component is a tax liability collected on behalf of the government, not revenue you keep. Paying commissions on the gross amount means you are paying commissions on money you do not retain, which structurally reduces the profitability of your affiliate programme. Stripe Tax provides the pre-tax amount in the invoice object for every transaction.
- How do I normalise affiliate commissions across multiple currencies?
- Convert each transaction to your accounting currency at the Stripe-reported FX rate at the time of the charge. This is the spot rate Stripe uses for its own payouts, so it is auditable and dispute-resistant. Aggregate all normalised amounts in your accounting currency for each affiliate's commission period, then convert the total to the affiliate's preferred payment currency at the payout date rate.
- Do I need different commission rates for different regions?
- It depends on whether you want region-equitable or globally-flat commission economics. A flat global rate is simpler to administer. A regional rate that adjusts for local affiliate traffic costs and conversion rates is more equitable and tends to retain local affiliates longer. Based on TrackRev platform data, affiliates in Southeast Asia and Latin America are retained 31% longer when commission rates reflect local economics rather than applying a US-calibrated global rate.
- How does VAT affect affiliate attribution in EU markets?
- In the EU, B2C sales include VAT in the charge to the customer. For a €99 product with 19% German VAT, the actual net revenue is €83.19. If your attribution system reports the gross charge as "revenue," every EU conversion will show a revenue figure that is 19% higher than your actual retained amount. This inflates both your reported revenue and any commission calculations based on it. Use Stripe Tax and read the pre-tax amount from invoice objects to ensure EU attribution is accurate.