Introduction
ZATCA (Zakat, Tax, and Customs Authority) is the government agency in Saudi Arabia responsible for managing Zakat (Islamic financial dues), taxes, and customs regulations. It oversees tax collection, ensures businesses comply with tax laws and implements digital systems like Fatoora (the e-invoicing platform) to streamline tax compliance and prevent fraud.
The Zakat, Tax, and Customs Authority (ZATCA) in Saudi Arabia has introduced the Fatoora platform to streamline tax compliance. Businesses must integrate with this system to generate customer invoices that include a standardized QR code for easy identification within the tax authority’s system.
-
This article describes how ZATCA integration works within PGM, ensuring compliance with Saudi Arabia's tax regulations.
-
The article will be helpful for PG Champions and Cub Owners.
Before you start
To activate ZATCA integration, please contact the Perfect Gym Support team.
Feature description
ZATCA integration in PGM supports the following three financial document types:
| PG Document type | Where is it available in PGM? | ZATCA Document type |
| Corporate Invoice | PGM > Finance > Corporate Invoices | Invoice |
| Individual invoice (issued to a member) | PGM > Finance > Invoices | Simplified Invoice |
| Receipt | PGM > Finance > Transaction documents | Simplified Invoice |
Key Points:
-
Each document type can have credit and debit notes, meaning that not only sales but also refunds (receipts/invoices/corporate invoices) are sent to ZATCA.
-
The integration works in real-time, but due to technical limitations of the ZATCA platform, creation times may be longer.
-
If there are validation errors from ZATCA, they will be displayed to the employee.
Corporate Invoice Processing
When a corporate invoice is created in PGM:
-
A request is sent to ZATCA for validation.
-
The invoice is sent to ZATCA even if there is a receipt for the same transaction.
-
The request includes:
-
Seller data
-
Buyer data (including detailed contact details for B2B invoices)
-
Invoice data
-
Invoice counter and previous invoice hash (as required by ZATCA)
-
-
ZATCA returns a QR code, which is then embedded in the invoice file.
Tax invoices (in PGM > Finances > Corporate invoices) require detailed contact information for the buyer. Therefore, B2B invoices must include complete company data for the buyers, not just for the sellers (see ZATCA integration set up | Knowledge base).
Receipt & Invoice Processing
For simplified invoices (receipts or invoices issued to members - B2C):
1. ZATCA requires that customers receive a simplified invoice with a valid QR code immediately.
2. Typically, a receipt will be printed internally immediately after a sale, triggering a call to the ZATCA connector to generate a QR code.
3. If an invoice is generated for the same transaction, it will not trigger a new ZATCA request. Instead, the existing QR code from the receipt will be reused.
4. Simplified invoices (in PG - invoices/receipts) require less data than a corporate invoice. The request includes:
-
Seller data
-
Invoice data
-
Invoice counter and previous invoice hash (as required by ZATCA) for validation.
5. ZATCA returns a QR code, which is embedded in the invoice file.