Table of Contents
- 1 ZATCA Module for UltimatePOS ERP: A Complete Guide to Seamless E-Invoicing Compliance in Saudi Arabia
- 1.1 Introduction to the ZATCA Module for UltimatePOS
- 1.2 Setting Up the ZATCA Module: Step-by-Step Onboarding
- 1.3 Invoice Synchronization: Manual, Instant, and Daily Modes
- 1.4 Generating Compliant Invoices: XML and PDF Downloads
- 1.5 Handling Sales Returns and Multiple Business Locations
- 1.6 Advantages of Using the Laravel-Based ZATCA Module by Ultimatefosters
- 1.7 Additional Features and Flexibility
- 1.8 Frequently Asked Questions (FAQ)
- 1.8.1 What is the ZATCA Module for UltimatePOS?
- 1.8.2 How does the onboarding process work?
- 1.8.3 Can I sync invoices manually?
- 1.8.4 Which tax rates are supported?
- 1.8.5 Does this module require third-party APIs?
- 1.8.6 Can I onboard multiple business locations?
- 1.8.7 Is it possible to test the onboarding before going live?
- 1.8.8 Where can I learn more about UltimatePOS and other modules?
- 1.9 Conclusion
ZATCA Module for UltimatePOS ERP: A Complete Guide to Seamless E-Invoicing Compliance in Saudi Arabia
For businesses operating in Saudi Arabia, staying compliant with the Zakat, Tax, and Customs Authority (ZATCA) regulations is critical, especially with the evolving e-invoicing requirements. The ZATCA Module for UltimatePOS, developed by Ultimate Fosters, is designed specifically to help businesses meet Phase II of the ZATCA e-invoicing mandate effortlessly. This comprehensive guide will walk you through everything you need to know about installing, configuring, and using the Laravel-based ZATCA Module integrated with UltimatePOS ERP. Whether you’re a small retailer or managing multiple business locations, this module ensures your sales invoices and returns sync directly with the official ZATCA portal, maintaining full compliance without relying on third-party APIs.
Introduction to the ZATCA Module for UltimatePOS
The ZATCA Module is a powerful add-on for UltimatePOS, the popular Laravel PHP-based Point of Sale system. It integrates your business’s sales and invoicing operations directly with the ZATCA e-invoicing platform, streamlining the compliance process. This module supports Phase II of ZATCA’s invoicing requirements, which is mandatory for many businesses in Saudi Arabia. By using this module, you benefit from:
- Direct API integration with ZATCA—no third-party services involved
- Automated syncing of invoices and sales returns with the ZATCA portal
- Support for multiple business locations with separate onboarding
- Options for instant, daily, or manual synchronization of invoices
- Generation of compliant XML and PDF invoices featuring QR codes
- Easy configuration of tax rates compliant with ZATCA requirements
For businesses already using UltimatePOS, this module is an essential upgrade to stay ahead of regulatory demands. If you’re new to UltimatePOS, you can learn more about the system and its capabilities in our detailed overview here.
Setting Up the ZATCA Module: Step-by-Step Onboarding
Once you have installed the ZATCA Module, the first step is to access the module and apply the required settings for it to function properly. Follow these steps:
- Scroll down in the UltimatePOS dashboard to find the ZATCA menu.
- Click on the ZATCA Module menu to reveal the onboarding options.
- Apply the settings by clicking the Apply Settings button. Ensure all settings show green check marks, indicating proper configuration.
The module offers three synchronization modes for your invoices:
- Disable: You manually sync invoices whenever needed.
- Instant: Invoices are synced immediately upon creation.
- Daily: Invoices sync automatically at the end of each day via a cron job.
Most businesses prefer the daily sync option as it automates compliance without impacting real-time operations. The cron job required for daily sync is pre-configured and ready to use.
Onboarding Multiple Business Locations
If your business operates from multiple locations, you must complete the onboarding process for each location separately. The module allows you to select each business location and onboard it accordingly.
During onboarding, you choose the portal mode:
- Developer Portal (Simulation Mode): Ideal for testing and familiarizing yourself with the onboarding process. This mode uses dummy data and does not sync with the live ZATCA authority.
- Core Mode (Live Mode): For actual synchronization with the live ZATCA portal.
It’s recommended to first try the Developer Portal to get comfortable with the data entry and validation process before moving to the live Core Mode.
Completing Onboarding with Developer Portal
In Developer Portal mode, you will fill in all required information as dummy data. This includes:
- Organization unit name (branch name)
- Company or organization name
- GS serial number and VAT registration type (B2C or B2B)
- Registered address details as per your national address card
- Business category and CRN number
- Street name, building, and plot identification
After filling out all the information, click the Submit button. The system will take a few moments to verify and sync the data with the ZATCA authority. A success message confirms that your business location has been successfully onboarded.
Switching to Live Core Mode
Once you are confident with the Developer Portal, switch to the live Core Mode by selecting it and submitting the required OTP (One Time Password). This step connects your business directly to the live ZATCA environment, enabling real-time invoice synchronization.
Keep in mind that the live mode requires accurate and validated data input to ensure compliance.
Invoice Synchronization: Manual, Instant, and Daily Modes
Invoice synchronization is a crucial feature of the ZATCA Module. Depending on your business needs, you can choose from three sync options:
- Manual Sync (Disable Auto Sync): You manually sync invoices by clicking the Sync button in the sales list whenever you want to send invoices to ZATCA.
- Instant Sync: Invoices are automatically synced as soon as they are created.
- Daily Sync: Invoices are synced once daily at the end of the day through a scheduled cron job.
When you manually sync, if there is an error in any invoice, such as an incorrect tax percentage, the system will show an error message. For example, a common error is an invalid tax percentage like 10%, which is not accepted by ZATCA.
ZATCA requires tax rates to be either 0%, 5%, or 15%. If your invoice contains a tax rate outside these values, such as 10%, it will fail to synchronize.
To fix this, ensure your tax rates in UltimatePOS are properly configured. Navigate to the business tax settings and adjust your tax rates to match ZATCA standards.
Generating Compliant Invoices: XML and PDF Downloads
Once your invoices are synced, the ZATCA Module allows you to download them in two compliant formats:
- XML Format: Download the raw XML invoice, which contains all the necessary e-invoicing data structured according to ZATCA requirements.
- PDF Format (A3 size): Download a neatly organized PDF invoice featuring a QR code. The QR code complies with ZATCA guidelines and is generated directly from the ZATCA portal.
The PDF invoice includes all essential information such as invoice number, date, due date, payment terms, seller and buyer details, item description, quantity, unit price, and totals—all presented in Arabic and formatted to meet ZATCA specifications.
Handling Sales Returns and Multiple Business Locations
The module also supports synchronization of sales returns. Similar to invoices, sales returns can be synced manually, instantly, or daily based on your auto-sync settings. This ensures your business remains compliant across all transaction types.
If your business has multiple outlets or locations, you must onboard each location separately and configure its settings individually. This modular approach guarantees that each location complies with ZATCA regulations independently.
Advantages of Using the Laravel-Based ZATCA Module by Ultimatefosters
There are several significant benefits to choosing the ZATCA Module developed by Ultimatefosters for UltimatePOS:
- No Third-Party APIs: The module communicates directly with the official ZATCA APIs, eliminating the need for any intermediaries. This reduces costs and potential security risks.
- Cost Efficiency: You don’t pay for the number of API requests made, which is a common issue with third-party solutions.
- Full Control: As the module is part of UltimatePOS, you maintain full control over your data and compliance processes.
- Scalability: Easily register and onboard multiple businesses and locations under one system.
- Customization: Built on Laravel PHP, the module is flexible and can be customized to fit specific business needs.
For more information about UltimatePOS and its modules, check out our comprehensive resources on UltimatePOS module development and UltimatePOS Advanced Stock Management.
Additional Features and Flexibility
The ZATCA Module also provides the option to generate Phase I-compliant invoices if you still need to meet initial e-invoicing requirements. You can select whether to comply with Phase I or Phase II and print the corresponding QR codes on your invoices.
This flexibility ensures that the module can adapt to different stages of compliance, making it a future-proof solution for your business.
Frequently Asked Questions (FAQ)
What is the ZATCA Module for UltimatePOS?
The ZATCA Module is an integration add-on for UltimatePOS that helps businesses in Saudi Arabia comply with ZATCA’s e-invoicing regulations by syncing invoices and sales returns directly with the official ZATCA portal.
How does the onboarding process work?
Onboarding involves registering each business location with ZATCA through the module by entering required business details and selecting the portal mode (Developer or Core). After successful onboarding, your business is connected to ZATCA for invoice synchronization.
Can I sync invoices manually?
Yes, the module allows manual synchronization by disabling auto-sync and clicking the Sync button whenever you want to send invoices to ZATCA.
Which tax rates are supported?
ZATCA only supports 0%, 5%, and 15% tax rates. Invoices with other tax rates like 10% will fail to synchronize.
Does this module require third-party APIs?
No, it directly uses ZATCA’s official APIs, ensuring more secure, reliable, and cost-effective integration.
Can I onboard multiple business locations?
Yes, each business location must be onboarded separately, which the module supports fully.
Is it possible to test the onboarding before going live?
Yes, the Developer Portal (Simulation Mode) lets you test onboarding with dummy data before switching to live Core Mode.
Where can I learn more about UltimatePOS and other modules?
You can explore detailed documentation and module listings at UltimateFosters Documentation and browse available modules at UltimatePOS Advanced Module.
Conclusion
Complying with Saudi Arabia’s ZATCA e-invoicing regulations is simplified with the Laravel-based ZATCA Module for UltimatePOS by Ultimatefosters. This module provides a seamless, reliable, and cost-effective solution to connect your business sales and invoicing system directly to the official ZATCA portal, ensuring compliance with Phase II requirements.
By following the straightforward onboarding process, configuring your tax rates correctly, and choosing the appropriate synchronization mode, your business can confidently meet regulatory obligations without hassle. The module’s ability to handle multiple locations, generate compliant XML and PDF invoices, and avoid third-party dependencies makes it an indispensable tool for businesses in Saudi Arabia.
To get started, visit the ZATCA Module product page and integrate this powerful tool into your UltimatePOS system today. For further assistance or questions, the Ultimatefosters community and support channels are readily available to help.
Explore more about point of sale systems and UltimatePOS features in our related blog posts:
Leave A Comment