هذا المقال متوفر باللغة العربية — اقرأ بالعربية
Most store owners in Egypt and Saudi Arabia set up products, shipping and payments first, then remember taxes the week before launch. That order usually ends with wrong totals at checkout, prices that change when a customer types their address, and invoices the accountant can’t use. Setting up WooCommerce VAT properly takes about an hour if you know which settings matter, and this guide walks you through each one for stores selling in Egypt, Saudi Arabia, or both.
One thing before we start: this is a practical setup guide from a developer, not legal or tax advice. Tax rules depend on your registration status, the products you sell and where your customers are. Confirm your rates, your invoicing obligations and your final settings with a qualified accountant before you go live.
Why taxes deserve attention before launch
Taxes touch almost every number your customer sees. The product price, the cart subtotal, the shipping line, the order total and the invoice all depend on a handful of settings. If those settings disagree with each other, WooCommerce can show one price on the product page and a slightly different one in the cart, which looks careless and costs trust.
There’s also the reporting side. Your accountant needs order data that clearly separates the net amount from the tax amount. If you’ve been entering prices one way and displaying them another, cleaning up months of orders later is slow and expensive. Getting it right on day one is much cheaper.
- Customers in both markets expect final prices. Shoppers are used to seeing the price they will actually pay, not a net price with tax added at the last step.
- Totals must match invoices. Whatever your store charges has to line up with what your invoicing system reports.
- Shipping is often taxable too. Forgetting to configure tax on shipping is one of the most common mistakes I see.
Current VAT rates in Egypt and Saudi Arabia
Here are the standard rates as published by the official tax authorities. I’m only listing what the official documents state. Reduced rates, exemptions and zero rated items exist in both countries, and whether any of them apply to your products is a question for your accountant.
| Country | Standard VAT rate | Official source |
|---|---|---|
| Egypt | 14% | VAT Law No. 67 of 2016, Article 3, as published by the Egyptian Tax Authority (and restated in Law No. 149 of 2026) |
| Saudi Arabia | 15% | ZATCA guideline on the amendments to the VAT Implementing Regulation |
A few details worth knowing from those same official sources:
- Egypt’s VAT law sets the general rate at 14% starting from fiscal year 2017/2018, with a 5% rate for machines and equipment used in producing goods or providing services (buses and passenger cars excluded). Law No. 149 of 2026, published on the ETA website, amends some articles of the VAT law and keeps the 14% general rate in its text.
- The ETA’s guide for non-resident digital service providers applies the 14% rate to most remote services and 10% to professional and consultancy services. That matters if you sell digital products or services to Egypt from abroad.
- ZATCA states that VAT-registered businesses in Saudi Arabia charge VAT at the standard rate of 15% where applicable.
Rates can change, so check the official pages listed in the references when you set up your store, and again whenever you hear about a tax change in the news.
How WooCommerce handles tax: the settings that matter
WooCommerce has a full tax engine built in. You don’t need an extension to charge a standard rate in one or two countries. Everything lives in two places: a checkbox in the general settings, and a dedicated Tax tab that appears once you tick it.
Enabling taxes
Go to WooCommerce, then Settings, then General, and tick Enable tax rates and calculations. Save, and a new Tax tab appears at the top of the settings screen. Until you do this, WooCommerce ignores tax completely.
Prices entered with tax
This setting controls how you type product prices. You choose between entering prices inclusive of tax or exclusive of tax. WooCommerce’s documentation explains it with a simple example: if you enter prices inclusive of tax, WooCommerce works backward from the total you typed and calculates the net price and the tax inside it. If you enter prices exclusive of tax, WooCommerce adds the tax on top.
For stores in Egypt and Saudi Arabia that sell to local consumers, entering prices inclusive of tax is usually the easiest choice. You type the price you want on the shelf, for example 1,140 EGP or 115 SAR, and WooCommerce splits it into net and VAT for the order record. Your marketing, your price tags and your ads all use the same number.
Calculate tax based on
This tells WooCommerce which address to use when it picks a tax rate. The options are the customer shipping address, the customer billing address, or the shop base address. If you choose the shop base address, tax is always calculated from your store’s location regardless of where the customer is.
If you sell only inside one country, the shop base address keeps prices stable: the customer never sees a price change after entering an address. If you sell across both countries, the shipping address is usually the logical choice, because it decides where the goods actually go. Ask your accountant which one matches your obligations.
Shipping tax class
By default, WooCommerce uses Shipping tax class based on cart items, which means shipping inherits the tax class of the products in the cart. You can also force a specific class: Standard, Reduced rate or Zero rate. For a store with all products on the standard rate, the default works fine. We’ll come back to shipping tax below.
Rounding
There’s a checkbox to round tax at the subtotal level instead of per line. WooCommerce’s documentation notes that this can lead to slight variances and recommends consulting a tax professional on which rounding method fits your store. Pick one with your accountant and don’t change it after launch.
Display prices in the shop and in the cart
Two separate settings decide whether prices are shown including or excluding tax: one for the catalog (shop and product pages) and one for the cart and checkout. WooCommerce warns that if Prices entered with tax, Display prices in the shop and Display prices during cart and checkout don’t all use the same method, you can get off-by-one rounding errors. It shows a warning when they conflict and offers a button to align them.
Price display suffix and tax totals
The Price display suffix adds text after prices. It supports the placeholders {price_including_tax} and {price_excluding_tax}, so you can write something like this:
Incl. VAT
A plain suffix like that is enough for most stores. The Display tax totals setting decides whether taxes appear as a single total or itemized by rate name in the cart and checkout. Itemized is useful because the rate name you set (for example “VAT 15%”) shows to the customer.
WooCommerce VAT setup: standard rates step by step
Here’s the exact order I follow on client stores. Do it on a staging copy first if your store already has orders.
- Confirm with your accountant that you are registered for VAT, which rate applies to your products, and which address should drive the calculation.
- Check your store address and currency under WooCommerce, then Settings, then General. The store address matters if you calculate tax on the shop base address.
- Tick Enable tax rates and calculations and save.
- Open the Tax tab. Set Prices entered with tax to inclusive if you want shelf prices that already contain VAT.
- Set Calculate tax based on to the option your accountant agreed on.
- Leave Shipping tax class on the default unless your accountant tells you otherwise.
- Set both display options to Including tax so they match the price entry setting.
- Add a price suffix such as “Incl. VAT” if you want to make it explicit, and set tax totals to itemized.
- Click Standard rates and insert a row for each country you sell to (see the example below).
- Place test orders for each country, with and without shipping, and compare every line with a manual calculation.
In the standard rates table, each row has these columns: country code, state code, postcode, city, rate %, tax name, priority, compound, shipping and tax class. For a store selling in both countries, two rows are enough:
Country code | Rate % | Tax name | Priority | Compound | Shipping
EG | 14.0000 | VAT 14% | 1 | no | yes
SA | 15.0000 | VAT 15% | 1 | no | yes
Leave state, postcode and city blank so the rate applies to the whole country. Tick the Shipping column if VAT applies to shipping on your orders. The table also supports CSV import and export, which is handy when you manage several stores. WooCommerce suggests entering one rate manually, exporting it, and using that file as a template.
If your store runs in Arabic and English, remember the tax name is what customers read in the cart. If you’re translating the store, check how your multilingual setup handles that label, the same way you would plan the rest of your two-language store structure for search engines.
Showing prices including VAT
Shoppers in both markets generally expect the price on the product page to be the price they pay. If your catalog shows 100 SAR and the cart jumps to 115 SAR, some customers will feel tricked even though the math is correct. That’s why the inclusive setup is the common choice for consumer stores.
A clean inclusive setup looks like this:
- Prices entered inclusive of tax.
- Shop display: including tax.
- Cart and checkout display: including tax.
- Suffix: “Incl. VAT” or the Arabic equivalent.
- Tax totals: itemized, so the cart shows how much of the total is VAT.
If you sell mainly to businesses that reclaim VAT, showing prices excluding tax can make sense, since buyers compare net prices. In that case keep all three settings on exclusive and use the suffix with {price_including_tax} to show the gross price too.
Your theme also plays a part here. Some themes override the cart and price templates and don’t show the tax line or the suffix properly, especially in right-to-left layouts. If you haven’t picked a theme yet, our roundup of WooCommerce themes tested on Arabic stores is a good place to start, and test the cart totals on whichever theme you choose.
Tax on shipping
Shipping is where many stores lose a few pounds or riyals on every order without noticing. If VAT applies to your delivery charges, WooCommerce needs two things: the Shipping box ticked on the rate row, and a shipping tax class setting that produces the right rate.
A few practical points:
- Check how your shipping fees are entered. Place a test order with a flat rate and see whether WooCommerce adds VAT on top of the fee you typed. If you want customers to see a round shipping total, adjust the fee based on what the test shows.
- Mixed carts follow a rule. With the default class, WooCommerce uses the Standard rate if any product in the cart uses it. If none does, it uses the first rate it finds in the additional tax classes list.
- Free shipping has no tax. Nothing to calculate there, but confirm your free shipping threshold uses the amount you intend (before or after tax).
- Cash on delivery fees. If your payment or shipping plugin adds a fee, check whether that fee is taxed and how it appears on the invoice.
Speaking of cash on delivery, the payment setup and the tax setup affect each other more than people think. Our guide to choosing payment methods for stores in Egypt and Saudi Arabia covers Paymob, Fawry, mada, Tabby and Tamara, and it’s worth reading alongside this one.
E-invoicing: what to check with your accountant
This is the part where I’ll be careful, because it’s where most blog posts invent deadlines. Both countries run official electronic invoicing systems, and your obligations depend on your registration, your size and the wave or group the authority assigns you to. WooCommerce on its own does not connect to either system.
Saudi Arabia: ZATCA FATOORAH
ZATCA’s official pages describe e-invoicing (FATOORAH) in two phases:
- Phase 1, the Generation phase, enforceable as of December 4th, 2021, for all taxpayers excluding non-resident taxpayers. Invoices and notes must be generated and stored through a compliant electronic solution.
- Phase 2, the Integration phase, enforceable starting January 1st, 2023 in waves by targeted taxpayer group. The electronic solution must integrate with ZATCA’s systems and produce e-invoices in the required format.
ZATCA says it notifies taxpayers of their Phase 2 wave at least six months in advance, and it publishes news on the criteria for each wave. Don’t guess your wave. Ask your accountant to check, and read the roll-out phases page linked below.
Egypt: e-invoice and e-receipt
The Egyptian Tax Authority runs the eInvoicing and eReceipt platform, covering business to business invoices and business to consumer receipts. Its official SDK site explains that Ministerial Decision No. 188 for 2020 was issued to bind taxpayers to the e-invoice system, and it documents the APIs used to submit invoices and receipts. Which system applies to your store, and from when, is something your accountant should confirm against ETA notices.
What about plugins?
If you search the WordPress.org plugin directory for “ZATCA”, you’ll find several plugins that claim to generate ZATCA compliant invoices for WooCommerce orders, most with small install counts. I’m not recommending a specific one here. If you consider any of them, check it is actively maintained, ask the vendor in writing which phase it supports, and test it on a staging site with your accountant before relying on it. The same applies to any tool that connects to the Egyptian system. A broken invoicing plugin is a compliance problem, not just a bug, so treat it with the same care you’d give a regular maintenance routine for your WordPress site.
Pre-launch checklist
Run through this list before you take the store live, or after any change to tax settings:
- Your accountant has confirmed your VAT registration, rate, and calculation address.
- Store address and currency are correct.
- Taxes are enabled and the Tax tab settings match each other (entry, shop display, cart display).
- No conflict warning appears on the Tax tab.
- Standard rates table has the correct rate for each country, with clear tax names.
- Shipping tax is configured and tested.
- Test orders for Egypt and Saudi addresses show correct net, VAT and total amounts.
- Product page, cart, checkout, order emails and the My Account order view all show the same totals.
- Coupons and discounts reduce the tax correctly.
- Refunds reverse the tax correctly.
- The Arabic version of the store shows the tax label and suffix properly in right-to-left layout.
- Your invoicing process (plugin, ERP or accounting software) has been tested and approved by your accountant.
Frequently asked questions
Do I need a plugin to charge VAT in WooCommerce?
No, not for standard rates. WooCommerce’s built-in tax settings handle a standard rate per country, inclusive or exclusive prices, and tax on shipping. You may need extra tools for e-invoicing, which is a separate requirement.
Should I enter prices with or without VAT?
For consumer stores in Egypt and Saudi Arabia, entering prices inclusive of VAT is usually simpler, because the price you type is the price customers see. Whatever you choose, keep the entry and both display settings consistent to avoid rounding issues.
Why does the price change when the customer enters an address?
Because tax is calculated on the customer’s shipping or billing address and their location matches a different rate, or no rate. If you sell in one country only, calculating on the shop base address avoids this.
Does WooCommerce connect to ZATCA or the ETA system?
Not on its own. WooCommerce calculates tax and records it on orders, but submitting invoices to ZATCA or the Egyptian Tax Authority needs a separate compliant solution. Check the requirements with your accountant and test any plugin before using it.
Wrapping up
Tax setup in WooCommerce isn’t hard, but it’s unforgiving when settings disagree. Enable taxes, add one clean rate per country, keep entry and display consistent, handle shipping, and test real orders. Then hand the e-invoicing question to your accountant with the official pages below. If you’d like a developer to set this up or review your current store, we can help through our WordPress and WooCommerce development service, or you can book a free consultation call to talk it through.
References
- WooCommerce: setting up taxes in WooCommerce
- Egyptian Tax Authority: Value Added Tax Law No. 67 of 2016
- Egyptian Tax Authority: Law No. 149 of 2026 amending the VAT law (Arabic)
- Egyptian Tax Authority: VAT guidelines for digital and remote services by non-residents
- ZATCA: guideline on amendments to the VAT Implementing Regulation
- ZATCA: what is e-invoicing
- ZATCA: e-invoicing roll-out phases
- Egyptian Tax Authority: eInvoicing and eReceipt SDK