Calculate Amazon OSS: a worked example

For the OSS return you add up your net sales for the quarter by country and tax rate and calculate the tax. The example below shows this with seven invented rows from the Amazon VAT report, with France, Italy and Poland. The numbers are made up. If you do not want to calculate by hand: VAT GPT (our own product) adds up the totals by country and tax rate from the uploaded Amazon report.

Last updated: 30 October 2026

In brief

  • Group: add up the rows with UNION-OSS by country and tax rate.
  • Calculate: net total times the tax rate of the destination country gives the tax.
  • Euro: you file the OSS return in euro. Amounts in a foreign currency are converted at the ECB rate of the last day of the quarter.
  • Gross: if your report shows only gross prices, divide by 1 plus the tax rate to get the net amount.

Which rows belong in the OSS return?

In the Amazon report the column TAX_REPORTING_SCHEME shows which return a row belongs to. Rows with UNION-OSS belong in the OSS return, rows with REGULAR and the country Germany in the VAT return. The BZSt names as the tax rate that of the Member State where the goods are located at the end of the transport or dispatch to the customer. The arrival country of a transaction is in the report column ARRIVAL_COUNTRY.

For refunds and returns the report has two sets of country columns:

  • DEPARTURE_COUNTRY and ARRIVAL_COUNTRY for the current transaction
  • SALE_DEPART_COUNTRY and SALE_ARRIVAL_COUNTRY for the original sale

VAT GPT assigns each Amazon row to the country in the column TAXABLE_JURISDICTION.

What this means for you: rows with UNION-OSS go into the OSS return and German REGULAR rows into the VAT return.

What does the example look like?

Assumption: in the quarter a seller sells goods to private customers in France, Italy and Poland and once in Germany. All names and amounts are invented; only the tax rates come from the EU list.

RowCountryTAX_REPORTING_SCHEMENetTax rateTax
1FRUNION-OSS€500.0020%€100.00
2FRUNION-OSS€500.0020%€100.00
3ITUNION-OSS€250.0022%€55.00
4ITUNION-OSS€250.0022%€55.00
5PLUNION-OSS1,000.00 PLN23%230.00 PLN
6PLUNION-OSS1,000.00 PLN23%230.00 PLN
7DEREGULAR€100.0019%€19.00

The first six rows belong in the OSS return. Row 7 is a sale in Germany and belongs in the VAT return.

What this means for you: sort your report rows by scheme and country before you add anything up.

How do the OSS lines come out of that?

You group by country and tax rate:

CountryNet amountTax rateTax amount
France€1,000.0020%€200.00
Italy€500.0022%€110.00
Poland2,000.00 PLN23%460.00 PLN

The rates in the table are the standard rates of the EU list (as of July 1, 2026). Check the current rate of your destination country before every return: OSS VAT rates: EU country overview. Some goods have reduced rates.

What this means for you: group the OSS rows by country and tax rate, and check the current rate of each country before you file.

What applies to amounts in a foreign currency?

You file the OSS return in euro. Under section 16 (6) UStG the rate of the European Central Bank of the last day of the quarter applies; if there is none for that day, the rate of the next day applies. With an invented rate of 4.25 zloty per euro:

CountryNet amount in euroTax amount in euro
Poland2,000.00 PLN divided by 4.25 = €470.59460.00 PLN divided by 4.25 = €108.24

In total the example gives €1,970.59 net sales and €418.24 OSS tax. You get the real rate from the ECB.

What this means for you: convert foreign currency into euro at the ECB rate of the last day of the quarter.

What if my report shows only gross prices?

According to Amazon, without the VAT Calculation Service (VCS) the report shows the gross price of the item and you calculate the VAT yourself. Then you take the tax out of the gross price: gross price divided by 1 plus the tax rate gives the net amount, the rest is tax. This example is invented too:

CountryGross priceTax rateNet amountTax
France€120.0020%120.00 divided by 1.20 = €100.00€20.00
Italy€122.0022%122.00 divided by 1.22 = €100.00€22.00
Poland123.00 PLN23%123.00 divided by 1.23 = 100.00 PLN23.00 PLN

The OSS return takes the net amounts and the tax per country, not the gross prices.

What this means for you: take the tax out of the gross price first, because the OSS return needs net amounts and tax.

When do I calculate this in the quarter?

The Amazon report for the last month of a quarter is available on the third day of the following month. For the third quarter of 2026 (July to September) that is October 3. The BZSt requires the return and the payment by the end of the month after the quarter, here October 31. Between the report and the deadline that leaves 28 days.

What this means for you: fetch the report on the third day after the quarter and you keep 28 days before the 31 October deadline.

How does the same example look in the VAT return?

In the VAT return, row 7 appears with €100.00 net sales at 19% in field 81. The OSS sales do not appear there in field 81; you declare their tax in the OSS return and their net amount in field 45. More: VAT return from Amazon and eBay reports. For the advance return in a single worked case, see calculating your German VAT prepayment.

What this means for you: the German sale goes into box 81, while the OSS sales show only their net amount in box 45.

How VAT GPT helps

  1. Upload: You upload the Amazon report under "Einnahmen & OSS" (Income & OSS) in the block "CSV-Upload"; VAT GPT recognises UNION-OSS rows and REGULAR rows. The steps are in Upload Amazon and eBay reports to VAT GPT.
  2. Check: On the page "Einnahmen & OSS" you see the "EU Countries (OSS)" under "Länderaufschlüsselung" (breakdown by country). On the page "Steuern" (Taxes), "OSS-USt-Meldungen" (OSS VAT returns) lists each quarter with its deadline. "Überprüfen & Senden" (review and send) opens the window with the table "OSS-Umsatzsteuer nach Land" (OSS VAT by country): country, net amount, VAT rate and VAT amount, with a row "Gesamt" (total) below. If there were no OSS sales in the quarter, it says "Keine OSS-Umsätze in diesem Zeitraum." (no OSS sales in this period). With the pencil icon you change values, with "Land hinzufügen" (add country) you add a country. You check the amounts and confirm.
  3. Send: With VAT GPT Pro you send the return.

There is Free, Go (30 days free with all Pro features) and Pro. Try for free now

Not tax advice: the content does not replace individual advice.

Frequently asked questions

Are the numbers real? No, the example is invented. It only shows the way to calculate.

Do the tax rates always apply? No. The standard rate differs by country and can change. Check the rate before every return.

What about returns? They reduce the sales, see OSS return: how to report returns and negative sales.

Why is Poland shown in zloty and not in euro? The example assumes a sale in zloty so that you can see the conversion. You file the return in euro, at the ECB rate of the last day of the quarter.

Do I include the sale in Germany in the OSS return? Not in the example: row 7 carries REGULAR and belongs in the VAT return.

Can I change values in the review window? Yes, with the pencil icon. The amounts in the window come from your uploaded reports and invoices. Before sending you confirm under "Einwilligung" (consent) that you have checked all data.

Read next

Sources

More articles