WMGWMG
Illustration split into two panels. Left: a woman sits at a low table at night in a Singapore flat, completing an online order on a laptop, HDB towers lit behind her. Right: the same woman at her front door in morning light, facing a courier holding a parcel and a printed invoice.

Singapore · GST · Cross-border e-commerce

The parcel that was taxed twice

A S$500 device, two GST charges, and nobody in the chain doing anything obviously wrong.

Last week I bought a fitness tracker. It shipped from Dubai to Singapore on a well-run express service, arrived on time, and was cleared without incident by one of the best customs brokers in the world.

I paid GST on it twice.

Not through fraud, not through incompetence, and not because anyone in the logistics chain made a mistake. The courier did its job correctly. The clearance was correct. The declaration was correct. The tax was still collected twice, and the only reason it got refunded is that I happen to run a cross-border logistics business and knew which rule to cite.

Most members in that position pay it, grumble, and either eat the cost or refuse the parcel. Both outcomes are expensive for the brand, and neither one generates a signal anybody inside the company ever sees.

I want to walk through exactly how this happens, because if you sell direct-to-consumer into Singapore or anywhere else in APAC, there is a meaningful chance it is happening on your orders right now and nobody has told you.

Singapore's S$400 Low-Value Goods threshold, and what it actually means

Since 2023, Singapore has run an Overseas Vendor Registration regime for imported goods. The headline that most merchants absorbed is: overseas sellers must register and charge GST at checkout.

The part that gets lost is the threshold.

Illustration of parcels moving along parallel conveyor belts in a sorting hall, with a painted white line running across the central belt dividing it into two sides.
One line, two entirely different tax treatments — and no overlap between them.

OVR checkout collection applies to Low-Value Goods — physical goods with a sales value of S$400 or less, imported by air or post. Above that line, the rule flips entirely. GST on above-threshold goods is collected at importation, by Singapore Customs, through the declaring agent. An OVR-registered vendor is not allowed to charge GST on an item with a sales value above S$400 — Singapore Customs gives the reason plainly, which is that doing so disrupts existing customs processes. A merchant may separately collect the import GST in advance and remit it to the courier to pay Customs, but that is a duty-paid delivery arrangement, not an OVR collection, and it only helps if the money actually reaches the courier.

It is a binary switch. Below S$400, you charge. Above S$400, you must not. There is no overlap and no discretion.

And the entry value test has its own trap: it is applied to the sales value of the goods, excluding transport, insurance, GST and duties. Not the order total. Not the amount charged to the card. Not the CIF value the customs declaration will eventually carry.

So a single parcel can carry three different numbers, all legitimate, all used for different purposes — and the merchant's cart is usually looking at the wrong one.

Why one parcel can carry three different values

Here is what one order actually produced.

Assessment — one parcel, DXB → SIN Air · 1 pc · 1.00 kg
List priceS$557.80
Less promotional discount−S$40.43
Goods value — entry value testS$517.37 Excludes transport, insurance, GST and duty

S$400 LVG threshold

Plus shippingS$36.69
Amount actually paidS$554.06
Value declared to Singapore CustomsS$535.80
GST charged at checkout — should not have beenS$49.86
GST collected at import — correctlyS$48.23
Total GST paid on one import S$98.09 Roughly 17.7% of value, on a 9% tax
Assessed twice

The entry value was S$517.37 — comfortably above S$400, so this was not an LVG supply and the checkout should not have applied GST. It applied 9% anyway: S$49.86. On arrival, the broker correctly assessed 9% on the declared value and collected S$48.23, plus a standard disbursement fee for advancing the tax to Customs.

Illustration of paper documents fanned across a wooden desk beside a rain-streaked window, with reading glasses, a desk lamp and a laptop.
Three documents, three values, one parcel. Each number is correct for its own purpose. None of them agrees with the others.

Five reasons e-commerce checkouts miscalculate Singapore GST

Having now looked at this properly, I think there are five common failure modes, and most of them are invisible from inside the business.

The threshold test isn't running at all

The cart was configured at market launch to "charge GST for Singapore," full stop. It works perfectly for every order under S$400, which is most of them, so it never surfaces as a bug. The higher-value orders fail silently.

Discounts move the line

An order that lists at S$430 and sells at S$380 after a promotion crosses the threshold in one direction. Mine crossed in the other. If your tax logic evaluates pre-discount, or evaluates after freight is added, you will get the bucket wrong on exactly the orders where the money is largest.

Freight gets bundled into goods value

The entry value test excludes transport and insurance. Carts that test against the order subtotal-plus-shipping will over-count and misclassify.

The two tests get confused

There are two thresholds, not one, and they are measured differently. Whether an item is a low-value good is tested on its own sales value, item by item, excluding freight and insurance. Whether a consignment needs an import permit is tested on total CIF, which includes them. So five shirts at S$90 each are five low-value goods even though the parcel exceeds S$400 — and that parcel still needs a permit. Carts that test the order total, or that assume one parcel means one test, get both halves wrong.

FX timing

A USD-denominated cart converting at a different rate and moment than the customs declaration will produce two different SGD values for one parcel — and if the true value sits near S$400, the two systems will disagree about which side of the line it falls on.

None of these produce an error message. They produce a small number of quietly annoyed customers.

What a double-charged GST actually costs a brand

The tax itself is trivial. The exposure around it is not.

Regulatory

Collecting GST you were not authorised to collect is not a rounding error to a tax authority. IRAS requires OVR vendors to maintain a process for refunding customers who can evidence that import GST was paid to Singapore Customs on the same goods. If you don't have that process, you have a compliance gap, not just an unhappy buyer. And if you refuse, the buyer isn't stuck — Singapore Customs allows the transporter to help them lodge a refund application directly, which puts your error in front of the authority rather than leaving it between you and your customer.

Support load

Every one of these becomes a ticket. If your front line is trained to answer "customs charges are set by your local authorities and are outside our control" — which is the correct answer perhaps ninety percent of the time — they will give the wrong answer here, confidently, and escalate a solvable problem into a dispute.

Refused deliveries

A customer hit with an unexpected demand at the door often just declines it. Now you're paying return freight on a high-value item, restocking it, and refunding the order.

Chargebacks

Some fraction go straight to the card issuer.

Churn

This is the big one and it never shows up in a tax line. If you sell subscription hardware, the member who felt cheated at the door doesn't just cost you the tax — they cost you the lifetime value. A S$50 error can retire a S$1,500 relationship.

Why the courier is not at fault

It is tempting for someone in my industry to turn this into a story about picking the right carrier. It isn't one, and I'd rather say so.

The express operator on this shipment behaved exactly correctly. They cleared the goods at the declared value, assessed the statutory rate, collected what Customs was owed, and charged a standard, disclosed fee for advancing the money. They had no visibility into what the merchant's checkout had already collected, and no mechanism by which they could have.

Illustration of a woman standing in the doorway of an HDB flat reading a printed slip with a resigned expression, while a courier waits in the sunlit corridor holding a parcel.
Two people who both did exactly what was asked of them, and an unhappy moment neither of them caused.

That's the actual structural point. In a conventional setup, the party that determines tax at the cart and the party that settles tax at the border are two different organisations that never reconcile against each other. Nobody in the chain owns the question "did we already charge this?" — so the answer arrives as a surprise, at the customer's front door, at the worst possible moment in the experience.

You don't fix that by changing carriers. You fix it by making landed cost a single determination that survives from cart to clearance.

How to audit your cross-border tax setup

If you sell into Singapore and APAC, five things worth auditing this quarter.

  1. Run the entry value test on post-discount goods value, excluding freight and insurance. Verify it fires on a live above-threshold order rather than trusting the configuration.
  2. Establish one source of truth for value across the cart, the commercial invoice and the customs declaration. If those three numbers can diverge, they eventually will.
  3. Pick a lane per order and hold it. DDP where you collect at checkout, DAP where you don't — never both on the same parcel.
  4. Maintain a per-market threshold register. APAC markets run materially different de minimis and vendor-collect rules, and they change. One global cart rule is guaranteed to be wrong in at least one market.
  5. Build the refund path before you need it. When it does go wrong, the recovery has to be faster than the customer's patience.

Why tax determination is now a customer experience problem

Cross-border tax determination has quietly become a customer experience problem wearing a compliance costume. The regimes changed fast — Singapore, and most of the region, rewrote low-value import rules inside a few years — and a great many DTC carts were configured before the change and never revisited.

The brands getting caught are not careless ones. They are usually well-run companies whose logistics stack was assembled in layers, by different teams, at different times, with nobody holding the seam between what the cart charges and what the border collects.

That seam is where the money leaks and where the members walk.

I run WMG Pte Ltd, a Singapore-licensed postal operator moving cross-border e-commerce parcels across sixteen APAC markets. We spend most of our time on exactly this seam — determining duty and tax correctly at origin so nothing is collected at the door. If you're selling into the region and you've never pressure-tested your above-threshold orders, it's worth an hour of someone's time. Happy to point you at the right questions either way.

Jim HuangGroup President, WMG Pte Ltd

Frequently asked questions

Why was I charged GST twice on an import into Singapore?

Singapore's Overseas Vendor Registration (OVR) regime only permits an overseas seller to charge GST at checkout on Low-Value Goods — physical goods with a sales value of S$400 or less, imported by air or post. Above that threshold, GST is instead collected at the border by Singapore Customs through the declaring agent. If a merchant's checkout charges GST on an above-threshold order anyway, and the courier then correctly collects import GST on arrival, the same tax has been collected twice.

What is Singapore's S$400 Low-Value Goods threshold?

Low-Value Goods are physical goods with a sales value of S$400 or less, imported by air or post. At or below the threshold, GST is charged at checkout under the OVR regime; above it, GST is collected at importation. The value tested is the sales value of the goods excluding transport, insurance, GST and duties — not the order total.

Can an OVR-registered vendor charge GST on goods worth more than S$400?

No. Above S$400 the rule flips: GST is collected at importation by Singapore Customs through the declaring agent, and an OVR-registered vendor is not permitted to charge GST at checkout on those orders. It is a binary switch — below S$400 you charge, above S$400 you must not.

How do I get a refund for GST charged twice?

IRAS requires OVR vendors to maintain a process for refunding customers who can evidence that import GST was paid to Singapore Customs on the same goods. Keep the proof of import GST paid at the border and ask the vendor to refund the GST charged at checkout under that process.