ZATCA invoice QR codes and Arabic WooCommerce pages

Last updated:

Raseedo gives your WooCommerce customers an invoice page in Arabic and English. The page includes a ZATCA QR code and is linked from the order page and order emails. The invoice is also created as signed XML for ZATCA Phase 2. Your customer reads the invoice page, while your store keeps the signed XML and the response from ZATCA.

The invoice page your customer opens

Once an invoice is issued, the buyer can follow its link from their WooCommerce order page. The same link is available in order emails. Access requires the order key, which ties the page to that order.

The page presents invoice information in Arabic and English. The QR code is shown with the invoice, so your customer has a readable view and the coded information together. This customer page is distinct from the UBL 2.1 XML document the plugin signs and sends to ZATCA.

Your customer opens the page through your WooCommerce store rather than the Fatoora portal. Your store continues to keep the signed document on its own site.

What the ZATCA QR code contains

The QR code includes these values from the tax invoice:

  • Seller name.
  • Seller VAT registration number.
  • Invoice date and time.
  • Invoice total.
  • VAT amount.
  • Invoice hash.
  • Digital signature.

Raseedo stores these values in the QR code using ZATCA TLV tags. The customer sees the code on the bilingual invoice page. The XML remains the signed e-invoicing document used in the ZATCA integration.

The hash and signature are part of the signed invoice record. Your staff do not need to enter them separately on the customer page.

Phase 1 and Phase 2 QR codes

A Phase 1 QR code contains the seller and invoice details used in the earlier e-invoicing stage. A Phase 2 QR code also includes the invoice hash and digital signature, so a Phase 1 style QR code alone does not meet the Phase 2 requirement.

Raseedo builds the Phase 2 code as part of issuing the signed invoice. It uses the seller information entered during setup and values taken from the invoice. The customer-facing page includes the resulting QR code.

Arabic screens for store staff

If your WordPress site language or the admin user's language is Arabic, Raseedo displays its administration screens in Arabic. You can find them under WooCommerce > ZATCA E-Invoicing.

The area has Seller details, Onboarding and E-invoices tabs. Seller details include the legal name, VAT number, commercial registration number, National Address short code, branch and selected environment. An Arabic legal name is recommended.

Onboarding uses a six-digit OTP generated in the Fatoora portal. Raseedo uses it to request certificates and complete ZATCA's six compliance checks. The E-invoices tab shows ZATCA rejection reasons when a submission is rejected.

Invoices and records stay with your store

Each signed XML document and ZATCA response is stored on your WordPress site. Uninstalling Raseedo keeps those records unless you explicitly choose to delete everything.

The free plugin includes the bilingual customer page and the Phase 2 QR code for simplified invoices. Pro adds standard B2B invoices that must be cleared before the buyer receives them. Both use the same customer-facing Arabic and English invoice page.