Ecommerce Features for Your Own Store: WooCommerce Setup, Payment Gateways, Tax Rates and Shipping
1. Basic WooCommerce Setup: Which Switches to Turn On First
After you install WooCommerce, the wizard walks you through your store details, but a few key options are wrong by default. First, set “Store address” to your company’s registered location, not your target market. Second, use USD or EUR as your main currency, not RMB. Overseas buyers will close the page the moment they see CNY. Third, you must turn on both “Enable taxes” and “Enable shipping.” They’re off by default.
Simple or variable product? For most B2B stores going global, use variable products (different SKUs by size, color or spec), since one model often comes in several variants. Turn on inventory management, but don’t track real stock in WooCommerce. Its inventory module is too weak. Once orders pick up, syncing with an ERP or Google Sheet is more reliable. For how to choose your tech stack, see crater Tech Stack.
| Setting | Default | Recommended for going global | Impact |
|---|---|---|---|
| Store address | United States | Your registered location | Affects the default tax rate |
| Main currency | USD | USD or EUR | Affects payment gateway settlement |
| Enable taxes | Close | Open | Can’t issue invoices or stay compliant without it |
| Enable shipping | Close | Open | Buyers won’t know the cost if shipping is off |
| Display prices with tax | Excluding tax | Depends on the market | The EU requires tax-inclusive pricing |
| Customer registration | Allow registration | Check “Allow customers to create an account during checkout” | Reduces signup friction |
2. Payment Gateways: Stripe Plus PayPal
Don’t rely on just one payment gateway for your own store. Stripe covers credit cards (Visa/Mastercard/Amex) and local payment methods (iDEAL in Europe, GrabPay in Southeast Asia), but it doesn’t let Chinese sellers register directly. You need a Hong Kong or US entity. PayPal has a lower bar. Even an individual can sign up, and it’s widely used by buyers in Europe and Latin America, but its fees run about one point higher than Stripe’s.
The right way to do dual-channel: show both Stripe credit card and PayPal buttons on checkout and let buyers choose. Stripe handles credit card traffic, PayPal handles buyers who prefer PayPal. Don’t offer PayPal only — 40% of North American buyers don’t have a PayPal account and will abandon checkout if PayPal is the only option. Don’t offer Stripe only either — over 30% of buyers in Germany and the Netherlands prefer PayPal.
Example: you’re a Hangzhou company making outdoor lighting, based in China, and can’t get a Stripe account. Use 2Checkout or Paddle as your Merchant of Record to handle cross-border acquiring and taxes, at around 5% to 6%. Keep a separate PayPal account as a backup.
| Gateway | Rate (cross-border) | Account requirements | Best for |
|---|---|---|---|
| Stripe | 2.9% + $0.30 | Requires an overseas entity | North America, Europe |
| PayPal Business | 4.4% + fixed fee | Individuals and businesses | Europe, Latin America, worldwide |
| 2Checkout / Paddle | 5% to 6% | Open to Chinese companies | Chinese sellers going global |
| Shopify Pay | 3% to 3.5% | Shopify stores only | Not available on WooCommerce |
| Alipay Cross-border | About 1% | Chinese companies | Mainly Chinese buyers |
3. Tax rate setup: by buyer location, not store location
This is the easiest trap to fall into with WooCommerce. By default, tax is calculated using the “store location” rate. If you enter a US company address, then whether the buyer is in Germany or France, tax is calculated at the US rate. That’s illegal in the EU — EU rules require B2C transactions to charge VAT at the buyer’s country rate, and each country has a different rate: Germany 19%, France 20%, Italy 22%.
Correct setup takes three steps. Step one: go to WooCommerce → Settings → Tax and check “Calculate tax based on customer shipping address.” Step two: import a tax rate table — the European Commission publishes a public CSV of standard VAT rates for all 27 EU countries, and WooCommerce supports bulk upload. Step three: set the “price display prefix” so that if your product prices exclude tax, checkout shows “XX EUR incl. VAT.”
How to decide: B2C orders must be taxed at the buyer’s location; B2B orders can use reverse charge if the buyer provides a valid VAT number, but you need to verify that the number is valid. WooCommerce’s built-in VAT validation isn’t accurate enough — install WP Ever Accountant or TaxJar to validate automatically. To see how to build your compliance foundation, see Compliance foundation for global sites.
| Markets | Tax rule | WooCommerce setup | Compliance tool |
|---|---|---|---|
| EU B2C | VAT rate by buyer country | Import EU tax rate table | TaxJar / Avalara |
| EU B2B | Reverse charge | Verify VAT number | VIES validation API |
| US B2C | State/county/city rates | Install TaxJar for automatic calculation | TaxJar plugin |
| UK | VAT 20% (independent after Brexit) | Create a separate UK tax rate row | Same as above |
| Middle East / Southeast Asia | Mostly no VAT or low tax | Set to 0% tax rate | Confirm manually |
4. Shipping zones: divide by country, set tiered shipping rates
WooCommerce handles shipping through Shipping Zones. By default there’s only one zone, “Rest of the world,” with either free or flat-rate shipping. If you sell internationally, split it into at least 4 to 5 zones: North America, EU, UK, Australia & New Zealand, and Rest of the World. Give each zone its own shipping methods: free shipping (free over $100), flat rate ($10), and weight-based rates ($8 for the first 500g, plus $4 for each additional 500g).
A framework for pricing shipping: start by getting quotes from your logistics partners (YunExpress, Yanwen, 4PX) for each zone, then split orders into three weight tiers: under 0.5kg, 0.5 to 2kg, and over 2kg. Add a 30% buffer to each tier (for currency swings and lost-package claims), then set up the tiers in WooCommerce. Don’t set your free shipping threshold too low. Free shipping over $100 is the B2C standard; go lower and it eats your margin.
Example: you sell a 200g LED strip, and your logistics partner quotes $6 to ship it to the EU. In your EU zone in WooCommerce, you set a flat $8 rate for orders under 0.5kg and free shipping over $80. A buyer in Germany adds a $10 LED strip to their cart, sees $8 shipping at checkout, and may abandon the order because shipping costs almost as much as the product. Add a “spend more, ship free” banner to nudge them up to $80, and your average order value jumps 8x.
| Zone | Countries included | First 0.5kg shipping fee | Free shipping threshold |
|---|---|---|---|
| North America | USA, Canada | $7 | Free over $100 |
| EU | Germany, France, Italy, Spain and 23 other countries | $8 | Free over $80 |
| UK | UK (separate post-Brexit) | $9 | Free over $80 |
| Australia & New Zealand | Australia, New Zealand | $10 | Free over $120 |
| Rest of the world | Middle East, Southeast Asia, Latin America | $12 | Free over $150 |
5. Test before launch: place one order from each of 3 countries
Once all four modules are set up, don’t go live yet. Run test orders in Stripe sandbox mode, placing at least one order from an address in each of 3 different countries: an EU address (to check VAT), a US address (to check sales tax), and a Middle East address (to check the 0% rate). For each order, check three things: whether the tax amount matches your manual calculation, whether shipping is matched to the correct zone, and whether the currency displays correctly at checkout.
You also have to test refunds. Both Stripe and PayPal let you issue refunds directly from the WooCommerce dashboard, but the webhook events have to be configured correctly. Otherwise, you refund the order and its status in WooCommerce still shows “Processing.” For how to set up webhooks, see Standalone site API integration. For how to build a monitoring dashboard, see Site monitoring and alerts.
| Test item | How to test | Pass criteria |
|---|---|---|
| EU order tax rate | Place an order with a German address | 19% VAT calculated automatically |
| US order tax rate | Place an order with a California address | State and county taxes correct |
| Shipping zone matching | Use an Australian address | Australia & New Zealand zone rate applies |
| Free shipping threshold | Spend up to the threshold | Shipping drops to zero automatically |
| Payment refunds | Place a sandbox order, then refund it | Status syncs, amounts match |
| Email notification | Check your inbox after ordering | Order confirmation + invoice sent |
FAQ
Can I use WooCommerce right after installing it, or is there more to set up?
Can a mainland Chinese company accept Stripe, and what if it can’t?
How is EU VAT calculated, and can WooCommerce do it automatically?
How should I set shipping rates, and what’s a good free shipping threshold?
Should prices be displayed with tax included or excluded?
WooCommerce or Shopify: which is better for taking B2B overseas?
Final thoughts
WooCommerce’s default setup is designed for small US shop owners, not for stores selling overseas. If you launch as-is, you’ll miscalculate EU tax rates, mismatch shipping zones, and accept only PayPal, missing credit card customers. These problems don’t blow up on day one. They surface when a customer points them out on your first EU order.
Three steps to launch: configure in the order of payments → tax rates → shipping → currency, and don’t skip steps. Once configured, place a sandbox order with addresses in three different countries and manually recalculate tax and shipping. Keep your tax rate table and shipping rate table in a Google Sheet and check them every quarter.
One line worth remembering: installing WooCommerce just opens the shop door. Getting the tax right, the money right, and the shipping right is what makes you open for business.
