How to collect Saudi B2B VAT numbers at WooCommerce checkout

For a Saudi WooCommerce store to issue a standard B2B tax invoice, it needs the buyer's VAT number, legal name and address details. Once the business's Phase 2 (integration) date has arrived, the invoice must be cleared by ZATCA before the buyer receives it. Raseedo Pro adds the buyer fields to WooCommerce checkout, validates the VAT number format and handles standard invoice clearance.
Standard invoices need buyer information
Saudi e-invoicing distinguishes between simplified tax invoices, generally used for B2C sales, and standard tax invoices used for B2B transactions. The difference affects how the document reaches ZATCA.
Once the business's Phase 2 (integration) date has arrived, a simplified invoice must be reported to ZATCA within 24 hours after issuance, and a standard invoice must be cleared by ZATCA before delivery to the buyer. During Phase 1, invoices are neither reported nor cleared through ZATCA.
For a WooCommerce store selling to registered businesses, the checkout needs to collect enough information to prepare the standard invoice.
ZATCA states that a B2B tax invoice must include the buyer's VAT registration number when the buyer is a registered VAT taxpayer. See its e-invoicing preparation guidance.
The four buyer fields collected by Raseedo Pro
Raseedo Pro adds four business fields to WooCommerce checkout. The VAT number is optional, so individual customers can complete checkout without entering business details.
When a buyer enters a VAT number, the other three fields become required.
| Checkout field | What the buyer enters | Why it matters |
|---|---|---|
| VAT number | The company's Saudi VAT registration number | Identifies the VAT-registered buyer and selects the standard invoice process |
| Legal name | The registered company name | Identifies the buyer on the invoice |
| Building number | The 4-digit building number from the buyer's National Address | Supplies an address element for the invoice |
| District | The district in the buyer's business address | Supplies an additional address element |
The buyer VAT number determines the invoice path
Raseedo Pro uses the buyer's VAT number and required business details to select standard invoicing. If the buyer provides a valid VAT number and completes the required fields, the plugin creates a standard tax invoice and submits it for ZATCA clearance before the buyer receives the document. Without a VAT number, the store follows the simplified invoice process provided by the free plugin.
This allows the same WooCommerce checkout to serve individual customers and VAT-registered businesses. Buyers who do not need a standard invoice can leave the VAT number field empty.
The legal name and address must be accurate
Business buyers should enter their registered legal name rather than an informal trading name.
The building number must be the 4-digit number from the buyer's National Address. The district identifies another part of that address.
When a buyer enters a VAT number, Raseedo Pro requires these fields before checkout can proceed. This prevents a buyer from submitting a B2B checkout with those details left empty.
A Saudi VAT number follows a specific format
A Saudi VAT registration number contains 15 digits. Its first and last digits are both 3.
Raseedo Pro checks this format when a buyer enters a VAT number in WooCommerce checkout.
A buyer can paste a number containing spaces or dashes because Pro removes those characters before checking it. Other separators, such as dots or slashes, are not removed and cause the format check to fail.
The resulting number must meet these conditions:
- It contains exactly 15 digits.
- The first digit is 3.
- The last digit is 3.
- Every character is numeric.
If the number fails validation, WooCommerce stops the checkout and displays this message:
"A Saudi VAT number has 15 digits and starts and ends with 3." The buyer must correct the number or leave the optional VAT field empty before checkout can proceed. The same format appears in ZATCA's XML implementation rules for buyer VAT registration numbers on non-export invoices.
Source: ZATCA Electronic Invoice XML Implementation Standard, version 1.2, rule BR-KSA-44.
Format checking has limits
Raseedo Pro checks the structure of the VAT number. A correctly formatted number does not prove that the registration is active or belongs to the company entering it.
If the buyer's company information looks inconsistent, ask them to confirm their registered details.
WooCommerce has block and classic checkout
WooCommerce stores can use either the block checkout or the classic checkout.
Raseedo Pro supports both. The same VAT number validation and required-field rules apply to each checkout type.
Checkout blocks
Raseedo Pro adds the VAT number, legal name, building number and district fields to WooCommerce block checkout.
The VAT number field remains optional. When a buyer enters a number, Pro removes spaces and dashes and checks the Saudi VAT format.
An invalid number stops checkout with the validation message. A valid number makes the legal name, building number and district required.
Classic checkout
Raseedo Pro applies the same behavior to WooCommerce classic checkout.
Individual customers can leave the VAT number empty. Business buyers who provide a VAT number must enter the remaining business details.
Before accepting B2B orders, review the checkout that your customers will use. Check the field labels, validation messages and information saved with completed orders.
For agencies maintaining several stores, include the checkout type used by each store in its testing process.
Missing buyer details are handled before and during invoicing
A buyer may leave the VAT number empty because they are purchasing as an individual. Another buyer may enter a VAT number but fail to complete the business address.
Raseedo handles these situations differently depending on how the order is created.
When the VAT number is missing
The VAT number field is optional in both WooCommerce checkout types.
If the buyer leaves it empty, checkout can proceed without the additional business fields. The free Raseedo plugin issues a simplified tax invoice when the order is paid.
The invoice is signed, includes its QR code and is reported to ZATCA in the background. If a business buyer needs a standard tax invoice, ask them to provide their VAT number and business details during checkout.
When a buyer enters an invalid VAT number
Raseedo Pro removes spaces and dashes before checking the number.
If it does not contain 15 digits starting and ending with 3, checkout stops. The buyer sees the validation message and must correct the number or remove it.
A buyer cannot complete checkout with an incorrectly formatted VAT number in the field.
When required business fields are missing
Once a buyer enters a valid VAT number, the legal name, building number and district become required checkout fields. WooCommerce prevents the buyer from completing checkout while any of those fields is empty. An order can still reach invoicing through another route, such as when store staff create an order in the WordPress admin.
If that order contains a VAT number but is missing the buyer's street or city, or for a Saudi buyer the building number, district or postal code, Raseedo Pro issues a simplified invoice instead. An order with no billing country is treated as a Saudi buyer, so a missing country alone does not trigger the fallback. An empty legal-name field also does not trigger it. Pro uses the billing company, or the billing name if the billing company is empty.
The plugin also adds a WooCommerce order note listing the missing buyer details. Finance staff can review the note and identify why the order did not receive a standard invoice.
This fallback prevents incomplete buyer information from being used to create a standard invoice.
Foreign business buyers need separate review
The Raseedo Pro VAT field accepts only Saudi VAT numbers, with 15 digits starting and ending with 3. For a business buyer outside Saudi Arabia, ask a tax adviser which invoice treatment applies to the transaction before deciding how to handle the order.
Raseedo Pro connects checkout information to ZATCA clearance
The free Raseedo plugin handles simplified invoices for WooCommerce paid orders. It creates UBL 2.1 XML, signs the document with the store's certificate, adds the QR code and reports it to ZATCA.
Raseedo Pro extends that process to standard B2B tax invoices.
With Pro active:
- Buyers can enter their VAT number and business details in block or classic checkout.
- VAT numbers are checked for the required Saudi format, and additional fields become required when a number is entered.
- Orders with a valid VAT number and complete required buyer details use the standard invoice process.
- Standard invoices are sent to ZATCA for clearance before delivery to the buyer.
- Refunds for standard invoice orders produce standard credit notes.
- Orders with a VAT number but missing buyer street or city details, or missing building number, district or postal code for Saudi buyers, receive a simplified invoice and an order note listing the missing details. An order with no billing country is treated as a Saudi buyer. An empty legal-name field alone does not trigger this fallback.
- Signed XML documents and ZATCA responses remain stored on your WordPress site.
The checkout information becomes part of the invoicing process without requiring staff to prepare each standard invoice manually. You can read more about the process on the B2B clearance feature page.
Clearance and reporting are different
A simplified invoice follows the reporting process and must reach ZATCA within 24 hours.
A standard invoice follows the clearance process. ZATCA must clear it before the document is delivered to the buyer.
For finance staff, the invoice type affects the order's document workflow, not merely the information printed on the invoice.
Raseedo stores the signed XML and the ZATCA response. If a document is rejected, the E-invoices tab shows the returned reason and the order receives a note.
Pro pricing and licence requirements
Raseedo Pro requires the free Raseedo plugin to be active.
Pro costs $29 per month or $249 per year for one store. The Agency plan costs $99 per month for five client stores.
Licensing and updates are handled through Freemius. If a Pro licence becomes inactive, Pro features pause while the free plugin continues issuing simplified invoices.
Review the available plans on the pricing page. Before using B2B invoicing on a live store, confirm that the checkout collects the buyer information you need, Production onboarding is complete, and standard invoices receive the expected ZATCA clearance responses.
Questions
Is the buyer's VAT number required for every WooCommerce order?
No. The VAT number field is optional in Raseedo Pro. Customers who leave it empty can complete checkout without entering business details, and the free plugin issues a simplified invoice for the paid order. When a buyer enters a valid Saudi VAT number, the legal name, building number and district become required for standard invoicing.
Does Raseedo Pro support WooCommerce checkout blocks?
Yes. Raseedo Pro supports both WooCommerce block checkout and classic checkout. It adds fields for the buyer's VAT number, legal name, 4-digit National Address building number and district. The VAT number is optional, but entering one makes the other fields required. Standard invoices are cleared by ZATCA before delivery to the buyer.
What happens if a business customer enters an invalid VAT number?
Raseedo Pro removes spaces and dashes, then checks for 15 digits starting and ending with 3. If the number fails, checkout stops and displays "A Saudi VAT number has 15 digits and starts and ends with 3." The buyer must correct or remove the number to proceed. The check validates the format, not the company's registration status.