/
Invoice with IRN number and QR Code

Invoice with IRN number and QR Code

 

  1. Create a channel for Bosh on EshopBox Workspace.

  2. Check the below conditions -

    case 1: if channel id is of “bosch“ and the Integration type is 11 (For channels other than Bosch we will check if the channel supports Eshopbox shipping and is of integration type 4/7/11.)
    case 2: If customer gstin is present in the DB.

  3. If both the cases 1 and 2 are satisfied then call the generate IRN Cleartax API.

    url : POST {{HOST}}/einv/v1/govt/api/Invoice/


Headers:

Keys

Values

Keys

Values

X-Cleartax-Auth-Token

1.4526e03f-d848-4637-ba09-b3b53b1b29a7_5a5260879adae088c5ced5ae914cf29382bcc88b2f4ec8d0772b1848ac490871

x-cleartax-product

EInvoice

gstin

{{gstin}}

Content-Type

application/json

 Query to fetch auth-token for clear tax app:

SELECT ie_appinstall_connection.accessToken FROM ie_appinstall_connection LEFT JOIN ie_app_installation ON ie_appinstall_connection.appInstallationId = ie_app_installation.appInstallationId LEFT JOIN ie_app ON ie_app.appId = ie_app_installation.appId WHERE ie_appinstall_connection.isActive = 'active' AND ie_app.appId =:appId AND ie_app_installation.accountSlug =:accountSlug

Sample shipment accepted Event :

{ "resource": "shipment", "eventType": "PUT", "eventSubType": "accepted", "accountSlug": "raymond", "actor": "SYSTEM", "version": "v1", "request_data": [], "response_data": { "customerOrderNumber": "6458603798895", "orderSiteID": "", "vendorOrderNumber": "#277004", "externalShipmentID": "6458603798895-2804-8072", "externalWarehouseID": "Eshopbox_Gurgaon_FC5", "externalChannelID": "CH2804", "externalWmsChannelName": "RAYMONDNEW SHOPIFY STORE_RAYMOND_YGGN_4458", "external_wms_channel_id": 4458.0, "channelLabel": "raymondNew Shopify Store", "integrationType": "7", "defaultWarehouseCode": "Eshopbox_Gurgaon_FC5", "facilityLabel": "Gurgaon (YGGN)", "flexStatus": "0", "facilityType": "auperator", "orderDate": "2024-10-17 16:26:17", "portal_id": 27.0, "paymentType": "1Cashfree Payments(UPI,Cards,Net Banking,Wallets)", "expectedShipDate": "2024-10-18 15:00:00", "order_id": 5.648073E7, "channel_id": 2804.0, "warehouse_id": 1075.0, "channel_account_id": 0.0, "account_id": 126.0, "connectionId": 2337.0, "locationId": "74033365150", "region": "National", "isMetro": "0", "isSpecialplace": "0", "invoiceNumber": "", "boxType": "UNKNOWN", "isPriorityShipment": "0", "isGift": "0", "invoice_url": "", "label_url": "", "labels": "", "shippingInfo": [], "boxAdditionalRecommendation": [], "dimension_length": "11", "dimension_width": "11", "dimension_height": "16", "weight": "347", "chargeableWeight": "387.2", "trackingID": "", "trackingDomain": "track.myraymond.com", "packageID": "", "barcode": "", "barcodeType": "item", "taxAmount": 0.0, "shipChargeAmount": 99.0, "courierName": "Bluedart", "cp_id": 5.0, "created_at": "2024-10-17 16:26:30", "updated_at": "2024-10-17 16:26:49", "status": "accepted", "remarks": "", "warehousePincode": "122503", "thirdPartyShipping": false, "customerName": "Prajakta Magavi", "customerContactNumber": "8857956736", "email": "pmagavi03@gmail.com", "channelSlug": "raymond2804", "status_updated_at": "2024-10-17 16:26:49", "status_log": { "created": "2024-10-17 16:26:30", "accepted": "2024-10-17 16:26:49" }, "status_log_first_occurrence": { "accepted": "2024-10-17 16:26:49", "created": "2024-10-17 16:26:30" }, "status_log_count": { "created": 1.0, "accepted": 1.0 }, "status_log_id": "221397564", "orderExternalCreatedAt": "2024-10-17 16:26:26", "riskScore": "Low", "riskScoreReasons": [], "weightProtectionShieldFlag": false, "pincodeServiceableRemarks": "", "orderAdditionalInfo": "", "shippingAddress": { "customerName": "Prajakta Magavi", "addressLine1": "1022, North Kasba, Masre galli, Balives, Solapur", "addressLine2": "null", "city": "Solapur", "state": "Maharashtra", "postalCode": "413007", "countryCode": "IN", "countryName": "INDIA", "contactPhone": "8857956736", "email": "pmagavi03@gmail.com" }, "billingAddress": { "customerName": "Prajakta Magavi", "email": "pmagavi03@gmail.com", "contactPhone": "8857956736" }, "warehouseAddress": { "addressLine1": "Khasra no 100/8, 12, 13/1, 13/2,18,19, tehsil Pataudi", "addressLine2": "Village Jatauli, Hailemandi", "city": "Gurugram", "state": "Haryana", "postalCode": "122503", "gstin": "06AAKCD1650N2ZF" }, "recommendedPackage": { "id": 774.0, "package_id": "Ou5JvblnG1", "package_code": "PL3111116", "package_description": "CORRUGATED BOX 3PLY 11X11X16 CM", "account_id": 126.0, "package_type": "box", "status": "verified", "package_verification": "ON", "availability": "1", "length": 11.0, "width": 11.0, "height": 16.0, "dead_weight": 64.0, "volumetric_weight": 0.3872, "length_imageurl": "https://storage.googleapis.com/eshopbox_uploads_prod/settings_packaging/11x11x16_L_240910100910910-4606.jpg", "width_imageurl": "https://storage.googleapis.com/eshopbox_uploads_prod/settings_packaging/11x11x16_B_240910100912912-4168.jpg", "height_imageurl": "https://storage.googleapis.com/eshopbox_uploads_prod/settings_packaging/11x11x16_H_240910100916916-3712.jpg", "dead_weight_imageurl": "https://storage.googleapis.com/eshopbox_uploads_prod/settings_packaging/11x11x16_Wt_240912061846946-8607.jpg", "created_at": "2024-07-10 08:09:30", "updated_at": "2024-09-19 17:37:29", "shipment_additional_details_id": 1572906.0, "shipmentAdditionalDetailPackage": "" }, "eshopboxCourier": true, "courier_account": "ESB_Bluedart_Forward", "shippingMode": "express", "totalItemsWeight": 283.0, "portalUrl": "https://encrypted-tbn0.gstatic.com/images?q\u003dtbn:ANd9GcSMTVs0QAk8zn1HybVnMWMKrX_FcoDdOjYLvigHG38Y6GSpxl2m1xHAV7q1EUyEgn-kwpk\u0026usqp\u003dCAU", "id": 2.4611055E7, "orderTotal": 698.5, "subTotal": 599.5, "isCOD": "0", "track_payload": [], "itemsWeightProtectionShieldFlag": false, "productDimensions": { "length": 33.0, "width": 24.0, "weight": 283.0, "height": 2.0 }, "items": [ { "order_item_id": 4.0283548E7, "lineItemSequenceNumber": 1.7755209859439E13, "orderItemID": "6458603798895-40283548", "itemID": "45816118378654", "sku": "44VLT3HMCJV", "asin": "", "productName": "Parx Men Black Regular Fit Solid Contrast Neck T-Shirt", "quantity": 1.0, "orderItemCreatedAt": "2024-10-17 16:26:26", "customerPrice": 599.5, "lineItemTotal": 599.5, "invoiceTotal": 698.5, "cashOnDeliveryCharges": 0.0, "discount": 0.0, "taxRate": 0.0, "taxAmount": 0.0, "inventoryItemCode": "", "giftMessage": "", "isGift": "0", "giftLabelContent": "", "lineItemOrderStatus": "", "orderItemIDs": [ "6458603798895-40283548" ], "productImageUrl": "https://cdn.shopify.com/s/files/1/0644/5944/0286/files/XMKY06001-K8-1.jpg?v\u003d1714486380", "productAdditionalInfo": { "size": "44 / Black", "productDetails": { "unitPrice": 299.75, "hsnCode": "61099090", "dimensionHeight": 2.0, "dimensionLength": 33.0, "dimensionUnit": "cm", "description": "Parx Black T-Shirt", "weight": 283.0, "weight_dimension_status": "unverified", "mrp": 1199.0, "dimensionWidth": 24.0, "type": "BASE", "verticalName": "Apparels", "imageUrl": "https://i.ibb.co/8sFQZKt/XMKY06001-K8-1.jpg", "accountSlug": "raymond", "sku": "XMKY06001-K882F044", "esin": "44VLT3HMCJV", "brand": "Parx", "additionalNames": { "ean": "8905573268548", "upc": "XMKY06001-K882F044", "others": [ "XMKY06001-K882F044" ] }, "groupCode": "XMKY06001-K8", "status": "ACTIVE", "weightUnit": "g" } }, "shippingCharges": 99.0, "isVirtualKit": "0", "component": [], "onhold": "0", "cancellationAdditionalReason": "", "cancellationReason": "", "customerOrderItemID": "", "recallBlockedInventoryUsed": "" } ], "balanceDue": 0.0 }, "previous_data": [], "resource_type": "shipment.update", "account_slug": "raymond", "custom": [] }

Request Body Mapping:

Key

Value

Type

Mandatory

Description

Key

Value

Type

Mandatory

Description

Version

1.1

String

Yes

 

TranDtls

 

Map

Yes

 

TranDtls.TaxSch

GST

String

Yes

 

TranDtls.SupTyp

B2B (Confirm once)

String

Yes

 

TranDtls.RegRev

‘Y' or 'N’

String

 

Optional. Y - whether the tax liability is payable under reverse charge. Default: N

TranDtls.EcmGstin

 

 

 

 

TranDtls.IgstOnIntra

N

 

 

Optional. Y - indicates the supply is intrastate but chargeable to IGST. Default: N

DocDtls

 

Map

Yes

 

DocDtls.Typ

INV

String

Yes

 

DocDtls.No

Invoice number

String

Yes

We generate it

DocDtls.Dt

Invoice Date

String

Yes

current time

SellerDtls

 

Map

Yes

from getSellerDtls query mentioned below which is already being fetched in invoice flow

SellerDtls.Gstin

 

String

 Yes

from getSellerDtls query mentioned below which is already being fetched in invoice flow

SellerDtls.LglNm

 

String

Yes

from getSellerDtls query mentioned below which is already being fetched in invoice flow

SellerDtls.Addr1

 

String

Yes

from getSellerDtls query mentioned below which is already being fetched in invoice flow

SellerDtls.Addr2

 

String

 

from getSellerDtls query mentioned below which is already being fetched in invoice flow

SellerDtls.Loc

 

String

Yes

from getSellerDtls query mentioned below which is already being fetched in invoice flow

SellerDtls.Pin

 

String

Yes

from getSellerDtls query mentioned below which is already being fetched in invoice flow

SellerDtls.Stcd

 

String

Yes

from getSellerDtls query mentioned below which is already being fetched in invoice flow

SellerDtls.Ph

 

 

 

from getSellerDtls query mentioned below which is already being fetched in invoice flow

SellerDtls.Em

 

 

 

from getSellerDtls query mentioned below which is already being fetched in invoice flow

BuyerDtls

 

Map

Yes

shippingAddress from the shipment event.

BuyerDtls.Gstin

 

 

Yes

orders.gstin

BuyerDtls.LglNm

 

 

Yes

shippingAddress.customerName

BuyerDtls.TrdNm

 

 

 

Buyer Trade name

BuyerDtls.Pos

 

 

Yes

State code of Place of supply. If POS lies outside the country then POS should be 96

BuyerDtls.Addr1

 

 

Yes

 shippingAddress.addressLine1

BuyerDtls.Addr2

 

 

 

 shippingAddress.addressLine2

BuyerDtls.Loc

 

 

 

Buyer Location

BuyerDtls.Pin

 

 

Yes

shippingAddress.postalCode

BuyerDtls.Stcd

 

 

Yes

using separate method to get this.

BuyerDtls.Ph

 

 

 

shippingAddress.contactPhone

BuyerDtls.Em

 

 

 

shippingAddress.email

DispDtls

 

 

 

we get warehouse details from the event.

DispDtls.Nm

 

String

Yes

Name of the company from which the goods are dispatched

DispDtls.Addr1

 

String

Yes

 warehouseAddress.addressLine1

DispDtls.Addr2

 

String

 

  warehouseAddress.addressLine2

DispDtls.Loc

 

String

Yes

 

DispDtls.Pin

 

String

Yes

warehouseAddress.postalCode

DispDtls.Stcd

 

String

Yes

use separate method to get this.

ShipDtls

 

Object

 

Conditional. Ship To details object. Required only if the Ship To address is different from Buyer Details address

ShipDtls.Gstin

 

 

 

 

ShipDtls.LglNm

 

 

Yes

legal name

ShipDtls.TrdNm

 

 

 

Trade name

ShipDtls.Addr1

 

 

Yes

 

ShipDtls.Addr2

 

 

 

 

ShipDtls.Loc

 

 

Yes

Location

ShipDtls.Pin

 

 

Yes

Pincode

ShipDtls.Stcd

 

 

Yes

State code.

ItemList

 

Object

Yes

We get it from the eventBody

ItemList.SlNo

 

String

Yes

 

ItemList.PrdDesc

 

String

 

Product Description

ItemList.IsServc

minLength: 1

maxLength: 1,

Values: "Y", "N"

 

 

Specify whether the supply is service or not. Specify Y-for Service

ItemList.HsnCd

productAdditionalInfo.productDetails.hsn

 

Yes

HSN Code

ItemList.Barcde

 

 

No

Barcode

ItemList.Qty

orderItems.quantity

 

No

Quantity

ItemList.FreeQty

 

 

No

 

ItemList.Unit

PCS

 

 

Conditional. Mandatory for goods (HSN) and not for services (SAC)

ItemList.UnitPrice

Items.lineItemTotal

Double

Yes

 

ItemList.TotAmt

orderItems.lineItemTotal

Double

Yes

 

ItemList.Discount

Items.discount

Double

 

Discount on line item.

ItemList.PreTaxVal

 

Double

 

 

ItemList.AssAmt

 

Double

Yes

Assessable Amount (Total Amount - Discount)

ItemList.GstRt

orderItems.integratedGstPercentage
OR
orderItems.stateGstPercentage + orderItems.centralGstPercentage

Double

Yes

Mandatory. The GST rate, represented as percentage that applies to the invoiced item. It will be IGST rate (OR sum of CGST and SGST rates).

ItemList.IgstAmt

orderItems.igst

Double

 

Conditional. Amount of IGST payable

ItemList.CgstAmt

orderItems.cgst

Double

 

Conditional. Amount of CGST payable.

fetch value from db

ItemList.SgstAmt

orderItems.sgst

Double

 

Conditional. Amount of SGST payable

fetch value from db

ItemList.CesRt

order_lines.tax_summary.cess_percentage

Float

 

Optional. Cess Rate

compensationCessPercentage

ItemList.CesAmt

order_lines.tax_summary.cess_amount

Double

 

Optional. Cess Amount(advolorem) on basis of rate and quantity of item (Add column in db)

ItemList.CesNonAdvlAmt

leave blank

Double

 

Optional. Cess Non-Advol Amount

ItemList.StateCesRt

leave blank

Float

 

Optional. State Cess Rate

ItemList.StateCesAmt

leave blank

Double

 

Optional. State Cess Amount

ItemList.StateCesNonAdvlAmt

leave blank

Double

 

Optional. State CESS Non advol Amount

ItemList.OthChrg

leave blank

Double

 

Optional. Other Charges on line item.

ItemList.TotItemVal

 

Double

Yes
need to ask

Mandatory. Total Item Value = AssAmt +

IgstAmt + CgstAmt +

SgstAmt +

CesAmt +

CesNonAdvlAmt +

StateCesAmt + StateCesNonAdvlAmt +

OthChrg

ItemList.OrdLineRef

 

String

 

Optional. Order line referencee

ItemList.OrgCntry

IN

String

 

Optional. Origin Country Code. Refer to Country master.

ItemList.PrdSlNo

 

String

 

Optional. Serial number in case of each item having a unique number.

ItemList.BchDtls

 

Object

 

Optional. Batch details object. See below. (Create a task in backlog)

ItemList.AttribDtls

 

Object

 

Optional. List of one or more Attribute Details object. See below. (Ignore)

ItemList.BchDtls.Nm

 

String

 

Mandatory. Batch number

ItemList.BchDtls.ExpDt

 

String

 

Optional. Batch Expiry Date

ItemList.BchDtls.WrDt

 

String

 

Optional. Warranty Date

ItemList.AttribDtls.Nm

 

String

 

Optional. Attribute details of the item

ItemList.AttribDtls.Val

 

String

 

Optional. Attribute details of the item

ValDtls

 

Object

 

 

ValDtls.SgstVal

 

Double

 

Conditional. Total SGST value of all items

ValDtls.IgstVal

 

Double

 

Conditional. Total IGST value of all items

ValDtls.CesVal

 

Double

 

Optional. Total CESS value of all items

ValDtls.StCesVal

Ignore

Double

 

Optional. Total State CESS value of all items

ValDtls.Discount

 

Double

 

Optional. Total invoice Discount

ValDtls.OthChrg

 

Double

 

Optional. Other charges

ValDtls.RndOffAmt

 

float

 

Optional. Rounding off amount (Put in backlog)

ValDtls.TotInvVal

 

Double

 

Mandatory. Final Invoice value

ValDtls.TotInvValFc

 

Double

 

Optional. Final Invoice value in Additional Currency


fetch sellers details by below query

SELECT warehouses.address_line_1 AS addressLine1, warehouses.address_line_2 AS addressLine2, warehouses.city, warehouses.state, warehouses.country, warehouses.pincode, account_warehouse_mapping.requestDocuments, party.party_name AS accountName, party.gstin AS gstin, account_warehouse_mapping.qrcodeDetails, facility.isSelfDeliveryEnabled, party.companyName AS companyName FROM warehouses LEFT JOIN external_wms_channels ON external_wms_channels.warehouse_id = warehouses.id LEFT JOIN party ON party.id = external_wms_channels.billing_party_id LEFT JOIN facility ON warehouses.facility_id = facility.id LEFT JOIN accounts ON accounts.id = party.account_id LEFT JOIN account_warehouse_mapping ON account_warehouse_mapping.account_id = party.account_id WHERE account_warehouse_mapping.warehouse_id = :warehouse_id AND external_wms_channels.externalWmsChannelName = :externalWmsChannelName GROUP BY party.id;

The following tax columns have been added to the existing query that fetches order details:

  • SGST

  • IGST

  • CgstAmt

  • UTGST

  • Gst rate

SELECT order_items.id, order_items.quantity, order_items.invoiceTotal, order_items.giftWrapCharges, order_items.shippingCharges, order_items.sku, order_items.cgst, order_items.igst, order_items.utgst, order_items.sgst, order_items.centralGstPercentage, order_items.integratedGstPercentage, order_items.stateGstPercentage, orders.orderTotal, order_items.productName, orders.customerOrderNumber, orders.vendorOrderNumber, orders.shipping_addressLine1, orders.shipping_addressLine2, orders.shipping_city, orders.shipping_state, orders.shipping_postalCode, orders.shipping_countryName, orders.shipping_customerName AS shippingCustomerName, orders.billing_customerName AS billingCustomerName, orders.billing_addressLine1, orders.billing_addressLine2, orders.billing_city, orders.billing_state, orders.billing_postalCode, orders.billing_countryName, orders.orderDate, orders.shipChargeAmount, orders.balanceDue, orders.channel_id, order_items.orderItemID AS orderItemId, order_items.itemID AS itemId, order_additional_details.receipt AS receipt, orders.gstin AS customerGstin FROM order_items LEFT JOIN orders ON orders.id = order_items.order_id LEFT JOIN order_additional_details ON order_additional_details.order_id = orders.id LEFT JOIN shipments ON shipments.order_id = orders.id WHERE shipments.id = :shipmentId AND orders.customerOrderNumber = :customerOrderNumber AND orders.channel_id = :channelId GROUP BY order_items.id

 

Request Body:

{ "Version": "1.1", "TranDtls": { "TaxSch": "GST", "SupTyp": "B2B", "RegRev": "Y", "EcmGstin": null, "IgstOnIntra": "N" }, "DocDtls": { "Typ": "INV", "No": "DOC/007", "Dt": "12/12/2020" }, "SellerDtls": { "Gstin": "24AAFCD5862R005", "LglNm": "NIC company pvt ltd", "TrdNm": "NIC Industries", "Addr1": "5th block, kuvempu layout", "Addr2": "kuvempu layout", "Loc": "GANDHINAGAR", "Pin": 382010, "Stcd": "24", "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": "10019920", "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": "12/12/2020", "InvEndDt": "12/12/2020" }, "PrecDocDtls": [ { "InvNo": "DOC/002", "InvDt": "12/12/2020", "OthRefNo": "123456" } ], "ContrDtls": [ { "RecAdvRef": "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": "12/12/2020", "Port": "INABG1", "RefClm": "N", "ForCur": "AED", "CntCode": "AE" }, "EwbDtls": { "TransId": "12AWGPV7107B1Z1", "TransName": "XYZ EXPORTS", "Distance": 100, "TransDocNo": "DOC01", "TransDocDt": "12/12/2020", "VehNo": "ka123456", "VehType": "R", "TransMode": "1" } }

 

Response:
Success response:

{ "Success": "Y", "AckNo": 162010000001700, "AckDt": "2020-08-08 11:23:00", "Irn": "58f1669d31c5725ddcc39eeecd465e69543c639daeb1d582546aa3d28d66c3f8", "SignedInvoice": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjExNUY0NDI2NjE3QTc5MzhCRTFCQTA2REJFRTkxQTQyNzU4NEVEQUIiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJFVjlFSm1GNmVUaS1HNkJ0dnVrYVFuV0U3YXMifQ.eyJkYXRhIjoie1wiQWNrTm9cIjoxNjIwMTAwMDAwMDE3MDAsXCJBY2tEdFwiOlwiMjAyMC0wOC0wOCAxMToyMzowMFwiLFwiSXJuXCI6XCI1OGYxNjY5ZDMxYzU3MjVkZGNjMzllZWVjZDQ2NWU2OTU0M2M2MzlkYWViMWQ1ODI1NDZhYTNkMjhkNjZjM2Y4XCIsXCJWZXJzaW9uXCI6XCIxLjAxXCIsXCJUcmFuRHRsc1wiOntcIlRheFNjaFwiOlwiR1NUXCIsXCJTdXBUeXBcIjpcIkIyQlwiLFwiUmVnUmV2XCI6XCJZXCIsXCJJZ3N0T25JbnRyYVwiOlwiTlwifSxcIkRvY0R0bHNcIjp7XCJUeXBcIjpcIklOVlwiLFwiTm9cIjpcIkRPQy8wMDdcIixcIkR0XCI6XCIwOC8wOC8yMDIwXCJ9LFwiU2VsbGVyRHRsc1wiOntcIkdzdGluXCI6XCIyNEFBRkNENTg2MlIwMDVcIixcIkxnbE5tXCI6XCJOSUMgY29tcGFueSBwdnQgbHRkXCIsXCJUcmRObVwiOlwiTklDIEluZHVzdHJpZXNcIixcIkFkZHIxXCI6XCI1dGggYmxvY2ssIGt1dmVtcHUgbGF5b3V0XCIsXCJBZGRyMlwiOlwia3V2ZW1wdSBsYXlvdXRcIixcIkxvY1wiOlwiR0FOREhJTkFHQVJcIixcIlBpblwiOjM4MjAxMCxcIlN0Y2RcIjpcIjI0XCIsXCJQaFwiOlwiOTAwMDAwMDAwMFwiLFwiRW1cIjpcImFiY0BnbWFpbC5jb21cIn0sXCJCdXllckR0bHNcIjp7XCJHc3RpblwiOlwiMjlBV0dQVjcxMDdCMVoxXCIsXCJMZ2xObVwiOlwiWFlaIGNvbXBhbnkgcHZ0IGx0ZFwiLFwiVHJkTm1cIjpcIlhZWiBJbmR1c3RyaWVzXCIsXCJQb3NcIjpcIjEyXCIsXCJBZGRyMVwiOlwiN3RoIGJsb2NrLCBrdXZlbXB1IGxheW91dFwiLFwiQWRkcjJcIjpcImt1dmVtcHUgbGF5b3V0XCIsXCJMb2NcIjpcIkdBTkRISU5BR0FSXCIsXCJQaW5cIjo1NjIxNjAsXCJQaFwiOlwiOTExMTExMTExMTFcIixcIkVtXCI6XCJ4eXpAeWFob28uY29tXCIsXCJTdGNkXCI6XCIyOVwifSxcIkRpc3BEdGxzXCI6e1wiTm1cIjpcIkFCQyBjb21wYW55IHB2dCBsdGRcIixcIkFkZHIxXCI6XCI3dGggYmxvY2ssIGt1dmVtcHUgbGF5b3V0XCIsXCJBZGRyMlwiOlwia3V2ZW1wdSBsYXlvdXRcIixcIkxvY1wiOlwiQmFuYWdhbG9yZVwiLFwiUGluXCI6NTYyMTYwLFwiU3RjZFwiOlwiMjlcIn0sXCJTaGlwRHRsc1wiOntcIkdzdGluXCI6XCIyOUFXR1BWNzEwN0IxWjFcIixcIkxnbE5tXCI6XCJDQkUgY29tcGFueSBwdnQgbHRkXCIsXCJUcmRObVwiOlwia3V2ZW1wdSBsYXlvdXRcIixcIkFkZHIxXCI6XCI3dGggYmxvY2ssIGt1dmVtcHUgbGF5b3V0XCIsXCJBZGRyMlwiOlwia3V2ZW1wdSBsYXlvdXRcIixcIkxvY1wiOlwiQmFuYWdhbG9yZVwiLFwiUGluXCI6NTYyMTYwLFwiU3RjZFwiOlwiMjlcIn0sXCJJdGVtTGlzdFwiOlt7XCJJdGVtTm9cIjoxLFwiU2xOb1wiOlwiMVwiLFwiSXNTZXJ2Y1wiOlwiTlwiLFwiUHJkRGVzY1wiOlwiUmljZVwiLFwiSHNuQ2RcIjpcIjEwMDFcIixcIkJhcmNkZVwiOlwiMTIzNDU2XCIsXCJRdHlcIjoxMDAuMzQ1LFwiRnJlZVF0eVwiOjEwLjAsXCJVbml0XCI6XCJCQUdcIixcIlVuaXRQcmljZVwiOjk5LjU0NSxcIlRvdEFtdFwiOjk5ODguODQsXCJEaXNjb3VudFwiOjEwLFwiUHJlVGF4VmFsXCI6MSxcIkFzc0FtdFwiOjk5NzguODQsXCJHc3RSdFwiOjEyLjAwMCxcIklnc3RBbXRcIjoxMTk3LjQ2LFwiQ2dzdEFtdFwiOjAsXCJTZ3N0QW10XCI6MCxcIkNlc1J0XCI6NS4wMDAsXCJDZXNBbXRcIjo0OTguOTQsXCJDZXNOb25BZHZsQW10XCI6MTAsXCJTdGF0ZUNlc1J0XCI6MTIuMDAwLFwiU3RhdGVDZXNBbXRcIjoxMTk3LjQ2LFwiU3RhdGVDZXNOb25BZHZsQW10XCI6NSxcIk90aENocmdcIjoxMCxcIlRvdEl0ZW1WYWxcIjoxMjg5Ny43LFwiT3JkTGluZVJlZlwiOlwiMzI1NlwiLFwiT3JnQ250cnlcIjpcIkFHXCIsXCJQcmRTbE5vXCI6XCIxMjM0NVwiLFwiQmNoRHRsc1wiOntcIk5tXCI6XCIxMjM0NTZcIn0sXCJBdHRyaWJEdGxzXCI6W3tcIk5tXCI6XCJSaWNlXCIsXCJWYWxcIjpcIjEwMDAwXCJ9XX1dLFwiVmFsRHRsc1wiOntcIkFzc1ZhbFwiOjk5NzguODQsXCJDZ3N0VmFsXCI6MCxcIlNnc3RWYWxcIjowLFwiSWdzdFZhbFwiOjExOTcuNDYsXCJDZXNWYWxcIjo1MDguOTQsXCJTdENlc1ZhbFwiOjEyMDIuNDYsXCJEaXNjb3VudFwiOjEwLFwiT3RoQ2hyZ1wiOjIwLFwiUm5kT2ZmQW10XCI6MC4zLFwiVG90SW52VmFsXCI6MTI5MDgsXCJUb3RJbnZWYWxGY1wiOjEyODk3Ljd9LFwiUGF5RHRsc1wiOntcIk5tXCI6XCJBQkNERVwiLFwiTW9kZVwiOlwiQ2FzaFwifSxcIlJlZkR0bHNcIjp7XCJJbnZSbVwiOlwiVEVTVFwiLFwiRG9jUGVyZER0bHNcIjp7XCJJbnZTdER0XCI6XCIwMS8wOC8yMDIwXCIsXCJJbnZFbmREdFwiOlwiMDEvMDkvMjAyMFwifSxcIlByZWNEb2NEdGxzXCI6W3tcIkludk5vXCI6XCJET0MvMDAyXCIsXCJJbnZEdFwiOlwiMDEvMDgvMjAyMFwiLFwiT3RoUmVmTm9cIjpcIjEyMzQ1NlwifV0sXCJDb250ckR0bHNcIjpbe1wiUmVjQWR2RHRcIjpcIjAxLzA4LzIwMjBcIn1dfSxcIkFkZGxEb2NEdGxzXCI6W3tcIlVybFwiOlwiaHR0cHM6Ly9laW52LWFwaXNhbmRib3gubmljLmluXCIsXCJEb2NzXCI6XCJUZXN0IERvY1wiLFwiSW5mb1wiOlwiRG9jdW1lbnQgVGVzdFwifV0sXCJFeHBEdGxzXCI6e1wiU2hpcEJOb1wiOlwiQS0yNDhcIixcIlNoaXBCRHRcIjpcIjAxLzA4LzIwMjBcIixcIlBvcnRcIjpcIklOQUJHMVwiLFwiUmVmQ2xtXCI6XCJOXCIsXCJGb3JDdXJcIjpcIkFFRFwiLFwiQ250Q29kZVwiOlwiQUVcIn0sXCJFd2JEdGxzXCI6e1wiVHJhbnNJZFwiOlwiMTJBV0dQVjcxMDdCMVoxXCIsXCJUcmFuc05hbWVcIjpcIlhZWiBFWFBPUlRTXCIsXCJUcmFuc01vZGVcIjpcIjFcIixcIkRpc3RhbmNlXCI6MTAwLFwiVHJhbnNEb2NOb1wiOlwiRE9DMDFcIixcIlRyYW5zRG9jRHRcIjpcIjA4LzA4LzIwMjBcIixcIlZlaE5vXCI6XCJrYTEyMzQ1NlwiLFwiVmVoVHlwZVwiOlwiUlwifX0iLCJpc3MiOiJOSUMifQ.qLdolsRy-W00xbHzME5U65jRf9c6R3tYTnEYzMG2hEZdBmFQzPCnw-T273OW_EmRUrYlp-7XjHRbInoW-kTfIieJpWfH20sSnf_siQO19YgbtoRuXQNE7uig7TqpJMGAIHH5QsAI1QLzJj1m98NucKGUcXhk2906MLtqHKMb5Ug0InaP4JweX2Dfmiqj5RiN5dLBFfIpgWhGT_2fSJBWdRg8w9CoQZwhdqN-2sP_SHdgNDzdH6eHtTp5eMyyLJNKA7estyqNoNvl8EpZHHeDZiISE4JXCf6yBq_8BaNKE9bsN_VCua_WCcBcNxYH3373F275PQhxybRMrGAntdUiNQ", "SignedQRCode": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjExNUY0NDI2NjE3QTc5MzhCRTFCQTA2REJFRTkxQTQyNzU4NEVEQUIiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJFVjlFSm1GNmVUaS1HNkJ0dnVrYVFuV0U3YXMifQ.eyJkYXRhIjoie1wiU2VsbGVyR3N0aW5cIjpcIjI0QUFGQ0Q1ODYyUjAwNVwiLFwiQnV5ZXJHc3RpblwiOlwiMjlBV0dQVjcxMDdCMVoxXCIsXCJEb2NOb1wiOlwiRE9DLzAwN1wiLFwiRG9jVHlwXCI6XCJJTlZcIixcIkRvY0R0XCI6XCIwOC8wOC8yMDIwXCIsXCJUb3RJbnZWYWxcIjoxMjkwOCxcIkl0ZW1DbnRcIjoxLFwiTWFpbkhzbkNvZGVcIjpcIjEwMDFcIixcIklyblwiOlwiNThmMTY2OWQzMWM1NzI1ZGRjYzM5ZWVlY2Q0NjVlNjk1NDNjNjM5ZGFlYjFkNTgyNTQ2YWEzZDI4ZDY2YzNmOFwifSIsImlzcyI6Ik5JQyJ9.aQYuyV9pQzBaaFQUPJloj76GxEOVZ7xJCy09yxQIaL2gjPu16QcRNGksIlH3LBPFkA1b0wSNbi7e-nek65Pv5JHbyPjt4ihw9Z-YPqyzOdOU26lDP4ci0Ea_B1pSmOIv8itroLf2zVx5w6eUUqNYffI9h_JMF-E_BD0DoLE-axLvl-NM1Xb7kBFMQyzK-Y8AlXQEf_oAOxZcxqR8amJfIrN4mSTbcjcfUxT_16DECTW0Bbm83BFi1jtf_CQX4qZio-4WPCKbo1iZNzD9LXzAd8nt9ErzAqud8pKFWTHo3fVcX7TdfSc19G6PIk7GWy3FeQCvC_sZSkWfOR9eOJowNQ", "Status": "ACT", "EwbNo": 681008686014, "EwbDt": "2020-08-08 11:23:00", "EwbValidTill": "2020-08-09 23:59:00" }

 

Failure response:

{ "ewbStatus": "GENERATED", "Success": "Y", "AckNo": 112010014464044, "AckDt": "2020-10-14 11:34:00", "Irn": "2dabdbd3755371a739d244b4914a5ac6428d10214509840a298dbea79f71af3e", "SignedInvoice": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkVEQzU3REUxMzU4QjMwMEJBOUY3OTM0MEE2Njk2ODMxRjNDODUwNDciLCJ0eXAiOiJKV1QiLCJ4NXQiOiI3Y1Y5NFRXTE1BdXA5NU5BcG1sb01mUElVRWMifQ.eyJkYXRhIjoie1wiQWNrTm9cIjoxMTIwMTAwMTQ0NjQwNDQsXCJBY2tEdFwiOlwiMjAyMC0xMC0xNCAxMTozNDowMFwiLFwiSXJuXCI6XCIyZGFiZGJkMzc1NTM3MWE3MzlkMjQ0YjQ5MTRhNWFjNjQyOGQxMDIxNDUwOTg0MGEyOThkYmVhNzlmNzFhZjNlXCIsXCJWZXJzaW9uXCI6XCIxLjFcIixcIlRyYW5EdGxzXCI6e1wiVGF4U2NoXCI6XCJHU1RcIixcIlN1cFR5cFwiOlwiRVhQV09QXCIsXCJSZWdSZXZcIjpcIk5cIixcIklnc3RPbkludHJhXCI6XCJOXCJ9LFwiRG9jRHRsc1wiOntcIlR5cFwiOlwiSU5WXCIsXCJOb1wiOlwiMTA3MDA5MzQ1XCIsXCJEdFwiOlwiMTMvMTAvMjAyMFwifSxcIlNlbGxlckR0bHNcIjp7XCJHc3RpblwiOlwiMjlBQUZDRDU4NjJSMDAwXCIsXCJMZ2xObVwiOlwiTklDIGNvbXBhbnkgcHZ0IGx0ZFwiLFwiVHJkTm1cIjpcIk5JQyBJbmR1c3RyaWVzXCIsXCJBZGRyMVwiOlwiNXRoIGJsb2NrLCBrdXZlbXB1IGxheW91dFwiLFwiQWRkcjJcIjpcImt1dmVtcHUgbGF5b3V0XCIsXCJMb2NcIjpcIkdBTkRISU5BR0FSXCIsXCJQaW5cIjo1NjAwMzcsXCJTdGNkXCI6XCIyOVwiLFwiUGhcIjpcIjkwMDAwMDAwMDBcIixcIkVtXCI6XCJhYmNAZ21haWwuY29tXCJ9LFwiQnV5ZXJEdGxzXCI6e1wiR3N0aW5cIjpcIlVSUFwiLFwiTGdsTm1cIjpcIlNIQU5HSEFJIFFJRElBTiBDSEVNSUNBTFMgQ08uIExURFwiLFwiVHJkTm1cIjpcIlNIQU5HSEFJIFFJRElBTiBDSEVNSUNBTFMgQ08uIExURFwiLFwiUG9zXCI6XCI5NlwiLFwiQWRkcjFcIjpcIlJNIDQwNywgQlVJTERJTkcgMywsIEFJSklBIElOVEVSTkFUSU9OQUwgTUFOU0lPTiBOTy4gMjg4XCIsXCJBZGRyMlwiOlwiV1VIVUEgUk9BRCBTSEFOR0hBSSwgQ0hJTkFcIixcIkxvY1wiOlwidGVzdFwiLFwiUGluXCI6OTk5OTk5LFwiU3RjZFwiOlwiOTZcIn0sXCJJdGVtTGlzdFwiOlt7XCJJdGVtTm9cIjowLFwiU2xOb1wiOlwiMDAwMDEwXCIsXCJJc1NlcnZjXCI6XCJOXCIsXCJQcmREZXNjXCI6XCJBU0NPUkJZTCBQQUwgMjVLZy4gRFJVTSAoTk9OIE1CKVwiLFwiSHNuQ2RcIjpcIjI5MzYyNzAwXCIsXCJRdHlcIjoxMC4wLFwiVW5pdFwiOlwiS0dTXCIsXCJVbml0UHJpY2VcIjo2NDguNzQsXCJUb3RBbXRcIjo2NDg3LjM3LFwiQXNzQW10XCI6NjQ4Ny4zNyxcIkdzdFJ0XCI6MC4wMCxcIklnc3RBbXRcIjowLjAwLFwiVG90SXRlbVZhbFwiOjY0ODcuMzcsXCJCY2hEdGxzXCI6e1wiTm1cIjpcIkFBUzAxNEwwMDVcIn19XSxcIlZhbER0bHNcIjp7XCJBc3NWYWxcIjo2NDg3LjM3LFwiVG90SW52VmFsXCI6NjQ4Ny4zNyxcIlRvdEludlZhbEZjXCI6NjQ4Ny4zN30sXCJFeHBEdGxzXCI6e1wiRm9yQ3VyXCI6XCJVU0RcIixcIkNudENvZGVcIjpcIkNOXCJ9fSIsImlzcyI6Ik5JQyJ9.bxFZYJttN_aLYgDlPnzv2LhuQJE1bDr53aH0g2HIPyY9AxgojxuJSNu1jj3GRx6HfnxDkFPi0fY1cTzq24OHNrt8g4jjz_IaAY3mEYRIC-ao5u5nbFgG8VcCBX4q3hCP2OhHIBYqGAkRE-Glxtx0Nyhf10XPGhBS_0TDWl1jU8yw2K8PswVaBH4uYp6E2gs8HDyv4OW5kkIWA-MC4LxQDRP8TMF2hF9_4mETDyZXrWuaN-ELdMl41hfxdpqebNJBKPSqiDjB-Y5gVuuKmivimn8FTj20m6tWNcLPvsgIBBzzYQyWCVw70TM7PSOpQvloFg1kJMT9Fs7merEsnccb-Q", "SignedQRCode": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkVEQzU3REUxMzU4QjMwMEJBOUY3OTM0MEE2Njk2ODMxRjNDODUwNDciLCJ0eXAiOiJKV1QiLCJ4NXQiOiI3Y1Y5NFRXTE1BdXA5NU5BcG1sb01mUElVRWMifQ.eyJkYXRhIjoie1wiU2VsbGVyR3N0aW5cIjpcIjI5QUFGQ0Q1ODYyUjAwMFwiLFwiQnV5ZXJHc3RpblwiOlwiVVJQXCIsXCJEb2NOb1wiOlwiMTA3MDA5MzQ1XCIsXCJEb2NUeXBcIjpcIklOVlwiLFwiRG9jRHRcIjpcIjEzLzEwLzIwMjBcIixcIlRvdEludlZhbFwiOjY0ODcuMzcsXCJJdGVtQ250XCI6MSxcIk1haW5Ic25Db2RlXCI6XCIyOTM2MjcwMFwiLFwiSXJuXCI6XCIyZGFiZGJkMzc1NTM3MWE3MzlkMjQ0YjQ5MTRhNWFjNjQyOGQxMDIxNDUwOTg0MGEyOThkYmVhNzlmNzFhZjNlXCIsXCJJcm5EdFwiOlwiMjAyMC0xMC0xNCAxMTozNDowMFwifSIsImlzcyI6Ik5JQyJ9.kFLRH57ph67lsNqpxS6PNRdVkhX96MVv1Ela0CRxD8IhI0jZvQad8e5m_dNe6XueSit7Lkcu5DCCqItlNEUliDQ2gdJxK4gHKyuE9cZicZKgSKq-fEiwzGORof9oiKMKvnQOpWFNGvKS6CdbKa6cBPYy9FfX_KJtatkvv0NI2RyOBqLB_TJPM-j2iFIoxlIuXxLSBRlI-clM0Gb7eDR18Ekp9hrVpGCk5YQ-967CZEFQoR0m-ybCFxT5--vJxIyEBXtvd22bcK21Fis9bUDuQQKP7NVUrCUHCKMDm18iLViikMsTTIik2KxIabj0BrV7I4Wo9f1U9BkSe-7c2bB3xg", "Status": "ACT", "info": [ { "InfCd": "DUPIRN_CLEARTAX", "Desc": "Duplicate IRN; The IRN is already generated & available for this document with ClearTax. We have shared the details in the response payload" } ] }

Once we get success response, we add IRN and SignedQRCode in Invoice.


Note - if we get any error response from clear tax, return the error to front-end.

 

 

Open Point:
decoding the signedQRCode received from clear tax as per our requirement.



Related content