New Explainer video, covering almost all areas we discussed here. Watch it here
I encountered a problem with a user who was trying to return an old invoice entered into an old system. Before linking to Phase 2, I added a new field, “Return Against Old Invoice.” This field is intended for this purpose, as the original invoice number is mandatory according to Zatca.
With Phase 2, how can this be handled?
I suggest adding this field so that the script can use it if the primary field is empty.
Regarding the “Zatca Tax Category” selection shown on the invoice,
The user will also select the “Sales Taxes and Charges Template”
which is considered a duplicate entry of the same information, which may result in errors.
I suggest deleting the “Zatca Tax Category” field and linking it only to the “Item Tax Template” while ensuring a link to the “Sales Taxes and Charges Template” to ensure consistency.
This ensures that all tax types, including zero-rated, exempt, and out-of-scope, are defined in a single step.
There is legal complication about submitting a return against a invoice thats not submitted to Zatca . Need comfirmation from zatca account manager before doing this .
Many companies not using “Item tax template” as they have always 15% tax. So we kept this option.
Anyhow we can add an option say “Managed by Iitem Tax Template”
Thanks for the suggesion, appreciate that.
ZATCA Integration for ERPNext – Version 2.1.1 Released by ERPGulf
We’ve released Version 2.1.1 of the ZATCA integration for ERPNext, addressing several updates based on the latest ZATCA regulations. Please pull and update your instances accordingly.
The integration is open source and available on ERPGulf GitHub page.
This update is also available via Frappe Cloud.
Thank you for your valuable feedback and continued support.
Getting below error message while validating the invoices from the zatca setup wizard. please assist to fix this issue.
Error from ZATCA API: {“validationResults”:{“infoMessages”:[{“type”:“INFO”,“code”:“XSD_ZATCA_VALID”,“category”:“XSD validation”,“message”:“Complied with UBL 2.1 standards in line with ZATCA specifications”,“status”:“PASS”}],“warningMessages”:[{“type”:“WARNING”,“code”:“BR-KSA-98”,“category”:“KSA”,“message”:“[BR-KSA-98] - The simplified invoice should be submitted within 24 hours of issuing the invoice.”,“status”:“WARNING”},{“type”:“WARNING”,“code”:“certificate-issuer-name”,“category”:“CERTIFICATE_ERRORS”,“message”:“X509Certificate (CCSID / PCSID) used for signing is not valid certificate (CCSID / PCSID) for this VAT Registration Number.”,“status”:“WARNING”},{“type”:“WARNING”,“code”:“invalid-signing-certificate”,“category”:“CERTIFICATE_ERRORS”,“message”:“X509Certificate (CCSID / PCSID) used for signing is not valid certificate (CCSID / PCSID) for this VAT Registration Number.”,“status”:“WARNING”}],“errorMessages”:[{“type”:“ERROR”,“code”:“certificate-permissions”,“category”:“CERTIFICATE_ERRORS”,“message”:“User only allowed to use the vat number that exists in the authentication certificate”,“status”:“ERROR”}],“status”:“ERROR”},“reportingStatus”:“NOT_REPORTED”,“clearanceStatus”:null,“qrSellertStatus”:null,“qrBuyertStatus”:null}
CSR not correct. Check your VAT document , and use proper values. and recreate CSR .
Are we need to give company name in arabic ?
Put English only in CSR
I happen to have this problem too. but only for simplified check. however for standard it only show the same error. I am using simulation. what could be wrong about csr. the VAT is copied directly from the fatoora platform so I m sure this is not the problem.
For legacy systems, custom made software, billing softwares, we have made intermediatory server, using Frappe ERPNext . See the details here . If you are not ERPNext user, but need a middleware server, you can use this solution
Watch explanatory video here
As discussed in this thread, This is the issue of descrepency with CSR and your data in ZATCA. Check the VAT certificate, use only english on CSR , and make sure you start process from CSR creation. It should work.
Dear ERPGulf Team,
Thank you for your continued support and contribution.
We are currently attempting to integrate ZATCA (v2.1.1) with our ERPNext v15 instance. While the setup wizard completes successfully using sandbox settings, we encounter the same error during the compliance check when switching to simulation or production mode.
The error returned by the ZATCA API is as follows:
Error: User only allowed to use the VAT number that exists in the authentication certificate.
Full Error Message
Error in wizard_button: Error from ZATCA API: {“validationResults”:{“infoMessages”:[{“type”:“INFO”,“code”:“XSD_ZATCA_VALID”,“category”:“XSD validation”,“message”:“Complied with UBL 2.1 standards in line with ZATCA specifications”,“status”:“PASS”}],“warningMessages”:[{“type”:“WARNING”,“code”:“BR-KSA-98”,“category”:“KSA”,“message”:“[BR-KSA-98] - The simplified invoice should be submitted within 24 hours of issuing the invoice.”,“status”:“WARNING”},{“type”:“WARNING”,“code”:“certificate-issuer-name”,“category”:“CERTIFICATE_ERRORS”,“message”:“X509Certificate (CCSID / PCSID) used for signing is not valid certificate (CCSID / PCSID) for this VAT Registration Number.”,“status”:“WARNING”},{“type”:“WARNING”,“code”:“invalid-signing-certificate”,“category”:“CERTIFICATE_ERRORS”,“message”:“X509Certificate (CCSID / PCSID) used for signing is not valid certificate (CCSID / PCSID) for this VAT Registration Number.”,“status”:“WARNING”}],“errorMessages”:[{“type”:“ERROR”,“code”:“certificate-permissions”,“category”:“CERTIFICATE_ERRORS”,“message”:“User only allowed to use the vat number that exists in the authentication certificate”,“status”:“ERROR”}],“status”:“ERROR”},“reportingStatus”:“NOT_REPORTED”,“clearanceStatus”:null,“qrSellertStatus”:null,“qrBuyertStatus”:null}
We have verified that the VAT number being used is correct and matches the one listed in our Fatoora portal. For reference, below are the relevant CSR details used during the setup:
csr.common.name=TST-886431145-311491435400003
csr.serial.number=1-TST|2-TST|3-5aac209b-753e-dba4-7edc-ce7058d6
csr.organization.identifier=311491435400003
csr.organization.unit.name=311491435400003
csr.organization.name=شركة ارتباط الرقمي لتقنية المعلومات
csr.country.name=SA
csr.invoice.type=1100
csr.location.address=JEDDAH
csr.industry.business.category=Information Technology Services
Here’s the Generated CSR Data:
Generated CSR Data
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ1NUQ0NBZThDQVFBd2dad3hDekFKQmdOVkJBWVRBbE5CTVJnd0ZnWURWUVFMREE4ek1URTBPVEUwTXpVMApNREF3TURNeFN6QkpCZ05WQkFvTVF0aTAyTEhaZzlpcElOaW4yTEhZcXRpbzJLZll0eURZcDltRTJMSFpndG1GCjJZb2cyWVRZcXRtQzJZYlppdGlwSU5pbjJZVFpoZGk1MllUWmlObUYyS2ZZcWpFbU1DUUdBMVVFQXd3ZFZGTlUKTFRnNE5qUXpNVEUwTlMwek1URTBPVEUwTXpVME1EQXdNRE13VmpBUUJnY3Foa2pPUFFJQkJnVXJnUVFBQ2dOQwpBQVJYcDJxZ20xVWtocTNkWVRDS3IzNnlIclhHYkRiQWRkUVZsQlBXVmM5MFAxTk1YUjFFUWJvYng2ZjRiR0pPClloeXNyQ3BwaUlRNVA0WmJIcFdkNFJxd29JSHlNSUh2QmdrcWhraUc5dzBCQ1E0eGdlRXdnZDR3SkFZSkt3WUIKQkFHQ054UUNCQmNNRlZCU1JWcEJWRU5CTFVOdlpHVXRVMmxuYm1sdVp6Q0J0UVlEVlIwUkJJR3RNSUdxcElHbgpNSUdrTVRjd05RWURWUVFFREM0eExWUlRWSHd5TFZSVFZId3pMVFppTWpWaE5HUTVMVGt4TnprdE1tVTJZeTB5Ck9HTTBMVE5tWVdVNU5EY3lNUjh3SFFZS0NaSW1pWlB5TEdRQkFRd1BNekV4TkRreE5ETTFOREF3TURBek1RMHcKQ3dZRFZRUU1EQVF4TVRBd01ROHdEUVlEVlFRYURBWktSVVJFUVVneEtEQW1CZ05WQkE4TUgwbHVabTl5YldGMAphVzl1SUZSbFkyaHViMnh2WjNrZ1UyVnlkbWxqWlhNd0NnWUlLb1pJemowRUF3SURTQUF3UlFJZ1V5OC9mVUEvCkJTRkthcVFuL1Q3VCtOUVVMQUhCc283Ulltbks0eDNaWktrQ0lRQ2ZSZVg4RmVwaHYzTVRBSFJCSVIwVUJpNFkKRjdTa3FPN3pPcFpqN0t0Lzd3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCg==
It appears that the system does not validate the certificate as authorized for the specified VAT number, despite matching the registered details.
VAT Certificate:
VAT ID in Fatoora:
- Could you kindly review and guide us on resolving this issue?
- Is there a mismatch in the certificate/VAT alignment or an issue in the CSR generation?
We appreciate your assistance and look forward to your guidance.
Best regards,
Remove Arabic text from CSR config ( put english name ) , also remove characters like & - etc.
Then re-create CSR
Due to some reasons, I can’t change the name of the company, is there any way to generate the CSR data manually?
Because the wizard fetches the name of the company that I cant change, is there any manual way to generate CSR?
Also, we’ve some clients with zatca erpgulf app integrated with Arabic company names, so I think the Arabic name shouldn’t be the issue.
Secondly, can you please share the path/location of private/public keys and CSR in erpnext?
DOnt use wizard in this case. you can use zatca setting inside company page. there you can change all CSR parameters. We have videos on youtube on how ot config .
I’ve seen the Zatca settings tab in company page.
I’m not sure about the steps to follow for complete configuration including csr generation. I’ve seen the new and old both video from erpgulf/claudion but I can’t find anything, can you please share the link of video or docs?
hi i am getting following error
"{“validationResults”:{“infoMessages”:[{“type”:“INFO”,“code”:“XSD_ZATCA_VALID”,“category”:“XSD validation”,“message”:“Complied with UBL 2.1 standards in line with ZATCA specifications”,“status”:“PASS”}],“warningMessages”:,“errorMessages”:[{“type”:“ERROR”,“code”:“certificate-permissions”,“category”:“CERTIFICATE_ERRORS”,“message”:“User only allowed to use the vat number that exists in the authentication certificate”,“status”:“ERROR”}],“status”:“ERROR”},“clearanceStatus”:“NOT_CLEARED”,“clearedInvoice”:null}
"
i am using 3 site on same server, my other site is working fine. what should be issue?