Glossary

Stripe Tax Filing Currency

The Stripe Tax filing currency is the tax authority's local currency, such as EUR, GBP or NOK, in which Stripe Tax restates each taxed line so that the filing columns of its exports can be compared with a tax return.

Also called: filing_currency, filing_exchange_rate, Stripe Tax filing amounts, integration currency vs filing currency

14-day free trial · card required · cancel anytime

Definition

Stripe records every tax calculation in the integration currency, which is the currency you price in. When you use Prices, Stripe says the integration currency is the currency of the Price object. That can differ from three others: the presentment currency your customer pays in, the settlement currency of your bank account, and the local currency of the tax authority you file with. That last one is the filing currency.

When the integration currency and the filing currency differ, Stripe says it "converts amounts using available exchange rates at the time of the transaction to calculate the filing currency." The tax exports then carry both versions side by side: the plain amount columns in the currency you priced in, and the filing columns in the currency the authority expects.

For a US business the filing currency starts to matter as soon as it registers somewhere outside the United States. A sale priced in US dollars to a consumer in Norway sits in the itemized export twice, once in USD and once in NOK, and the NOK figure is fixed at a rate from the moment of that sale.

Key points

  • +filing_currency is the three-letter code of the tax authority's local currency, such as eur, gbp or nok.
  • +Stripe converts at an exchange rate from the time of each transaction, not at the end of the period.
  • +The itemized export shows the rate used in filing_exchange_rate. The summarized export has filing totals but no rate column.
  • +Filing columns may be empty for not_supported, not_subject_to_tax and not_collecting rows.
  • +Some tax authorities require a different rate or a different date for the return than the one Stripe used.
  • +A US QuickBooks company still carries the tax in dollars, so paying the authority in its own currency leaves a difference.

Four currencies on one Stripe sale

Take a US shop that prices its products in US dollars, settles to a US dollar bank account, and is registered for VAT in Norway. On a sale to a customer in Oslo, the integration currency is USD because that is the currency of the Price. The settlement currency is USD. The filing currency is NOK, because that is what the Norwegian Tax Administration collects. If the customer pays in NOK, NOK is also the presentment currency.

Stripe Tax calculates in the integration currency first. The tax_amount on that sale is a dollar figure. The filing_tax_amount is the same tax restated in kroner, and filing_exchange_rate is the rate Stripe used to get from one to the other.

If you price in the filing currency instead, for example by selling to Norway from a NOK price, Stripe's conversion condition is not met and the two sets of columns describe the same currency. That is the simplest way to make the export and the return speak the same language.

Which columns carry it, and when they are blank

The itemized export has five filing columns: filing_currency, filing_exchange_rate, filing_tax_amount, filing_taxable_amount and filing_non_taxable_amount. Stripe defines filing_exchange_rate as the rate used to convert the currency column to the tax authority's local filing currency, so each filing amount is the plain amount on the same row converted at that rate.

The summarized export has filing_currency and a filing version of each total: filing_total_sales, filing_total_taxable_sales, filing_total_nontaxable_sales, filing_total_tax_collected, filing_total_sales_refunded, filing_total_tax_refunded, filing_total_taxable_refunded and filing_tax_payable. It has no exchange rate column. Each row adds up transactions that may each have been converted at a different rate, so to see the rates you need the itemized export.

The blanks follow the taxability reason. Stripe says filing_currency may be empty for not_supported, not_subject_to_tax and not_collecting rows, that filing_exchange_rate is not guaranteed to be set for those rows, and that the filing amounts are empty whenever filing_currency is empty. A sum of filing_tax_amount is unaffected, since those rows carry no tax. A sum of filing_taxable_amount or filing_non_taxable_amount will leave them out, so total sales built from the filing columns can come in lower than the same total built from the plain columns.

When the tax authority wants a different rate

Stripe's rate is a rate from the time of each sale. Tax authorities write their own conversion rules for returns, and they do not all agree with that.

The European Commission's One Stop Shop guidance says the return "should be made out in euro" in general, and that "if the supplies have been made in other currencies, the taxable person or his intermediary shall, for the purposes of completing the VAT return, use the exchange rate as published by the European Central Bank on the last date of the tax period." For a business that prices in US dollars, that is one rate per quarter, not one per sale, so the euro figures in Stripe's filing columns are not the figures that rule asks for.

Norway and New Zealand give a choice. The Norwegian Tax Administration's VOEC guidelines let a seller convert the VAT payable at the point of sale, on the last day of the period, or when filing, using a rate from Norwegian Customs, Norges Bank, another central bank or a foreign exchange data provider. Inland Revenue in New Zealand allows the time of supply, the last day of the taxable period, or the filing date. Both say that once you pick a method other than converting at the time of the sale, you keep it for 24 months unless the authority agrees otherwise.

Stripe's conversion resembles the time-of-sale option, but Stripe's documentation describes its source only as available exchange rates. Whether that source qualifies under a given authority's list is a question for your accountant. Where the rule calls for a different rate or date, convert the plain tax_amount and taxable amounts yourself at the required rate. Do not re-convert figures that Stripe has already converted.

Why the return and the books still disagree

A US QuickBooks company keeps its books in US dollars. Foreign tax collected on a dollar-priced sale reaches the liability account as a dollar amount, and nothing about the filing currency changes that. The return, though, is filed and paid in the authority's currency.

Say a quarter's Norwegian VAT comes to NOK 10,000 on the return, and the dollar amounts carried for those sales total US$950. If the payment of NOK 10,000 costs US$980 when you make it, the liability account clears by US$950 and the extra US$30 is a currency loss. It belongs in whichever account your accountant uses for exchange differences, not back in the tax liability.

That difference exists whichever rate Stripe used for its filing columns. The filing currency tells you what to put on the return. The bank tells you what the return cost. Your books need both numbers.

Frequently asked questions

What is filing_currency in Stripe Tax?

It is the three-letter code of the tax authority's local currency, such as eur, gbp or nok. Stripe Tax restates each taxed line in that currency in the filing columns of its itemized and summarized exports, alongside the amounts in the currency you price in.

What exchange rate does Stripe use for the filing amounts?

Stripe says that when the integration currency differs from the filing currency, it converts amounts using available exchange rates at the time of the transaction. The itemized export shows the rate used on each row in filing_exchange_rate. Stripe does not name the rate source in its reporting documentation.

Why is filing_currency empty on some rows of the Stripe Tax export?

Stripe says filing_currency may be empty for rows with a taxability reason of not_supported, not_subject_to_tax or not_collecting, and the filing amounts are empty whenever filing_currency is. Those rows carry no tax, but they drop out of any sales total built from the filing columns.

Can I file an EU One Stop Shop return straight from Stripe's filing columns?

Not if you price in a currency other than the euro. The European Commission says supplies made in other currencies are converted at the European Central Bank rate on the last date of the tax period, while Stripe converts each sale at a rate from the time of the transaction. Convert the original amounts at the required rate, and confirm the method with your accountant.

Why does my foreign tax payment not match the liability in QuickBooks?

Because a US QuickBooks company carries the tax in dollars at the amounts recorded on each sale, while the authority is paid in its own currency at the rate on the day you pay. Clear the liability by the amount carried, and post the difference to the account your accountant uses for currency gains and losses.

What customers say about running Stripe through Acodei

Stripe Verified Partner BadgeIntuit QuickBooks
★★★★★
“If you're testing out all the different Stripe/QuickBooks integration apps right now, let me save you some time. This one is the best one by far.”
RyanOwner at Indie Music Academy
★★★★★
“Works well and is really helpful for massive transactions. The support is really fast and helpful. 100% recommended.”
AndresCo-founder and CEO at Kanguro Collections and Reinsurance

Related reading

More glossary terms

See the full glossary

Ready to try Acodei?

Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.

14-day free trial · card required · cancel anytime