SkillAgentSearch skills...

ZatcaPython

Python Code Example for Zatca eInvoice Integration Phase 2

Install / Use

/learn @mabaega/ZatcaPython
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

ZatcaPython

Python 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.

PYTHON CODE ONBOARDING


1. Generate CSR and PrivateKey


Private Key (without header and footer):
MHQCAQEEIP6sv9VZofb9torspSRPm3DQ/VODEDI5anl3y==========================================YjcOITeSc8E+XQDEt0Sb2/wPA4YKPA3i2l6HESt1OX2PTXVSwHBZg==

Base64 Encoded CSR:
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ0ZqQ0NBYjBDQVFBd2RURUxNQWtHQTFVRUJoTUNVMEV4RmpBVUJnTlZCQXNNRFZKcGVXRmthQ0JDY21GdQpZMmd4SmpBa0JnTlZCQW9NSFUxaGVHbHRkVzBnVTNCbFpXUWdWR1ZqYUNCVGRYQndiSGtnVEZSRU1TWXdKQVlEClZRUUREQjFVVTFRdE9EZzJORE14TVRRMUxUTTVPVGs1T1RrNU9Ua3dNREF3TXpCV01CQUdCeXFHU000OUFnRUcKQlN1QkJBQUtBMElBQkhlM294NDRTUGgzTXo3bVljSDVHbTNicDhRRkZkdjdSVUdJM0RpRTNrblBCUGwwQXhMZApFbTl2OER3T0dDandONHRwZWh4RXJkVGw5ajAxMVVzQndXYWdnZWd3Z2VVR0NTcUdTSWIzRFFFSkRqR0IxekNCCjFEQWlCZ2tyQmdFRUFZSTNGQUlFRlZSVFZGcEJWRU5CTFVOdlpHVXRVMmxuYm1sdVp6Q0JyUVlEVlIwUkJJR2wKTUlHaXBJR2ZNSUdjTVRzd09RWURWUVFFRERJeExWUlRWSHd5TFZSVFZId3pMV1ZrTWpKbU1XUTRMV1UyWVRJdApNVEV4T0MwNVlqVTRMV1E1WVRobU1URmxORFExWmpFZk1CMEdDZ21TSm9tVDhpeGtBUUVNRHpNNU9UazVPVGs1Ck9Ua3dNREF3TXpFTk1Bc0dBMVVFREF3RU1URXdNREVSTUE4R0ExVUVHZ3dJVWxKU1JESTVNamt4R2pBWUJnTlYKQkE4TUVWTjFjSEJzZVNCaFkzUnBkbWwwYVdWek1Bb0dDQ3FHU000OUJBTUNBMGNBTUVRQ0lHNDNDRVcrUXN2YgpObWJHQ0kxWS9MOWJLc0E1c05ZUmUydnNxdUl3V29yOUFpQitDZGRIQUNqczdTRHFmN3UxR01FNnlJQXVPYnRrCmN0RDhVMk55ZW5yczdBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUgUkVRVUVTVC0tLS0tCg==

2. Get Compliance CSID


complianceCSID Server Response:
{
    "requestType": "Compliance CSID",
    "apiUrl": "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance",
    "requestID": 1234567890123,
    "dispositionMessage": "ISSUED",
    "binarySecurityToken": "TUlJQ1BEQ0NBZU9nQXdJQkFnSUdBWk5FV2k3Q01Bb0dDQ3FHU000OUJBTUNNQlV4RXpBUkJnTlZCQU1NQ21WSmJuWnZhV05wYm1jd0hoY05NalF4TVRFNU1USXhOakUyV2hjTk1qa3hNVEU0TWpFd01EQXdXakIxTVFzd0NRWURWUVFHRXdKVFFURVdNQlFHQTFVRUN3d05VbWw1WVdSb0lFSnlZVzVqYURFbU1DUUdBMVVFQ2d3ZFRXRjRhVzExYlNCVGNHVmxaQ0JVWldOb0lGTjFjSEJzZVNCTVZFUXhKakFrQmdOVkJBTU1IVlJUVkMwNE9EWTBNekV4TkRVdE16azVPVGs1T1RrNU9UQXdNREF6TUZZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUFvRFFnQUVkN2VqSGpoSStIY3pQdVpod2ZrYWJkdW54QVVWMi90RlFZamNPSVRlU2M4RStYUURFdDBTYjIvd1BBNFlLUEEzaTJsNkhFU3QxT1gyUFRYVlN3SEJacU9Cd1RDQnZqQU1CZ05WSFJNQkFmOEVBakFBTUlHdEJnTlZIUkVFZ2FVd2dhS2tnWjh3Z1p3eE96QTVCZ05WQkFRTU1qRXRWRk5VZkRJdFZGTlVmRE10WldReU1tWXhaRGd0WlRaaE1pMHhNVEU0TFRsaU5UZ3RaRGxoT0dZeE1XVTBORFZtTVI4d0hRWUtDWkltaVpQeUxHUUJBUXdQTXprNU9UazVPVGs1T1RBd01EQXpNUTB3Q3dZRFZRUU1EQVF4TVRBd01SRXdEd1lEVlFRYURBaFNVbEpFTWpreU9URWFNQmdHQTFVRUR3d1JVM1Z3Y0d4NUlHRmpkR2wyYVhScFpYTXdDZ1lJS29aSXpqMEVBd0lEUndBd1JBSWdTZThBeEtQNkFQOTBjcnVDOVZqK0pXY1hXRGFNcXk4RVFjb0k3SUhwb2hvQ0lIbUJlQUxXcVJYRC9pM2lGbFJ2RWF3M0pDNFI4Y3lkdXFRSjYyeUtmSWVF",
    "secret": "iPOtp5HjK7FzPgSJhqJFPPXIpVweYG/5SVgnE61a4Ck="
}

3: Sending Sample Documents

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


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


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


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


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


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




4. Get Production CSID

Production 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": "TUlJRDNqQ0NBNFNnQXdJQkFnSVRFUUFBT0FQRjkwQWpzL3hjWHdBQkFBQTRBekFLQmdncWhrak9QUVFEQWpCaU1SVXdFd1lLQ1pJbWlaUHlMR1FCR1JZRmJHOWpZV3d4RXpBUkJnb0praWFKay9Jc1pBRVpGZ05uYjNZeEZ6QVZCZ29Ka2lhSmsvSXNaQUVaRmdkbGVIUm5ZWHAwTVJzd0dRWURWUVFERXhKUVVscEZTVTVXVDBsRFJWTkRRVFF0UTBFd0hoY05NalF3TVRFeE1Ea3hPVE13V2hjTk1qa3dNVEE1TURreE9UTXdXakIxTVFzd0NRWURWUVFHRXdKVFFURW1NQ1FHQTFVRUNoTWRUV0Y0YVcxMWJTQlRjR1ZsWkNCVVpXTm9JRk4xY0hCc2VTQk1WRVF4RmpBVUJnTlZCQXNURFZKcGVXRmthQ0JDY21GdVkyZ3hKakFrQmdOVkJBTVRIVlJUVkMwNE9EWTBNekV4TkRVdE16azVPVGs1T1RrNU9UQXdNREF6TUZZd0VBWUhLb1pJemowQ0FRWUZLNEVFQUFvRFFnQUVvV0NLYTBTYTlGSUVyVE92MHVBa0MxVklLWHhVOW5QcHgydmxmNHloTWVqeThjMDJYSmJsRHE3dFB5ZG84bXEwYWhPTW1Obzhnd25pN1h0MUtUOVVlS09DQWdjd2dnSURNSUd0QmdOVkhSRUVnYVV3Z2FLa2daOHdnWnd4T3pBNUJnTlZCQVFNTWpFdFZGTlVmREl0VkZOVWZETXRaV1F5TW1ZeFpEZ3RaVFpoTWkweE1URTRMVGxpTlRndFpEbGhPR1l4TVdVME5EVm1NUjh3SFFZS0NaSW1pWlB5TEdRQkFRd1BNems1T1RrNU9UazVPVEF3TURBek1RMHdDd1lEVlFRTURBUXhNVEF3TVJFd0R3WURWUVFhREFoU1VsSkVNamt5T1RFYU1CZ0dBMVVFRHd3UlUzVndjR3g1SUdGamRHbDJhWFJwWlhNd0hRWURWUjBPQkJZRUZFWCtZdm1tdG5Zb0RmOUJHYktvN29jVEtZSzFNQjhHQTFVZEl3UVlNQmFBRkp2S3FxTHRtcXdza0lGelZ2cFAyUHhUKzlObk1Ic0dDQ3NHQVFVRkJ3RUJCRzh3YlRCckJnZ3JCZ0VGQlFjd0FvWmZhSFIwY0RvdkwyRnBZVFF1ZW1GMFkyRXVaMjkyTG5OaEwwTmxjblJGYm5KdmJHd3ZVRkphUlVsdWRtOXBZMlZUUTBFMExtVjRkR2RoZW5RdVoyOTJMbXh2WTJGc1gxQlNXa1ZKVGxaUFNVTkZVME5CTkMxRFFTZ3hLUzVqY25Rd0RnWURWUjBQQVFIL0JBUURBZ2VBTUR3R0NTc0dBUVFCZ2pjVkJ3UXZNQzBHSlNzR0FRU

Related Skills

View on GitHub
GitHub Stars18
CategoryFinance
Updated1mo ago
Forks12

Languages

Python

Security Score

80/100

Audited on Feb 5, 2026

No findings