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"
ErrorDetails If Status is "0"
InfoDtls Any additional message to be conveyed would be passed.

If Status is "1"

Data Base 64 encoded string of decrypted invoice JSON using Sek.
After decrypting Data the following attributes are obtained as below.
Attributes Description
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
EwbNo E Way Bill No. , if E Way Bill is generated
EwbDt E Way Bill Date. , if E Way Bill is generated
EwbValidTill E Way Bill validity date, if Part B details are provided in the payload

If Status is "0"

ErrorDetails Base 64 encoded string.
On decoding ErrorDetails the following attributes from JSON array are obtained as follows.
ErrorCode Unique error code
ErrorMessage Error Description

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.1",
  "TranDtls": {
    "TaxSch": "GST",
    "SupTyp": "B2B",
    "RegRev": "Y",
    "EcmGstin": null,
    "IgstOnIntra": "N"
  },
  "DocDtls": {
    "Typ": "INV",
    "No": "DOC/001",
    "Dt": "18/08/2020"
  },
  "SellerDtls": {
    "Gstin": "37ARZPT4384Q1MT",
    "LglNm": "NIC company pvt ltd",
    "TrdNm": "NIC Industries",
    "Addr1": "5th block, kuvempu layout",
    "Addr2": "kuvempu layout",
    "Loc": "GANDHINAGAR",
    "Pin": 518001,
    "Stcd": "37",
    "Ph": "9000000000",
    "Em": "abc@gmail.com"
  },
  "BuyerDtls": {
    "Gstin": "29AWGPV7107B1Z1",
    "LglNm": "XYZ company pvt ltd",
    "TrdNm": "XYZ Industries",
    "Pos": "12",
    "Addr1": "7th block, kuvempu layout",
    "Addr2": "kuvempu layout",
    "Loc": "GANDHINAGAR",
    "Pin": 562160,
    "Stcd": "29",
    "Ph": "91111111111",
    "Em": "xyz@yahoo.com"
  },
  "DispDtls": {
    "Nm": "ABC company pvt ltd",
    "Addr1": "7th block, kuvempu layout",
    "Addr2": "kuvempu layout",
    "Loc": "Banagalore",
    "Pin": 562160,
    "Stcd": "29"
  },
  "ShipDtls": {
    "Gstin": "29AWGPV7107B1Z1",
    "LglNm": "CBE company pvt ltd",
    "TrdNm": "kuvempu layout",
    "Addr1": "7th block, kuvempu layout",
    "Addr2": "kuvempu layout",
    "Loc": "Banagalore",
    "Pin": 562160,
    "Stcd": "29"
  },
  "ItemList": [
    {
      "SlNo": "1",
      "PrdDesc": "Rice",
      "IsServc": "N",
      "HsnCd": "1001",
      "Barcde": "123456",
      "Qty": 100.345,
      "FreeQty": 10,
      "Unit": "BAG",
      "UnitPrice": 99.545,
      "TotAmt": 9988.84,
      "Discount": 10,
      "PreTaxVal": 1,
      "AssAmt": 9978.84,
      "GstRt": 12.0,
      "IgstAmt": 1197.46,
      "CgstAmt": 0,
      "SgstAmt": 0,
      "CesRt": 5,
      "CesAmt": 498.94,
      "CesNonAdvlAmt": 10,
      "StateCesRt": 12,
      "StateCesAmt": 1197.46,
      "StateCesNonAdvlAmt": 5,
      "OthChrg": 10,
      "TotItemVal": 12897.7,
      "OrdLineRef": "3256",
      "OrgCntry": "AG",
      "PrdSlNo": "12345",
      "BchDtls": {
        "Nm": "123456",
        "ExpDt": "01/08/2020",
        "WrDt": "01/09/2020"
      },
      "AttribDtls": [
        {
          "Nm": "Rice",
          "Val": "10000"
        }
      ]
    }
  ],
  "ValDtls": {
    "AssVal": 9978.84,
    "CgstVal": 0,
    "SgstVal": 0,
    "IgstVal": 1197.46,
    "CesVal": 508.94,
    "StCesVal": 1202.46,
    "Discount": 10,
    "OthChrg": 20,
    "RndOffAmt": 0.3,
    "TotInvVal": 12908,
    "TotInvValFc": 12897.7
  },
  "PayDtls": {
    "Nm": "ABCDE",
    "AccDet": "5697389713210",
    "Mode": "Cash",
    "FinInsBr": "SBIN11000",
    "PayTerm": "100",
    "PayInstr": "Gift",
    "CrTrn": "test",
    "DirDr": "test",
    "CrDay": 100,
    "PaidAmt": 10000,
    "PaymtDue": 5000
  },
  "RefDtls": {
    "InvRm": "TEST",
    "DocPerdDtls": {
      "InvStDt": "01/08/2020",
      "InvEndDt": "01/09/2020"
    },
    "PrecDocDtls": [
      {
        "InvNo": "DOC/002",
        "InvDt": "01/08/2020",
        "OthRefNo": "123456"
      }
    ],
    "ContrDtls": [
      {
        "RecAdvRefr": "Doc/003",
        "RecAdvDt": "01/08/2020",
        "TendRefr": "Abc001",
        "ContrRefr": "Co123",
        "ExtRefr": "Yo456",
        "ProjRefr": "Doc-456",
        "PORefr": "Doc-789",
        "PORefDt": "01/08/2020"
      }
    ]
  },
  "AddlDocDtls": [
    {
      "Url": "https://einv-apisandbox.nic.in",
      "Docs": "Test Doc",
      "Info": "Document Test"
    }
  ],
  "ExpDtls": {
    "ShipBNo": "A-248",
    "ShipBDt": "01/08/2020",
    "Port": "INABG1",
    "RefClm": "N",
    "ForCur": "AED",
    "CntCode": "AE",
    "ExpDuty": null
  },
  "EwbDtls": {
    "TransId": "12AWGPV7107B1Z1",
    "TransName": "XYZ EXPORTS",
    "Distance": 100,
    "TransDocNo": "DOC01",
    "TransDocDt": "18/08/2020",
    "VehNo": "ka123456",
    "VehType": "R",
    "TransMode": "1"
  }
}
		 

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":112010000002315,
        "AckDt":"2020-08-05 15:18:00",
        "Irn":"11f8ef701fe294d4a14aad0b12457e62775d0fdc41a0acf05b74fbb2ddc47acb",
        "SignedInvoice":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjExNUY0NDI2NjE3QTc5MzhCRTFCQTA2REJFRTkxQTQyNzU4NEVEQUIiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJFVjlFSm1GNmVUaS1HNkJ0dnVrYVFuV0U3YXMifQ.eyJkYXRhIjoie1wiQWNrTm9cIjoxMTIwMTAwMDAwMDIzMTUsXCJBY2tEdFwiOlwiMjAyMC0wOC0wNSAxNToxODowMFwiLFwiSXJuXCI6XCIxMWY4ZWY3MDFmZTI5NGQ0YTE0YWFkMGIxMjQ1N2U2Mjc3NWQwZmRjNDFhMGFjZjA1Yjc0ZmJiMmRkYzQ3YWNiXCIsXCJWZXJzaW9uXCI6XCIxLjAxXCIsXCJUcmFuRHRsc1wiOntcIlRheFNjaFwiOlwiR1NUXCIsXCJTdXBUeXBcIjpcIkIyQlwiLFwiUmVnUmV2XCI6XCJOXCIsXCJJZ3N0T25JbnRyYVwiOlwiWVwifSxcIkRvY0R0bHNcIjp7XCJUeXBcIjpcIklOVlwiLFwiTm9cIjpcIkRELTIwMjAwODA0LTlcIixcIkR0XCI6XCIwNC8wOC8yMDIwXCJ9LFwiU2VsbGVyRHRsc1wiOntcIkdzdGluXCI6XCIzN0FSWlBUNDM4NFExTVRcIixcIkxnbE5tXCI6XCIgQUJDIGNvbXBhbnkgcHZ0IGx0ZFwiLFwiVHJkTm1cIjpcInZpa2FzXCIsXCJBZGRyMVwiOlwiVEUgaFwiLFwiQWRkcjJcIjpcImFiY1wiLFwiTG9jXCI6XCJCYW5nYWxvcmVcIixcIlBpblwiOjUxNTMxMSxcIlN0Y2RcIjpcIjM3XCIsXCJQaFwiOlwiOTczODk3MTk3MFwiLFwiRW1cIjpcInZpa2FzQGdtYWlsLmNvbVwifSxcIkJ1eWVyRHRsc1wiOntcIkdzdGluXCI6XCIxMUFBQUNUMzkwNEYxWlpcIixcIkxnbE5tXCI6XCJYWVogY29tcGFueSBwdnQgbHRkXCIsXCJQb3NcIjpcIjM3XCIsXCJBZGRyMVwiOlwiN3RoIGJsb2NrLCBrdXZlbXB1IGxheW91dFwiLFwiTG9jXCI6XCJHQU5ESElOQUdBUlwiLFwiUGluXCI6NzM3MTAxLFwiU3RjZFwiOlwiMTFcIn0sXCJEaXNwRHRsc1wiOntcIk5tXCI6XCJuYW1lIG9mIHRoZSBjb21wYW55IGZyb20gd2hpY2ggZ29vZHMgZGlzcGF0Y2hlZFwiLFwiQWRkcjFcIjpcImFkZHJlc3NcIixcIkFkZHIyXCI6XCJCYW5nYWxvcmVcIixcIkxvY1wiOlwia3prXCIsXCJQaW5cIjo2OTA1MTMsXCJTdGNkXCI6XCIzMlwifSxcIlNoaXBEdGxzXCI6e1wiR3N0aW5cIjpcIjMyRElVUFAxMTc1RzFaMVwiLFwiTGdsTm1cIjpcInNoaXAgdHJhZGVcIixcIlRyZE5tXCI6XCJ2aWthc1wiLFwiQWRkcjFcIjpcInNoaXAgYiBub1wiLFwiQWRkcjJcIjpcIkJhbmdhbG9yZVwiLFwiTG9jXCI6XCJCYW5nYWxvcmVcIixcIlBpblwiOjY5MDUxMyxcIlN0Y2RcIjpcIjMyXCJ9LFwiSXRlbUxpc3RcIjpbe1wiSXRlbU5vXCI6MSxcIlNsTm9cIjpcIjFcIixcIklzU2VydmNcIjpcIk5cIixcIlByZERlc2NcIjpcIlN0ZWVsXCIsXCJIc25DZFwiOlwiMTAwMVwiLFwiUXR5XCI6MTAsXCJVbml0XCI6XCJCQUdcIixcIlVuaXRQcmljZVwiOjIwMC4wMCxcIlRvdEFtdFwiOjIwMDAuMDAsXCJEaXNjb3VudFwiOjEwLFwiQXNzQW10XCI6MTk5MC4wMCxcIkdzdFJ0XCI6MTIuMDAsXCJJZ3N0QW10XCI6MjM4LjgsXCJDZ3N0QW10XCI6MCxcIlNnc3RBbXRcIjowLFwiQ2VzUnRcIjo1LFwiQ2VzQW10XCI6OTkuNSxcIkNlc05vbkFkdmxBbXRcIjoxMCxcIlN0YXRlQ2VzUnRcIjoxMixcIlN0YXRlQ2VzQW10XCI6MjM4LjgwLFwiU3RhdGVDZXNOb25BZHZsQW10XCI6NSxcIk90aENocmdcIjoxMCxcIlRvdEl0ZW1WYWxcIjoyNTkyLjF9LHtcIkl0ZW1Ob1wiOjIsXCJTbE5vXCI6XCIyXCIsXCJJc1NlcnZjXCI6XCJOXCIsXCJQcmREZXNjXCI6XCJTdGVlbFwiLFwiSHNuQ2RcIjpcIjEwMDFcIixcIlF0eVwiOjEwLFwiVW5pdFwiOlwiQkFHXCIsXCJVbml0UHJpY2VcIjoyMDAuMDAsXCJUb3RBbXRcIjoyMDAwLjAwLFwiRGlzY291bnRcIjoxMCxcIkFzc0FtdFwiOjE5OTAuMDAsXCJHc3RSdFwiOjEyLjAwLFwiSWdzdEFtdFwiOjIzOC44LFwiQ2dzdEFtdFwiOjAsXCJTZ3N0QW10XCI6MCxcIkNlc1J0XCI6NSxcIkNlc0FtdFwiOjk5LjUsXCJDZXNOb25BZHZsQW10XCI6MTAsXCJTdGF0ZUNlc1J0XCI6MTIsXCJTdGF0ZUNlc0FtdFwiOjIzOC44MCxcIlN0YXRlQ2VzTm9uQWR2bEFtdFwiOjUsXCJPdGhDaHJnXCI6MTAsXCJUb3RJdGVtVmFsXCI6MjU5Mi4xfSx7XCJJdGVtTm9cIjozLFwiU2xOb1wiOlwiM1wiLFwiSXNTZXJ2Y1wiOlwiTlwiLFwiUHJkRGVzY1wiOlwiU3RlZWxcIixcIkhzbkNkXCI6XCIxMDAxXCIsXCJRdHlcIjoxMCxcIlVuaXRcIjpcIkJBR1wiLFwiVW5pdFByaWNlXCI6MjAwLjAwLFwiVG90QW10XCI6MjAwMC4wMCxcIkRpc2NvdW50XCI6MTAsXCJBc3NBbXRcIjoxOTkwLjAwLFwiR3N0UnRcIjoxMi4wMCxcIklnc3RBbXRcIjoyMzguOCxcIkNnc3RBbXRcIjowLFwiU2dzdEFtdFwiOjAsXCJDZXNSdFwiOjUsXCJDZXNBbXRcIjo5OS41LFwiQ2VzTm9uQWR2bEFtdFwiOjEwLFwiU3RhdGVDZXNSdFwiOjEyLFwiU3RhdGVDZXNBbXRcIjoyMzguODAsXCJTdGF0ZUNlc05vbkFkdmxBbXRcIjo1LFwiT3RoQ2hyZ1wiOjEwLFwiVG90SXRlbVZhbFwiOjI1OTIuMX1dLFwiVmFsRHRsc1wiOntcIkFzc1ZhbFwiOjU5NzAuMCxcIkNnc3RWYWxcIjowLFwiU2dzdFZhbFwiOjAsXCJJZ3N0VmFsXCI6NzE2LjQsXCJDZXNWYWxcIjozMjguNSxcIlN0Q2VzVmFsXCI6NzMxLjQsXCJSbmRPZmZBbXRcIjowLFwiVG90SW52VmFsXCI6Nzc3Ni4zfSxcIlJlZkR0bHNcIjp7XCJJbnZSbVwiOlwiMTIzXCIsXCJQcmVjRG9jRHRsc1wiOlt7XCJJbnZOb1wiOlwiQUJDXCIsXCJJbnZEdFwiOlwiMDIvMDIvMjAyMFwiLFwiT3RoUmVmTm9cIjpcIjEyQVwifV0sXCJDb250ckR0bHNcIjpbe1wiUmVjQWR2UmVmclwiOlwiMTIzXCIsXCJSZWNBZHZEdFwiOlwiMTIvMDIvMjAyMFwiLFwiVGVuZFJlZnJcIjpcImFiY1wiLFwiQ29udHJSZWZyXCI6XCJhYmNcIixcIkV4dFJlZnJcIjpcImFiY1wiLFwiUHJvalJlZnJcIjpcImFiY1wiLFwiUE9SZWZyXCI6XCJhYmNcIixcIlBPUmVmRHRcIjpcIjEyLzAyLzIwMjBcIn1dfSxcIkFkZGxEb2NEdGxzXCI6W3tcIlVybFwiOlwiaHR0cHM6Ly9laW52LWFwaXNhbmRib3gubmljLmluL2dzdGNvcmVfdGVzdC92MS4wMS9pbnZvaWNlXCIsXCJEb2NzXCI6XCJ2aWthc1wiLFwiSW5mb1wiOlwidmlrYXNcIn1dLFwiRXdiRHRsc1wiOntcIlRyYW5zSWRcIjpcIjEyQVdHUFY3MTA3QjFaMVwiLFwiVHJhbnNOYW1lXCI6XCJYWVogRVhQT1JUU1wiLFwiVHJhbnNNb2RlXCI6XCIxXCIsXCJEaXN0YW5jZVwiOjEwMCxcIlRyYW5zRG9jTm9cIjpcIkRPQzAxXCIsXCJUcmFuc0RvY0R0XCI6XCIwNC8wOC8yMDIwXCIsXCJWZWhOb1wiOlwia2ExMjM0NTZcIixcIlZlaFR5cGVcIjpcIlJcIn19IiwiaXNzIjoiTklDIn0.oesnTXdXgOEeRjYr6bRQ-_Ks-bnIpwtj7Zx8phzfjL6vsfuGqBokILz6ai0NHFKRxiX_bTLrgrWmwXyBdEFmt88myf4n-NP5JvwqFx4OIf0gYMFTKGLx4AQsxwXER836FDxyS33K_7Erkm7_yHsITR5sBkYrZYOWimYl5cgh4EFN2mEq0B8oIp9pSXAU2RGvuirV6Rnl902sWj1Zv_2UK8e9C7cS7maeuFvEgAHrwBjxqLVvRGDz93oRVgQcavhdNTmBr8LQo2yRQkwtZKCMY_NGDsIoJx3orAKEUE7D1RbAM6xh-uxGOlqxur50826y0sk6OuG2WB9K5g5gumxIpg",
        "SignedQRCode":"eyJhbGciOiJSUzI1NiIsImtpZCI6IjExNUY0NDI2NjE3QTc5MzhCRTFCQTA2REJFRTkxQTQyNzU4NEVEQUIiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJFVjlFSm1GNmVUaS1HNkJ0dnVrYVFuV0U3YXMifQ.eyJkYXRhIjoie1wiU2VsbGVyR3N0aW5cIjpcIjM3QVJaUFQ0Mzg0UTFNVFwiLFwiQnV5ZXJHc3RpblwiOlwiMTFBQUFDVDM5MDRGMVpaXCIsXCJEb2NOb1wiOlwiREQtMjAyMDA4MDQtOVwiLFwiRG9jVHlwXCI6XCJJTlZcIixcIkRvY0R0XCI6XCIwNC8wOC8yMDIwXCIsXCJUb3RJbnZWYWxcIjo3Nzc2LjMsXCJJdGVtQ250XCI6MyxcIk1haW5Ic25Db2RlXCI6XCIxMDAxXCIsXCJJcm5cIjpcIjExZjhlZjcwMWZlMjk0ZDRhMTRhYWQwYjEyNDU3ZTYyNzc1ZDBmZGM0MWEwYWNmMDViNzRmYmIyZGRjNDdhY2JcIn0iLCJpc3MiOiJOSUMifQ.fya8oD85f2_K8pDWSf8N94_T24O1lA9OPpIuUwk14el_r1lhL13OFxGkklhiewSMUom8DvO9JKu4jjz2l5farRTJhiBWJ43EtEky2SLzRhJf23JYW_6PyLErYL2RTzv2PlZ75eXIBZzPkxc2erCx61T50oHmExLgl1Q6HclvgiQUAVxysq1VFv96zEZVH8I0xDNqjdvqdtsW74ZHqzpV28kDIvuyV4Z5j3bR39GE6YKMetext_x3bJ4Wt4F1z3DOzfUjuKGdEjP0fTSwNg1RpiDoH4wcaMP7RJgtbQYXn4j3YoppCEw916AmbihiT2gSODPn04vhCbBecI7oOZvxpw",
        "Status":"ACT",
        "EwbNo":191008688443,
        "EwbDt":"2020-08-05 15:18:00",
        "EwbValidTill":"2020-08-06 23:59:00",
        "Remarks":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": 1,
		"maxLength": 6,
		"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"
				],
				"pattern": "^(GST)$",
				"description": "GST- Goods and Services Tax Scheme"
			},
			"SupTyp": {
				"type": "string",
				"minLength": 3,
				"maxLength": 10,
				"enum": [
					"B2B",
					"SEZWP",
					"SEZWOP",
					"EXPWP",
					"EXPWOP",
					"DEXP"
				],
				"pattern": "(?i)^((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"
				],
				"pattern": "^([Y|N]{1})$",
				"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"
			},
			"IgstOnIntra": {
				"type": "string",
				"minLength": 1,
				"maxLength": 1,
				"enum": [
					"Y",
					"N"
				],
				"pattern": "^([Y|N]{1})$",
				"description": "Y- indicates the supply is intra state but chargeable to IGST"
			}
		},
		"required": [
			"TaxSch",
			"SupTyp"
		]
	},
	"DocDtls": {
		"type": "object",
		"properties": {
			"Typ": {
				"type": "string",
				"minLength": 3,
				"maxLength": 3,
				"enum": [
					"INV",
					"CRN",
					"DBN"
				],
				"pattern": "(?i)^((INV)|(CRN)|(DBN))$",
				"description": "Document Type: INVOICE, CREDIT NOTE, DEBIT NOTE"
			},
			"No": {
				"type": "string",
				"minLength": 1,
				"maxLength": 16,
				"pattern": "^([a-zA-Z1-9]{1}[a-zA-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,
				"pattern": "^([^\\\"])*$",
				"description": "Legal Name"
			},
			"TrdNm": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Tradename"
			},
			"Addr1": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Building/Flat no, Road/Street"
			},
			"Addr2": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Address 2 of the supplier (Floor no., Name of the premises/building)"
			},
			"Loc": {
				"type": "string",
				"minLength": 3,
				"maxLength": 50,
				"pattern": "^([^\\\"])*$",
				"description": "Location"
			},
			"Pin": {
				"type": "number",
				"minimum": 100000,
				"maximum": 999999,
				"description": "Pincode"
			},
			"Stcd": {
				"type": "string",
				"minLength": 1,
				"maxLength": 2,
				"pattern": "^(?!0+$)([0-9]{1,2})$",
				"description": "State Code of the supplier. Refer the master"
			},
			"Ph": {
				"type": "String",
				"minLength": 6,
				"maxLength": 12,
				"pattern": "^([0-9]{6,12})$",
				"description": "Phone or Mobile No."
			},
			"Em": {
				"type": "string",
				"minLength": 6,
				"maxLength": 100,
				"pattern": "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$",
				"description": "Email-Id"
			}
		},
		"required": [
			"Gstin",
			"LglNm",
			"Addr1",
			"Loc",
			"Pin",
			"Stcd"
		]
	},
	"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,
				"pattern": "^([^\\\"])*$",
				"description": "Legal Name"
			},
			"TrdNm": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Trade Name"
			},
			"Pos": {
				"type": "string",
				"minLength": 1,
				"maxLength": 2,
				"pattern": "^(?!0+$)([0-9]{1,2})$",
				"description": "State code of Place of supply. If POS lies outside the country, the code shall be 96."
			},
			"Addr1": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Address 1 of the buyer. (Building/Flat no., Road/Street etc.)"
			},
			"Addr2": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Address 2 of the buyer. (Floor no., Name of the premises/ building)"
			},
			"Loc": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Location"
			},
			"Pin": {
				"type": " number",
				"minimum": 100000,
				"maximum": 999999,
				"description": "Pincode"
			},
			"Stcd": {
				"type": "string",
				"minLength": 1,
				"maxLength": 2,
				"pattern": "^(?!0+$)([0-9]{1,2})$",
				"description": "State Code of the buyer. Refer the master"
			},
			"Ph": {
				"type": "String",
				"minLength": 6,
				"maxLength": 12,
				"pattern": "^([0-9]{6,12})$",
				"description": "Phone or Mobile No."
			},
			"Em": {
				"type": "string",
				"minLength": 6,
				"maxLength": 100,
				"pattern": "^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$",
				"description": "Email-Id"
			}
		},
		"required": [
			"Gstin",
			"LglNm",
			"Pos",
			"Addr1",
			"Loc",
			"Stcd"
		]
	},
	"DispDtls": {
		"type": "object",
		"properties": {
			"Nm": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Name of the company from which the goods are dispatched"
			},
			"Addr1": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Address 1 of the entity from which goods are dispatched. (Building/Flat no.Road/Street etc.)"
			},
			"Addr2": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"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,
				"pattern": "^([^\\\"])*$",
				"description": "Location"
			},
			"Pin": {
				"type": "number",
				"minimum": 100000,
				"maximum": 999999,
				"description": "Pincode"
			},
			"Stcd": {
				"type": "string",
				"minLength": 1,
				"maxLength": 2,
				"pattern": "^(?!0+$)([0-9]{1,2})$",
				"description": "State Code. Refer the master"
			}
		},
		"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": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Legal Name"
			},
			"TrdNm": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Trade Name"
			},
			"Addr1": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"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,
				"pattern": "^([^\\\"])*$",
				"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,
				"pattern": "^([^\\\"])*$",
				"description": "Place (City,Town,Village) entity to whom the supplies are shipped to."
			},
			"Pin": {
				"type": "number",
				"minimum": 100000,
				"maximum": 999999,
				"description": "Pincode"
			},
			"Stcd": {
				"type": "string",
				"minLength": 1,
				"maxLength": 2,
				"pattern": "^(?!0+$)([0-9]{1,2})$",
				"description": "State Code to which supplies are shipped to. Refer the master"
			}
		},
		"required": [
			"LglNm",
			"Addr1",
			"Loc",
			"Pin",
			"Stcd"
		]
	},
	"ItemList": [{
		"type": "object",
		"properties": {
			"SlNo": {
				"type": "string",
				"minLength": 1,
				"maxLength": 6,
				"pattern": "^([0-9]{1,6})$",
				"description": "Serial No. of Item"
			},
			"PrdDesc": {
				"type": "string",
				"minLength": 3,
				"maxLength": 300,
				"pattern": "^([^\\\"])*$",
				"description": "Product Description"
			},
			"IsServc": {
				"type": "string",
				"minLength": 1,
				"maxLength": 1,
				"enum": [
					"Y",
					"N"
				],
				"pattern": "^([Y|N]{1})$",
				"description": "Specify whether the supply is service or not. Specify Y-for Service"
			},
			"HsnCd": {
				"type": "string",
				"minLength": 4,
				"maxLength": 8,
				"pattern": "^(?!0+$)([0-9]{4}|[0-9]{6}|[0-9]{8})$",
				"description": "HSN Code. Refer Master"
			},
			"Barcde": {
				"type": "string",
				"minLength": 3,
				"maxLength": 30,
				"pattern": "^([^\\\"])*$",
				"description": "Bar Code"
			},
			"Qty": {
				"type": "number",
				"minimum": 0,
				"maximum": 9999999999.999,
				"description": "Quantity"
			},
			"FreeQty": {
				"type": "number",
				"minimum": 0,
				"maximum": 9999999999.999,
				"description": "Free Quantity"
			},
			"Unit": {
				"type": "string",
				"minLength": 3,
				"maxLength": 8,
				"pattern": "^([A-Z|a-z]{3,8})$",
				"description": "Unit. Refer the master"
			},
			"UnitPrice": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.999,
				"description": "Unit Price - Rate"
			},
			"TotAmt": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "Gross Amount (Unit Price * Quantity)"
			},
			"Discount": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "Discount"
			},
			"PreTaxVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "Pre tax value"
			},
			"AssAmt": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.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": 999999999999.99,
				"description": " Amount of IGST payable."
			},
			"CgstAmt": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": " Amount of CGST payable."
			},
			"SgstAmt": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": " Amount of SGST payable."
			},
			"CesRt": {
				"type": "number",
				"minimum": 0,
				"maximum": 999.999,
				"description": "Cess Rate"
			},
			"CesAmt": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "Cess Amount(Advalorem) on basis of rate and quantity of item"
			},
			"CesNonAdvlAmt": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "Cess Non-Advol Amount"
			},
			"StateCesRt": {
				"type": "number",
				"minimum": 0,
				"maximum": 999.999,
				"description": "State CESS Rate"
			},
			"StateCesAmt": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "State CESS Amount"
			},
			"StateCesNonAdvlAmt": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "State CESS Non Adval Amount"
			},
			"OthChrg": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "Other Charges"
			},
			"TotItemVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "Total Item Value = Assessable Amount + CGST Amt + SGST Amt + Cess Amt + CesNonAdvlAmt + StateCesAmt + StateCesNonAdvlAmt+Otherchrg"
			},
			"OrdLineRef": {
				"type": "string",
				"minLength": 1,
				"maxLength": 50,
				"pattern": "^([^\\\"])*$",
				"description": "Order line reference"
			},
			"OrgCntry": {
				"type": "string",
				"minLength": 2,
				"maxLength": 2,
				"pattern": "^([A-Z|a-z]{2})$",
				"description": "Origin Country. Refer Master"
			},
			"PrdSlNo": {
				"type": "string",
				"minLength": 1,
				"maxLength": 20,
				"pattern": "^([^\\\"])*$",
				"description": "Serial number in case of each item having a unique number."
			},
			"BchDtls": {
				"type": "object",
				"properties": {
					"Nm": {
						"type": "string",
						"minLength": 3,
						"maxLength": 20,
						"pattern": "^([^\\\"])*$",
						"description": "Batch number"
					},
					"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"
				]
			},
			"AttribDtls": [{
				"type": "object",
				"properties": {
					"Nm": {
						"type": "string",
						"minLength": 1,
						"maxLength": 100,
						"pattern": "^([^\\\"])*$",
						"description": "Attribute name of the item"
					},
					"Val": {
						"type": "string",
						"minLength": 1,
						"maxLength": 100,
						"pattern": "^([^\\\"])*$",
						"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": 99999999999999.99,
				"description": "Total Assessable value of all items"
			},
			"CgstVal": {
				"type": "number",
				"maximum": 99999999999999.99,
				"minimum": 0,
				"description": "Total CGST value of all items"
			},
			"SgstVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Total SGST value of all items"
			},
			"IgstVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Total IGST value of all items"
			},
			"CesVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Total CESS value of all items"
			},
			"StCesVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Total State CESS value of all items"
			},
			"Discount": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Discount"
			},
			"OthChrg": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Other Charges"
			},
			"RndOffAmt": {
				"type": "number",
				"minimum": -99.99,
				"maximum": 99.99,
				"description": "Rounded off amount"
			},
			"TotInvVal": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Final Invoice value "
			},
			"TotInvValFc": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Final Invoice value in Additional Currency"
			}
		},
		"required": [
			"AssVal",
			"TotInvVal"
		]
	},
	"PayDtls": {
		"type": "object",
		"properties": {
			"Nm": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Payee Name"
			},
			"AccDet": {
				"type": "string",
				"minLength": 1,
				"maxLength": 18,
				"pattern": "^([^\\\"])*$",
				"description": "Bank account number of payee"
			},
			"Mode": {
				"type": "string",
				"minLength": 1,
				"maxLength": 18,
				"pattern": "^([^\\\"])*$",
				"description": "Mode of Payment: Cash, Credit, Direct Transfer"
			},
			"FinInsBr": {
				"type": "string",
				"minLength": 1,
				"maxLength": 11,
				"pattern": "^([^\\\"])*$",
				"description": "Branch or IFSC code"
			},
			"PayTerm": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Terms of Payment"
			},
			"PayInstr": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Payment Instruction"
			},
			"CrTrn": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Credit Transfer"
			},
			"DirDr": {
				"type": "string",
				"minLength": 1,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Direct Debit"
			},
			"CrDay": {
				"type": "number",
				"minimum": 0,
				"maximum": 9999,
				"description": "Credit Days"
			},
			"PaidAmt": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "The sum of amount which have been paid in advance."
			},
			"PaymtDue": {
				"type": "number",
				"minimum": 0,
				"maximum": 99999999999999.99,
				"description": "Outstanding amount that is required to be paid."
			}
		}
	},
	"RefDtls": {
		"type": "object",
		"properties": {
			"InvRm": {
				"type": "string",
				"maxLength": 100,
				"minLength": 3,
				"pattern": "^([^\\\"])*$",
				"description": "Remarks/Note"
			},
			"DocPerdDtls": {
				"type": "object",
				"properties": {
					"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"
					}
				},
				"required": [
					" InvStDt ",
					" InvEndDt "
				]
			},
			"PrecDocDtls": [{
				"type": "object",
				"properties": {
					"InvNo": {
						"type": "string",
						"minLength": 1,
						"maxLength": 16,
						"pattern": "^[1-9a-zA-Z]{1}[0-9a-zA-Z\/-]{1,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": 1,
						"maxLength": 20,
						"pattern": "^([^\\\"])*$",
						"description": "Other Reference"
					}
				}
			}],
			"required": [
				"InvNo",
				"InvDt"
			],
			"ContrDtls": [{
				"type": "object",
				"properties": {
					"RecAdvRefr": {
						"type": "string",
						"minLength": 1,
						"maxLength": 20,
						"pattern": "^([^\\\"])*$",
						"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": 1,
						"maxLength": 20,
						"pattern": "^([^\\\"])*$",
						"description": "Lot/Batch Reference No."
					},
					"ContrRefr": {
						"type": "string",
						"minLength": 1,
						"maxLength": 20,
						"pattern": "^([^\\\"])*$",
						"description": "Contract Reference Number"
					},
					"ExtRefr": {
						"type": "string",
						"minLength": 1,
						"maxLength": 20,
						"pattern": "^([^\\\"])*$",
						"description": "Any other reference"
					},
					"ProjRefr": {
						"type": "string",
						"minLength": 1,
						"maxLength": 20,
						"pattern": "^([^\\\"])*$",
						"description": "Project Reference Number"
					},
					"PORefr": {
						"type": "string",
						"minLength": 1,
						"maxLength": 16,
						"pattern": "^([^\\\"])*$",
						"description": " 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 ": "POReferencedate "
					}
				}
			}]
		}
	},
	"AddlDocDtls ": [{
		"type ": "object ",
		"properties ": {
			"Url ": {
				"type ": "string ",
				"minLength ": 3,
				"maxLength ": 100,
				"pattern ": "^([^\\\"])*$",
				"description ": "SupportingdocumentURL "
			},
			"Docs ": {
				"type ": "string ",
				"minLength ": 3,
				"maxLength ": 1000,
				"pattern ": "^([^\\\"])*$",
				"description": "Supporting document in Base64 Format"
			},
			"Info": {
				"type": "string",
				"minLength": 3,
				"maxLength": 1000,
				"pattern": "^([^\\\"])*$",
				"description": "Any additional information"
			}
		}
	}],
	"ExpDtls": {
		"type": "object",
		"properties": {
			"ShipBNo": {
				"type": "string",
				"minLength": 1,
				"maxLength": 20,
				"pattern": "^([^\\\"])*$",
				"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-9|A-Z|a-z]{2,10}$",
				"description": "Port Code. Refer the master"
			},
			"RefClm": {
				"type": "string",
				"minLength": 1,
				"maxLength": 1,
				"pattern": "^([Y|N]{1})$",
				"description": "Claiming Refund. Y/N"
			},
			"ForCur": {
				"type": "string",
				"minLength": 3,
				"maxLength": 16,
				"pattern": "^[A-Z|a-z]{3,16}$",
				"description": "Additional Currency Code. Refer the master"
			},
			"CntCode": {
				"type": "string",
				"minLength": 2,
				"maxLength": 2,
				"pattern": "^([A-Z]{2})$",
				"description": "Country Code. Refer the master"
			},
			"ExpDuty": {
				"type": "number",
				"minimum": 0,
				"maximum": 999999999999.99,
				"description": "Export Duty"
			}
		}
	},
	"EwbDtls": {
		"type": "object",
		"properties": {
			"TransId": {
				"type": "string",
				"minLength": 15,
				"maxLength": 15,
				"pattern": "^([0-9]{2}[0-9A-Z]{13})$",
				"description": "Transin/GSTIN"
			},
			"TransName": {
				"type": "string",
				"minLength": 3,
				"maxLength": 100,
				"pattern": "^([^\\\"])*$",
				"description": "Name of the transporter"
			},
			"TransMode": {
				"type": "string",
				"maxLength": 1,
				"minLength": 1,
				"enum": [
					"1",
					"2",
					"3",
					"4"
				],
				"pattern": "^([1-4]{1})?$",
				"description": "Mode of transport (Road-1, Rail-2, Air-3, Ship-4)"
			},
			"Distance": {
				"type": "number",
				"minimum": 0,
				"maximum": 4000,
				"description": " Distance between source and destination PIN codes"
			},
			"TransDocNo": {
				"type": "string",
				"minLength": 1,
				"maxLength": 15,
				"pattern": "^([a-zA-Z0-9\/-]{1,15})$",
				"description": "Tranport Document Number"
			},
			"TransDocDt": {
				"type": "string",
				"minLength": 10,
				"maxLength": 10,
				"pattern": "^[a-zA-Z0-9]{1}[a-zA-Z0-9-/]*$",
				"description": "Transport Document Date"
			},
			"VehNo": {
				"type": "string",
				"minLength": 4,
				"maxLength": 20,
				"pattern": "^([A-Z|a-z|0-9]{4,20})$",
				"description": "Vehicle Number"
			},
			"VehType": {
				"type": "string",
				"minLength": 1,
				"maxLength": 1,
				"enum": [
					"O",
					"R"
				],
				"pattern": "^([O|R]{1})$",
				"description": "Whether O-ODC or R-Regular "
			}
		},
		"required": [
			"Distance"
		]
	},
	"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’ attribute in the Schema is mandatory and should be latest as per the latest notification. Presently it should be passed as ‘1.1’.
  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 attributes in the JSON schema have been defined with column length, format and data types. Where-ever the data format is not defined for the attribute having data type as string, then for these attributes, the alphanumeric and special characters are allowed except the special characters “ (double quote) and \ (back slash).
  5. IRN generation is allowed only for the active Supplier. If he is cancelled or suspended, he cannot generate IRN.
  6. The following fields should have one of the values given in the master codes.
    1. Supply Type of Transaction
    2. Document Type
  7. 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.
  8. Document number should not be starting with 0, / and -. If so, then request is rejected.
  9. IRN requests with Document Date from 01/10/2022 only will be accepted and processed for IRN generation. IRN requests belonging to previous dates will be rejected.
  10. 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 date of invoice. The financial year starts from 1st April and ends on 31st March.
  11. 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.
  12. e-invoice(IRN) cannot be re-generated for the cancelled e-invoice(IRN) also.
  13. Request for the IRN/e-Invoice can be made only by the supplier of the goods or services.
  14. 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.
  15. In case the supplier is SEZ unit, then he cannot generate e-Invoice.
  16. "Reverse Charges" can be set as "Y" in case of B2B and SEZ invoices only and tax is being paid in reverse manner as per rule. Even in case of Reverse Charged invoices, the Supplier has to generate the IRN.
  17. SEZWP and SEZWOP supply type is allowed only if the taxpayer type of recipient GSTIN is ‘SEZ Unit’ or ‘SEZ Developer’.
  18. Recipient GSTIN should be registered and active or suspended, on the date of preparation of the document by the supplier.
  19. In case Recipient GSTIN is cancelled, then the document date should be between the date of registration and date of de-registration of the Recipient GSTIN.
  20. In case SEZ Developer is Supplier, then only IGST tax rates are applicable irrespective of Supplier state code and POS code.
  21. In case of transaction of direct export, recipient GSTIN has to be URP and state code has to be 96, PIN code should be 999999, POS should be 96.
  22. In case of GSTIN of supplier or recipient belonging to state of ‘OTHER TERRITORY’ (with state code as 97), then PIN code can be 999999.
  23. First two digits of the Supplier / Recipient GSTIN should match with the state code passed in the Supplier / Recipient details accordingly except if supply type is exports wherein Recipient state code will be 96.
  24. PIN Codes are validated against the States, they belong by matching the complete pincode against state master. If the PIN Code does not exist in the master database of the e-invoicing system, and the first 3 digits of the PIN code is matched with the State as per the pattern of PIN code-to-State mapping defined by postal department, then IRN gets generated.
  25. If "Shipping party" is provided, then the transaction is considered as "Bill To-Ship To".
  26. If "Dispatching party" is provided, then the transaction is considered as "Bill From " Dispatch From".
  27. If both Shipping and Dispatching parties are provided, then the transaction is considered as "Combination of Both" (Bill From - Dispatch From and Bill To- Ship To).
  28. In case of export transactions for goods, if e-way bill is required along with IRN, then the 'Ship-To' address should be of the place/port in India from where the goods are being exported. Otherwise E-way bill can be generated later based on IRN, by passing the 'Ship-To' address as the place/port address of India from where the goods are being exported .
  29. In case IGST on intrastate supply, tax rates and tax values related to IGST should be passed, and Supplier state code and POS state code should be same.
  30. In case IGST on intrastate supply, then Reverse charge is mandatory.
  31. The state code of the Supplier GSTIN and POS will decide whether the supply type is Interstate or Intrastate. That is, if the State code of Supplier and POS is same, then it is intra-state, otherwise it is inter-state. However, IGST on intrastate supply attribute will overrule this condition.
  32. In case of Exports and SEZ, the supply is always Interstate
  33. JSON payload size cannot exceed 2MB.
  34. Reverse charge is not applicable for transactions if recipient taxpayer type is ISD.
  35. Deemed exports is allowed for recipient taxpayers with taxpayer type as Regular or Casual.
  36. Tax rate 0.5% is withdrawn.
  37. The maximum date value for RefDtls.DocPerdDtls.InvEndDt is 31/12/2059.
  38. The Supplier GSTIN can be of taxpayer type REG or SED.
  39. The State code 25 of Daman and Diu is withdrawn under POS.
Validations for e-Invoices by e-Commerce operators:
  1. The e-Invoices may be generated by the e-Commerce operator (having tax payer type as ‘TCS’ ) on behalf of the Suppliers.
  2. The e-Commerce operator need not be enabled for e-Invoicing.
  3. The e-Invoices generated by e-Commerce operators should include “EcmGstin” attribute and should be the same as their GSTIN.
  4. For e-Invoices generated by Suppliers, the “EcmGstin” attribute should be blank.
  5. The e-Invoices generated by e-Commerce operators are also accessible to the Suppliers for all the operations such as Viewing of IRN, Cancellation of IRN and Generation of E-Waybill.
  6. E-Waybills generated by e-Commerce operators can be cancelled by Suppliers also.
  7. Only e-Commerce operators can generate e-Invoices pertaining to e-Commerce transactions.
Validations on Items:
  1. Serial number of the item can be only numeric & is verified for duplicate values.
  2. Each item needs to have valid HSN code with at least 4 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 for all types of document including Credit Note and Debit Note. In case of intra-state transaction, the sum of SGST and CGST tax rates should be entered as GST Rate.
  7. In case of inter-state transaction, the IGST tax rate and value has to be passed.
  8. In case of export transaction, IGST tax rate and value has to be passed.
  9. In case the Recipient is SEZ unit or SEZ Developer, then IGST tax rate and value has to be passed irrespective of state of the Recipient.
  10. 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
    • 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.
    • However, in case of Reverse charge and Export transactions (EXPWP), Total value of Item can match with either with tax values or without tax values. That is, the total value of item can include or exclude the tax values as per the business requirements.
    • (Note: Temporarily, the validation of 'Gross Amount of Item with Quantity and Selling Unit Price' has been withdrawn.
    • In case of EXPWOP and SEZWOP, Passed IGST Value of Item will not be validated even if actual tax rate is passed, if the passed value of IGST for that is ZERO.)
    • In case of Reverse Charge, the tax (SGST+CGST or IGST) may be included or excluded in the Total value of Item.
  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 Non-advol Value of all Items
    • In case of CREDIT NOTE AND DEBIT NOTE, the ‘IGST/CGST/SGST/CESS value of item’ is not validated with corresponding tax rates and taxable values.
  3. Tolerance limit for points 1 and 2 above: The passed value should be between minimum and maximum values as explained here. Minimum value is considered as the rupee part of the calculated value minus one rupee and maximum value is taken as the rounded up to next rupee value of the calculated value plus one rupee.
    • Example 1: In Point 1 and 2, if calculated value for IGST of item A is 2345.04 then tolerance limit for passed value of that item is between 2344.00 and 2347.00.
    • Example 2: In Point 1 and 2, if calculated value of IGST of all items is 10241.00 then tolerance limit for passed value of IGST of all items is between 10240.00and 10242.00
  4. The round-off value for 'Round_off_amount' attribute is to adjust final 'Total_Invoice_Value_INR' attribute and can be between -99.99 and +99.99
  5. The following summation validation is to be done on Invoice total
    • Total Invoice Value = Sum of All Total Value of Items - Invoice Discount + Invoice Other charges + Round-off amount
  6. Tolerance limit for point 5 above: The passed value should be between minimum and maximum values as explained here. Minimum value is considered as the rupee part of the calculated value minus one rupee and maximum value is taken as the rounded up to next rupee value of the calculated value plus one rupee.
    • Example : If ‘calculated total invoice value’ is 10241.61 then tolerance limit for ‘passed total invoice value’ is between 10240.00 and 10243.00
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. Transport Mode, Vehicle Type, Vehicle No, Transportation document number and date should be null or attributes should not have been passed.
  5. If mode of transportation is "Road", then the Vehicle number and vehicle type should be passed. If mode of transportation is Air, Rail, then the transport document number and date should be passed. Vehicle type and vehicle number should be null or attributes should not have been passed.
  6. If mode of transportation is “Ship/ Road cum Ship”, then either Vehicle number or transport document number and date or both can be passed. Vehicle type should be ODC.
  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. The distance of transportation is validated against the auto-calculated PIN-PIN distance stored in the system. The allowed distance for transportation should be between +/- 10 % of auto-calculated PIN-PIN distance. If the auto-calculated distance is less than 100 KMs, then The allowed distance for transportation should be between 1 and +10 % of auto-calculated PIN-PIN distance.
  11. If the distance of transportation is passed as 0 (zero), then the system will consider it as request made by the tax payer, to consider the auto-calculated PIN-PIN distance for the generation of e-way bill and generate the e-way bill along with IRN. The actual distance is passed in “Info. Message” column for reference.
  12. If the PIN-PIN distance is not available in the system, the passed value of distance will be taken for generation of e-way bill and distance value can not be more than 4000.
  13. The actual distance has to be passed in case the source and destination PIN codes are same and the allowed range of value is from 1 to 100.
  14. In case of export of goods, if e-way bill has to be generated, then the address of port should have been passed as shipping address during generation of IRN.
  15. 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, E Way Bill can be generated.

Frequently Asked Questions

Content will be updated shortly.