Professional Documents
Culture Documents
Nic Einvoice Schema
Nic Einvoice Schema
Document Details : This section has the Document details like Typ
Format A, B, C, D 6 Document Type
7 Document Number
8 Document Date
Seller Details : This section contains the Seller details like GSTIN,
Format A, B, C, D 9 GSTIN
10 Legal Name
11 Tradename
12 Address 1
13 Address 2
14 Location
15 PIN
16 State code
17 Phone no.
18 email-id
Buyer Details : This section contains the Buyer details like GSTIN
Format A, B, C, D 19 GSTIN
20 Legal Name
21 Tradename
22 Pos
Format A, B, C, D
23 Address 1
24 Address 2
25 Location
26 State code
27 PIN
28 Phone no.
29 email-id
51 Barcode
Format A,B,C,D 52 Quantity
Format A,B,C,D 53 Free Quantity
72 Origin Country
73 SerialNumber
Format A, B, C,D 74 Total Item Value = Assessable Amount
+ Igst Amount + Cgst Amount + Sgst
Amount + Cess Amount + Cess
Nonadvol + State cess amount + State
Cess Non advol + Other charges
Format C,D Reference Details : This section contains all Reference details
99 Invoice Remarks
Document Period Details
100 Invoice Period Start Date
101 Invoice Period End Date
Preceding Document Reference
102 Preceding Invoice Number
103 Preceding Invoice Date
104 Other Reference
Contract Reference Number
105 Receipt Advice No
106 Date of Receipt Advice
107 Lot/Batch Reference No
108 Contract Reference Number
109 Any Other Reference
110 Project Reference
111 PO Reference Number
112 PO Reference date
Additional Supporting Document details
113 Additional supporting documents URL
114 Additional supporting documents in bas
115 Additional information
Export Details : Export details like currency, export category etc
113 Shipping Bill No.
Format A,B, C, D 114 Shipping Bill Date
115 Port Code
116 Refund Claim
117 Foreign Currency
118 Country Code
119 Export duty
Format A,B, C, D Ewaybill Details : This section contains Ewaybill Details
119 Transporter
Format A,B, C, D
Version String(6)
nsaction details
TranDtls.TaxSch String(10)
TranDtls.SupTyp String(10) B2B ,SEZWP , SEZWOP, EXP
WP , EXPWOP , DEXP
of Line Items
ItemList.Item.SlNo String (6)
ItemList.Item.PrdDesc String (300)
ItemList.Item.IsServc String (1) Y-Yes / N -No
ItemList.Item.HsnCd String(8)
ItemList.Item.BchDtls
ItemList.Item.BchDtls. String(20)
Nm
ItemList.Item.BchDtls. String(10) DD/MM/YYYY
ExpDt
ItemList.Item.BchDtls. String(10) DD/MM/YYYY
WrDt
ItemList.Item.Barcde String (30)
ItemList.Item.Qty Number (10,3)
ItemList.Item.FreeQty Number (10,3)
ItemList.Item.OrdLineR String(50)
ef
ItemList.Item.OrgCntry String(2)
ItemList.Item.PrdSlNo String(20)
ItemList.Item.TotItem Number (12,2)
Val
ItemList.Item.AttribDtl String(100)
s.Nm
ItemList.Item.AttribDtl String(100)
s.Valdocument
otals of the
ValDtls.AssVal Number(14,2)
ValDtls.CgstVal Number(14,2)
ValDtls.SgstVal Number(14,2)
ValDtls.IgstVal Number(14,2)
ValDtls.CesVal Number(14,2)
ValDtls.StCesVal Number(14,2)
ValDtls.Discount Number(14,2)
ValDtls.OthChrg Number(14,2)
ValDtle.RndOffAmt Number(2,2)
ValDtls.TotInvVal Number(14,2)
ValDtls.TotInvValFc Number(14,2)
yment details
PayDtls.Nm String(100)
PayDtls.Mode String(18)
PayDtls.FinInsBr String(11)
PayDtls.PayTerm String(100)
PayDtls.PayInstr String(100)
PayDtls.CrTrn String(100)
PayDtls.DirDr String(100)
PayDtls.CrDay Number(4)
PayDtls.PaidAmt Number(14,2)
PayDtls.PaymtDue Number(14,2)
PayDtls.AccDet String(18)
l Reference details
RefDtls.InvRm String (100)
1.01 Mandatory
Mandatory 1..1
GST Mandatory
B2B Mandatory
Y Optional
37BZNPM9430M1KL Optional
Y Optional
Mandatory 1..1
INV Mandatory
455/1 Mandatory
21/11/2019 Mandatory
Mandatory 1..1
29BZNPM9430M1KL Mandatory
AISHWARYA ENTERPRISES Mandatory
AISHWARYA ENTERPRISES Optional
1ST FLOOR Mandatory
BANGALORE Optional
BANGALORE Mandatory
560002 Mandatory
29 Mandatory
1234567809 Optional
AH@GM.COM Optional
Mandatory 1..1
29AZNPM8430M1KM Mandatory
AISHWARYA ENTERPRISES Mandatory
AISHWARYA ENTERPRISES Optional
29 Mandatory
1ST FLOOR Mandatory
BANGALORE Optional
M G ROAD Mandatory
Karnataka Mandatory
560045 Optional
1234567809 Optional
AMHJ@GM.COM Optional
Optional 0..1
AISHWARYA ENTERPRISES Mandatory
1ST FLOOR Mandatory
BANGALORE Optional
M G ROAD Mandatory
560066 Mandatory
29 Mandatory
Optional 0..1
29BZNPM9430M1KL Optional
AISHWARYA ENTERPRISES Mandatory
AISHWARYA ENTERPRISES Optional
1ST FLOOR Mandatory
BANGALORE Optional
M G ROAD Mandatory
560033 Mandatory
29 Mandatory
Mandatory 1..n
1 Mandatory
SS SQUARE TUBES - 2 INCH Optional
Y Mandatory
10011000 Mandatory
Optional 0..n
LOT11 Mandatory
21/11/2019 Optional
21/11/2019 Optional
4566666 Optional
50 Optional
2 Optional
NOS Optional
1230 Mandatory
57250 Mandatory
100 Optional
9 Optional
1145 Mandatory
9 Mandatory
0 Optional
0 Optional
0 Optional
0 Optional
0 Optional
0 Optional
0 Optional
0 Optional
0 Optional
15 Optional
746/ABC/01 Optional
DZ Optional
134 Optional
67555.85 Mandatory
Color Optional
Red, green, etc Optional
Mandatory 1..1
67555.85 Mandatory
5152.5 Optional
5152.5 Optional
0 Optional
0 Optional
0 Optional
0 Optional
0 Optional
Optional
5200 Mandatory
100 Optional
Optional 0..1
RAJESH Optional
CASH Optional
SBI018888 Optional
Optional
Optional
Optional
Optional
999 Optional
10000 Optional
4/20/1900 Optional
34443434444 Optional
Optional 0..1
Optional
Optional 0..1
21/11/2019 Mandatory
21/11/2019 Mandatory
Optional 0..1
Mandatory
21/11/2019 Mandatory
Optional
Optional 0..1
Optional
21/11/2019 Optional
Optional
Optional
Optional
Optional
Optional
21/11/2019 Optional
Optional 0..1
Optional
Optional
Optional
Optional 0..1
5666 Optional
21/11/2019 Optional
INMAA4 Optional
Optional
USD Optional
FR Optional
Optional
Mandatory 0..1
29AADFV7589C1ZO Optional
Indigo Transporter Optional
1/2/3/4 Optional
1333 Mandatory
As/34/746 Optional
21/11/2019 Optional
KA12KA1234 Optional
O/R Optional
E-Invoice Bu
{
$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
],
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
},
RegRev: {
type: "string",
minLength: 1,
maxLength: 1,
enum: [
Y,
N
],
description: "Y- whether the tax liability is payable under reve
},
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
],
description: "Y- indicates the supply is intra state but chargeab
}
},
required: [
TaxSch,
SupTyp
]
},
DocDtls: {
type: "object",
properties: {
Typ: {
type: "string",
minLength: 3,
maxLength: 3,
enum: [
INV,
CRN,
DBN
],
description: "Document Type: INVOICE, CREDIT NOTE, DEBIT N
},
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
},
Loc: {
type: "string",
minLength: 3,
maxLength: 50,
description: "Location"
},
Pin: {
type: "number",
minimum: 100000,
maximum: 999999,
description: "Pincode"
},
Stcd: {
type: "string",
minLength: 1,
maxLength: 2,
description: "State Code of the supplier. Refer the master"
},
Ph: {
type: "String",
minLength: 6,
maxLength: 12,
description: "Phone or Mobile No."
},
Em: {
type: "string",
minLength: 6,
maxLength: 100,
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,
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
},
Addr1: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Address 1 of the buyer. (Building/Flat no., Road/
},
Addr2: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Address 2 of the buyer. (Floor no., Name of the p
},
Loc: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Location"
},
Pin: {
type: " number",
minimum: 100000,
maximum: 999999,
description: "Pincode"
},
Stcd: {
type: "string",
minLength: 1,
maxLength: 2,
description: "State Code of the buyer. Refer the master"
},
Ph: {
type: "String",
minLength: 6,
maxLength: 12,
description: "Phone or Mobile No."
},
Em: {
type: "string",
minLength: 6,
maxLength: 100,
description: "Email-Id"
}
},
required: [
Gstin,
LglNm,
Pos,
Addr1,
Loc,
Stcd
]
},
DispDtls: {
type: "object",
properties: {
Nm: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Name of the company from which the goods are
},
Addr1: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Address 1 of the entity from which goods are dis
},
Addr2: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Address 2 of the entity from which goods are dis
},
Loc: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Location"
},
Pin: {
type: "number",
minimum: 100000,
maximum: 999999,
description: "Pincode"
},
Stcd: {
type: "string",
minLength: 1,
maxLength: 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,
description: "Legal Name"
},
TrdNm: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Trade Name"
},
Addr1: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Address1 of the entity to whom the supplies are
},
Addr2: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Address 2 of the entity to whom the supplies are
},
Loc: {
type: "string",
minLength: 3,
maxLength: 100,
description: "Place (City,Town,Village) entity to whom the sup
},
Pin: {
type: "number",
minimum: 100000,
maximum: 999999,
description: "Pincode"
},
Stcd: {
type: "string",
minLength: 1,
maxLength: 2,
description: "State Code to which supplies are shipped to. Ref
}
},
required: [
LglNm,
Addr1,
Loc,
Pin,
Stcd
]
},
ItemList: [{
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. Spe
},
HsnCd: {
type: "string",
minLength: 4,
maxLength: 8,
description: "HSN Code. Refer Master"
},
Barcde: {
type: "string",
minLength: 3,
maxLength: 30,
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,
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 ap
},
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 qu
},
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 Am
},
OrdLineRef: {
type: "string",
minLength: 1,
maxLength: 50,
description: "Order line reference"
},
OrgCntry: {
type: "string",
minLength: 2,
maxLength: 2,
description: "Origin Country. Refer Master"
},
PrdSlNo: {
type: "string",
minLength: 1,
maxLength: 20,
description: "Serial number in case of each item having a uniq
},
BchDtls: {
type: "object",
properties: {
Nm: {
type: "string",
minLength: 3,
maxLength: 20,
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: "Array",
Attribute: [{
type: "object",
properties: {
Nm: {
type: "string",
minLength: 1,
maxLength: 100,
description: "Attribute name of the i
},
Val: {
type: "string",
minLength: 1,
maxLength: 100,
description: "Attribute value of the it
}
}
}]
}
},
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: 0,
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,
description: "Payee Name"
},
AccDet: {
type: "string",
minLength: 1,
maxLength: 18,
description: "Bank account number of payee"
},
Mode: {
type: "string",
minLength: 1,
maxLength: 18,
description: "Mode of Payment: Cash, Credit, Direct Transfer"
},
FinInsBr: {
type: "string",
minLength: 1,
maxLength: 11,
description: "Branch or IFSC code"
},
PayTerm: {
type: "string",
minLength: 1,
maxLength: 100,
description: "Terms of Payment"
},
PayInstr: {
type: "string",
minLength: 1,
maxLength: 100,
description: "Payment Instruction"
},
CrTrn: {
type: "string",
minLength: 1,
maxLength: 100,
description: "Credit Transfer"
},
DirDr: {
type: "string",
minLength: 1,
maxLength: 100,
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 adv
},
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: "^[0-9A-Za-z/-]{3,100}$",
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: "Array",
PrecDocument: [{
type: "object",
properties: {
InvNo: {
type: "string",
minLength: 1,
maxLength: 16,
pattern: "^[1-9A-Z]{1}[0-9A-Z/-]{1,15
description: "Reference of original in
},
InvDt: {
type: "string",
maxLength: 10,
minLength: 10,
pattern: "[0-3][0-9]/[0-1][0-9]/[2][0][
description: "Date of preceding invoi
},
OthRefNo: {
type: "string",
minLength: 1,
maxLength: 20,
description: "Other Reference"
}
}
}],
required: [
InvNo,
InvDt
]
},
ContrDtls: {
type: "Array",
Contract: [{
type: "object",
properties: {
RecAdvRefr: {
type: "string",
minLength: 1,
maxLength: 20,
pattern: "^([0-9A-Za-z/-]){1,20}$",
description: "Receipt Advice No."
},
RecAdvDt: {
type: "string",
minLength: 10,
maxLength: 10,
pattern: "[0-3][0-9]/[0-1][0-9]/[2][0][
description: "Date of receipt advice"
},
TendRefr: {
type: "string",
minLength: 1,
maxLength: 20,
pattern: "^([0-9A-Za-z/-]){1,20}$",
description: "Lot/Batch Reference No
},
ContrRefr: {
type: "string",
minLength: 1,
maxLength: 20,
pattern: "^([0-9A-Za-z/-]){1,20}$",
description: "Contract Reference Nu
},
ExtRefr: {
type: "string",
minLength: 1,
maxLength: 20,
pattern: "^([0-9A-Za-z/-]){1,20}$",
description: "Any other reference"
},
ProjRefr: {
type: "string",
minLength: 1,
maxLength: 20,
pattern: "^([0-9A-Za-z/-]){1,20}$",
description: "Project Reference Num
},
PORefr: {
type: "string",
minLength: 1,
maxLength: 16,
pattern: "^([0-9A-Za-z/-]){1,16}$",
description: " PO Reference Number
},
PORefDt: {
type: "string",
minLength: 10,
maxLength: 10,
pattern: "[0-3][0-9]/[0-1][0-9]/[2][0][
description: "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: 1,
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. Refer the master"
},
RefClm: {
type: "string",
minLength: 1,
maxLength: 1,
description: "Claiming Refund. Y/N"
},
ForCur: {
type: "string",
minLength: 3,
maxLength: 16,
description: "Additional Currency Code. Refer the master"
},
CntCode: {
type: "string",
minLength: 2,
maxLength: 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,
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/Road cu
},
Distance: {
type: "number",
minimum: 1,
maximum: 9999,
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
]
},
required: [
Version,
TranDtls,
DocDtls,
SellerDtls,
BuyerDtls,
ItemList,
ValDtls
]
}
E-Invoice Bulk JSON Schema
operator"
y is intra state but chargeable to IGST"
][1-2][0-9]",
ier (Floor no., Name of the premises/building)"
y from which goods are dispatched. (Floor no., Name of the premises/building)"
om goods are shipped"
to whom the supplies are shipped to. (Building/Flat no., Road/Street etc.)"
y to whom the supplies are shipped to. (Floor no., Name of the premises/building)."
nted as percentage that applies to the invoiced item. It will IGST rate only."
em) on basis of rate and quantity of item"
essable Amount + CGST Amt + SGST Amt + Cess Amt + CesNonAdvlAmt + StateCesAmt + StateCesNonAdvlAmt+Otherchrg"
of each item having a unique number."
[0-1][0-9]/[2][0][1-2][0-9]",
Expiry Date"
[0-1][0-9]/[2][0][1-2][0-9]",
n: "Attribute name of the item"
Additional Currency"
sh, Credit, Direct Transfer"
hich have been paid in advance."
hat is required to be paid."
[0-1][0-9]/[2][0][1-2][0-9]",
Period Start Date"
[0-1][0-9]/[2][0][1-2][0-9]",
Period End Date"
^[1-9A-Z]{1}[0-9A-Z/-]{1,15}$",
n: "Reference of original invoice, if any."
[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
n: "Date of preceding invoice"
n: "Other Reference"
^([0-9A-Za-z/-]){1,20}$",
n: "Receipt Advice No."
[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
n: "Date of receipt advice"
^([0-9A-Za-z/-]){1,20}$",
n: "Lot/Batch Reference No."
^([0-9A-Za-z/-]){1,20}$",
n: "Contract Reference Number"
^([0-9A-Za-z/-]){1,20}$",
n: "Any other reference"
^([0-9A-Za-z/-]){1,20}$",
n: "Project Reference Number"
^([0-9A-Za-z/-]){1,16}$",
n: " PO Reference Number"
[0-3][0-9]/[0-1][0-9]/[2][0][1-2][0-9]",
n: "PO Reference date"
ment in Base64 Format"
ormation"
e. Refer the master"
-1, Rail-2, Air-3, Ship/Road cum Ship-4)"
11. In case of e-commerce transactions, the e-Commerce Operator can request for the IRN/e-invoice
Commerce Operator should have been registered on the GST portal as e-Commerce Operator and pa
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
Charged invoices, the Supplier has to generate the IRN.
15. Recipient GSTIN should be registered and active. In case of transaction of direct export, recipien
be 96, POS should be 96.
16. In case, Recipient is SEZ unit or SEZ developer, the Bill to State code should be 96 and also POS
17. First two digits of the Supplier / Recipient GSTIN should match with the state code passed in the
if supply type is SEZ or exports wherein Recipient state code will be 96.
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 both Shipping and Dispatching parties are provided, then the transaction is considered as ‘Com
and Bill To- Ship To).
22. In case of export transactions for goods, the ‘Ship-To’ address should be of the place/port in Indi
23. In case IGST on intrastate supply, tax rates and tax values related to IGST should be passed, and
should be same.
24. The state code of the Supplier GSTIN and POS will decide whether the supply type is Intersta
Supplier and POS is same, then it is intra-state, otherwise it is inter-state. However IGST on intrastat
Calculation of Values:
1. The following summation validations are to be done for items
o Gross Amount of Item = Quantity X Selling Unit Price
o Taxable Value of Item = Gross Amount of Item – Discount
o SGST Value of Item = Taxable Value of Item X GST Rate / 2, if intra-state
o CGST Value of Item = Taxable Value of Item X GST Rate / 2, if intra-state
o IGST Value of Item = Taxable Value of Item X GST Rate, if inter-state
o Cess Value of Item = Taxable Value of Item X Cess Rate
o State Cess Value of Item = Taxable Value of Item X State Cess Rate
o Total Value of Item = Taxable Value of Item + SGST Value of Item + CGST Value of Item + IG
3. Calculated value / amount in above points can be between actual calculated value / amount and
rupee.
4. The round-off value can be upto Rs. 99.99
+ State Cess Value of Item + Non-Advol Cess Value of Item + State Cess Non-advol value of Item + Other charges
em + Other charges.
E-Invoice Sampl
{
Version:"1.1",
TranDtls:{
"TaxSch":"GST",
"SupTyp":"B2B",
"IgstOnIntra":"N",
"RegRev":null,
"EcmGstin":null
},
DocDtls:{
"Typ":"INV",
"No":"LALITAS37",
"Dt":"11/08/2020"
},
SellerDtls:{
"Gstin":"29BZNPM9430M1LK",
"LglNm":"KAVYA",
"TrdNm":null,
"Addr1":"ADDRESS1",
"Addr2":null,
"Loc":"BANGALORE",
"Pin":560090,
"Stcd":"29",
"Ph":null,
"Em":null
},
BuyerDtls:{
"Gstin":"29BTNPK6274K1ZK",
"LglNm":"legalname",
"TrdNm":null,
"Pos":"29",
"Addr1":"addres",
"Addr2":null,
"Loc":"banglre",
"Pin":560024,
"Stcd":"29",
"Ph":null,
"Em":null
},
DispDtls:null,
ShipDtls:null,
ValDtls:{
"AssVal":216.4,
"IgstVal":0,
"CgstVal":0,
"SgstVal":0,
"CesVal":0,
"StCesVal":0,
"Discount":0,
"OthChrg":0,
"RndOffAmt":0,
"TotInvVal":216.4,
"TotInvValFc":0
},
ExpDtls:{
"ShipBNo":"1234",
"ShipBDt":"29/07/2020",
"Port":"innrp6",
"RefClm":"Y",
"ForCur":"aed",
"CntCode":"ad",
"ExpDuty":0
},
EwbDtls:{
"TransId":"29btnpk6274k1zv",
"TransName":"jjjj",
"TransMode":"1",
"Distance":32,
"TransDocNo":"223",
"TransDocDt":"11/08/2020",
"VehNo":"abc1234",
"VehType":"R"
},
PayDtls:{
"Nm":"KAVYA",
"AccDet":"1234567890123",
"Mode":"Cash",
"FinInsBr":"SBI",
"PayTerm":"CREDIT",
"PayInstr":"FDGD",
"CrTrn":"Credit Transfer",
"DirDr":"direct debit",
"CrDay":30,
"PaidAmt":3243,
"PaymtDue":345
},
RefDtls:{
"InvRm":"sdsfsf",
"DocPerdDtls":{
"InvStDt":"01/08/2020",
"InvEndDt":"01/08/2020"
},
"PrecDocDtls":[
{
"InvNo":"11113",
"InvDt":"01/08/2020",
"OthRefNo":"lklkjkl"
}
],
"ContrDtls":[
{
"RecAdvRefr":"1233654",
"RecAdvDt":"01/08/2020",
"TendRefr":"545545",
"ContrRefr":"658987",
"ExtRefr":"2563",
"ProjRefr":"456jih",
"PORefr":"gjhjj35j",
"PORefDt":"01/08/2020"
}
]
},
AddlDocDtls:[
{
"Url":"https://einv-apisandbox.nic.in/einv_web_test/Invoice/BulkUpload",
"Docs":"FGFD",
"Info":"FFGFD"
}
],
"ItemList":[{
"SlNo":"1",
"PrdDesc":null,
"IsServc":"N",
"HsnCd":"1001",
"Barcde":null,
"Qty":2.5,
"FreeQty":0,
"Unit":"BAG",
"UnitPrice":86.56,
"TotAmt":216.4,
"Discount":0,
"PreTaxVal":0,
"AssAmt":216.4,
"GstRt":0,
"IgstAmt":0,
"CgstAmt":0,
"SgstAmt":0,
"CesRt":0,
"CesAmt":0,
"CesNonAdvlAmt":0,
"StateCesRt":0,
"StateCesAmt":0,
"StateCesNonAdvlAmt":0,
"OthChrg":0,
"TotItemVal":216.4,
"OrdLineRef":null,
"OrgCntry":null,
"PrdSlNo":null,
"BchDtls":null,
"AttribDtls":[{
"Nm":null,
"Val":null
}
]
}
]
}]
E-Invoice Sample JSON
e/BulkUpload",
E-Invoice Master C
Country Currency
Code Country Name code Currency Name
AD Andorra AED United Arab Emirates dirham
AE United Arab Emirates AFN Afghan afghani
AF Afghanistan ALL Albanian lek
AG Antigua and Barbuda AMD Armenian dram
AI Anguilla ANG Netherlands Antillean guilder
AL Albania AOA Angolan kwanza
AM Armenia ARS Argentine peso
AO Angola AUD Australian dollar
AQ Antarctica AWG Aruban florin
AR Argentina AZN Azerbaijani manat
BQ Bonaire, Sint Eustatius and Saba CHE WIR Euro (complementary currency)
BR Brazil CHF Swiss franc
WIR Franc (complementary
BS Bahamas CHW currency)
INCNB1 Car-Nicobar
INKLC6 CARB/SEZ/ERNAKULAM
INCAR1 Carijam
INTNC6 CCCL SEZ TUTICORIN
INSPC6 CCLPIL SEZ VIZAG
INBLC6 CESSNA/SEZ/BANGALORE
INCHPB Champai
INCHMB Chamurchi
INCBL1 Chandbali
INIXC4 Chandigarh
INCBDB Changrabandh
INCHR1 Chapora
SIKKIM
ARUNACHAL PRADESH
NAGALAND
MANIPUR
MIZORAM
TRIPURA
MEGHALAYA
ASSAM
WEST BENGAL
JHARKHAND
ORISSA
CHHATTISGARH
MADHYA PRADESH
GUJARAT
DAMAN AND DIU
DADAR AND NAGAR
HAVELI
MAHARASTRA
KARNATAKA
GOA
LAKSHADWEEP
KERALA
TAMIL NADU
PONDICHERRY
LADAKH
OTHER TERRITORY
OTHER COUNTRIES