In the 38th GST Council meeting, the GST Council has decided to implement the e-Invoicing from 1st Jan 2020. Currently, the e-Invoicing system will be used to report only B2B invoices to the GST System. NIC being the first Invoice Registration Portal (IRP) has also made the e-Invoice process through API mode. The GSPs and taxpayers can integrate these APIs into their existing ERPs and can generate e-invoice directly through their system.
Types of APIs available
Currently, there are 5 different APIs available and they are:
- Authentication APIs
- Generate IRN APIs
- Cancel IRN APIs
- GET E-Invoice Details APIs
- GET GSTIN Details APIs
E Invoicing API Overview
These E-invoicing APIs can be implemented as RESTful Web Services that will help in communicating and exchanging the data between the taxpayers and the e-Invoice system. These APIs uses the following HTTP methods:
- GET APIs
- These types of APIs help in fetching data from the e-Invoice system.
- These types of APIs help in submitting the data from the e-Invoice system.
Pre-Conditions to use e-Invoicing APIs
Here is the list of pre-conditions that taxpayers or GSPs have to full-fill to use e-Invoicing APIs:
- Taxpayers or GSPs should automate their invoice generation process.
- GSPs or taxpayers must make sure that traffic originating from their end and landing to the e-Invoice system is free from viruses, malware, intrusions, Bots, etc. As NIC may block/suspend the services of GSP/Taxpayers if they detect any malicious traffic impacting the e-Invoice system.
- GSPs or Taxpayers must adhere to all the IT Security standards and regulatory requirements as per the Government of India.
- GSPs or Taxpayers should meet the security requirements as specified by http://www.cert-in.org.in/ for application and infrastructure. Any taxpayer can get access to the API credentials through GSPs irrespective of turnover.
- Taxpayers or GSPs have to list at least 4 Indian Static IP addresses to access the production environment.
- Taxpayers or GSPs should have a pre-production system for testing. Using which they can try different types of activities or services.
Here is the onboarding process that taxpayers and GSPs should follow:
- GSPs or taxpayers should appoint and nominate a project manager and technical SPOC to look after all the project related queries and matters.
- GSPs or taxpayers should meet the pre-conditions specified above to get access to production.
- Post testing all e-Invoicing APIs in a pre-production environment, GSPS or taxpayers should have to file their complete test results in the test summary report in the sandbox test environment.
- For validation purposes, GSPs or Taxpayers must get their application and infrastructure audited for compliance and submit the audited report to the NIC e-Invoice team.
- After evaluating the submitted report by the concerned team, access to the e-Invoice system shall be provided.
- Initially, GSPs or Taxpayers can reach the e-Invoice system through the internet. However, afterward, they would access the e-Invoice system through MLPS links provisioned by GSTIN. The cut-off date for the same would be informed in due course of time.
- If the taxpayers have multiple GSTINs with the same PAN, then they can use the same client-id and password of their main business place. However, it shall be noted that they have to create a separate user name and password credentials for each registration/GSTIN in the e-Invoice system.
- Any taxpayers who want to use the APIs through GSP have to opt for the GSP in the portal and create their user name and password.
Taxpayers or GSPs have to provide the following list of documents:
- Contact details of Project Manager and Technical SPOC.
- 4 Indian Public Static IPs (maximum) for whitelisting at NIC end.
- Infrastructure and interface audited report.
- The report of the successful test on sandbox testing.
These APIs provide the following benefits to the taxpayers and GSP (GST Suvidha Providers):
- These APIs provide seamless integration of ERP systems such as SAP, Oracle, etc of the taxpayers with the e-Invoice system.
- The taxpayer can record the Invoice Reference Number and Acknowledgement number on their system online.
- These APIs will help in eliminating the duplicate or double-entry of the invoice as the GST system will automatically fetch the data from the IRP.
- Automation using APIs will eliminate the errors that can occur during data entry for e-Invoice.
- One time entry of e-Invoice will act as an input for the generation of E-Way Bill and the ANX-1 easily later.
- E-Invoice System provides 24x7 assistance.
- API Interface for Tax Payer Automated system
- The taxpayers enter invoice details in their automated system. The same data in the required format is sent to the e-Invoice “Generate IRN” API. The invoice gets registered and IRN is generated. This is sent to the taxpayers along with the digitally signed e-Invoice and QR Code which needs to be saved along with IRN and ACK Number. The tax payer's system prepares the invoice for print, which will have IRN and the QR Code embedded in it.
- Store the response values
- The taxpayers should store ACK Number, ACK Date, IRN and Signed-Invoice values with the request record for future reference. Dependency in the future for these data from the GST system will be avoided.
- Validate the JSON Schema and data before requesting
- The taxpayers should validate the JSON Payload as per the given Schema and data according to the validation steps. This will help the taxpayer in faster and better e-Invoicing services.
- Check the response status and take actions accordingly
- The taxpayers should check the response sheet and in case of any error, get the data modified/corrected at the user or system level and resubmit the request.
- Don’t request token for every transaction
- At the time of the authentication process, the e-invoice system provides the token and its expiry time. They should store the token generated and use it for each transaction, instead of requesting a token for each transaction. This will help the taxpayer to avoid getting their API Service blocked by the e-Invoice system.
- Re-generate the token before the expiry
- The taxpayer should re-generate the new token 10 minutes before the expiry of the old one. It shall be noted that the authentication token is validated for 6 hours. In case of any failed request resubmit them again.