Overview

This API is used for registering the invoice and getting the Invoice Registration Number (IRN). The request payload has to be as per the schema specified below.The details of the requests and responses are explained.

Sequence Diagram

The format and details of Generate IRN  API request is depicted in following table.

URL

<URL>/api/Invoice

Content-Type

application/json

Method

POST

Request Header

Attributes Description
client_id

client id to be provided by E-Invoice System

client_secret

client secret to be provided by E-Invoice System

Gstin

GSTIN of the authenticated user

user_name

User name of the authenticated user

AuthToken

Authentication token returned by the E-Invoice system

Request Payload

Attributes Description

Data

Base 64 encoded string of encrypted invoice JSON using Sek.

 

Response Payload

Attributes Description
Status Status of the generate IRN request(values 1-Success and 0- Failure)
Data If Status is ‘1’
AckNo Transaction number
AckDt Date and time on which invoice is registered(Date format is ‘yyyy-MM-dd HH:mm:ss ’).
Irn SHA256 hash of Gstin, DocDtls.No, DocDtls.Typ, financial year of DoctDtls.Dt
SignedInvoice Complete e-Invoice data digitally signed using JSON Web Token(JWT) and JSON Web Signature (JWS) with “SHA256RSA” algorithm
SignedQRCode Complete QR- Code data digitally signed using JSON Web Token(JWT) and JSON Web Signature (JWS) with “SHA256RSA” algorithm
Status ‘ACT’ for Active and ‘CNL’ for Cancelled
ErrorDetails If Status is ‘0’
ErrorCode Unique error code
ErrorMessage Error Description
InfoDtls Any additional message to be conveyed would be passed.

Sample JSON (Request)

{
"Data": "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 yV9dWmplE80bTjkz4k/CzRC/7yN7g=="
}

JSON corresponds to the "Data" element of Generate E-Invoice Request above

{
  "Version": "1.01",
  "TranDtls": {
    "TaxSch": "GST",
    "SupTyp": "B2B"
  },
  "DocDtls": {
    "Typ": "INV",
    "No": "SCMDLC-NO/10",
    "Dt": "14/05/2020"
  },
  "SellerDtls": {
    "Gstin": "37ARZPT4384Q1MT",
    "LglNm": "ABC company pvt ltd",
    "TrdNm": null,
    "Addr1": "5th block, kuvempu layout",
    "Addr2": null,
    "Loc": "GANDHINAGAR",
    "Pin": "518346",
    "State": "KARNATAKA",
    "Ph": null,
    "Em": null
  },
  "BuyerDtls": {
    "Gstin": "37BZNPM9430M1kl",
    "LglNm": "XYZ company pvt ltd",
    "TrdNm": null,
    "Pos": "37",
    "Addr1": "7th block, kuvempu layout",
    "Addr2": null,
    "Loc": "GANDHINAGAR",
    "Pin": "518301",
    "State": null,
    "Ph": null,
    "Em": null
  },
  "DispDtls": {
    "Nm": "ABC company pvt ltd",
    "Addr1": "7th block, kuvempu layout",
    "Addr2": null,
    "Loc": "Banagalore",
    "Pin": "518360",
    "Stcd": "37"
  },
  "ShipDtls": {
    "Gstin": null,
    "LglNm": "CBE company pvt ltd",
    "TrdNm": null,
    "Addr1": "7th block, kuvempu layout",
    "Addr2": null,
    "Loc": "Banagalore",
    "Pin": "518001",
    "Stcd": "37"
  },
  "ItemList": [
    {
      "SlNo": "1",
      "IsServc": "N",
      "PrdDesc": null,
      "HsnCd": "1001",
      "BchDtls": null,
      "Qty": "10",
      "Unit": "NOS",
      "UnitPrice": 10.00,
      "TotAmt": 100.00,
      "Discount": 0,
      "AssAmt": 100.00,
      "GstRt": 12.00,
      "SgstAmt": 6,
      "IgstAmt": 0,
      "CgstAmt": 6,
      "CesRt": null,
      "CesAmt": null,
      "CesNonAdvlAmt": null,
      "StateCesRt": null,
      "StateCesAmt": null,
      "StateCesNonAdvlAmt": null,
      "OthChrg": null,
      "TotItemVal": 112.00,
      "AttribDtls": null
    }
  ],
  "PayDtls": null,
  "RefDtls": null,
  "AddlDocDtls": null,
  "ExpDtls": null,
  "EwbDtls": null,
  "ValDtls": {
    "AssVal": 100.0,
    "CgstVal": 6,
    "SgstVal": 6,
    "IgstVal": 0,
    "CesVal": 0,
    "StCesVal": null,
    "RndOffAmt": null,
    "TotInvVal": 112.0
  }
}
         

Sample JSON (Response)

{
"Status":"1",
"Data":"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",
"ErrorDetails": null,
"InfoDtls":"<alert message >"
}

JSON corresponds to the data element of Generate IRN Response(Success) above
{
    "AckNo":16100028677,
    "AckDt":"2020-02-29 15:20:00",
    "Irn":"e2948668b7126f1e27240fcec2e28d891347120b4445f39156a28b9fdc8be4b8",
    "SignedInvoice":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjExNUY0NDI2NjE3QTc5MzhCRTFCQTA2REJFRTkxQTQyNzU4NEVEQUIiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJFVjlFSm1GNmVUaS1HNkJ0dnVrYVFuV0U3YXMifQ.eyJkYXRhIjoie1wiQWNrTm9cIjoxNjEwMDAyODY3NyxcIkFja0R0XCI6XCIyMDIwLTAyLTI5IDE1OjIwOjAwXCIsXCJJcm5cIjpcImUyOTQ4NjY4YjcxMjZmMWUyNzI0MGZjZWMyZTI4ZDg5MTM0NzEyMGI0NDQ1ZjM5MTU2YTI4YjlmZGM4YmU0YjhcIixcIlZlcnNpb25cIjpcIjEuMDBcIixcIlRyYW5EdGxzXCI6e1wiVGF4U2NoXCI6XCJHU1RcIixcIlN1cFR5cFwiOlwiQjJCXCIsXCJSZWdSZXZcIjpcIk5cIn0sXCJEb2NEdGxzXCI6e1wiVHlwXCI6XCJJTlZcIixcIk5vXCI6XCIxXCIsXCJEdFwiOlwiMDEvMDIvMjAyMFwifSxcIlNlbGxlckR0bHNcIjp7XCJHc3RpblwiOlwiMjlBV0dQVjcxMDdCMVoxXCIsXCJMZ2xObVwiOlwiVFJBREVSU1wiLFwiVHJkTm1cIjpcIlZpa2FzZXhwb3J0c1wiLFwiQWRkcjFcIjpcIkJBTkdBTE9SRVwiLFwiQWRkcjJcIjpcIkJBTkdBTE9SRVwiLFwiTG9jXCI6XCJCTkdcIixcIlBpblwiOlwiNTYwMDYwXCIsXCJTdGF0ZVwiOlwiS0FSTkFUQUtBXCIsXCJQaFwiOlwiOTczODk3MTk3MFwiLFwiRW1cIjpcInZpa2FzQGdtYWlsLmNvbVwifSxcIkJ1eWVyRHRsc1wiOntcIkdzdGluXCI6XCIzMkRJVVBQMTE3NUcxWjFcIixcIkxnbE5tXCI6XCJuYW1lXCIsXCJUcmRObVwiOlwidHJhZGVyc1wiLFwiUG9zXCI6XCIyOVwiLFwiQWRkcjFcIjpcImFkZHIxXCIsXCJBZGRyMlwiOlwiYWRkcjJcIixcIkxvY1wiOlwiYmFuZ2xvcmVcIixcIlBpblwiOlwiNjczNTIyXCIsXCJQaFwiOlwiOTczODk3MTk3MFwiLFwiRW1cIjpcIlZJS0FTQEdNQUlMLkNPTVwifSxcIkRpc3BEdGxzXCI6e1wiTm1cIjpcIm5hbWVcIixcIkFkZHIxXCI6XCJhZHJlc3NzXCIsXCJBZGRyMlwiOlwiYWRkcmVzc1wiLFwiTG9jXCI6XCJsb2N0aW9uXCIsXCJQaW5cIjpcIjU2MDYwMFwiLFwiU3RjZFwiOlwiMDFcIn0sXCJTaGlwRHRsc1wiOntcIkdzdGluXCI6XCIyOUFBQkNLMTg4NEExWlFcIixcIkxnbE5tXCI6XCJsZWdhbFwiLFwiVHJkTm1cIjpcInRyYWRlXCIsXCJBZGRyMVwiOlwiYWRyZXNzXCIsXCJBZGRyMlwiOlwiYWRkcmVzc1wiLFwiTG9jXCI6XCJsb2NhdGlvblwiLFwiUGluXCI6XCI1NjAwNjBcIixcIlN0Y2RcIjpcIjEwXCJ9LFwiSXRlbUxpc3RcIjpbe1wiSXRlbU5vXCI6MSxcIlNsTm9cIjpcIjFcIixcIklzU2VydmNcIjpcIk5cIixcIlByZERlc2NcIjpcInN0ZWVsXCIsXCJIc25DZFwiOlwiMTAwMVwiLFwiQmFyY2RlXCI6XCI3ODhcIixcIlF0eVwiOlwiMlwiLFwiRnJlZVF0eVwiOlwiOFwiLFwiVW5pdFwiOlwiQkFMXCIsXCJVbml0UHJpY2VcIjoxMDAsXCJUb3RBbXRcIjo1NDIsXCJEaXNjb3VudFwiOjQ1LFwiUHJlVGF4VmFsXCI6NSxcIkFzc0FtdFwiOjcsXCJHc3RSdFwiOjUsXCJJZ3N0QW10XCI6NSxcIkNnc3RBbXRcIjo1LFwiU2dzdEFtdFwiOjUsXCJDZXNSdFwiOjUsXCJDZXNBbXRcIjo1LFwiQ2VzTm9uQWR2bEFtdFwiOjUsXCJTdGF0ZUNlc1J0XCI6NSxcIlN0YXRlQ2VzQW10XCI6NSxcIlN0YXRlQ2VzTm9uQWR2bEFtdFwiOjUsXCJPdGhDaHJnXCI6NSxcIlRvdEl0ZW1WYWxcIjo1fSx7XCJJdGVtTm9cIjoyLFwiU2xOb1wiOlwiMVwiLFwiSXNTZXJ2Y1wiOlwiTlwiLFwiUHJkRGVzY1wiOlwic3RlZWxcIixcIkhzbkNkXCI6XCIxMDAxXCIsXCJCYXJjZGVcIjpcIjc4OFwiLFwiUXR5XCI6XCIyXCIsXCJGcmVlUXR5XCI6XCI4XCIsXCJVbml0XCI6XCJCQUxcIixcIlVuaXRQcmljZVwiOjEwMCxcIlRvdEFtdFwiOjU0MixcIkRpc2NvdW50XCI6NDUsXCJQcmVUYXhWYWxcIjo1LFwiQXNzQW10XCI6NyxcIkdzdFJ0XCI6NSxcIklnc3RBbXRcIjo1LFwiQ2dzdEFtdFwiOjUsXCJTZ3N0QW10XCI6NSxcIkNlc1J0XCI6NSxcIkNlc0FtdFwiOjUsXCJDZXNOb25BZHZsQW10XCI6NSxcIlN0YXRlQ2VzUnRcIjo1LFwiU3RhdGVDZXNBbXRcIjo1LFwiU3RhdGVDZXNOb25BZHZsQW10XCI6NSxcIk90aENocmdcIjo1LFwiVG90SXRlbVZhbFwiOjV9XSxcIlZhbER0bHNcIjp7XCJBc3NWYWxcIjozLFwiQ2dzdFZhbFwiOjMsXCJTZ3N0VmFsXCI6MyxcIklnc3RWYWxcIjozLFwiQ2VzVmFsXCI6MyxcIlN0Q2VzVmFsXCI6NSxcIlJuZE9mZkFtdFwiOjUsXCJUb3RJbnZWYWxcIjo1fSxcIkV4cER0bHNcIjp7XCJTaGlwQk5vXCI6XCIxMjNcIixcIlNoaXBCRHRcIjpcIjEyLzAyLzIwMjBcIixcIlBvcnRcIjpcIjEyXCIsXCJSZWZDbG1cIjpcIk5cIixcIkZvckN1clwiOlwiMTIzXCIsXCJDbnRDb2RlXCI6XCIxMlwifSxcIkV3YkR0bHNcIjp7XCJUcmFuc0lkXCI6XCIyOUFXR1BWNzEwN0IxWjFcIixcIlRyYW5zTmFtZVwiOlwiVklLQVNFWFBPUlRTXCIsXCJUcmFuc01vZGVcIjpcIjJcIixcIkRpc3RhbmNlXCI6XCIxMDBcIixcIlRyYW5zRG9jTm9cIjpcIjJcIixcIlRyYW5zRG9jRHRcIjpcIjAyLzAyLzIwMjBcIixcIlZlaE5vXCI6XCJLQTEyMzQ1NlwiLFwiVmVoVHlwZVwiOlwiMlwifX0iLCJpc3MiOiJOSUMifQ.T-kMNvk0-uGz_2XUIqQwoalgjiCCyMPpjY__05R2EVvrkYqiS1sIa_IHj-6u8iZ1tQPeFq4eG-Be1CZuXO8-0Dgtb_6ozyBJFICkba4YUJycnDdbxpkH2KxEWgtUghxcAsKffEByTkZpuSNLV863c9aF1hmTlhLMN6l2cuCE7Pd2x0S8h1kHZhX1y-EycRsbO0awD686vgO9JpVa9OqeQSavvnHLFjJhURqDA3vICQeZLdob7_GFEKDFrTITP9M-nK7PXibNrlATUNtZifXc7WrjDz3gwrnwLrHofR2Y9fJQI8Cr14t-KuDxeeKs0OeXVJomoovj-S_f_uCKI8u6QA",
    "SignedQRCode":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjExNUY0NDI2NjE3QTc5MzhCRTFCQTA2REJFRTkxQTQyNzU4NEVEQUIiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJFVjlFSm1GNmVUaS1HNkJ0dnVrYVFuV0U3YXMifQ.eyJkYXRhIjoie1wiU2VsbGVyR3N0aW5cIjpcIjI5QVdHUFY3MTA3QjFaMVwiLFwiQnV5ZXJHc3RpblwiOlwiMzJESVVQUDExNzVHMVoxXCIsXCJEb2NOb1wiOlwiMVwiLFwiRG9jVHlwXCI6XCJJTlZcIixcIkRvY0R0XCI6XCIwMS8wMi8yMDIwXCIsXCJUb3RJbnZWYWxcIjo1LFwiSXRlbUNudFwiOjIsXCJNYWluSHNuQ29kZVwiOlwiMTAwMVwiLFwiSXJuXCI6XCJlMjk0ODY2OGI3MTI2ZjFlMjcyNDBmY2VjMmUyOGQ4OTEzNDcxMjBiNDQ0NWYzOTE1NmEyOGI5ZmRjOGJlNGI4XCJ9IiwiaXNzIjoiTklDIn0.X5ahZ55ltNTVmM8AteRwvUBBrSwIKGCuMvAz5XbcnC8I5RCmmkGAIxiBY6KZbMLz2XpzD5UN0pXxSEx-dNvzo6UbHD_hcBzY_llHHWobch-5F0YDa49iw6KQPfDnPPSJ23qn1b5sowUnVB58U8_Hd91ADb_DgIYgzNc7-clv1QMnRsYC3XR4PWPyHI2dtwJyVxVQKWsOYG5NJnLPRpiB6FbdVLk-23YSH-l-wlzPOkZLIkkruKKGUGwQc6BD6311c48ZVHY3J98f5DMEgNAvlhbdI5l6s2lvPgus1LixEItMZK4lXIcLLtYCQ26ZjDBbRYl1hEw_DEuK3v0FXERs3g",
    "Status":"ACT",
    "EwbNo":0,
    "EwbDt":null,
    "EwbValidTill":null
}
              

JSON(in case of error)


"status": "0",
"Data": null,
"ErrorDetails":"<Errors JSON >",
"InfoDtls": "<alert message >"
}

JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "Title": "GST-India Invoice Document ",
  "Description": "GST Invoice format for IRN Generation in INDIA",
  "Version": {
    "type": "string",
    "minLength": 4,
    "maxLength": 10,
    "description": "Version of the schema"
  },
  "Irn": {
    "type": "string",
    "minLength": 64,
    "maxLength": 64,
    "description": "Invoice Reference Number"
  },
  "TranDtls": {
    "type": "object",
    "properties": {
      "TaxSch": {
        "type": "string",
        "minLength": 3,
        "maxLength": 10,
        "enum": [
          "GST"
        ],
        "description": "GST- Goods and Services Tax Scheme"
      },
      "SupTyp": {
        "type": "string",
        "minLength": 3,
        "maxLength": 10,
        "enum": [
          "B2B",
          "SEZWP",
          "SEZWOP",
          "EXPWP",
          "EXPWOP",
          "DEXP"
        ],
        "description": "Type of Supply: B2B-Business to Business, SEZWP - SEZ with payment, SEZWOP - SEZ without payment, EXPWP - Export with Payment, EXPWOP - Export without payment,DEXP - Deemed Export"
      },
      "RegRev": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1,
        "enum": [
          "Y",
          "N"
        ],
        "description": "Y- whether the tax liability is payable under reverse charge"
      },
      "EcmGstin": {
        "type": "string",
        "minLength": 15,
        "maxLength": 15,
        "pattern": "([0-9]{2}[0-9A-Z]{13})",
        "description": "GSTIN of e-Commerce operator"
      }
    },
    "required": [
      "TaxSch",
      "SupTyp"
    ]
  },
  "DocDtls": {
    "type": "object",
    "properties": {
      "Typ": {
        "type": "string",
        "minLength": 3,
        "maxLength": 11,
        "enum": [
          "INV",
          "CRN",
          "DBN"
        ],
        "description": "Document Type: INVOICE, CREDIT NOTE, DEBIT NOTE"
      },
      "No": {
        "type": "string",
        "minLength": 1,
        "maxLength": 16,
        "pattern": "^([A-Z1-9]{1}[A-Z0-9/-]{0,15})$",
        "description": "Document Number"
      },
      "Dt": {
        "type": "string",
        "minLength": 10,
        "maxLength": 10,
        "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
        "description": "Document Date"
      }
    },
    "required": [
      "Typ",
      "No",
      "Dt"
    ]
  },
  "SellerDtls": {
    "type": "object",
    "properties": {
      "Gstin": {
        "type": "string",
        "minLength": 15,
        "maxLength": 15,
        "pattern": "([0-9]{2}[0-9A-Z]{13})",
        "description": "GSTIN of supplier"
      },
      "LglNm": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Legal Name"
      },
      "TrdNm": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Tradename"
      },
      "Addr1": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Building/Flat no, Road/Street"
      },
      "Addr2": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Address 2 of the supplier (Floor no., Name of the premises/building)"
      },
      "Loc": {
        "type": "string",
        "minLength": 3,
        "maxLength": 50,
        "description": "Location"
      },
      "Pin": {
        "type": "string",
        "minLength": 6,
        "maxLength": 6,
        "description": "Pincode"
      },
      "State": {
        "type": "string",
        "minimum": 3,
        "maximum": 50,
        "description": "State Name"
      },
      "Ph": {
        "type": "String",
        "minLength": 10,
        "maxLength": 12,
        "description": "Phone or Mobile No."
      },
      "Em": {
        "type": "string",
        "minLength": 6,
        "maxLength": 100,
        "description": "Email-Id"
      }
    },
    "required": [
      "Gstin",
      "LglNm",
      "Addr1",
      "Loc",
      "Pin",
      "State"
    ]
  },
  "BuyerDtls": {
    "type": "object",
    "properties": {
      "Gstin": {
        "type": "string",
        "minLength": 3,
        "maxLength": 15,
        "pattern": "^(([0-9]{2}[0-9A-Z]{13})|URP)$",
        "description": "GSTIN of buyer , URP if exporting"
      },
      "LglNm": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Legal Name"
      },
      "TrdNm": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Trade Name"
      },
      "Pos": {
        "type": "string",
        "minLength": 1,
        "maxLength": 2,
        "description": "State code of Place of supply. If POS lies outside the country, a the code shall be 96."
      },
      "Addr1": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Address 1 of the buyer. (Building/Flat no., Road/Street etc.)"
      },
      "Addr2": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Address 2 of the buyer.(Floor no., Name of the premises/ building)"
      },
      "Loc": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Location"
      },
      "Pin": {
        "type": "string",
        "minLength": 6,
        "maxLength": 6,
        "description": "Pincode"
      },
      "State": {
        "type": "string",
        "minimum": 3,
        "maximum": 50,
        "description": "State Name"
      },
      "Ph": {
        "type": "String",
        "minLength": 10,
        "maxLength": 12,
        "description": "Phone or Mobile No."
      },
      "Em": {
        "type": "string",
        "minLength": 6,
        "maxLength": 100,
        "description": "Email-Id"
      }
    },
    "required": [
      "Gstin",
      "LglNm",
      "Pos",
      "Addr1",
      "Loc"
    ]
  },
  "DispDtls": {
    "type": "object",
    "properties": {
      "Nm": {
        "type": "string",
        "minLength": 3,
        "maxLength": 60,
        "description": "Name of the company from which the goods are dispatched"
      },
      "Addr1": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Address 1 of the entity from which goods are dispatched.(Building/Flat no.Road/Street etc.)"
      },
      "Addr2": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Address 2 of the entity from which goods are dispatched. (Floor no., Name of the premises/building)"
      },
      "Loc": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Location"
      },
      "Pin": {
        "type": "string",
        "minLength": 6,
        "maxLength": 6,
        "description": "Pincode"
      },
      "Stcd": {
        "type": "string",
        "minimum": 1,
        "maximum": 2,
        "description": "State Code"
      }
    },
    "required": [
      "Nm",
      "Addr1",
      "Loc",
      "Pin",
      "Stcd"
    ]
  },
  "ShipDtls": {
    "type": "object",
    "properties": {
      "Gstin": {
        "type": "string",
        "maxLength": 15,
        "minLength": 3,
        "pattern": "^(([0-9]{2}[0-9A-Z]{13})|URP)$",
        "description": "GSTIN of entity to whom goods are shipped"
      },
      "LglNm": {
        "type": "string",
        "minLength": 3,
        "maxLength": 60,
        "description": "Legal Name"
      },
      "TrdNm": {
        "type": "string",
        "minLength": 3,
        "maxLength": 60,
        "description": "Trade Name"
      },
      "Addr1": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Address1 of the entity to whom the supplies are shipped to. (Building/Flat no., Road/Street etc.)"
      },
      "Addr2": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Address 2 of the entity to whom the supplies are shipped to. (Floor no., Name of the premises/building)."
      },
      "Loc": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Place (City,Town,Village) entity to whom the supplies are shipped to."
      },
      "Pin": {
        "type": "string",
        "minLength": 6,
        "maxLength": 6,
        "description": "Pincode"
      },
      "Stcd": {
        "type": "string",
        "minimum": 1,
        "maximum": 2,
        "description": "State Code to which supplies are shipped to."
      }
    },
    "required": [
      "LglNm",
      "Addr1",
      "Loc",
      "Pin",
      "Stcd"
    ]
  },
  "ItemList": {
    "type": "array",
    "Item": [
      {
        "type": "object",
        "properties": {
          "SlNo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 6,
            "description": "Serial No. of Item"
          },
          "PrdDesc": {
            "type": "string",
            "minLength": 3,
            "maxLength": 300,
            "description": "Product Description"
          },
          "IsServc": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1,
            "enum": [
              "Y",
              "N"
            ],
            "description": "Specify whether the supply is service or not. Specify Y-for Service"
          },
          "HsnCd": {
            "type": "string",
            "minLength": 4,
            "maxLength": 8,
            "description": "HSN Code"
          },
          "BchDtls": {
            "type": "object",
            "properties": {
              "Nm": {
                "type": "string",
                "minLength": 3,
                "maxLength": 20,
                "description": "Batch name"
              },
              "ExpDt": {
                "type": "string",
                "maxLength": 10,
                "minLength": 10,
                "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                "description": "Batch Expiry Date"
              },
              "WrDt": {
                "type": "string",
                "maxLength": 10,
                "minLength": 10,
                "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                "description": "Warranty Date"
              }
            },
            "required": [
              "Nm"
            ]
          },
          "Barcde": {
            "type": "string",
            "minLength": 3,
            "maxLength": 30,
            "description": "Bar Code"
          },
          "Qty": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "description": "Quantity"
          },
          "FreeQty": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "description": "Free Quantity"
          },
          "Unit": {
            "type": "string",
            "minLength": 3,
            "maxLength": 8,
            "enum": [
              "BAG",
              "BAL",
              "BDL",
              "BKL",
              "BOU",
              "BOX",
              "BTL",
              "BUN",
              "CAN",
              "CBM",
              "CCM",
              "CMS",
              "CTN",
              "DOZ",
              "DRM",
              "GGK",
              "GMS",
              "GRS",
              "GYD",
              "KGS",
              "KLR",
              "KME",
              "LTR",
              "MTR",
              "MLT",
              "MTS",
              "NOS",
              "OTH",
              "PAC",
              "PCS",
              "PRS",
              "QTL",
              "ROL",
              "SET",
              "SQF",
              "SQM",
              "SQY",
              "TBS",
              "TGM",
              "THD",
              "TON",
              "TUB",
              "UGS",
              "UNT",
              "YDS"
            ],
            "description": "Unit"
          },
          "UnitPrice": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": "Unit Price - Rate"
          },
          "TotAmt": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": "Gross Amount Amount (Unit Price * Quantity)"
          },
          "Discount": {
            "type": "number",
            "minimum": 0,
            "maximum": 9999999999.99,
            "description": "Discount"
          },
          "PreTaxVal": {
            "type": "number",
            "minimum": 0,
            "maximum": 9999999999999.99,
            "description": "Pre tax value"
          },
          "AssAmt": {
            "type": "number",
            "minimum": 0,
            "maximum": 9999999999999.99,
            "description": "Taxable Value (Total Amount -Discount)"
          },
          "GstRt": {
            "type": "number",
            "minimum": 0,
            "maximum": 999.999,
            "description": "The GST rate, represented as percentage that applies to the invoiced item. It will IGST rate only."
          },
          "IgstAmt": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": " Amount of IGST payable."
          },
          "CgstAmt": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": " Amount of CGST payable."
          },
          "SgstAmt": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": " Amount of SGST payable."
          },
          "CesRt": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": "Cess Rate"
          },
          "CesAmt": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": "Cess Amount(Advalorem) on basis of rate and quantity of item"
          },
          "CesNonAdvlAmt": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": "Cess Non-Advol Amount"
          },
          "StateCesRt": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": "State CESS Rate"
          },
          "StateCesAmt": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": "State CESS Amount"
          },
          "StateCesNonAdvlAmt": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": "State CESS Non Adval Amount"
          },
          "OthChrg": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": "Other Charges"
          },
          "TotItemVal": {
            "type": "number",
            "minimum": 0,
            "maximum": 99999999999.99,
            "description": "Total Item Value = Assessable Amount + CGST Amt + SGST Amt + Cess Amt + CesNonAdvlAmt + StateCesAmt + StateCesNonAdvlAmt+Otherchrg"
          },
          "OrdLineRef": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "description": "Order line referencee"
          },
          "OrgCntry": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "Orgin Country"
          },
          "PrdSlNo": {
            "type": "string",
            "minLength": 1,
            "maxLength": 15,
            "description": "Serial number in case of each item having a unique number."
          },
          "AttribDtls": {
            "type": "Array",
            "Attribute": [
              {
                "type": "object",
                "properties": {
                  "Nm": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 100,
                    "description": "Attribute details of the item"
                  },
                  "Val": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 100,
                    "description": "Attribute value of the item"
                  }
                }
              }
            ]
          }
        },
        "required": [
          "SlNo",
          "IsServc",
          "HsnCd",
          "UnitPrice",
          "TotAmt",
          "AssAmt",
          "GstRt",
          "TotItemVal"
        ]
      }
    ]
  },
  "ValDtls": {
    "type": "object",
    "properties": {
      "AssVal": {
        "type": "number",
        "minimum": 0,
        "maximum": 9999999999999.99,
        "description": "Total Assessable value of all items"
      },
      "CgstVal": {
        "type": "number",
        "maximum": 99999999999.99,
        "minimum": 0,
        "description": "Total CGST value of all items"
      },
      "SgstVal": {
        "type": "number",
        "minimum": 0,
        "maximum": 99999999999.99,
        "description": "Total SGST value of all items"
      },
      "IgstVal": {
        "type": "number",
        "minimum": 0,
        "maximum": 99999999999.99,
        "description": "Total IGST value of all items"
      },
      "CesVal": {
        "type": "number",
        "minimum": 0,
        "maximum": 99999999999.99,
        "description": "Total CESS value of all items"
      },
      "StCesVal": {
        "type": "number",
        "minimum": 0,
        "maximum": 99999999999.99,
        "description": "Total State CESS value of all items"
      },
      "RndOffAmt": {
        "type": "number",
        "minimum": -999,
        "maximum": 9999.99,
        "description": "Rounded off amount"
      },
      "TotInvVal": {
        "type": "number",
        "minimum": 0,
        "maximum": 9999999999999.99,
        "description": "Final Invoice value "
      },
      "TotInvValFc": {
        "type": "number",
        "minimum": 0,
        "maximum": 99999999999.99,
        "description": "Final Invoice value in Additional Currency"
      }
    },
    "required": [
      "AssVal",
      "TotInvVal"
    ]
  },
  "PayDtls": {
    "type": "object",
    "properties": {
      "Nm": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Payee Name"
      },
      "AccDet": {
        "type": "string",
        "minLength": 3,
        "maxLength": 18,
        "description": "Bank account number of payee"
      },
      "Mode": {
        "type": "string",
        "minLength": 3,
        "maxLength": 18,
        "description": "Mode of Payment: Cash, Credit, Direct Transfer"
      },
      "FinInsBr": {
        "type": "string",
        "minLength": 3,
        "maxLength": 11,
        "description": "Branch or IFSC code"
      },
      "PayTerm": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Terms of Payment"
      },
      "PayInstr": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Payment Instruction"
      },
      "CrTrn": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Credit Transfer"
      },
      "DirDr": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Direct Debit"
      },
      "CrDay": {
        "type": "number",
        "minimum": 0,
        "maximum": 9999,
        "description": "Credit Days"
      },
      "PaidAmt": {
        "type": "number",
        "minimum": 0,
        "maximum": 9999999999.99,
        "description": "The sum of amount which have been paid in advance."
      },
      "PaymtDue": {
        "type": "number",
        "minimum": 0,
        "maximum": 9999999999.99,
        "description": "Outstanding amount that is required to be paid."
      }
    }
  },
  "RefDtls": {
    "type": "object",
    "properties": {
      "InvRm": {
        "type": "string",
        "maxLength": 100,
        "minLength": 3,
        "pattern": "^[0-9A-Za-z/-]{3,100}$",
        "description": "Remarks/Note"
      },
      "InvStDt": {
        "type": "string",
        "maxLength": 10,
        "minLength": 10,
        "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
        "description": "Invoice Period Start Date"
      },
      "InvEndDt": {
        "type": "string",
        "maxLength": 10,
        "minLength": 10,
        "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
        "description": "Invoice Period End Date"
      },
      "PrecDocDtls": {
        "type": "Array",
        "PrecDocument": [
          {
            "type": "object",
            "properties": {
              "InvNo": {
                "type": "string",
                "minLength": 3,
                "maxLength": 16,
                "pattern": "^[1-9A-Z]{1}[0-9A-Z/-]{3,15}$",
                "description": "Reference of original invoice, if any."
              },
              "InvDt": {
                "type": "string",
                "maxLength": 10,
                "minLength": 10,
                "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                "description": "Date of preceding invoice"
              },
              "OthRefNo": {
                "type": "string",
                "minLength": 3,
                "maxLength": 20,
                "description": "Other Reference"
              }
            },
            "required": [
              "InvNo",
              "InvDt"
            ]
          }
        ]
      },
      "ContrDtls": {
        "type": "Array",
        "Contract": [
          {
            "type": "object",
            "properties": {
              "RecAdvRefr": {
                "type": "string",
                "minLength": 3,
                "maxLength": 20,
                "pattern": "^([0-9A-Za-z/-]){3,20}$",
                "description": "Receipt Advice No."
              },
              "RecAdvDt": {
                "type": "string",
                "minLength": 10,
                "maxLength": 10,
                "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                "description": "Date of receipt advice"
              },
              "TendRefr": {
                "type": "string",
                "minLength": 3,
                "maxLength": 20,
                "pattern": "^([0-9A-Za-z/-]){3,20}$",
                "description": "Lot/Batch Reference No."
              },
              "ContrRefr": {
                "type": "string",
                "minLength": 3,
                "maxLength": 20,
                "pattern": "^([0-9A-Za-z/-]){3,20}$",
                "description": "Contract Reference Number"
              },
              "ExtRefr": {
                "type": "string",
                "minLength": 3,
                "maxLength": 20,
                "pattern": "^([0-9A-Za-z/-]){3,20}$",
                "description": "Any other reference"
              },
              "ProjRefr": {
                "type": "string",
                "maxLength": 20,
                "minLength": 3,
                "pattern": "^([0-9A-Za-z/-]){3,20}$",
                "description": "Project Reference Number"
              },
              "PORefr": {
                "type": "string",
                "maxLength": 16,
                "minLength": 3,
                "pattern": "^([0-9A-Za-z/-]){3,16}$",
                "description": "Vendor PO Reference Number"
              },
              "PORefDt": {
                "type": "string",
                "minLength": 10,
                "maxLength": 10,
                "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
                "description": "Vendor PO Reference date"
              }
            }
          }
        ]
      }
    },
    "required": [
      "InvStDt",
      "InvEndDt"
    ]
  },
  "AddlDocDtls": {
    "type": "Array",
    "AddlDocument": [
      {
        "type": "object",
        "properties": {
          "Url": {
            "type": "string",
            "minLength": 3,
            "maxLength": 100,
            "description": "Supporting document URL"
          },
          "Docs": {
            "type": "string",
            "minLength": 3,
            "maxLength": 1000,
            "description": "Supporting document in Base64 Format"
          },
          "Info": {
            "type": "string",
            "minLength": 3,
            "maxLength": 1000,
            "description": "Any additional information"
          }
        }
      }
    ]
  },
  "ExpDtls": {
    "type": "object",
    "properties": {
      "ShipBNo": {
        "type": "string",
        "minLength": 3,
        "maxLength": 20,
        "description": "Shipping Bill No."
      },
      "ShipBDt": {
        "type": "string",
        "minLength": 10,
        "maxLength": 10,
        "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
        "description": "Shipping Bill Date"
      },
      "Port": {
        "type": "string",
        "minLength": 2,
        "maxLength": 10,
        "pattern": "^[0-9A-Za-z]{2,10}$",
        "description": "Port Code"
      },
      "RefClm": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1,
        "description": "Options for supplier for refund. Y/N"
      },
      "ForCur": {
        "type": "string",
        "minLength": 3,
        "maxLength": 16,
        "description": "Additional Currency Code"
      },
      "CntCode": {
        "type": "string",
        "minLength": 2,
        "maxLength": 2,
        "description": "Country Code"
      }
    }
  },
  "EwbDtls": {
    "type": "object",
    "properties": {
      "TransId": {
        "type": "string",
        "minLength": 15,
        "maxLength": 15,
        "description": "Transin/GSTIN"
      },
      "TransName": {
        "type": "string",
        "minLength": 3,
        "maxLength": 100,
        "description": "Name of the transporter"
      },
      "TransMode": {
        "type": "string",
        "maxLength": 1,
        "minLength": 1,
        "enum": [
          "1",
          "2",
          "3",
          "4"
        ],
        "description": "Mode of transport (Road-1, Rail-2, Air-3, Ship-4)"
      },
      "Distance": {
        "type": "string",
        "maxLength": 1,
        "minLength": 4,
        "description": "Distance between source and destination PIN codes"
      },
      "TransDocNo": {
        "type": "string",
        "minLength": 1,
        "maxLength": 15,
        "pattern": "^([0-9A-Z/-]){1,15}$",
        "description": "Tranport Document Number"
      },
      "TransDocDt": {
        "type": "string",
        "minLength": 10,
        "maxLength": 10,
        "pattern": "[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
        "description": "Transport Document Date"
      },
      "VehNo": {
        "type": "string",
        "minLength": 4,
        "maxLength": 20,
        "description": "Vehicle Number"
      },
      "VehType": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1,
        "enum": [
          "O",
          "R"
        ],
        "description": "Whether O-ODC or R-Regular "
      }
    },
    "required": [
      "Distance",
      "TransMode"
    ]
  },
  "required": [
    "Version",
    "TranDtls",
    "DocDtls",
    "SellerDtls",
    "BuyerDtls",
    "ItemList",
    "ValDtls"
  ]
}  

Validations

Validations in e-Invoicing System
  1. E-Invoice request JSON data has to be validated as per the e-Invoice JSON Schema given in the notification.
  2. Version of the Schema is mandatory and should be latest as per the notified in latest notification.
  3. IRN should not be passed as part of the request; it is generated by the e-Invoice system and sent as response.
  4. The following fields should have one of the values given in the master codes.
    • Supply Type of Transaction
    • Document Type
  5. The category of transaction of ‘Business to Consumer (B2C)’ invoices will not be considered and hence the API interface should not request for IRN for these transactions.
  6. Document number should not be starting with 0, / and -. Also, alphabets in document number should not have alphabets in lower cases. If so, then request is rejected.
  7. Supplier should ensure that the unique invoice number is being generated for the financial year for each invoice, in his ERP/manual system. The financial year is derived from the the date of invoice. The financial year starts from 1st April and ends on 31st March.
  8. Duplicate IRN requests are not considered. That is, if the IRN is already generated on particular type of document and document number of the supplier for the financial year, then one more IRN cannot be generated on the same combination.
  9. e-invoice(IRN) cannot be re-generated for the cancelled e-invoice(IRN) also.
  10. Request for the IRN/e-Invoice can be made only by the supplier of the goods or services.
  11. In case of e-commerce transactions, the e-Commerce Operator can request for the IRN/e-invoice on behalf of the supplier. In this case, the e-Commerce Operator should have been registered on the GST portal as e-Commerce Operator and pass eCom_GSTIN accordingly.
  12. In case the supplier is SEZ unit or SEZ developer, then he cannot generate e-Invoice.
  13. The Document Date can be yesterday or today’s date.
  14. ‘Reverse Charges’ can be set as ‘Y’ in case of B2B invoices only and tax is being paid in reverse manner as per rule. Even in case of Reverse Charged invoices, the seller has to generate the IRN.
  15. Recipient GSTIN should be registered and active. In case of transaction of direct export, recipient GSTIN has to be URP and state code has to be 96, POS should be 96
  16. In case, Buyer is SEZ unit or SEZ developer, the Bill to State code should be 96 and also POS should be 96.
  17. First two digits of the supplier / recipient GSTIN should match with the state code passed in the seller / buyer details accordingly.
  18. PIN Codes are validated against the States, they belong to.
  19. If ‘Shipping party’ is provided, then the transaction is considered as ‘Bill To-Ship To’.
  20. If ‘Dispatching party’ is provided, then the transaction is considered as ‘Bill From – Dispatch From’.
  21. If Shipping and Dispatching parties are provided, then the transaction is considered as ‘Combination of Both’ (Bill From – Dispatch From and Bill To- Ship To).
  22. In case of export transactions for goods, the ‘Ship-To’ address should be of the place/port from where the goods are being exported.
  23. In case IGST on intrastate supply, tax rates and tax values related to IGST should be passed, and seller state code and buyer state code should be same.
  24. In case of Goods, the state code of the Seller GSTIN and state code of the Buyer GSTIN will decide whether the supply type is Interstate or Intrastate. That is, if the State code of Seller and buyer is same, then it is intra-state, otherwise it is inter-state.
  25. In case of Services the state code of the Seller GSTIN and state code of POS will decide whether the supply type is Interstate or Intrastate. That is, if the State code of Seller and state code of POS is same, then it is intra-state, otherwise it is inter-state.
  26. In case of Exports, the supply is always Interstate whether Goods or Services.
  27. JSON payload size cannot exceed 2MB.
Validations on Items:
  1. Serial number of the item is verified for duplicate values.
  2. Each item needs to have valid HSN code with at least 4 digits. That is, items of goods type should be 4 or 6 or 8 digits and items of service type should be 4 or 5 or 6 digits. HSN Code should be valid as per the GST master.
  3. If Is_Service is selected, then the HSN codes must belong to services.
  4. Each item should have valid Unit Quantity Code (UQC) as per the master codes, in case of goods.
  5. Quantity and Unit Quantity Code are mandatory for Goods and optional for Services.
  6. Tax rates are being validated. Only the allowed tax rates will be accepted.
  7. In case of intra-state transaction, the sum of SGST and CGST tax rates should be entered as GST Rate.
  8. In case of inter-state transaction, the IGST tax rate and value has to be passed.
  9. In case of export transaction, IGST tax rate and value has to be passed.
  10. In case the buyer is SEZ unit or SEZ developer, then IGST tax rate and value has to be passed irrespective of state of the buyer.
  11. Maximum number of items in each invoice should not exceed more than 1000 items and a minimum of 1 item should be available
Calculation of Values:
  1. The following summation validations are to be done for items
    • Gross Amount of Item = Quantity X Selling Unit Price Taxable Value of Item = Gross Amount of Item – Discount
    • SGST Value of Item = Taxable Value of Item X GST Rate / 2, if intra-state CGST Value of Item = Taxable Value of Item X GST Rate / 2, if intra-state
    • IGST Value of Item = Taxable Value of Item X GST Rate, if inter-state Cess Value of Item = Taxable Value of Item X Cess Rate
    • State Cess Value of Item = Taxable Value of Item X State Cess Rate Total Value of Item = Taxable Value of Item + SGST Value of Item + CGST Value of Item + IGST Value of Item + Cess Value of Item + State Cess Value of Item + Non-Advol Cess Value of Item + State Cess Non-advol value of Item + Other charges.
  2. The following summation validations are to be done on Invoice total
    • Total Taxable Value = Taxable Value of all Items
    • Total SGST Value = SGST Value of all Items
    • Total CGST Value = CGST Value of all Items
    • Total IGST Value = IGST Value of all Items
    • Total Cess Value = Cess Value of all Items + Non-Advol Cess Value of all Items
    • Total State Cess Value = State Cess Value of all Items + State Cess Nonadvol Value of all Items
    • Total Invoice Value = Total Taxable Value + Total SGST Value + Total CGST Value + Total IGST Value + Total Cess Value + Total State Cess Value + Total Non-Advol Cess Value + Total Other charges – Invoice Discount + Invoice Other charges + Round-off amount
  3. Calculated value / amount in above points can be between actual calculated value / amount and calculated value / amount rounded up to next rupee
  4. The round-off value can be up to Rs. 9.99
Validations on e-waybill:
  1. E-waybill can be generated only if E-way Bill related details are passed where distance is mandatory.
  2. E-way Bill is not generated for document types of Debit Note and Credit Note and Services.
  3. E Way Bill can be generated provided at least HSN of one item belongs to goods.
  4. If only Transporter Id is provided, then only Part-A is generated.
  5. If mode of transportation in ‘Road’, then the Vehicle number and vehicle type should be passed.
  6. If mode of transportation is Ship, Air, Rail, then the transport document number and date should be passed.
  7. The Vehicle no. should match with specified format and exist in Vahan database.
  8. E-Waybill will not be generated if the supplier or recipient GSTIN is blocked due to non-filing of Returns.
  9. Pincode of Recipient GSTIN is mandatory if Ship-To details are not entered
  10. PIN-PIN distance is validated.
  11. In case of export of goods, shipping address should have been passed during generation of IRN
  12. In case incomplete information has been passed for generation of E Way Bill, then IRN will be generated and returned but not E Way Bill number. However subsequently, based on IRN, with Part B details of E Way Bill, E Way Bill can be generated.
  13. E-waybill cannot be generated for only Services.

Frequently Asked Questions

Content will be updated shortly.