{"id":360644,"date":"2026-08-30T12:57:18","date_gmt":"2026-08-30T12:57:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/softglaze-invoices-gulf\/"},"modified":"2026-08-30T12:57:09","modified_gmt":"2026-08-30T12:57:09","slug":"softglaze-invoices-gulf","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/softglaze-invoices-gulf\/","author":23434072,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4.0","stable_tag":"0.4.0","tested":"7.1","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"SoftGlaze Invoices Gulf","header_author":"softglaze","header_description":"Generates Saudi simplified tax invoices with the ZATCA generation-phase QR code and a bilingual Arabic and English layout, and produces UBL 2.1 and PINT AE invoice data for submission through your certified provider. An add-on for SoftGlaze PDF Invoices for WooCommerce.","assets_banners_color":"0e453d","last_updated":"2026-08-30 12:57:09","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/softglaze\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":25,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.4.0":{"tag":"0.4.0","author":"softglaze","date":"2026-08-30 12:57:09","revision":3672537}},"upgrade_notice":{"0.4.0":"<p>A WooCommerce order now produces the tax invoice on its own, once the seller details are filled in. Before this, the generator had to be called from code.<\/p>","0.3.0":"<p>Adds UBL 2.1 output for the ZATCA integration phase and the PINT AE payload for the UAE. No setting changes are needed.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3672537,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3672537,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3672537,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3672537,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.4.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3672537,"resolution":"1","location":"assets","locale":"","width":1606,"height":1389},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3672537,"resolution":"10","location":"assets","locale":"","width":1160,"height":840},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3672537,"resolution":"11","location":"assets","locale":"","width":1160,"height":840},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3672537,"resolution":"2","location":"assets","locale":"","width":1606,"height":652},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3672537,"resolution":"3","location":"assets","locale":"","width":1606,"height":513},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3672537,"resolution":"4","location":"assets","locale":"","width":1606,"height":376},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3672537,"resolution":"5","location":"assets","locale":"","width":1606,"height":1313},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3672537,"resolution":"6","location":"assets","locale":"","width":1160,"height":840},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3672537,"resolution":"7","location":"assets","locale":"","width":1160,"height":840},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3672537,"resolution":"8","location":"assets","locale":"","width":1160,"height":840},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3672537,"resolution":"9","location":"assets","locale":"","width":1160,"height":840}},"screenshots":{"1":"A Saudi simplified tax invoice as the customer receives it: the Arabic and English headings side by side, the seller block with the VAT registration number, the priced lines, the totals and the ZATCA TLV QR code.","2":"The head of the invoice. The document title, the seller name and registered address in both languages, the VAT registration number, and the invoice number, issue date and issue time that Annex 2 makes mandatory.","3":"The line items. Every column is headed in Arabic and in English, and each line carries its quantity, unit price and total.","4":"The totals and the QR code. The QR encodes the five ZATCA TLV tags: the seller name, the VAT registration number, the timestamp, the total including VAT, and the VAT amount.","5":"A second invoice raised from a different order, with the numbering running in sequence against the register.","6":"The settings screen. The seller name and address in Arabic and English, the VAT registration number, the VAT rate and the currency invoices are issued in.","7":"The registered address in parts, and the registration identifiers the two XML profiles ask for: the Saudi commercial register entry, and the UAE trade licence and electronic address.","8":"The submission section, which says plainly what this add-on does and does not do, and where the provider connector for each country is chosen.","9":"The WooCommerce orders list, with an invoice against every completed order.","10":"The order screen. The document box belongs to SoftGlaze PDF Invoices; this add-on replaces what the invoice contains, so the button that was already there now produces the bilingual tax invoice.","11":"The Plugins screen, showing the dependency in both directions. The parent plugin cannot be deactivated while this add-on is relying on it."}},"plugin_section":[],"plugin_tags":[225611,12480,19126,286,249732],"plugin_category":[45],"plugin_contributors":[271804],"plugin_business_model":[],"class_list":["post-360644","plugin","type-plugin","status-publish","hentry","plugin_tags-e-invoicing","plugin_tags-invoice","plugin_tags-vat","plugin_tags-woocommerce","plugin_tags-zatca","plugin_category-ecommerce","plugin_contributors-softglaze","plugin_committers-softglaze"],"banners":{"banner":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/banner-772x250.png?rev=3672537","banner_2x":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/banner-1544x500.png?rev=3672537","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/icon-128x128.png?rev=3672537","icon_2x":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/icon-256x256.png?rev=3672537","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-1.png?rev=3672537","caption":"A Saudi simplified tax invoice as the customer receives it: the Arabic and English headings side by side, the seller block with the VAT registration number, the priced lines, the totals and the ZATCA TLV QR code."},{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-2.png?rev=3672537","caption":"The head of the invoice. The document title, the seller name and registered address in both languages, the VAT registration number, and the invoice number, issue date and issue time that Annex 2 makes mandatory."},{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-3.png?rev=3672537","caption":"The line items. Every column is headed in Arabic and in English, and each line carries its quantity, unit price and total."},{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-4.png?rev=3672537","caption":"The totals and the QR code. The QR encodes the five ZATCA TLV tags: the seller name, the VAT registration number, the timestamp, the total including VAT, and the VAT amount."},{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-5.png?rev=3672537","caption":"A second invoice raised from a different order, with the numbering running in sequence against the register."},{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-6.png?rev=3672537","caption":"The settings screen. The seller name and address in Arabic and English, the VAT registration number, the VAT rate and the currency invoices are issued in."},{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-7.png?rev=3672537","caption":"The registered address in parts, and the registration identifiers the two XML profiles ask for: the Saudi commercial register entry, and the UAE trade licence and electronic address."},{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-8.png?rev=3672537","caption":"The submission section, which says plainly what this add-on does and does not do, and where the provider connector for each country is chosen."},{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-9.png?rev=3672537","caption":"The WooCommerce orders list, with an invoice against every completed order."},{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-10.png?rev=3672537","caption":"The order screen. The document box belongs to SoftGlaze PDF Invoices; this add-on replaces what the invoice contains, so the button that was already there now produces the bilingual tax invoice."},{"src":"https:\/\/ps.w.org\/softglaze-invoices-gulf\/assets\/screenshot-11.png?rev=3672537","caption":"The Plugins screen, showing the dependency in both directions. The parent plugin cannot be deactivated while this add-on is relying on it."}],"raw_content":"<!--section=description-->\n<p>An add-on for SoftGlaze PDF Invoices that adds what a tax invoice in Saudi Arabia and the United Arab Emirates has to carry.<\/p>\n\n<p>What it does:<\/p>\n\n<ul>\n<li>Issues ZATCA generation-phase simplified tax invoices, including the TLV QR code and a bilingual Arabic and English layout.<\/li>\n<li>Keeps a register of what was issued: the totals, the VAT rate in force, the QR payload exactly as encoded, and a snapshot of the document.<\/li>\n<li>Produces UBL 2.1 XML for the ZATCA integration phase, and a PINT AE payload for the UAE.<\/li>\n<li>Hands a finished document to a certified provider through a connector interface.<\/li>\n<\/ul>\n\n<p>Once the seller details are filled in, a WooCommerce order produces the tax invoice on its own. The add-on takes the document over on the parent plugin's own developer seam, so the customer is given the bilingual invoice rather than the parent's, and the number printed on it is the one this add-on issued. That is deliberate: the number a tax invoice carries has to be the one the seller issued for it, and it is the number encoded in the QR code. A document that is not a tax invoice, a store that has not been configured yet, and anything the generator refuses, all leave the parent's own document exactly as it was.<\/p>\n\n<h4>What it does not do<\/h4>\n\n<p>This add-on does not transmit anything, and it is not an Accredited Service Provider.<\/p>\n\n<p>Clearing an invoice with ZATCA needs a cryptographic stamp issued through onboarding with ZATCA, which is a credential belonging to a specific taxpayer. Transmission in the UAE is legally an Accredited Service Provider's, and accreditation requires a Peppol-certified solution that has been in operation for at least two years. Neither is something this plugin can hold on your behalf.<\/p>\n\n<p>So the honest description of what you get is: correct invoice data, ready to hand to the provider you have chosen. The provider does the filing.<\/p>\n\n<h4>Requirements<\/h4>\n\n<p>SoftGlaze PDF Invoices must be installed and active. This is an add-on and does nothing on its own.<\/p>\n\n<h3>Resources<\/h3>\n\n<p>Amiri 1.000\nCopyright 2010-2022 The Amiri Project Authors\nLicense: SIL Open Font License 1.1\nSource: https:\/\/github.com\/aliftype\/amiri\nBundled at assets\/fonts\/, unmodified. The regular and bold faces are embedded in the PDF so an Arabic invoice renders the same on any host. The licence text is at assets\/fonts\/OFL.txt.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate SoftGlaze PDF Invoices.<\/li>\n<li>Upload this plugin to <code>\/wp-content\/plugins\/<\/code> and activate it.<\/li>\n<li>Open the settings screen and enter the seller details a tax invoice needs: the registered name, the VAT registration number and the national address.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20zatca%20compliant%3F\"><h3>Is this ZATCA compliant?<\/h3><\/dt>\n<dd><p>It generates ZATCA generation-phase simplified tax invoices, and it produces UBL 2.1 documents for the integration phase. It does not stamp or submit them. An invoice is compliant once your provider has cleared or reported it.<\/p><\/dd>\n<dt id=\"does%20it%20work%20without%20the%20parent%20plugin%3F\"><h3>Does it work without the parent plugin?<\/h3><\/dt>\n<dd><p>No. It adds fields, a renderer and a register to SoftGlaze PDF Invoices, and stands down when that plugin is absent.<\/p><\/dd>\n<dt id=\"which%20vat%20rate%20does%20it%20use%3F\"><h3>Which VAT rate does it use?<\/h3><\/dt>\n<dd><p>The rate is configurable per country and is stored with each invoice, so a rate change does not rewrite an invoice that was already issued.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>A WooCommerce order now produces the tax invoice without anything having to call the generator.<\/li>\n<li>The document is taken over on the parent plugin's <code>sgci_document_html<\/code> seam, and the number printed is the one issued against this add-on's register.<\/li>\n<li>A receipt, a proforma, an unconfigured store, or any refusal by the generator leaves the parent's document untouched.<\/li>\n<li>Added the <code>sgig_render_document<\/code> filter, which switches the takeover off for one document or for all of them.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Added UBL 2.1 output for the ZATCA integration phase.<\/li>\n<li>Added the PINT AE payload for the UAE.<\/li>\n<li>Added a provider-agnostic connector interface. No implementation ships.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Added the invoice register and reprinting from the register.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First release. ZATCA generation-phase simplified tax invoices with the TLV QR code.<\/li>\n<\/ul>","raw_excerpt":"Gulf tax invoice fields, Arabic layout and e-invoicing payloads for SoftGlaze PDF Invoices.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/360644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=360644"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/softglaze"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=360644"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=360644"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=360644"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=360644"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=360644"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=360644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}