Stripe Singapore GST and the S$400 Line in QuickBooks

Stripe charges no Singapore GST on imported goods until you opt in. How IRAS draws the S$400 line under OVR, and what reaches your QuickBooks books.

Acodei Content Team · 10/8/2026 · 23 min read

A US business that ships physical products to Singapore can pass IRAS's registration test, register for GST, switch on Stripe Tax, and still collect no GST on its Singapore orders. Stripe isn't broken when that happens. Its default for goods shipped into Singapore from abroad is to treat the sale as an export, which is the opposite of what a registered overseas seller needs.

Singapore has taxed imported low-value goods at the point of sale since 1 January 2023, through the overseas vendor registration (OVR) regime run by the Inland Revenue Authority of Singapore (IRAS). IRAS's e-Tax Guide on low-value goods defines them as goods that are "to be delivered to Singapore via air or post" and "have a value not exceeding the import relief threshold of $400." GST is 9 percent. Stripe's Singapore tax guide says it "doesn't calculate GST on sales of imported low-value goods, valued at 400 SGD or less, to individuals in Singapore unless you select the option to calculate tax on cross-border goods sales into Singapore."

This guide covers that setting and the registration type that carries it, the two-part test that decides whether you register at all, the three ways a parcel can fall outside the S$400 rules, what reaches QuickBooks for each kind of order, and how IRAS's quarterly pay-only return relates to your liability account. It is bookkeeping guidance, not tax advice. Whether you must register, and how your parcels are declared at the border, are questions for your accountant and your carrier.

Start a free trial to bring Stripe Tax amounts into QuickBooks automatically, so the Singapore GST you collect is already in your liability account when the quarter closes.

The Stripe setting, and the registration type that carries it

Stripe's guide puts the default plainly: "When goods are shipped into Singapore from abroad, Stripe treats the sale as an export and doesn't calculate tax, unless you choose to calculate tax on cross-border sales of goods into Singapore through the tax registration settings."

That choice lives on the registration. Stripe's registration guide says that "when you choose standard registration, you can select the inbound_goods option to collect tax on cross-border sales of goods into the country where you're adding the standard registration." Our glossary entry on the Stripe Tax cross-border goods option covers how that option behaves across countries.

Singapore adds a naming trap. IRAS registers overseas vendors "under a simplified pay-only regime." Stripe also has a registration type called simplified, which its guide describes as "a simpler, streamlined version of tax registration" that is "primarily used by remote sellers." The words line up, so a US seller holding an IRAS OVR registration can reasonably reach for Stripe's simplified type. But Stripe's guide documents the cross-border goods option on the standard type and lists no such option for simplified, and it doesn't say which Stripe type matches an IRAS OVR registration.

So check two things, in order. First, which registration type you added for Singapore, and whether the cross-border goods option is available and selected on it. Second, whether your first Singapore order after the change carries a GST line.

The gap costs real money. IRAS says that once registered, "you must charge and account for GST on such B2C supplies to Singapore." Nothing in that obligation depends on what your checkout calculated. If Stripe charged the customer nothing, the GST still has to be accounted for, and it comes out of your margin instead of the customer's payment.

Who registers: a two-part test Stripe watches only half of

IRAS's page for overseas businesses sets two conditions, and both must be true. An overseas business registers if it has "an annual global turnover exceeding S$1 million" and makes "B2C supplies of remote services and/or low-value goods to customers in Singapore exceeding S$100,000 annually."

The first number is about your whole business. IRAS defines global turnover as "all supplies made by you that would be taxable supplies if made in Singapore." Your US sales count toward it. A shop with US$3 million of domestic sales clears the S$1 million test long before it sells anything to Singapore.

The second number is narrower than "sales to Singapore." B2C means customers who aren't GST-registered, and IRAS counts B2C supplies of low-value goods and remote services. An item with a sales value over S$400 isn't a low-value good, so it doesn't add to that S$100,000.

IRAS tests both numbers on the calendar year. Under the retrospective basis, you're liable when both values "for the calendar year (i.e., 1 Jan to 31 Dec) exceed S$1 million and S$100,000 respectively." Under the prospective basis, you're liable when you "reasonably expect" both to be exceeded "for the next 12 months." There is one way out of the retrospective test. If specific circumstances mean you won't exceed either number next calendar year, and you can document it, IRAS says you won't be liable.

The dates follow mechanically. On the retrospective basis you apply within 30 days of the end of the calendar year. IRAS's effective-date rule is the "day immediately after the end of the month following the month in which the 30th day falls." A business that crossed both lines during 2026 applies by 30 January 2027 and is registered from 1 March 2027. On the prospective basis, for liability triggered on or after 1 July 2025, registration takes effect "2 months from the date of your forecast."

Now compare Stripe's monitor. Stripe's Singapore page lists the threshold as "1 million SGD (global) and 100,000 SGD (B2C sales into Singapore) per calendar year," and then says: "Stripe only monitors the 100,000 SGD threshold. All B2C sales to customers in Singapore count towards that threshold." That leaves two gaps:

  • Stripe never sees your global turnover. A small seller with most of its sales in Singapore can trip Stripe's monitor without crossing IRAS's S$1 million line.
  • Stripe counts every B2C sale. A shop that sells many items over S$400 can see the monitor cross before IRAS's low-value count does.

Our glossary entry on Stripe Tax threshold monitoring explains how the monitor counts in each country, and the post on what Stripe's registration threshold monitor counts covers why a monitor's number and an authority's definition drift apart.

Marketplaces shift the duty. IRAS says that under certain conditions, an electronic marketplace operator is "regarded as the supplier" of low-value goods sold through it, and then the operator is required to "register, charge and account for GST on these supplies, instead of the suppliers." Sales like those shouldn't carry GST in your own Stripe account.

Three ways a parcel falls outside the S$400 rules

Stripe's guide draws the low-value line on value and the customer. IRAS draws it on value, the customer, and how the parcel travels. Each one changes what should happen at your checkout.

Value: the sales value, item by item

IRAS tests the S$400 against the "sales value" of the goods, which is the selling price "excluding any amounts charged for" transport and insurance to Singapore, GST, and Singapore customs duties. The e-Tax Guide's own example is a dress listed at S$420 including S$25 of transport and insurance. The sales value is S$395, so it is a low-value good, and "GST will be chargeable on the value of supply at S$420."

That last part matters for the books. Shipping is out of the test but in the tax: IRAS says the value of supply "would include amounts paid by the customer for related services such as transportation and insurance."

The test is per item, however you pack the box. IRAS says "the goods should be disaggregated and valued separately as separate items even if the combined value of the consignment were to be greater than the entry value threshold." Five S$90 shirts in one parcel are five low-value goods.

Above S$400, you stop charging. IRAS's preparation checklist for OVR vendors says "you are not allowed to charge GST on goods with sales value exceeding S$400," and that "import GST on non-LVG item is to be paid at the point of importation."

IRAS offers two elections that change the test, each made by submitting its "Election form for LVG":

  1. Import value instead of sales value. A vendor that can work out transport and insurance at the point of sale may test the line on the import (cost, insurance and freight) value instead. GST is still computed on the value of supply.
  2. Per consignment instead of per item. A vendor with "full oversight of the supply and logistics chain," a documented process for knowing at the point of sale what ships together, and the ability to adjust GST when an order changes may apply the S$400 to the whole consignment. IRAS's example is a S$350 suit and a S$190 shirt shipped together: the S$540 consignment is over the line, so no GST is charged at the sale and the transporter pays it at the border.

Stripe's Singapore guide describes neither election. If you make one, test how Stripe's line-by-line calculation lines up with it before you rely on it.

Mode: air or post only

A low-value good has to be "delivered to Singapore via air or post." Goods that travel by sea or land aren't low-value goods under OVR, whatever their price. Stripe's guide doesn't mention shipping mode at all, and your checkout usually doesn't know it either.

IRAS has an exception for exactly that problem. A vendor with "genuine difficulties in determining the mode of shipment of the goods at the point of sale" may seek approval to charge GST on low-value goods imported by sea and land as well. Without that approval, a business that sends bulky orders by sea freight needs a way to tell those orders apart before Stripe taxes them.

Customer: the GST registration number

IRAS's default is that every customer is a consumer. Vendors "will treat the LVG as being supplied to a non-GST registered customer, and should charge and account for GST, unless the customer provides his GST registration number." The responsibility for providing it lies with the customer, you may rely on the number you're given, and IRAS says you "are not required to validate or verify" it. You do have to keep it "in their sales documentation for audit purposes."

Stripe's Singapore guide says "no tax is charged on sales to business customers who provide their GST registration number," in the paragraph about services. Check that Stripe treats a goods sale to a registered business the same way. Our guide to Stripe customer tax IDs covers how the number gets onto the customer record.

If a registered business forgets to give its number and is charged GST, IRAS's route is a refund from you, not an input tax claim by them. You then "adjust and reduce the output tax" on your return and "issue a credit note (or an equivalent document)" for the refund.

A worked quarter: six orders

Take a Portland, Oregon pen and stationery shop. Its global turnover is well over S$1 million, and its B2C low-value sales to Singapore passed S$100,000 last calendar year, so it registered with IRAS under OVR. In Stripe Tax it holds a standard Singapore registration with the cross-border goods option selected. It prices its Singapore store in Singapore dollars, adds GST on top, and ships by air courier. Its quarters run January to March, April to June, and so on.

  1. A fountain pen, S$280 plus S$20 shipping. The sales value is S$280, under the line. GST is 9 percent of the S$300 value of supply: S$27.00. Check that Stripe taxed the shipping charge as well as the pen.
  2. A limited-edition pen, S$385 plus S$30 shipping. The sales value is S$385, so it is a low-value good, and GST is 9 percent of S$415: S$37.35. This is the parcel most likely to be taxed twice. Its cost, insurance and freight value at the border is roughly S$415, over S$400, which is the case IRAS's Example 10 describes. Unless your GST information travels with the parcel, Singapore Customs can levy import GST on top of the GST you collected.
  3. An S$350 ink set and an S$190 leather notebook, one box, S$20 shipping. Each item is under S$400, so both are low-value goods, and GST is 9 percent of S$560: S$50.40. Check that Stripe taxed both lines. If the shop had made the per-consignment election, the S$540 box would be over the line and the sale would carry no GST.
  4. A walnut desk set, S$650. Over the line. IRAS's checklist says the shop is not allowed to charge GST on it, and import GST is paid at the border. Stripe's guide doesn't say what it calculates on an item over S$400 once the cross-border option is on, so open the first such order and read its taxability_reason. If it carries GST, fix the setup and agree with your accountant how to refund the customer.
  5. A S$120 pen case to a Singapore design studio that entered its GST registration number at checkout. That makes it a sale to a GST-registered customer, so no GST is charged. Keep the number with the sale.
  6. A notebook bundle from the shop's US-dollar checkout, US$295 plus US$15 shipping. IRAS says to convert the entry value "using an acceptable exchange rate at the point of sale." Using the e-Tax Guide's illustrative US$0.75 to S$1, US$295 is S$393.33, a low-value good, and GST is 9 percent of US$310: US$27.90. At US$0.72 to S$1, the same bundle would be S$409.72 and over the line. IRAS lists exchange-rate movement near S$400 as one of the three causes of double taxation.

Orders 1 and 6 are the normal low-value case, order 4 is the normal high-value case, and order 5 is the normal business case. Orders 2 and 3 are the ones your shipping process has to get right, because the tax on them is only safe if the border can see it was paid.

What reaches QuickBooks for each order

For a United States QuickBooks company, Acodei's documented tax method is the Tax Product. You create a non-inventory product, such as "Sales Tax," mapped to a liability account, and choose it in Acodei's Stripe Tax settings. The documented requirement is Stripe Tax enabled with Stripe Invoice or Stripe Checkout. All Stripe Tax amounts on a sale are rolled into a single line on the QuickBooks invoice or sales receipt, and you use Stripe's tax reports to file and pay from the liability account. The product approach exists because QuickBooks' own Sales Tax Center doesn't let third parties create official tax rates for US companies.

For the six orders, that means:

  • Orders 1, 2, 3 and 6 reach QuickBooks with the sale and one tax line for the GST Stripe calculated. That GST lands in the same liability account as any US state sales tax you collect through Stripe Tax.
  • Orders 4 and 5 reach QuickBooks as sales with no tax line. Nothing goes to the liability account.

The Tax Product line carries the tax Stripe calculated, no more and no less. If the cross-border option was off, every order arrives with no GST, and the liability account will accurately show no Singapore GST in it. The sync is right in that case. The problem sits upstream in the Stripe registration, and the GST you owe for the period has no matching balance.

Remember that the account mixes authorities and calendars. US states file on their own schedules, and Singapore GST follows IRAS's quarters. On any given day the balance is a blend, and only Stripe's reports can split it.

Pay-only, or the full regime: the input tax decision

This is where Singapore differs most from its neighbors in the low-value family, and it is a choice you make once.

By default, IRAS puts overseas vendors on the simplified pay-only regime. "While input tax claims incurred on taxable purchases made in Singapore are not allowed, the regime features simplified GST reporting and documentation requirements." Norway's VOEC scheme is pay-only too.

Singapore gives you the option. The e-Tax Guide says overseas vendors "may choose to register under the full regime to claim input tax, if their operations are such that they incur GST on purchases of goods and services from GST-registered suppliers in Singapore." IRAS frames it as a trade: "the benefits of administrative cost savings from simplified compliance under the pay-only regime versus the infrequent occasions for claiming of input tax under the full regime." The full regime also brings the normal invoicing and price display rules, under which prices must be shown GST-inclusive, though IRAS lets vendors on the normal regime show the GST-inclusive price "only at the checkout page."

For a US seller, the decision mostly comes down to whether you buy anything in Singapore. A Singapore marketing agency, a local photographer for product shots, or a trade show booth can each carry Singapore GST. The two regimes book that GST differently:

  • On pay-only, Singapore GST you pay is part of the cost. Post it with the expense. Don't set up a Singapore GST receivable expecting to offset it on the return.
  • On the full regime, that GST is input tax you claim. It belongs in a recoverable account that ties to the return, which is closer to how a Swiss registration works. Our post on Swiss VAT and the mail-order rule shows what carrying both sides looks like.

Pay-only still has two relief valves. When credit notes for past sales exceed a period's supplies, the net GST refundable is "retained as credit for offset against GST payable by you in future periods," or refunded on request if you accept the remittance charges. And when a debt can't be recovered, you "may apply for bad debt relief" on the GST charged but unpaid.

When GST is charged twice

IRAS names three causes: multiple goods in one consignment, exchange-rate movement on goods sold in foreign currency "close to the entry value threshold of S$400," and the difference between your sales value and the customs value at the border. Orders 2, 3 and 6 above are one of each.

The prevention is information. IRAS says vendors "must include the relevant GST information in the commercial document, which is passed through the logistics chain": your GST registration number and the GST paid, or an indication of whether GST was charged, for each item. IRAS's footnote suggests marking each item "GST-paid." How that reaches Customs depends on the carrier:

  • Air express companies: your GST registration number goes in the customs declaration through the ACCESS system before the goods are cleared.
  • Air couriers: it goes in the summary list of parcels or the permit declared through TradeNet.
  • Post: both pieces go in the address field of the CN22 or CN23, or on the invoice or commercial document fixed to the outside of the parcel.

If the information is missing or late, IRAS says the goods "will be treated by Singapore Customs as an import for which GST is payable." IRAS's checklist also suggests shipping low-value and other goods separately.

When it goes wrong anyway, the refund isn't optional. IRAS says this requirement has "the force of law": you "must provide a refund to the customer" who shows evidence that import GST was paid, which can be a tax invoice or permit notification from the air express company, an import permit, or a SingPost GST payment receipt. You then recover it "by filing it in his next GST return," while keeping evidence that you refunded the customer.

In Stripe, that refund is a partial refund of the tax, and how it reaches QuickBooks depends on how you issue it. Acodei's documentation says a refund made through a credit note carries the line-level tax breakdown. A refund made on the payment alone, without an item breakdown, may not tell Acodei how much of it was tax, and the documentation says that case can need a manual adjustment in QuickBooks. For an invoice, issue a credit note against the tax. For a Checkout payment with no invoice, be ready to adjust the liability account by hand, and keep the customer's evidence with the entry.

Records, not receipts

Pay-only is light on paperwork at the sale and strict on records afterward. IRAS says "there will not be additional invoicing and price display requirements imposed on you under the simplified regime, beyond your usual business practices." If you don't normally issue invoices, you don't have to start.

What you must keep is evidence. IRAS expects records for "at least 5 years," and lists "sales listings, invoices issued, payment evidence and customer information." You aren't required to print a customer's GST registration number on an invoice, but IRAS says that "customer information should be maintained as part of your records."

Your own GST registration number is a different matter, because the logistics chain needs it on every taxed parcel. Our guide to your own tax ID on Stripe invoices explains where it lives in Stripe and which number prints on your invoices.

Filing the quarterly return from Stripe's data

On pay-only, IRAS says 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 with "only the relevant fields." Returns go in through e-Filing, payment is electronic, and "the due date for GST return filing and payment is within one month from the end of each accounting period." If you pay by telegraphic transfer, IRAS asks you to send it "at least one week before the due date."

Which quarter a sale belongs to follows IRAS's time of supply rule, "the earlier of" when payment is received or when an invoice is issued. A Stripe invoice issued on 31 March and paid on 2 April belongs in the January to March quarter. For a Checkout sale with no invoice, the payment date decides.

Stripe's tax reports are the source for the figures. The itemized export breaks out every line item by jurisdiction, includes a taxability_reason column, and includes non-taxable transactions unless you exclude them when exporting. That puts orders 4 and 5 on the export with no tax, next to the reason Stripe gave. The glossary entries on the itemized export and the Stripe taxability reason explain both.

Then check the exchange rate, because IRAS gives you a choice Stripe doesn't. For converting the value of supply on the return, IRAS lets you use the rate at "the time of supply," "the end of the taxable period," or "the time of filing the GST return," and says the method should be "consistently applied on all supplies under the extended OVR regime for at least one year." Stripe says that when your pricing currency differs from the filing currency, it "converts amounts using available exchange rates at the time of the transaction." Stripe's filing columns therefore use a time-of-transaction rate, which is closest to IRAS's time-of-supply option. If you choose end of period or time of filing, recompute the Singapore dollar figures yourself. Whether Stripe's rate counts as an acceptable rate under IRAS's exchange rate guidance is a question for your accountant. If you price your Singapore store in Singapore dollars, as the shop above does, the figures for orders 1 to 3 need no conversion.

The other currency question is in your books. A United States QuickBooks company carries the liability in dollars, but you pay IRAS in Singapore dollars. When you pay a quarter's GST, clear the liability by the amount you carried for that quarter's sales, and post the difference to the account your accountant uses for currency gains and losses, not back to tax. Our Stripe multicurrency guide explains why QuickBooks and Stripe disagree about exchange rates in the first place.

If you find a mistake later, IRAS says to "correct them in your next GST return." If you also ship to New Zealand or Britain, the New Zealand GST guide and the UK 135 GBP guide cover the same questions there. New Zealand also tests its line item by item, while the UK tests the whole consignment.

What to set up once, and what to check every quarter

Once:

  • Confirm which Stripe registration type holds your Singapore registration, that the cross-border goods option is selected, and that a test order carries GST on both the goods and the shipping.
  • Write down IRAS's line for your fulfillment team: S$400 of sales value, shipping excluded, item by item, air or post only.
  • Decide whether either election (import value, or per consignment) suits your logistics, and file the form before you rely on it.
  • Get your GST registration number and a "GST-paid" marker onto the commercial documents for every taxed item, through whichever channel your carrier uses.
  • Decide with your accountant between pay-only and the full regime, and set up the expense or recoverable account to match.
  • Pick an exchange-rate method for the return and keep it for at least a year.
  • Make sure whoever closes your books knows the liability account holds both US sales tax and Singapore GST.

Every quarter:

  • Export the period's Singapore transactions from Stripe Tax and assign them to quarters by IRAS's time of supply.
  • Sort by taxability_reason and confirm over-S$400 orders, business sales and any sea-freight orders are labeled the way you expect.
  • Record GST refunded for double taxation, with the customer's evidence and the matching adjustment on the return.
  • File and pay within one month of the quarter end, and record the payment against the liability account at the carried amount, with the difference to currency gain or loss.

Frequently Asked Questions

Does Stripe charge Singapore GST on goods shipped from the US?

Only if you select the cross-border goods option on your Singapore registration. Stripe says it "doesn't calculate GST on sales of imported low-value goods, valued at 400 SGD or less, to individuals in Singapore unless you select the option." Stripe's registration guide documents that option on the standard registration type, so check which type you added.

When does a US business have to register for Singapore GST?

IRAS requires an overseas business to register when its annual global turnover exceeds S$1 million and its B2C supplies of low-value goods and remote services to Singapore exceed S$100,000, both measured on the calendar year or expected over the next 12 months. Stripe's monitor watches only the S$100,000 figure.

Is the S$400 limit per item or per order?

Per item by default. IRAS says goods "should be disaggregated and valued separately as separate items even if the combined value of the consignment" is over S$400. A vendor that controls its logistics chain can elect to apply the limit per consignment instead, by filing IRAS's election form.

Does shipping count toward the S$400?

Not toward the threshold. IRAS tests the sales value, which excludes transport and insurance to Singapore, GST and duties. Once an item is a low-value good, though, GST is 9 percent of the value of supply, and that includes what you charged for shipping and insurance.

Can I claim back Singapore GST I pay on my own costs?

Not on the default pay-only regime, which IRAS says doesn't allow input tax claims. An overseas vendor can choose to register under the full regime instead, which allows input tax claims but brings normal invoicing and price display rules. IRAS frames it as weighing simpler compliance against how often you'd actually claim.

What happens if my customer is charged GST again at the border?

IRAS requires you to refund the customer if they show evidence that import GST was paid, such as a SingPost GST payment receipt or an import permit. You then recover it on your next GST return. To prevent it, pass your GST registration number and a GST-paid indication for each item down the logistics chain.

Four hundred dollars, by air or post

Singapore's low-value rule asks more of your setup than most. Stripe charges nothing on goods shipped in from abroad until the cross-border option is on a registration type that supports it, and IRAS expects the GST either way. Once it is on, read every order the way IRAS does: sales value item by item, shipping out of the test and into the tax, air or post only, consumer unless the customer gives a GST number. Then make sure the border can see what you charged. Do that, and the liability account will tie to the quarterly return.

Start a free trial to sync Stripe Tax into QuickBooks automatically, so the quarterly Singapore GST tie-out starts from a complete liability account.

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.