SkillAgentSearch skills...

ZatcaPHP

PHP Code Example Zatca eInvoice Integration Phase 2

Install / Use

/learn @mabaega/ZatcaPHP
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

ZatcaPHP

PHP Code Example for Zatca eInvoice Integration Phase 2

This code is full step to get Integrating with Zatca

  1. Onboarding

    • Generate CSR and PrivateKey
    • Get Compliance CSID
    • Sending Sample Invoice to Compliance Check Url (Standar, Credit Note and Debit Note for Standard and Simplified)
    • Get Production CSID
    • Save OnboardingInfo to File as Reference for Approval Process
  2. Invoice Approval (Clearance & Report)

    • Standard Invoice
    • Standard Credit Note
    • Standard Debit Note
    • Simplified Invoice
    • Simplified Credit Note
    • Simplified Debit Note

All Done In Sandbox Protal (Non Production Environtment) and Should not any Problem for Simulation and Production Environment

It just Simple code that work

All work well in my test on VSCode in Windows OS, please let me know, if anyone has problem trying this sample code.

Reference :

  • https://zatca.gov.sa/en/E-Invoicing/Pages/default.aspx
  • https://sandbox.zatca.gov.sa/downloadSDK
  • https://sandbox.zatca.gov.sa/IntegrationSandbox
  • https://zatca1.discourse.group/

Thank you.



PHP DEVICE ONBOARDING


Step 1. Generate CSR and PrivateKey
Private Key (without header and footer):
MHQCAQEEIBGaYPXoHpRtGR9JKBmYgeIQ7==================================================Z1TZbckyx7jKZXHjoexROoBKhDLea+g==
Base64 Encoded CSR:
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ0dqQ0NBYjhDQVFBd2RURUxNQWtHQTFVRUJoTUNVMEV4RmpBVUJnTlZCQXNNRFZKcGVXRmthQ0JDY21GdQpZMmd4SmpBa0JnTlZCQW9NSFUxaGVHbHRkVzBnVTNCbFpXUWdWR1ZqYUNCVGRYQndiSGtnVEZSRU1TWXdKQVlEClZRUUREQjFVVTFRdE9EZzJORE14TVRRMUxUTTVPVGs1T1RrNU9Ua3dNREF3TXpCV01CQUdCeXFHU000OUFnRUcKQlN1QkJBQUtBMElBQktxa0lHWnQzWkgwNHB1M0ZkTkRZQU92K3F1N0tMWkEzRmFsNjhXc3g5Y21lT3BEaGlVVApTOHBybWRVMlczSk1zZTR5bVZ4NDZIc1VUcUFTb1F5M212cWdnZW93Z2VjR0NTcUdTSWIzRFFFSkRqR0IyVENCCjFqQWtCZ2tyQmdFRUFZb2ZGQUlFRnhNVlZGTlVXa0ZVUTBFdFEyOWtaUzFUYVdkdWFXNW5NSUd0QmdOVkhSRUUKZ2FVd2dhS2tnWjh3Z1p3eE96QTVCZ05WQkFRTU1qRXRWRk5VZkRJdFZGTlVmRE10WldReU1tWXhaRGd0WlRaaApNaTB4TVRFNExUbGlOVGd0WkRsaE9HWXhNV1UwTkRWbU1SOHdIUVlLQ1pJbWlaUHlMR1FCQVF3UE16azVPVGs1Ck9UazVPVEF3TURBek1RMHdDd1lEVlFRTURBUXhNVEF3TVJFd0R3WURWUVFhREFoU1VsSkVNamt5T1RFYU1CZ0cKQTFVRUR3d1JVM1Z3Y0d4NUlHRmpkR2wyYVhScFpYTXdDZ1lJS29aSXpqMEVBd0lEU1FBd1JnSWhBTENnblJIVgppRTk3R1k3SGZ2Z2Z2cDFvQVRsaEpPZDFuWC9ZV2NTYXA2WVdBaUVBNUZJNnBEN3VIajU5bTBad29XZ2VtTzBxCjdMSWtlYk9XekpoaEQxejVkWms9Ci0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLQo=


Step 2. Get Compliance CSID
Compliance CSID Server Response: 
{
    "requestType": "Compliance CSID",
    "apiUrl": "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance",
    "requestID": 1234567890123,
    "dispositionMessage": "ISSUED",
    "binarySecurityToken": "TUlJQ1BUQ0NBZU9nQXdJQkFnSUdBWk5FWkd1K01Bb0dDQ3FHU000OUJBTUNNQlV4RXpBUkJnTlZCQU1NQ21WSmJuWnZhV05wYm1jd0hoY05NalF4TVRFNU1USXlOekkzV2hjTk1qa3hNVEU0TWpFd01EQXdXakIxTVFzd0NRWURWUVFHRXdKVFFURVdNQlFHQTFVRUN3d05VbWw1WVdSb0lFSnlZVzVqYURFbU1DUUdBMVVFQ2d3ZFRXRjRhVzExYlNCVGNHVmxaQ0JVWldOb0lGTjFjSEJzZVNCTVZFUXhKakFrQmdOVkJBTU1IVlJUVkMwNE9EWTBNekV4TkRVdE16azVPVGs1T1RrNU9UQXdNREF6TUZZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUFvRFFnQUVxcVFnWm0zZGtmVGltN2NWMDBOZ0E2LzZxN3NvdGtEY1ZxWHJ4YXpIMXlaNDZrT0dKUk5MeW11WjFUWmJja3l4N2pLWlhIam9leFJPb0JLaERMZWErcU9Cd1RDQnZqQU1CZ05WSFJNQkFmOEVBakFBTUlHdEJnTlZIUkVFZ2FVd2dhS2tnWjh3Z1p3eE96QTVCZ05WQkFRTU1qRXRWRk5VZkRJdFZGTlVmRE10WldReU1tWXhaRGd0WlRaaE1pMHhNVEU0TFRsaU5UZ3RaRGxoT0dZeE1XVTBORFZtTVI4d0hRWUtDWkltaVpQeUxHUUJBUXdQTXprNU9UazVPVGs1T1RBd01EQXpNUTB3Q3dZRFZRUU1EQVF4TVRBd01SRXdEd1lEVlFRYURBaFNVbEpFTWpreU9URWFNQmdHQTFVRUR3d1JVM1Z3Y0d4NUlHRmpkR2wyYVhScFpYTXdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBT1A4a2doUFovRHhUNGZFWk1qbTEyUlV5d01obmJFV0hYTm1Ea3JjbWNyQ0FpQnNzZXBKdmtBZjM4RmM2ckFjeTI1dWF1K3R6U3ZSRURYaTZDV0ovUHJKbGc9PQ==",
    "secret": "WduTfE9fBUL3IebgjN9WXxl8q7jyBC1XLuZlz6Oije0="
}

Step 3: Sending Sample Documents
1 - Processing Standard Invoice...

complianceChecks Server Response: 
{
    "requestType": "Compliance Checks",
    "apiUrl": "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance/invoices",
    "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": [],
        "status": "PASS"
    },
    "clearanceStatus": "CLEARED"
}
Standard Invoice processed successfully

2 - Processing Standard CreditNote...

complianceChecks Server Response: 
{
    "requestType": "Compliance Checks",
    "apiUrl": "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance/invoices",
    "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": [],
        "status": "PASS"
    },
    "clearanceStatus": "CLEARED"
}
Standard CreditNote processed successfully
3 - Processing Standard DebitNote...

complianceChecks Server Response: 
{
    "requestType": "Compliance Checks",
    "apiUrl": "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance/invoices",
    "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": [],
        "status": "PASS"
    },
    "clearanceStatus": "CLEARED"
}
Standard DebitNote processed successfully

4 - Processing Simplified Invoice...

complianceChecks Server Response: 
{
    "requestType": "Compliance Checks",
    "apiUrl": "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance/invoices",
    "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": [],
        "status": "PASS"
    },
    "reportingStatus": "REPORTED"
}
Simplified Invoice processed successfully

5 - Processing Simplified CreditNote...

complianceChecks Server Response: 
{
    "requestType": "Compliance Checks",
    "apiUrl": "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance/invoices",
    "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": [],
        "status": "PASS"
    },
    "reportingStatus": "REPORTED"
}
Simplified CreditNote processed successfully

6 - Processing Simplified DebitNote...

complianceChecks Server Response: 
{
    "requestType": "Compliance Checks",
    "apiUrl": "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance/invoices",
    "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": [],
        "status": "PASS"
    },
    "reportingStatus": "REPORTED"
}
Simplified DebitNote processed successfully



Step 4. Get Production CSID

Pproduction CSID Server Response: 
{
    "requestType": "Production CSID",
    "apiUrl": "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/production/csids",
    "requestID": 30368,
    "tokenType": "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3",
    "dispositionMessage": "ISSUED",
    "binarySecurityToken": "TUlJRDNqQ0NBNFNnQXdJQkFnSVRFUUFBT0FQRjkwQWpzL3hjWHdBQkFBQTRBekFLQmdncWhrak9QUVFEQWpCaU1SVXdFd1lLQ1pJbWlaUHlMR1FCR1JZRmJHOWpZV3d4RXpBUkJnb0praWFKay9Jc1pBRVpGZ05uYjNZeEZ6QVZCZ29Ka2lhSmsvSXNaQUVaRmdkbGVIUm5ZWHAwTVJzd0dRWURWUVFERXhKUVVscEZTVTVXVDBsRFJWTkRRVFF0UTBFd0hoY05NalF3TVRFeE1Ea3hPVE13V2hjTk1qa3dNVEE1TURreE9UTXdXakIxTVFzd0NRWURWUVFHRXdKVFFURW1NQ1FHQTFVRUNoTWRUV0Y0YVcxMWJTQlRjR1ZsWkNCVVpXTm9JRk4xY0hCc2VTQk1WRVF4RmpBVUJnTlZCQXNURFZKcGVXRmthQ0JDY21GdVkyZ3hKakFrQmdOVkJBTVRIVlJUVkMwNE9EWTBNekV4TkRVdE16azVPVGs1T1RrNU9UQXdNREF6TUZZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUFvRFFnQUVvV0NLYTBTYTlGSUVyVE92MHVBa0MxVklLWHhVOW5QcHgydmxmNHloTWVqeThjMDJYSmJsRHE3dFB5ZG84bXEwYWhPTW1Obzhnd25pN1h0MUtUOVVlS09DQWdjd2dnSURNSUd0QmdOVkhSRUVnYVV3Z2FLa2daOHdnWnd4T3pBNUJnTlZCQVFNTWpFdFZGTlVmREl0VkZOVWZETXRaV1F5TW1ZeFpEZ3RaVFpoTWkweE1URTRMVGxpTlRndFpEbGhPR1l4TVdVME5EVm1NUjh3SFFZS0NaSW1pWlB5TEdRQkFRd1BNems1T1RrNU9UazVPVEF3TURBek1RMHdDd1lEVlFRTURBUXhNVEF3TVJFd0R3WURWUVFhREFoU1VsSkVNamt5T1RFYU1CZ0dBMVVFRHd3UlUzVndjR3g1SUdGamRHbDJhWFJwWlhNd0hRWURWUjBPQkJZRUZFWCtZdm1tdG5Zb0RmOUJHYktvN29jVEtZSzFNQjhHQTFVZEl3UVlNQmFBRkp2S3FxTHRtcXdza0lGelZ2cFAyUHhUKzlObk1Ic0dDQ3NHQVFVRkJ3RUJCRzh3YlRCckJnZ3JCZ0VGQlFjd0FvWmZhSFIwY0RvdkwyRnBZVFF1ZW1GMFkyRXVaMjkyTG5OaEwwTmxjblJGYm5KdmJHd3ZVRkphUlVsdWRtOXBZMlZUUTBFMExtVjRkR2RoZW5RdVoyOTJMbXh2WTJGc1gxQlNXa1ZKVGxaUFNVTkZVME5CTkMxRFFTZ3hLUzVqY25Rd0RnWURWUjBQQVFIL0JBUURBZ2VBTUR3R0NTc0dBUVFCZ2pjVkJ3UXZNQzBH
View on GitHub
GitHub Stars12
CategoryFinance
Updated3mo ago
Forks9

Languages

PHP

Security Score

77/100

Audited on Dec 6, 2025

No findings