FinchContext
Run with

Build E-Way Bill (EWB) JSON

Skill: Convert consignment data into the E-Way Bill JSON

Region: India Category: Logistics — GST e-Way Bill Does: Takes consignment/transport data for a movement of goods and produces the E-Way Bill (EWB) JSON submitted to the e-Way Bill portal (NIC), which returns an EWB number and validity. Covers Part A (supplier, recipient, document, value, HSN) and Part B (vehicle/transport), transporter ID, approximate distance, and the ₹50,000 value threshold. System: e-Way Bill portal (ewaybillgst.gov.in) — NIC EWB API/JSON

An e-Way Bill is required for the movement of goods where the consignment value exceeds ₹50,000 (some states set lower intra-state thresholds; certain goods are exempt). Part A carries the invoice/value detail; Part B carries the vehicle/transport detail and starts the validity clock (broadly 1 day per 200 km for regular cargo). The EWB and the GST e-invoice can be generated together from the IRP. Schema versions, distance/validity rules, and exemptions change — generate against the current NIC EWB schema and validate on the sandbox before going live.


When this applies


Input data required

Group Fields
Document supplyType (O outward / I inward), subSupplyType (1 supply, 2 import, 3 export, 4 job work, …), docType (INV/BIL/BOE/CHL), docNo, docDate (dd/mm/yyyy)
Supplier (Part A) fromGstin (URP if unregistered), fromTrdName, fromAddr1, fromPlace, fromPincode, fromStateCode, actFromStateCode (dispatch)
Recipient (Part A) toGstin, toTrdName, toAddr1, toPlace, toPincode, toStateCode, actToStateCode (ship-to)
Item list per line: productName, hsnCode, quantity, qtyUnit, taxableAmount, cgstRate/sgstRate/igstRate/cessRate
Values totalValue, cgstValue, sgstValue, igstValue, cessValue, totInvValue
Transport (Part B) transporterId (GSTIN/TRANSIN), transMode (1 road, 2 rail, 3 air, 4 ship), transDistance (km), vehicleNo, vehicleType (R/O), transDocNo, transDocDate

Document structure (NIC EWB JSON)

{
  "supplyType": "O",
  "subSupplyType": "1",
  "docType": "INV",
  "docNo": "INV-2025-0042",
  "docDate": "04/06/2025",
  "fromGstin": "29AABCU9603R1ZM",
  "fromTrdName": "Acme Components Pvt Ltd",
  "fromAddr1": "12 Industrial Layout", "fromPlace": "Bengaluru",
  "fromPincode": 560058, "fromStateCode": "29", "actFromStateCode": "29",
  "toGstin": "27AAACR5055K1Z9",
  "toTrdName": "Sahyadri Traders",
  "toAddr1": "44 MIDC", "toPlace": "Pune",
  "toPincode": 411019, "toStateCode": "27", "actToStateCode": "27",
  "transactionType": 1,
  "totalValue": 200000.00, "cgstValue": 0.00, "sgstValue": 0.00,
  "igstValue": 36000.00, "cessValue": 0.00, "totInvValue": 236000.00,
  "transporterId": "29AABCT1234R1ZX",
  "transMode": "1", "transDistance": "840",
  "vehicleNo": "KA01AB1234", "vehicleType": "R",
  "itemList": [ { "productName","hsnCode","quantity","qtyUnit","taxableAmount",
                  "cgstRate","sgstRate","igstRate","cessRate" } ]
}

Key rules: state codes are the 2-digit GST state codes. Inter-state (supplier state ≠ recipient state) uses IGST; intra-state uses CGST+SGST. transDistance drives validity; vehicleType is R (regular) or O (over-dimensional cargo).


Calculation rules


Worked example (inter-state, road — request payload)

{
  "supplyType": "O",
  "subSupplyType": "1",
  "docType": "INV",
  "docNo": "INV-2025-0042",
  "docDate": "04/06/2025",
  "fromGstin": "29AABCU9603R1ZM",
  "fromTrdName": "Acme Components Pvt Ltd",
  "fromAddr1": "12 Industrial Layout", "fromPlace": "Bengaluru",
  "fromPincode": 560058, "fromStateCode": "29", "actFromStateCode": "29",
  "toGstin": "27AAACR5055K1Z9",
  "toTrdName": "Sahyadri Traders",
  "toAddr1": "44 MIDC", "toPlace": "Pune",
  "toPincode": 411019, "toStateCode": "27", "actToStateCode": "27",
  "transactionType": 1,
  "totalValue": 200000.00,
  "cgstValue": 0.00, "sgstValue": 0.00, "igstValue": 36000.00, "cessValue": 0.00,
  "totInvValue": 236000.00,
  "transporterId": "29AABCT1234R1ZX",
  "transMode": "1",
  "transDistance": "840",
  "vehicleNo": "KA01AB1234",
  "vehicleType": "R",
  "itemList": [
    {
      "productName": "Steel bracket", "hsnCode": "73269099",
      "quantity": 1000, "qtyUnit": "NOS", "taxableAmount": 200000.00,
      "cgstRate": 0, "sgstRate": 0, "igstRate": 18, "cessRate": 0
    }
  ]
}

The portal responds with the EWB number and validity:

{
  "ewayBillNo": 391000123456,
  "ewayBillDate": "04/06/2025 11:40:00 AM",
  "validUpto": "09/06/2025 11:59:00 PM"
}

Carry the EWB number with the consignment; update Part B on any vehicle change.


Validation checklist


Last updated: 2026-06-04 — confirm the active schema version, field codes, distance/validity rules, and portal/API requirements against the current NIC (ewaybillgst.gov.in) specifications before use.