ClearTax Docs
Subscribe for Updates
  • Introduction to ClearTax APIs
  • ☁️Clear Finance Cloud
    • Introduction to Clear Finance Cloud
    • Learn Clear Finance Cloud Basics
      • API client
      • Access token
      • FTP client
      • How to get Custom Upload Template ID?
    • CFC API Reference
      • Resources and Masters
        • Sale Document Line Object
        • Purchase Document Line Object
      • Generate Access Token API
      • Ingestion API
        • Ingest Documents via File
          • Get Pre-signed URL
          • Upload File to Storage
          • Trigger File Ingestion
          • Get File Ingestion Status
        • (Deprecated) Ingest Documents via JSON
    • Notifications
  • 🇮🇳GLS API
    • GLS API Reference
      • Resources and Masters
      • Advanced Ingestion API Reference
        • Get Pre-signed URL
        • Upload File to Storage
        • Create Ingestion Activity
        • Get Ingestion Activity Status
  • 🇮🇳GST API
    • Introduction to GST API
    • GST 2.0 API Reference
      • Upload Documents
    • GST FTP Magnet
  • 🇮🇳Max ITC API
    • Introduction to Max ITC API
    • Getting Started with Max ITC API
    • Max ITC API Reference
      • Resources and Masters
        • Input and output templates
        • Error Code Master
        • Learn Max ITC API Architecture
      • Max ITC APIs
        • Fetch Max ITC Configuration
        • Upload Purchase Documents
          • Ingest PR via File
          • (Deprecated) Ingest PR via JSON
        • Trigger Max ITC Workflow
        • Get Max ITC Results
        • Postman Collection
    • Max ITC FTP Magnet
  • 🇮🇳TDS API
    • Introduction to TDS API
    • TDS API Reference
      • Resources and Masters
        • Deduction Document Line Objects
        • Output Template(Error)
      • TDS APIs
        • Upload Deductions
          • Ingest Deductions via File
            • Get Pre-signed URL
            • Upload File to Storage
            • Trigger File Ingestion
            • Get File Ingestion Status
          • (Deprecated) Ingest Deductions via JSON
  • 🇮🇳E-Invoicing API
    • Introduction to E-Invoicing API
    • Learn E-Invoicing API Basics
      • How to get E-Invoicing User Auth Token?
      • How to scan the E-Invoice QR code?
      • How to add GSTIN to E-Invoicing?
        • Clear IRP API Credentials
    • Learn E-waybill API Basics
    • E-Invoicing API Reference
      • Setting up your account
      • Clear Schema
        • Generate IRN
        • Cancel IRN
        • Get E-Invoice PDF
        • Get E-Invoice by IRN
        • Generate E-Waybill by IRN
        • Generate E-Waybill for Non-IRN documents
        • Bulk Generate E-Waybill for Non-IRN documents
        • Cancel E-Waybill
        • Get E-Waybill PDF
        • Update E-Waybill Transporter ID
        • Update E-Waybill Part-B
        • Extend E-Waybill Validity
        • Generate/Regenerate Consolidated EWB
        • Get Consolidated EWB PDF
        • Initiate Multi-Vehicle E-Waybills
        • Update EWB Status from NIC
        • Download E-waybills by Others
        • Get E-Waybill Download Status
        • Get E-Waybills
        • Get latest E-Waybill status from Government
        • Generate B2C Payment QR Code
          • Generate B2C Payment QR Code (Lite)
        • Get Signed PDF
        • Sign PDF API Base 64 Encoded
        • Send an E-Invoice via Email
        • Get Invoice Details
      • Government Schema
        • Generate IRN
        • Cancel IRN
        • Get Invoice by IRN
        • Generate E-Waybill by IRN
      • Resources and Masters
        • E-Invoice Object
        • Country Code Master
        • State Code Master
        • Pincode Master
        • Pincode State Mapping Pattern
        • Port Code Master
        • Currency Code Master
        • UQC Master
        • Tax Rates
        • Error Codes
    • E-Invoicing FTP Magnet
  • 🇮🇳Invoicing API
    • Invoicing API Reference
      • Create an Invoice
      • Create Document (Non-Sale)
      • Download PDF of a Document
      • Get Document details
      • Resources and Master
        • Country Master
        • State Master
        • Pincode Master
        • Port Master
        • Currency Master
        • Unit Master
        • Document Types
        • Supply Types
  • 🇲🇾E-INVOICING MALAYSIA API
    • E-Invoicing Malaysia API Reference
      • Resources and Masters
        • Error resolution guide
        • Frequently asked questions (FAQs)
        • E-Invoice Object
      • Generate Access Token API
      • Malaysia E-Invoicing APIs
        • Generate E-Invoice for a Document
        • Status Check for Submitted E-Invoice
        • Cancel E-Invoice
        • Upload E-Invoice
        • Get Documents
        • Get E-Invoice PDF
        • Get Document via UUID
        • Delete Invoice
        • Send Bulk Email
        • Search Taxpayer Tin API
  • E-Invoicing FTP Magnet (XML)
  • E-Invoicing FTP Magnet (Excel)
  • 🇸🇦E-Invoicing KSA API
    • Introduction to E-Invoicing KSA API
    • Learn E-Invoicing KSA API Basics
      • How to get E-Invoicing KSA Auth Token?
      • How to add a VAT number to KSA E-Invoicing Account?
      • How to add Branch for existing Vat to KSA E-Invoicing Account ?
      • How to register a device for a VAT?
      • How to generate OTP on ERAD Portal?
      • How to get Print Template ID?
      • KSA E-Invoicing Integration Architecture
    • E-Invoicing KSA API Reference
      • Resources and Masters
        • E-Invoice Object
        • Error Details Object
        • Data Types
        • Code Lists
        • Common Errors and Resolution
      • Authentication
      • Generate Access Token API
      • KSA E-Invoicing APIs
        • Generate E-Invoice
          • Additional Standard (B2B) E-Invoice Examples
          • Additional Simplified (B2C) E-Invoice Examples
        • Generate E-Invoice Async
        • Generate E-Invoice via XML
        • Send Signed E-Invoice XML To ZATCA
        • Get Bulk Invoice Lite
        • Get Invoice
        • Get E-Invoice PDF
        • Get E-Invoice PDF/A-3 with PDF API
        • Register Device
        • Get PCSID Generation Status
        • Renew PCSID
        • Generate E-Invoice (Phase I)
        • Generate QR Code (Phase I)
        • Generate Device ID
        • Generate CSID and PCSID
        • Send E-Invoice via Email
        • Add Business units API
    • E-Invoicing KSA FTP Magnet
    • E-Invoicing KSA XML reporting FTP Magnet
  • 🧩Add-ons and Extensions
    • SAP Add-on
      • SAP Connectivity Checklist
        • Steps to import SSL/TLS certificates in SAP
        • Steps to check ICM settings in SAP
        • Steps to test connectivity in SAP
        • Steps to troubleshoot connectivity issues in SAP
    • Tally Add-on
  • Microsoft Dynamics 365(F&O)
  • General
    • Go-Live Cutover Activity Checklist
    • How to check DNS resolution?
    • How to check hostname reachability?
    • How to check if hostname is trusted?
    • How to get the SSL certificate of a host?
  • ⭐GST GSP API
    • Introduction to GST GSP API
    • Getting Started with GST GSP API
    • GST GSP API Reference
      • Sample API
    • Migrating from Karvy GST GSP
  • ⭐E-Waybill GSP API
    • Introduction to E-Waybill GSP API
    • Getting Started with EWB GSP API
      • How to register EWB GSP on NIC?
      • Sandbox GSTIN for EWB GSP
    • E-Waybill GSP API Reference
      • Sample API
    • Migrating from Karvy EWB GSP
  • ⭐E-Invoicing GSP API
    • Introduction to E-Invoicing GSP API
    • Getting Started with EINV GSP API
      • How to register EINV GSP on IRP?
      • Sandbox GSTIN for EINV GSP
    • E-Invoicing GSP API Reference
      • Sample API
  • Subscribe for Updates
  • 🚫(Deprecated) GST 1.0 API
    • (Deprecated) Introduction to GST API
    • (Deprecated) Learn GST API Basics
    • (Deprecated) Getting Started with GST API
      • (Deprecated) How to set up ClearTax account?
      • (Deprecated) How to authenticate API requests?
      • (Deprecated) How to upload an invoice from File?
      • (Deprecated) How to create custom import template?
    • (Deprecated) GST 1.0 API Reference
      • Taxpayer Information
      • (Deprecated) Invoices
      • (Deprecated) Bills of Supply
      • (Deprecated) Credit Debit Notes (CDN)
      • (Deprecated) Advances
      • (Deprecated) Resources and Masters
        • (Deprecated) How to read GST error response
        • (Deprecated) Unit of Measurement master
        • (Deprecated) State master
        • (Deprecated) Document Classification/Section Name master
      • (Deprecated) Items
      • (Deprecated) Contacts
      • (Deprecated) GST File Upload API Reference
  • 🚫Deprecated E-Waybill API
    • (Deprecated) Introduction to E-Waybill API
    • (Deprecated) Learn E-Waybill API Basics
    • (Deprecated) Getting Started with E-Waybill API
    • (Deprecated) E-Waybill API Reference
      • (Deprecated) Resources and Masters
        • (Deprecated) Unit Master
        • (Deprecated) State Master
        • (Deprecated) Error Master
      • (Deprecated) E-Waybill JSON API Reference
        • (Deprecated) Generating E-Waybill
        • (Deprecated) Getting E-Waybill
        • (Deprecated) Updating E-Waybill
        • (Deprecated) Extending Validity of E-Waybill
        • (Deprecated) Multi-vehicle E-Waybill
        • (Deprecated) Printing E-Waybill
        • (Deprecated) Cancelling E-Waybill
        • (Deprecated) Generating Consolidated E-Waybill
        • (Deprecated) Getting Consolidated E-Waybill
        • (Deprecated) Regenerating Consolidated E-Waybill
        • (Deprecated) Printing Consolidated E-Waybill
      • (Deprecated) E-Waybill File Upload API Reference
        • (Deprecated) Creating or Updating Documents
        • (Deprecated) Getting Upload Status
        • (Deprecated) Getting Upload Validation
        • (Deprecated) Getting Upload History
        • (Deprecated) Rate Limiting & Best Practices
    • (Deprecated) E-Waybill FTP Magnet
Powered by GitBook
On this page
  • Request Method
  • Request URL
  • Request Headers
  • Request Path Params
  • Request Query Params
  • Request Body
  • Sample Request
  • Response Status Codes
  • Response Schema
  • Error Details Object
  • Sample Response
  • API Validations
  • API Constraints

Was this helpful?

  1. E-Invoicing KSA API
  2. E-Invoicing KSA API Reference
  3. KSA E-Invoicing APIs

Generate E-Invoice Async

PreviousAdditional Simplified (B2C) E-Invoice ExamplesNextGenerate E-Invoice via XML

Last updated 7 months ago

Was this helpful?

Generate a valid E-Invoice with JSON payload synchronously and send it to ZATCA for reporting asynchronously.

This API can be used only for Simplified Tax Invoices and related notes (B2C).

Request Method

POST

Request URL

{{BASE_URL}}/v2/einvoices/generate/async

Replace the {{BASE_URL}} with the one mentioned based on whether you are using sandbox or production.

Rate Limit : 1000 API requests per minute

Request Headers

Parameter
Data Type
Field Validations
Description

x-cleartax-auth-token

String

Cannot be empty

Mandatory. User auth token.

vat

String

Cannot be empty

Mandatory. VAT or Group VAT of the entity.

branch

String

Should be a valid branch from the user account

Optional. Branch name (store name) added in the user account which maps to a VAT or Group VAT of the entity.

accept-language

String

Enum: ar, en

Optional. Language of error message from ZATCA. ar - Arabic en - English

Default: en.

Request Path Params

There are no path parameters for this API.

Request Query Params

There are no query parameters for this API.

Request Body

Parameter
Data Type
Field Validations
Description

DeviceId

String

MaxLength: 36

Mandatory. The Device ID registered with ClearTax.

EInvoice

Object

Not null

CustomFields

Object

NA

Optional. Custom Fields object

Custom Fields Object This is a custom object of key-value pairs that can be used to display custom fields in custom output PDF templates or in certain reports. For example:

{
    "country_of_origin": "IN",
    "total_containers": "3"
}

Requirement of Critical Fields

Fields
Generate E-Invoice API (via JSON)
Generate E-Invoice via XML API

UUID

Optional. Will be generated by ClearTax if not sent in input.

Optional. Will be generated by ClearTax if not sent in input.

ICV

Read Only. Will be ignored if sent in input.

Read Only. Will be ignored if sent in input.

PIH

Read Only. Will be ignored if sent in input.

Read Only. Will be ignored if sent in input.

InvoiceHash

Read Only. Will be ignored if sent in input.

Read Only. Will be ignored if sent in input.

Signature

Read Only. Will be ignored if sent in input.

Read Only. Will be ignored if sent in input.

RawQRCode

Read Only. Will be ignored if sent in input.

Read Only. Will be ignored if sent in input.

InvoiceXml

NA. Not available in the input schema.

NA. Not available in the input schema. The XML received will be enhanced before sending to ZATCA.

The use case where generating CSID (at customer side) and reporting CSID (at ClearTax side) is different, is not supported at the moment.

Sample Request

{
  "DeviceId": "2caa0dd5-2f20-44d1-b1c8-6257f3f60634",
  "EInvoice": {
    "ProfileID": "reporting:1.0",
    "ID": {
      "en": "269",
      "ar": null
    },
    "InvoiceTypeCode": {
      "name": "0100000",
      "value": "388"
    },
    "IssueDate": "2021-04-25",
    "IssueTime": "15:30:00",
    "DocumentCurrencyCode": "SAR",
    "TaxCurrencyCode": "SAR",
    "Delivery": [
      {
        "ActualDeliveryDate": "2022-04-25"
      }
    ],
    "AccountingSupplierParty": {
      "Party": {
        "PartyLegalEntity": {
          "RegistrationName": {
            "en": "Al Salam Supplies Co. LTD",
            "ar": null
          }
        },
        "PartyTaxScheme": {
          "CompanyID": "300492946900003",
          "TaxScheme": {
            "ID": "VAT"
          }
        },
        "PartyIdentification": {
          "ID": {
            "schemeID": "SAG",
            "value": "123457890"
          }
        },
        "PostalAddress": {
          "StreetName": {
            "en": "King Abdulaziz Road",
            "ar": null
          },
          "BuildingNumber": {
            "en": "8228",
            "ar": null
          },
          "PlotIdentification": {
            "en": "2121",
            "ar": null
          },
          "CityName": {
            "en": "Riyadh",
            "ar": null
          },
          "PostalZone": 12643,
          "CitySubdivisionName": {
            "en": "Al Amal",
            "ar": null
          },
          "Country": {
            "IdentificationCode": "SA"
          },
          "CountrySubentity": {
            "en": "Riyadh Region",
            "ar": null
          }
        }
      }
    },
    "AccountingCustomerParty": {
      "Party": {
        "PartyLegalEntity": {
          "RegistrationName": {
            "en": "AL KAWTHAR MARKETS",
            "ar": null
          }
        },
        "PartyTaxScheme": {
          "CompanyID": null,
          "TaxScheme": {
            "ID": "VAT"
          }
        },
        "PartyIdentification": {
          "ID": {
            "schemeID": "SAG",
            "value": "123C12345678"
          }
        },
        "PostalAddress": {
          "StreetName": {
            "en": "King Abdullah Road",
            "ar": null
          },
          "BuildingNumber": {
            "en": "3709",
            "ar": null
          },
          "PlotIdentification": {
            "en": "1004",
            "ar": null
          },
          "CityName": {
            "en": "Riyadh",
            "ar": null
          },
          "PostalZone": 11564,
          "CitySubdivisionName": {
            "en": "Al Mursalat",
            "ar": null
          },
          "Country": {
            "IdentificationCode": "SA"
          },
          "CountrySubentity": {
            "en": "Riyadh Region",
            "ar": null
          }
        }
      }
    },
    "InvoiceLine": [
      {
        "ID": "1",
        "Item": {
          "Name": {
            "en": "Item A",
            "ar": null
          },
          "ClassifiedTaxCategory": {
            "ID": "S",
            "Percent": 15.00,
            "TaxScheme": {
              "ID": "VAT"
            }
          }
        },
        "Price": {
          "PriceAmount": {
            "currencyID": "SAR",
            "value": 200.00
          }
        },
        "InvoicedQuantity": {
          "value": 1.0
        },
        "LineExtensionAmount": {
          "currencyID": "SAR",
          "value": 200.00
        },
        "TaxTotal": {
          "TaxAmount": {
            "currencyID": "SAR",
            "value": 30.00
          },
          "RoundingAmount": {
            "currencyID": "SAR",
            "value": 230.00
          }
        }
      },
      {
        "ID": "2",
        "Item": {
          "Name": {
            "en": "Item B",
            "ar": null
          },
          "ClassifiedTaxCategory": {
            "ID": "S",
            "Percent": 15.00,
            "TaxScheme": {
              "ID": "VAT"
            }
          }
        },
        "Price": {
          "PriceAmount": {
            "currencyID": "SAR",
            "value": 350.00
          }
        },
        "InvoicedQuantity": {
          "value": 2.0
        },
        "LineExtensionAmount": {
          "currencyID": "SAR",
          "value": 700.00
        },
        "TaxTotal": {
          "TaxAmount": {
            "currencyID": "SAR",
            "value": 105.00
          },
          "RoundingAmount": {
            "currencyID": "SAR",
            "value": 805.00
          }
        }
      }
    ],
    "TaxTotal": [
      {
        "TaxAmount": {
          "currencyID": "SAR",
          "value": 135.00
        },
        "TaxSubtotal": [
          {
            "TaxableAmount": {
              "currencyID": "SAR",
              "value": 900.00
            },
            "TaxAmount": {
              "currencyID": "SAR",
              "value": 135.00
            },
            "TaxCategory": {
              "ID": "S",
              "Percent": 15.00,
              "TaxScheme": {
                "ID": "VAT"
              }
            }
          }
        ]
      }
    ],
    "LegalMonetaryTotal": {
      "LineExtensionAmount": {
        "currencyID": "SAR",
        "value": 900.00
      },
      "AllowanceTotalAmount": {
        "currencyID": "SAR",
        "value": 0.00
      },
      "TaxExclusiveAmount": {
        "currencyID": "SAR",
        "value": 900.00
      },
      "TaxInclusiveAmount": {
        "currencyID": "SAR",
        "value": 1035.00
      },
      "PayableAmount": {
        "currencyID": "SAR",
        "value": 1035.00
      }
    },
    "PaymentMeans": [
      {
        "PaymentMeansCode": "42"
      }
    ]
  },
  "CustomFields": {
    "country_of_origin": "IN",
    "total_containers": "3"
  }
}

Response Status Codes

HTTP Status Code
Description

202

For successfully acceptance from CT

400

For any cleartax validation error

400

Validation error from zatca

401

If the user is not authenticated for the operation

403

If the user is not authorized for the operation

429

Too Many Requests

Response Schema

Parameter
Data Type
Field Validations
Description

DeviceId

String

MaxLength: 36

Optional. Device ID used to generate invoices.

Status

String

Enum: GENERATED, NOT_GENERATED, GENERATION_FAILED, IN_PROGRESS

Mandatory.

Status of E-Invoice QR Code. This is the same as QrCodeStatus below. Provided only for backward compatibility for Phase I API.

IN_PROGRESS, NOT_GENERATED, GENERATION_FAILED

QrCodeStatus

String

Enum: GENERATED, NOT_GENERATED, GENERATION_FAILED

Mandatory.

Status of E-Invoice QR Code.

GENERATED, NOT_GENERATED, GENERATION_FAILED

InvoiceStatus

String

Enum: PENDING, FAILED.

Mandatory.

Status of submission to ZATCA.

QRCode

String

Optional. Rendered QR Code image in base64 encoded PNG format.

If validations fail, this will be null.

RawQRCode

String

Optional. QR Code payload in base64 encoded TLV format.

InvoiceXml

String

Optional. It is the XML used for reporting.

UUID

String

Optional. UUID sent to ZATCA

ClearTax generates this before sending to ZATCA, if not sent in input.

ICV

String

Optional. Invoice counter value sent to ZATCA ClearTax generates this before sending it to ZATCA.

PIH

String

Optional. Previous hash value, Invoice hash value of previous invoice reported for same deviceId.

InvoiceHash

String

Optional. Current invoice hash.

InvoiceType

String

Enum: INV, CRN, DBN

Mandatory.

Document Type: INV-INVOICE, CRN-CREDIT NOTE, DBN-DEBIT NOTE.

InvoiceNumber

String

Can not be null

Mandatory. Invoice number (ID) as per the input.

IssueDate

String

Can not be null

Mandatory. Issue Date as per the input.

IssueTime

String

Format: HH:mm:ss (24 hr format)

Mandatory. Invoice issue time. The time when the invoice was issued.

GeneratedDate

String

Cannot be null

Mandatory. Date on which the invoice is generated

GeneratedTime

String

Format: HH:mm:ss (24 hr format)

Mandatory. Invoice generation time. The time when the invoice is generated.

SellerVatNumber

String

Can not be null

Mandatory. Seller VAT identification number.

BuyerVatNumber

String

Can not be null

Optional. Buyer VAT identification number.

ErrorList

Array<Error Detail>

Can be empty

Optional. Validation errors.

Error Details Object

Parameter
Data Type
Field Validations
Description

ErrorCode

String

Cannot be null

A code to identify the error. Error codes are published above.

ErrorMessage

String

Cannot be null

Human readable error message.

ErrorSource

String

CLEARTAX

Source of the error.

Path

String

-

If it is a validation error of a request data, it will point to the request data field. Example below.

Sample Response

Success for Simplified Document - HTTP Status Code - 200

{
    "DeviceId": "625410e387173015f7e5a4c6",
    "Status": "GENERATED",
    "QrCodeStatus": "GENERATED",
    "InvoiceStatus": "PENDING",
    "QRCode": "MjAsSIy1….",
    "RawQRCode": "ARlBb….",
    "InvoiceXml": "ASsdfkf...",
    "UUID": "03779160-c140-4a32-9f9a-7b429149c0ef",
    "ICV": "61",
    "PIH": "KILyvZqPxblzStkif5UsaEtMhLDZUgU/VudKsBFxQN0=",
    "InvoiceHash": "HDlSmFWBE+9LHLrg6X0moqr3fQU677tFbrITarslOZI=",
    "InvoiceType": "INV",
    "InvoiceNumber": "315",
    "IssueDate": "2021-04-25",
    "IssueTime": "16:42:25",
    "GeneratedDate": "2021-04-25",
    "GeneratedTime": "16:42:25",
    "SellerVatNumber": "300492946900003",
    "BuyerVatNumber": null,
    "ErrorList": [],
    "WarningList":[],
    "Message": null
}

Error from ClearTax - HTTP Status Code - 400

{
    "InvoiceType": "INV",
    "InvoiceNumber": "2022",
    "IssueDate": "2021-04-25",
    "IssueTime": "12:24:26",
    "SellerVatNumber": "300492946900003",
    "Status": "GENERATION_FAILED",
    "QrCodeStatus": "GENERATION_FAILED",
    "InvoiceStatus": "FAILED",
    "ErrorList": [
        {
            "ErrorCode": "6002",
            "ErrorMessage": "If Supplier Group Vat number is provided, scheme id must be HQ",
            "ErrorSource": "CLEARTAX",
            "Path": "EInvoice.AccountingSupplierParty.Party.PartyIdentification.ID.schemeID"
        },
        {
            "ErrorCode": "6002",
            "ErrorMessage": "Payment means code in an invoice must contain one of the values (10, 30, 42, 48, 1). In the simplified tax invoice and associated credit notes and debit notes this value is optional.",
            "ErrorSource": "CLEARTAX",
            "Path": "EInvoice.PaymentMeans.PaymentMeansCode"
        }
    ],
}

Error from ZATCA - HTTP Status Code - 200 (Sample Simplified invoice where QR code is generated by ClearTax and then sent to ZATCA for reporting which is not approved by ZATCA).

Note: In case a document is validated by ClearTax but failed at ZATCA, then the HTTP Status Code will be 200 and not 400.

{
    "DeviceId": "625410e387173015f7e5a4c6",
    "Status": "GENERATED",
    "QrCodeStatus": "GENERATED",
    "InvoiceStatus": "NOT_REPORTED",
    "QRCode": "i+GdAUnzMJS.....",
    "RawQRCode": "ARlBbCBTYWxhbSBTdXBwbGllcyBDby4g.....",
    "InvoiceXml": null,
    "UUID": "03779160-c140-4a32-9f9a-7b429149c0ef",
    "ICV": "61",
    "PIH": "KILyvZqPxblzStkif5UsaEtMhLDZUgU/VudKsBFxQN0=",
    "InvoiceHash": "HDlSmFWBE+9LHLrg6X0moqr3fQU677tFbrITarslOZI=",
    "InvoiceType": "INV",
    "InvoiceNumber": "315",
    "IssueDate": "2021-04-25",
    "IssueTime": "16:42:25",
    "SellerVatNumber": "300492946900003",
    "BuyerVatNumber": null,
    "ErrorList": [
        {
            "ErrorCode": "Invalid-Invoice-Hash",
            "ErrorMessage": "The provided invoice hash is invalid",
            "ErrorSource": "ZATCA"
        }
    ],
    "WarningList": [],
    "Message": null
}

API Validations

API validations will remain the same as in Phase I. In addition, the following new validations are added for Phase II.

  1. Other Seller ID is Mandatory.

  2. Other Buyer ID is Mandatory.

  3. Payment type code is Mandatory.

  4. The document issue date must be less than or equal to the current date.

  5. Buyer name is mandatory for Simplified Tax Invoice and associated credit/debit notes.

  6. DEC-20=[BR-DEC-20] - The allowed maximum number of decimals for the VAT category tax amount (BT-117) is 2.

  7. BR-DEC-13=[BR-DEC-13] - The allowed maximum number of decimals for the Invoice total VAT amount (BT-110) is 2.

  8. BR-DEC-15=[BR-DEC-15] - The allowed maximum number of decimals for the Invoice total VAT amount in accounting currency (BT-111) is 2.

API Constraints

  1. This API needs to be authenticated with a valid user authentication token. If the auth token is not present or is invalid, the API will return HTTP Status Code 401. If the auth token is valid, but the user does not have the authorization to generate einvoice , then the API will return HTTP Status Code 403.

  2. Each customer is allowed to send a limited number of requests per minute to prevent server overload. If the limit is exceeded, the server will respond with a 429 Too Many Requests status code.

  3. Async API is for simplified tax invoices only as for standard tax invoices ZATCA generates the QR code and signs it realtime. Error message in case standard tax invoices are sent via this API - "Async API call is only supported for Reporting simplified tax invoices. For standard invoices use the Generate e-Invoice API."

Mandatory.

Hash value of current invoice xml by removing tags ,

🇸🇦
here
E-Invoice object
ext:UBLExtensions
cac:AdditionalDocumentReference:QRCode