TaxPro GSP supports E-Way Bill Interoperable services. ASPs may give control of the same to their end users through their UI.
At e-Waybill1 System, you can access the services namely ‘Get E-way bill’, ‘Part B updation’ of e-Waybill2 System and vice versa.
That is, e-Waybills generated at eWaybill2 System can be retrieved and part B can be updated from e-Waybill1 System.
Similarly, e-waybills of e-Waybill1 can be retrieved and part B can be updated from eWaybill 2. e-Waybill2 system synchronises the e-Waybill details with e-Waybill1 System within a few seconds.
In the absence of ‘irp’ & 'irpurl' header parameter, by default it will be considered as irp=NIC1 & irpurl = e-Waybill1 directly.
APIs available for criss-cross operations between these sites are.
Get E way bill
Part B updation
How to Use Multiple IRP by ASP?
1. API user / developer has to pass 'irpurl' parameter either in Header or Query as value 1 (for e-Waybill1) or 2 (for e-Waybill2).
2. API user / developer has to pass 'irp' parameter either in Header or Query as value 1 (for NIC IRP-1) or 2 (for NIC IRP-2).
EWB generated on particular IRP would be recognized by any IRP. (i.e.EWB generated by IRP 1 would be recognized by IRP 2 and vice versa.)
How to know perticular EWBNo Generated on which portal
If 3rd Caracter Of ewayBillNo is in the range of 1 to 7 => it indicates ewayBillNo generated on e-Waybill1 Portal
If 3rd Caracter Of ewayBillNo is 8 or 9 => it indicates ewayBillNo generated on e-Waybill2 Portal
.Net Framework library and Java library Users have to do following changes in UI
1. Provide the access to select irp url and irp value through UI as shown below
2. On SelectedIndexChanged of IRPUrl, Assign selected value of irpurl to EwbSession.EwbApiLoginDetails.IRPUrl
private void cmbIRPUrl_SelectedIndexChanged(object sender, EventArgs e)
{
EwbSession.EwbApiLoginDetails.IRPUrl = (cmbIRPUrl.SelectedItem as dynamic).Value;
}
3. On SelectedIndexChanged of IRP, Assign selected value of irp to EwbSession.SelIRP
private void cmbIRP_SelectedIndexChanged(object sender, EventArgs e)
{
EwbSession.SelIRP = (cmbIRP.SelectedItem as dynamic).Value;
}
Below changes For Multiple Taxpayer to handle inter operability
i. One more paramater SelIrp with default value 1 added to ewbSession constructior. Library Users needs to maintain 2 seperate ewbApiLoginDetails. NIC UserName and Password for both IRP is same and Library will store same AuthToken and SEK in 2 seperate eInvApiLoginDetails. If you are using default values in ewbSession (default true for second paramater LoadAPILoginDetailsFromConfigFile), library will automatically create 2 ewbApiLoginDetails entries EwbApiLoginDetails.json config file. Also library will take care of updating respective entries on internally refreshing AuthToken.
For Example: public TPSession(int TPID, int SelIrp) : base(true, false, SelIrp)
ii. RefreshAuthTokenCompleted event will get AuthTokenEventArg where event handler should read SelIrp value from AuthTokenEventArg and save or update respective IRP AuthToken and SEK;
For Example:
private void SaveNewAuthToken(object sender, AuthTokenEventArg e)
{
//Write your code to save New AuthToken, SEK to DB for TaxPayerID and SelIRP
UpdateDatabase(TaxPayerID, e.SelIrp);
}
iii. New event SelIrpChanged added in case user wants to change SelectedIrp by assigning directly to SelIRP in already created eInvoiceSession object. This event may be used to Load APILoginDetails of changed IRP by reading SelIrp from SelIrpChangedEventArg. This would be useful if you are using Singleton eInvoiceSession.
For Example:
private void SelectedIPRChanged(object? sender, SelIrpChangedEventArg e)
{
//Load LoginDetails for e.SelIrp in eInvSession.
DisplayApiLoginDetails(TaxPayerID, e.SelIrp);
}
5. New Error Codes
117
|
This option is not enabled in Eway Bill2
|
118
|
Try after 5 minutes
|
444
|
This Ewaybill cannot be cancelled as it is generated from NIC1
|
445
|
This Ewaybill cannot be cancelled as it is generated from NIC2
|
446
|
Transport details cannot be updated here as it is generated from NIC1
|
447
|
Transport details cannot be updated here as it is generated from NIC2
|
448
|
Part B cannot be updated as this Ewaybill Part A is generated in NIC1
|
449
|
Part B cannot be updated as this Ewaybill Part A is generated in NIC2
|
452
|
Consolidate Ewaybill cannot be generated as this Ewaybill Part A is generated in NIC2
|