Singapore GST on Stripe Digital Services in QuickBooks

Singapore taxes remote services from overseas sellers at 9% once they pass S$1M worldwide and S$100K of B2C sales. What Stripe misses and QuickBooks needs.

Acodei Content Team · 11/6/2026 · 18 min read

A software company in Austin sells a USD 40 monthly plan. A freelance designer in Singapore subscribes, and so does a Singapore accounting firm. Under Singapore's overseas vendor registration (OVR) regime, once the Austin company crosses two thresholds it charges 9 percent GST to the designer and nothing to the firm, provided the firm hands over its GST registration number. The regime has covered digital services since 1 January 2020 and every remote service, digital or not, since 1 January 2023.

Stripe Tax handles the calculation once you add a Singapore registration. It does not handle three things IRAS cares about: the S$1 million global turnover test, the two pieces of evidence IRAS expects for where each customer belongs, and the difference between a GST registration number and the other Singapore business number your customer might type in. This guide works from IRAS's page for overseas businesses and its e-Tax Guide GST: Taxing imported remote services by way of the overseas vendor registration regime (sixth edition, published 30 January 2026), checked against Stripe's Singapore tax guide. It is bookkeeping guidance, not tax advice.

If you also ship physical goods to Singapore, our guide to Singapore GST on low-value goods from Stripe orders covers the S$400 line and the pay-only versus full-regime decision. This post covers the services side.

With Acodei, the Stripe Tax on your Singapore invoices reaches QuickBooks as one tax line posted to a liability account, or under QuickBooks tax codes mapped from Stripe's tax rates. Start a free trial.

What counts as a remote service in Singapore

IRAS defines remote services as "any services where, at the time of the performance of the service, there is no necessary connection between the physical location of the recipient and the place of physical performance."

That covers more than software. IRAS's list includes:

  • Digital services, the original 2020 scope: "downloadable content, subscription-based media and software programs."
  • Personal services delivered remotely, such as "online counselling, matchmaking and telemedicine services."
  • Consultancy and advisory services, such as "data analysis and research services."
  • Travel arranging services, digital or not, since 1 January 2023.

So a SaaS subscription is a remote service, and so is a video coaching session or a strategy report delivered by email. The e-Tax Guide's own examples include live fitness training "delivered virtually" and coaching "via live chat or video meetings."

The rate is the standard one. The guide's footnote records the increases: "from 7% to 8% on 1 Jan 2023 and from 8% to 9% on 1 Jan 2024." Its worked example charges S$3.60 on a S$40 monthly streaming fee.

When does an overseas seller have to register for Singapore GST?

An overseas supplier must register when its annual global turnover exceeds S$1 million and its B2C supplies of remote services and low-value goods to customers in Singapore exceed S$100,000. Both conditions must be met. IRAS tests them on the calendar year just ended, or on what you reasonably expect over the next 12 months.

Each basis has its own clock.

  • Retrospective. If both figures for a calendar year (1 January to 31 December) exceed the thresholds, you apply "within 30 days of the end of the relevant calendar year." Your registration takes effect on the "day immediately after the end of the month following the month in which the 30th day falls." IRAS's example: liability on 31 December 2022, registered on 1 March 2023. You escape the retrospective test only if you can show, with documents, that you won't exceed either threshold in the next calendar year.
  • Prospective. If at any time you reasonably expect both figures to exceed the thresholds over the next 12 months, you apply within 30 days of that forecast. For liability triggered on or after 1 July 2025, registration takes effect "2 months from the date of your forecast." IRAS's example: a forecast on 2 September 2025, registered on 2 November 2025.

Three details change the arithmetic.

  1. Global turnover is broad. It means "all supplies made by you that would be taxable supplies if made in Singapore," so your US sales count toward the S$1 million.
  2. The S$100,000 is B2C only. IRAS counts supplies "to non-GST registered customers belonging in Singapore." Sales to Singapore businesses that gave you their GST registration number don't count.
  3. Goods and services share one threshold. The S$100,000 combines remote services and low-value goods. A company selling both adds them together.

Stripe watches half of this. Its Singapore guide says: "Stripe only monitors the 100,000 SGD threshold. All B2C sales to customers in Singapore count towards that threshold." The S$1 million global test is yours to track. Our glossary entry on Stripe Tax threshold monitoring explains how the monitor counts, and the post on what Stripe's registration threshold monitor counts covers why a monitor and a tax authority can disagree.

Registration itself is light. You apply online with a declaration form signed by a director and your certificate of incorporation, "officially translated into English and notarised." The guide says you are "not required to appoint a local agent" and need no guarantee unless you register voluntarily. On income tax, IRAS says GST registration "would not on its own be a determining factor" for a permanent establishment.

Once IRAS approves, add the Singapore registration in Stripe's Locations tab. Stripe's customer location guide is blunt about what happens if you don't: "Without a registration in the customer's location, the calculation returns zero tax." Our entry on Stripe Tax registrations walks through the setting.

Where your customer belongs: Stripe uses one address, IRAS wants two pieces of evidence

IRAS starts from residence. An individual belongs in Singapore if their "usual place of residence is in Singapore," which the guide ties to living there "for a settled purpose, such as to pursue a course or study or due to employment."

You can't verify that over the internet, so IRAS offers a concession. You must "obtain and maintain at least two pieces of non-conflicting evidence" from three proxy categories:

Proxy categoryIRAS's examples
PaymentCredit card information based on BIN number, bank account details
ResidenceBilling address, home address
AccessMobile country code of SIM card, IP address, fixed landline location

The rule for combining them is specific: "one payment proxy, and either a residence or access proxy." If the payment proxy is missing or contradictory, you need one residence proxy and one access proxy instead.

Stripe works differently. Its customer location guide says Stripe Tax "uses a single address as your customer's location." For invoices and subscriptions it takes the first viable item from a list: the shipping address, then the billing address, then the billing details of the payment method, then the IP address. That single address decides the tax. Stripe isn't checking that a second piece of evidence agrees.

The evidence is often already in your Stripe data. A card charge carries the card's country, which Stripe's API describes as the "Two-letter ISO code representing the country of the card." That's a payment proxy. The customer's billing address is a residence proxy. Matching the two per customer is a report you can build from Stripe's exports.

IRAS's own example shows why the match matters. An Australian resident visiting Singapore buys a virtual fitness session. The IP address says Singapore. The card and the billing address both say Australia. The vendor "concludes that the customer belongs in Australia and does not charge GST." A rule that used the IP address alone would have charged GST to a customer who doesn't owe it.

Fix a wrong address on the Stripe customer before the next invoice finalizes, and keep the evidence for the ones you've checked. If you can't apply the proxy rules at all, IRAS lets you write to the Comptroller for approval of another method.

Business customers: the GST registration number is the only evidence that counts

Under the OVR regime, GST applies only to B2C supplies. IRAS sets the default: "you will treat the services as being supplied to a non-GST registered customer, and charge and account for GST on the services, unless the customer provides his GST registration number."

The burden sits with the customer. IRAS says "the responsibility lies with the GST-registered customer to provide his GST registration number." You may rely on the number they give you, but you "must maintain this customer information in your sales documentation for audit purposes."

Stripe follows the same rule. Its Singapore guide says "No tax is charged on sales to business customers who provide their GST registration number." The detail is in Stripe's customer tax ID table, which lists two Singapore ID types:

Stripe typeDescriptionImpact in Tax Calculation
sg_gstSingaporean GSTYes
sg_uenSingaporean UENNo

A customer whose number sits on their Stripe record as sg_uen is charged GST, because only the sg_gst type changes the calculation. If your checkout lets customers pick an ID type, or your team adds IDs by hand, check which type the Singapore numbers land under. Our guide to Stripe customer tax IDs covers how the number reaches the customer record.

Some business customers will be charged anyway, because they forgot the number or entered it under the wrong type. IRAS is clear about the fix. The customer "should contact the overseas vendor to obtain a refund instead of claiming input tax on the purchases." You then "adjust and reduce the output tax" and "issue a credit note (or an equivalent document) to the customers for the refund." In Stripe, that's a credit note against the invoice, which matters again when the refund reaches QuickBooks.

On the customer's side, a GST-registered business that isn't entitled to full input tax may have to account for the GST itself under the reverse charge. That's their return, not yours.

IRAS also warns customers off gaming the rule. It is "a serious offence for a non-GST registered customer to misrepresent himself as a GST-registered person or as a customer belonging outside Singapore."

When the GST is due: time of supply on Stripe invoices

IRAS fixes the period by the time of supply, which is "the earlier of" two events: "when payment is received" or "when an invoice (or any equivalent document that serves as a bill for payment) is issued."

For a subscription charged automatically, the invoice and the payment usually fall on the same day. They split when invoices are paid later, which is common for business plans sent by email. IRAS's example has the service performed on 22 March, the invoice issued on 23 March and payment on 2 April. The GST belongs in the quarter ending 31 March, because the invoice came first.

Two edge cases come from the guide:

  • The first quarter after registration. If both the invoice and the payment fall after your registration date, you charge GST. But if the service was performed before registration, you may use the performance date "if the customer so requests," and keep documents that prove it.
  • The value when you trade services instead of cash. GST is normally 9 percent of the price before GST. If you discount a subscription in exchange for something else, IRAS taxes the open market value. Its example: a S$40 streaming plan sold to an influencer for S$20 in return for promotion is still taxed on S$40, so the GST is S$3.60.

If your Singapore prices include GST, IRAS applies the tax fraction 9/109: a S$40 inclusive price carries S$3.30 of GST.

Filing and paying under the pay-only regime

Overseas vendors are registered under what IRAS calls a simplified pay-only regime. Its features, from the e-Tax Guide:

  • Quarterly returns. You report "only the value of supplies made and the GST collected in the relevant accounting period on a quarterly basis," on a simplified return filed through e-Filing.
  • One month to file and pay. "The due date for GST return filing and payment is within one month from the end of each accounting period." For telegraphic transfers, remit "at least one week before the due date."
  • No input tax. Input tax claims "are not allowed." GST you pay on Singapore costs stays a cost.
  • Credits carry forward. If credit notes for past sales exceed a quarter's sales, the net refund "will be retained as credit for offset against GST payable by you in future periods," unless you ask IRAS to refund it and bear the remittance charges.
  • Corrections go in the next return. For significant errors you can write in instead. Upward adjustments for sales more than a year past the filing deadline must be reported in writing, "as late payment penalties will apply."
  • Invoices follow your usual practice. There are "no additional invoicing and price display requirements," but you keep "proper business and accounting records for at least 5 years."
  • Domestic penalties apply. That includes late registration, late filing, incorrect returns, late payment and poor record keeping.

The low-value goods guide covers the pay-only versus full-regime decision for sellers with Singapore costs. For a pure software seller with no Singapore spending, pay-only is the default the regime was built for.

Converting to Singapore dollars: the exchange-rate election

The return is in Singapore dollars. If you charge in US dollars, you convert using "an acceptable exchange rate" at one of three moments: "the time of supply," "the end of taxable period," or "the time of filing the GST return." Whichever you choose, you apply it "for at least one year from the end of the filing period in which the time period was first chosen."

Stripe's tax reports already convert per transaction. When your integration currency differs from the filing currency, "Stripe Tax converts amounts using available exchange rates at the time of the transaction." The itemized export carries the results in filing_currency, filing_exchange_rate, filing_taxable_amount and filing_tax_amount.

That lines up with IRAS's time-of-supply option. The open question is the rate source. IRAS points vendors to Appendix A of its e-Tax Guide GST: Exchange Rates for GST Purpose for acceptable rates, and asks anyone using other sources to write in for approval. Before you file from Stripe's filing_* columns, check with your adviser that Stripe's rate source qualifies, or convert yourself from a listed source.

A worked quarter: one US company, July to September 2027

Northwind Analytics is a Delaware company with US QuickBooks Online. It prices in US dollars, turned over USD 4 million worldwide in 2026, and sold more than S$100,000 of subscriptions to Singapore consumers that year. On the retrospective basis it applied by 30 January 2027 and was registered from 1 March 2027. Assume IRAS gave it calendar quarters.

Its Singapore activity for July to September 2027:

CustomersNet sales (USD)GST charged (USD)Notes
150 consumer invoices at USD 406,000540Billing address and card country both SG
2 firms on annual plans with sg_gst4,8000GST numbers kept on file
1 firm whose number was saved as sg_uen1,200108Refunded by credit note in September
3 subscribers with a US card and a Singapore IP3600Two proxies say US, so not Singapore

The firm with the wrong ID type emailed its GST registration number. Northwind changed the ID to sg_gst and issued a Stripe credit note for the USD 108. As IRAS directs, Northwind reduces its output tax by the GST it refunded, so that sale adds no GST to the quarter.

One consumer invoice was issued on 29 September and paid on 3 October. The invoice came first, so it belongs in this quarter.

For the return, Northwind reports USD 6,000 of B2C supplies and USD 540 of GST, converted to Singapore dollars. At an illustrative rate of 1.30, that is S$7,800 of supplies and S$702.00 of GST. If it elects the time-of-supply basis and uses Stripe's figures, it sums filing_taxable_amount and filing_tax_amount instead, so each invoice carries its own day's rate. Either way, the S$702.00 is due by 31 October 2027.

The three US-card subscribers are why the evidence matters. Stripe charged them no Singapore GST, because the billing address on their Stripe customer was in the US. Northwind's export of billing country against card country confirms it. That pair of proxies is the record IRAS asks for.

What reaches QuickBooks with Acodei

Acodei brings the GST Stripe calculated into QuickBooks in one of two ways. Which one fits depends mainly on your QuickBooks company's country.

Tax Product. This is the usual route for a US QuickBooks company like Northwind. You create a non-inventory product in QuickBooks, such as "Sales Tax," mapped to a liability account, and choose it in Acodei's Stripe Tax settings. Acodei rolls every Stripe Tax amount into a single line on the QuickBooks invoice or sales receipt. The feature needs Stripe Tax on Stripe Invoicing or Stripe Checkout. One liability account then holds Singapore GST alongside any other tax Stripe collects, so you use Stripe's tax reports for the Singapore split, then file and pay from the liability account.

QuickBooks Tax Rate mapping (Advanced). This is for QuickBooks companies outside the US. Acodei pulls your Stripe tax rate IDs (they start txr_), and you map each one to a QuickBooks tax code. Map Singapore's 9 percent rate to the code you use for Singapore GST, and each Singapore product line arrives carrying it.

The credit note. This is the route for Northwind's USD 108 refund. Acodei replicates Stripe credit notes in QuickBooks with their tax lines. A plain payment refund carries no line-level breakdown, so Acodei can't always tell how much of it was tax, and the liability then needs a manual adjustment. When you refund GST to a business customer, refund it with a credit note.

The payment to IRAS. You record it yourself: debit the tax liability, credit the bank. Northwind carries USD 540 in the liability and pays S$702.00 from a US dollar account at the bank's rate on the day. Any difference between what the liability held and what the bank paid goes to exchange gain or loss, not back to tax.

Our guide to reconciling the Stripe Tax report in QuickBooks shows how to tie the liability account to Stripe's figures country by country. The Singapore slice should be back at zero after each payment.

What sets Singapore apart on the Stripe side

New Zealand runs its own regime for remote services sold by offshore suppliers, and our New Zealand remote services guide covers its rules. In Singapore, three things need attention that Stripe's settings won't flag:

  • Singapore has two tests, and Stripe monitors one. The global turnover condition has no Stripe equivalent.
  • Singapore's business evidence is one number. Only a GST registration number takes a sale out of B2C, and only sg_gst changes Stripe's calculation.
  • Singapore spells out the location evidence. One payment proxy plus one residence or access proxy, or one of each of the other two.

Common mistakes with Singapore GST on Stripe sales

  1. Watching only Stripe's monitor. It tracks the S$100,000 and not the S$1 million. Below S$1 million worldwide, you don't register, however much you sell to Singapore. Above it, the S$100,000 decides.
  2. Counting only software. Since 2023, remote consulting, coaching, telemedicine and research count too.
  3. Leaving low-value goods out of the threshold. Goods and services share the S$100,000.
  4. Accepting a UEN as proof of GST registration. IRAS asks for the GST registration number, and only Stripe's sg_gst type has tax impact.
  5. Relying on one address. Stripe calculates from one address. IRAS expects two pieces of non-conflicting evidence, and you keep them.
  6. Refunding GST as a payment refund. Use a Stripe credit note, so the reduction in output tax reaches your books with the tax broken out.
  7. Switching exchange-rate methods each quarter. IRAS requires the same basis for at least a year.

Frequently Asked Questions

Do foreign SaaS companies have to charge GST in Singapore?

Yes, once they cross both thresholds. IRAS requires an overseas supplier to register when its annual global turnover exceeds S$1 million and its B2C supplies of remote services and low-value goods to Singapore exceed S$100,000, measured on the calendar year or expected over the next 12 months. SaaS has been taxable under this regime since 1 January 2020.

What is the GST rate on digital services in Singapore?

9 percent, the standard rate since 1 January 2024. IRAS's e-Tax Guide records the rise from 7 to 8 percent on 1 January 2023 and from 8 to 9 percent on 1 January 2024. On a S$40 monthly subscription priced before tax, the GST is S$3.60. On a S$40 price that includes GST, it is S$3.30.

Does Stripe charge Singapore GST to business customers?

Not when the customer provides a GST registration number. Stripe's Singapore guide says no tax is charged on sales to business customers who provide it, and Stripe's tax ID table marks sg_gst as affecting the calculation and sg_uen as not. A number saved under the UEN type is still charged GST. IRAS also treats every customer as unregistered unless they give you the number.

How often do overseas vendors file Singapore GST returns?

Quarterly. Under the simplified pay-only regime, overseas vendors file a simplified return through e-Filing, reporting the value of supplies and the GST collected for the quarter. The return and payment are due within one month from the end of each accounting period. IRAS suggests sending telegraphic transfers at least one week before the due date.

Can overseas vendors claim input tax in Singapore?

Not under the pay-only regime. IRAS says input tax claims on Singapore purchases are not allowed, in exchange for simplified registration and reporting. The regime does let you carry forward a net credit when credit notes exceed a quarter's sales, and you can apply for bad debt relief on GST charged but never paid.

The short version

Singapore taxes remote services sold to its consumers at 9 percent once an overseas seller passes S$1 million worldwide and S$100,000 of B2C sales into Singapore. Stripe calculates the GST and watches the second number. You watch the first, keep two pieces of location evidence per customer, make sure business customers' numbers are saved as sg_gst, and refund mistakes with credit notes. Then file and pay quarterly, within a month of each quarter's end.

Acodei brings Stripe Tax into QuickBooks as a tax line on a liability account or as mapped QuickBooks tax codes, so each Singapore quarter starts from your books instead of a spreadsheet. Start a free trial.

Share

Automate your Stripe to QuickBooks sync

Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.

14-day free trial · card required · cancel anytime

How Acodei handles this in your stack

Stripe QuickBooks Integration

See how Acodei syncs Stripe payments, fees, refunds, invoices, and payouts into QuickBooks Online automatically.

Or go straight to a capability

Get more operational finance guides like this one

We will only send high-value product and finance content.