Order classification
Overview
Every WooCommerce order is classified automatically for OSS purposes. The classification determines whether the order counts toward the EUR 10,000 threshold. Not every sale counts, and counting the wrong ones gives you a misleading picture.
Classification types
- Domestic — the destination is your home country (your WooCommerce base location). Does not count.
- Non-EU — the destination is outside the EU VAT area. Does not count.
- EU B2B — a cross-border EU order from a business customer: it carries a usable VAT number or is marked VAT-exempt. Does not count. See B2B VAT number field for exactly when a VAT number is “usable”.
- EU B2C — a genuine cross-border B2C sale to another EU country. Counts toward the threshold.
- No country — the order has no destination country at all. Does not count.
Place of supply
The destination country follows the EU place-of-supply rules, detected per order:
- Digital goods (orders consisting entirely of virtual/downloadable products) use the billing country — digital supplies are taxed where the customer belongs.
- Physical goods use the shipping country, falling back to billing when no shipping address is present.
Special territories and Northern Ireland
Some areas carry an EU country code but sit outside the EU VAT area. Sales to these special territories are excluded from the threshold (treated like Non-EU): the Canary Islands, Ceuta, and Melilla (Spain), the Åland Islands (Finland), the French overseas departments, Büsingen and Heligoland (Germany), Mount Athos (Greece), and Livigno and Campione d’Italia (Italy). The plugin detects these from the order’s postcode.
Northern Ireland is the reverse case: a GB address with a BT postcode is recognised as XI under the NI Protocol and stays in scope for goods, so it can count toward the threshold.
OSS status column in the orders list
The plugin adds a color-coded OSS status column to WooCommerce → Orders (on both HPOS and legacy order screens). Each order shows a badge — EU B2C (purple, counts toward the threshold), EU B2B, Domestic, Non-EU, or No country — with a tooltip describing how any VAT number on the order was treated.
A red warning icon next to an EU B2C badge means the customer claimed B2B but the VAT number could not be honoured — it is invalid, or unverified while strict VIES mode is on. The sale still counts toward the threshold; the icon flags it for your review.
The EU VAT OSS order box
Each order edit screen has an EU VAT OSS box in the sidebar showing:
- Classification — the type above.
- Destination — the resolved destination country, with flag.
- Counts toward threshold — Yes or No.
- VAT number — shown when one is involved, with its verification state: VIES-verified, Format-valid (not VIES-verified), Marked VAT-exempt, or Invalid — not a usable VAT number.
- Net amount — the order total minus tax in EUR, matching what is recorded against the threshold (labelled in the order’s own currency when EUR conversion is unavailable).
No manual override
There is no manual classification override. Classification is always recomputed from the order’s actual data — addresses, products, and VAT-number meta — so the way to fix a wrong classification is to fix the underlying data (for example, correct the shipping country or the VAT number on the order). This keeps the threshold total auditable.
Tips
- Classification depends on order addresses, so accurate billing and shipping countries matter.
- A company name alone never triggers B2B classification — only a usable VAT number or an explicit VAT exemption does.
- From the dashboard’s country breakdown, the order counts link straight into the orders list filtered to that destination country.