Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

Summary

An electronic invoice is a legally accepted digital tax receipt document that your organization registers at Invoice Registration Portal (IRP). By using Microsoft Dynamics 365 Finance to generate electronic invoices, you help make sure that the electronic invoices that your organization generates are secure, confidential, authentic, and legally acceptable. You can also make sure that required standards are applied to your electronic invoices.

This article describes how to enable, set up and use Microsoft Dynamics 365 Finance with electronic Invoice Registration Portal (IRP) integration for India. It includes information about how to complete the following tasks:

  • Feature activation

  • Configuring system to use electronic invoicing

  • Working with electronic invoices


More information

Information that is included in electronic invoices

An electronic invoice includes the following details:

  • The name, address, contact information and GSTIN numbers of the organization (seller) and a customer (buyer)

  • The invoice number, the date, and the document type

  • Details of goods and services for each item sold:

    • Serial number of the item

    • Indication whether it is a service supply

    • SAC \ HSN code

    • Quantity, unit of measure and unit price

    • GST rate

    • Applied charges or discounts

    • Totals for invoice line

  • The document total details containing itemization of invoice totals

Prerequisites for using electronic invoices

To use electronic invoices in your organization, you must complete the following tasks as prerequisite:

Note: You will need your GSTIN, Username, Password, Client ID and the Client secret.

Feature activation

You can open the Feature management workspace by selecting the appropriate tile on the dashboard or by going to System administration > Workspaces > Feature management. Among other features find (India) Electronic invoice under GST and use button Enable to activate the feature. Read more about feature management and available options in Feature management overview article.

Configuring system to use electronic invoicing

Complete the below procedures to set up the system to use electronic invoicing for India.

Import Electronic reporting (ER) configurations

To prepare Finance to interoperate with the IRP system, you must import the following ER configurations. Refer to Download Electronic reporting configurations from Lifecycle Services article for details.


Note: While importing from Global Repo or LCS, you need to import only format configurations. Related model and model mapping configurations will be auto-imported.

Number

Configuration name

Configuration version

Configuration type

1

Invoice model

223 or higher

Model

2

Invoice model mapping

223.156 or higher

Model mapping

3

Sales invoice (IN)

223.15 or higher

Format

4

Project invoice (IN)

223.12 or higher

Format

5

Invoice validation model mapping

223.3 or higher

Model mapping

6

Invoice validation format (IN)

223.3 or higher

Format

7

Electronic Messages framework model

31 or higher

Model

8

eInvoice model mapping

31.8 or higher

Model mapping

9

eInvoice format (IN)

31.3 or higher

Format

10

eInvoice authentication import format (IN)

31.3 or higher

Format

11

eInvoice data import format (IN)

31.8 or higher

Format

 

Important

Be sure to import the most recent versions of these configurations. The version description usually includes the number of the Microsoft Knowledge Base (KB) article that explains the changes that were introduced in the configuration version.

Note

After all the ER configurations from the preceding table are imported, set the Default for model mapping option to Yes for the eInvoice model mapping configuration.

Set up Electronic messaging (EM) functionality

Electronic message functionality is provided to maintain the different processes that are used in electronic reporting and transmission of different document types. For more information about electronic messages, see Electronic messaging article.

The most important step in setting up Electronic messaging functionality for IRP integration is to import the provided Indian IRP integration setup.zip data package. Once successfully imported setup data, almost all required setup will be auto created. There only remaining required setup will be selecting parameters for executable classes and setting up number sequences for Electronic messaging. All those tasks are described bellow

Import a package of data entities that includes a predefined EM setup

The process of setting up the electronic message functionality to interoperate with the IRP system has multiple steps. Because the names of some predefined entities are used in the ER configurations, it's important that you use a set of predefined values that are delivered in a package of data entities for the related tables, and that you import the ER configurations before you import the data entities.

1.       In Microsoft Dynamics Lifecycle Service (LCS), go to the Shared asset library, and select the Data package asset type.

2.       In the list of data package files, find and download Indian IRP integration setup.zip.

3.       After the file is downloaded, open Finance, and select the company that you will interoperate with the IRP system from.

4.       Go to Workspaces > Data management.

5.       In the Data management workspace, go to Framework parameters > Entity settings, and select Refresh entity list. Wait for confirmation that the refresh has been completed. For more information about how to refresh the entity list, see Entity list refresh.

6.       Validate that the source data and target data are correctly mapped. For more information, see Validate that the source data and target data are mapped correctly.

7.       Before the data entities are used for the first time to import the data from the package, sync the mapping of the source data and target data. In the list for the package, select a data entity, and then, on the Action Pane, select Modify target mapping.

8.       Above the grid for the package, select Generate mapping to create a mapping from scratch, and then save the mapping.

9.       Repeat steps 7 and 8 for every data entity in the package before you start the import.

For more information about data management, see Data management overview.

You must now import data from the Indian IRP integration setup.zip file into the selected company. In the Data management workspace, select Import, specify a Group name, select Add file, and then, in the drop-down dialog box, set the Source data format field to Package.

10.   Select Upload and add, select the Indian IRP integration setup.zip file on your computer, and upload it.

11.   After the data entities are uploaded, on the Action Pane, select Import.

You will receive a notification in Action center, or you can manually refresh the page to view the progress of the data import. When the import is completed, the Execution summary page shows the results.

After data entities are imported, you will find two types of electronic message processing: OnlineInvoicing (Indian Online Invoicing) and CancelInvoice (Indian Online Invoicing). This processing contains almost all the setup that is required in your legal entity.

Processing

Name

Description

OnlineInvoicing

Indian Online Invoicing

This processing supports interoperation with the IRP system to submit information about sales, free text and project customer invoices. It parses the response from IRP to obtain and save Invoice Registration Number (IRN) and signed QR code.

CancelInvoice

Indian Online Invoicing

This processing supports interoperation with the IRP system to cancel previously registered customer invoices.

To review the imported processing, go to Tax > Setup > Electronic messages > Electronic message processing.

 

The electronic message processing from the previous table works with the following electronic message item types.

Electronic messages item type

Description

Processing

SalesIvoice

Customer invoice

OnlineInvoicing

ProjInvoice

Project invoice

OnlineInvoicing

To review the imported electronic message item types, go to Tax > Setup > Electronic messages > Message item types.

Set up the integration internet addresses

1.       Go to Tax > Setup > Parameters > Electronic messages > Web service settings.

Enter the following information to define the internet address for web services.

Web service name

Description

Testing internet address

Authentication

This Authentication web service is provided by NIC. It is used to authenticate the sender on the IRP system side.

https://einv-apisandbox.nic.in/eivital/v1.03/auth

Generate IRN

This Generate IRN web service is provided by NIC. It is used to submit invoice to register on the IRP system side, and it sends back response that contains information about invoice processing along with unique invoice identifier (IRN) and QR code.

https://einv-apisandbox.nic.in/eicore/v1.03/Invoice

Cancel IRN

This Cancel IRN web service is provided by NIC. It is used to revoke \ cancel an invoice previously successfully registered on the IRP system side, and it sends back response that contains information about cancellation processing.

https://einv-apisandbox.nic.in/eicore/v1.03/Invoice/Cancel

Note: Internet addresses are subject to change by National Informatics Centre (NIC). Therefore, we recommend that you check for actual internet addresses on the official website of the e-Invoice System or other appropriate sources. The official documentation also has information about the available production internet addresses that you should set up.

2.       On the Request parameters, specify the same set of values for all the above web services:

Parameter

Value

Successful response code

200

Request method

POST

Content type

Application/json

Request headers format mapping

eInvoice format (IN)

image.png

Set up additional fields

EM items have additional fields that are included in the Indian Online Invoicing type of electronic message processing (OnlineInvoicing) that is used to interoperate with the IRP system and imported into the system by using a package of data entities. Additional fields are associated with EM items and are required for their processing. The system automatically sets values for additional fields when actions are run. IRP integration uses only one additional field. Open Tax > Setup > Electronic messages > Additional fields to open Additional fields page and create new one, if not imported from the data package.

Field name

Description

AppKey

Unique ID, identifying unique user session.

 

Set up executable class parameters

Three executable classes are included in the electronic messages types (OnlinceInvoicing and CancelInvoice) that are used to interoperate with IRP system and are imported into the system by using a package of data entities.

Executable class name

Description

Generate EM for SalesInvoice

This class generates Electronic Messages for EM items of customer invoice (sales order and free text invoice) type

Generate EM for ProjInvoice

This class generates Electronic Messages for EM items of project invoice type

Additional fields evaluation

For filled-in EM items (in Created status), this class evaluates the value for the AppKey additional field.

 

  1. Open Tax > Setup > Electronic messages > Executable class setting.

  2. Use New to create new Executable class if it does not exist and specify the following values:

    1. In Executable class enter Additional fields evaluation

    2. In Description enter Evaluate additional fields for message items

    3. In Executable class name select EMAdditionalFieldsEvaluationController_IN

  3. In the Action Pane, select Parameters and then, in the dialog box that appears, set the AppKey parameter to AppKey
    image.png

  4. Use New to create new Executable class if it does not exist and specify the following values:

    1. In Executable class enter Generate EM for SalesInvoice

    2. In Description enter Generates EM for SalesInvoice

    3. In Executable class name select EMGenerateMessageController_IN

  5. In the Action Pane, select Parameters and then, in the dialog box that appears, set the following values for the parameters of the executable class.

    1. Format mapping to Sales Invoice (IN)

    2. Message status in case of success to Generated

    3. Message item status in case of technical error to Created
      image.png

  6. Use New to create new Executable class if it does not exist and specify the following values:

    1. In Executable class enter Generate EM for ProjInvoice

    2. In Description enter Generates EM for ProjInvoice

    3. In Executable class name select EMGenerateMessageController_IN

  7. In the Action Pane, select Parameters and then, in the dialog box that appears, set the following values for the parameters of the executable class.

    1. Format mapping to Project invoice (IN)

    2. Message status in case of success to Generated

    3. Message item status in case of technical error to Created

 

Set up number sequences for electronic messages

To work with the Electronic messages functionality, you must define related number sequences.

  1. Go to Tax > Setup > Parameters > General ledger parameters.

  2. On the Number sequences tab, set up two number sequences:

  • Message

  • Message item

Set up batch settings for automated processing of interoperation with the IRP system

  1. Go to Tax > Setup > Electronic messages > Electronic message processing.

  2. Select either OnlineInvoicing or CancelInvoice processing.

  3. On the Batch FastTab, select Create batch, and then define the required parameters.

Set up security roles for electronic message processing

Different groups of users might require access to OnlineInvoicing and CancelInvoice processing. You can limit access to the processing based on security groups that are defined in the system.

To limit access to OnlineInvoicing and CancelInvoice processing, follow these steps.

  1. Go to Tax > Setup > Electronic messages > Electronic message processing.

  2. Select OnlineInvoicing or CancelInvoice processing, and then add the security groups that must work with that processing. If no security group is defined for the processing, only a system admin can see the processing on the Electronic messages page.

Set up certificates and secrets for the IRP system

To interoperate with the IRP system, you must use a security certificate that is provided by the operator as well as all the other secrets obtained from IRP during GSTIN registration process. There are two options for storing this sensitive data:

  • Azure Key Vault storage

  • Local storage


It is highly recommended that you use Azure Key Vault storage. For more information about how to set up Key Vault, see Setting up Azure Key Vault Client and Maintaining Azure Key Vault storage articles.

Note: If you decide to follow recommended setup and use Key Vault, all the secrets used - User name, User password, Client Id, Client secret and Certificate – must be uploaded to and defined in customer’s Key Vault storage prior defining Key Vault parameters.

Complete following procedure to enable usage of Key Vault and advanced certificate storage:

  1. Go to System administration > Setup > System parameters.

  2. Set the Use advanced certificate store option to No to store sensitive data locally. Set the option to Yes to use Key Vault storage.

  3. If you set the Use advanced certificate store option to Yes, go to System administration > Setup > Key Vault parameters to create up the Key Vault parameters.

  4. Create a secret with reference to the custom Key Vault storage for each of five required secrets: User name, User password, Client Id, Client secret, Certificate.

Note : The .CER certificatemust be stored in Azure Key Vault as a secret, not a certificate. You need to open your .CER file in any text editor and copy its entire content to a secret value in Key Vault.


image.png

Set up electronic invoice parameters

Use Accounts receivable > Setup > Electronic invoice parameters page to provide information used to submit invoices to IRP and additional parameters to control validations at invoice posting time. Following table describes available options.

Parameter

Parameter description

Validate before posting

You can enable additional validation against all mandatory information to be included in the electronic invoice at the invoice posting time.

Validation format

ER format used for validation against all required mandatory elements in the electronic invoice. Available only when Validate before posting function is enabled.

GSTIN

Your Goods and Services Taxpayer Identification Number, used for IRP integration.

User name

Reference to Key Vault secret for your user name provided by NIC, used for IRP integration

User password

Reference to Key Vault secret for your user password provided by NIC, used for IRP integration

Client Id

Reference to Key Vault secret for your user Client Id provided by NIC, used for IRP integration

Client secret

Reference to Key Vault secret for your Client secret provided by NIC, used for IRP integration

Certificate

Reference to Key Vault secret for your Certificate provided by NIC, used for IRP integration

Set up unit of measure

You need to repeat that for all units of measure that you use in electronic invoices to match allowed external codes.

  1. Go to Organization administration > Setup > Units > Units.

  2. Select one of units, eg. "ea" unit and click External codes.

  3. Enter Code (eg. EInv_IN) and External code definition

    Note: Code will be used across all units of measure to identify master data set of units of measure codes accepted by electronic invoicing.

  4. Select your created electronic invoicing unit external code (eg."Einv_IN") and enter the Value (eg. "NOS") in the bottom grid of the form

The external codes will be used as international trade units of measure codes recommended by technical specification.

Set up HSN codes and products

Details how to setup HSN codes can be found in Define HSN codes and Service Accounting Codes article. The below procedures illustrate only the process of setting up the code and assigning it to the product.

Define HSN code

  1. Go to Tax > Setup > Sales tax > India > HSN code.

  2. Create a record.

  3. In the Chapter field, enter a value.

  4. In the Heading field, enter a value.

  5. In the Subheading field, enter a value.

  6. In the Country/region extension field, enter a value.

  7. In the Statistical suffix field, enter a value.

  8. Save the record, and verify that the HSN code field is updated.

  9. In the Description field, enter a value.

  10. Select Close.

Assign HSN codes to products

  1. Go to Product information management > Products > Released products.

  2. Select a product, and then select Edit.

  3. On the General FastTab, if the product type is Item, select a value in the HSN code field.

Set up tax registration numbers

Details how to setup GSTIN master data can be found in Create a GSTIN master article . The below procedure illustrates only simplified process of setting up registration numbers for use in electronic invoicing.

  1. Go to Tax > Setup > Sales Tax > Enterprise tax registration

  2. Crate a new record

  3. Select Tax type = GST and Registration number type = Company

  4. Enter the Registration number and save the data

  5. Crate a new record

  6. Select Tax type = GST and Registration number type = Customer

  7. Enter the Registration number and save the data

Set up your legal entity

1.       Go to Organization administration > Organizations > Legal entities

2.       Expand the Addresses tab and use button Add to create new or Edit already existing primary address

3.       Enter or update ZIP, Street, City, District, State and County

Note: Please note that States should have State codes assigned in Organization administration > Setup > Addresses > Address setup > State/province tab.

4.       Close Edit addresses form

5.       Click Registration IDs and select your primary address

6.       In Manage addresses page expand Tax information fast tab

7.       Use Add to set Name or description (eg. “GST”) and select previously created Company registration number in GSTIN/GDI/UID field

8.       Close the Manage addresses

9.       Expand Contact information fast tab in Legal entities form to add Primary phone and Primary email

Set up your customers

Open the customer master from Accounts receivable > Customers > All customers to enter or edit customer information required for electronic invoicing.

Set up tax information

1.       Expand the Addresses tab for a selected customer account and use button Add to create new or Edit already existing primary address

2.       Enter or update ZIP, Street, City, District, State and County

Note: Please note that States should have State codes assigned in Organization administration > Setup > Addresses > Address setup > State/province tab

3.       Close Edit addresses form

4.       Click Registration IDs and select your primary address

5.       In Manage addresses form expand Tax information fast tab

6.       Use Add to set Name or description (eg. “GST”) and select previously created customer registration number in GSTIN/GDI/UID field

7.       Close the Manage addresses

Set up contact information

  1. Use Contacts button to either edit existing or create a new customer contact

  2. In Sales demographics tab of Customer master, select existing Primary contact

  3. Expand Contact information fast tab in Customers form to add Primary phone and Primary email

Note: Customer contact details might not be necessary for some versions of Dynamics 365 Finance.

Enable customer for electronic invoicing

  1. Expand Invoice and delivery fast tab in Customers form

  2. Check the eInvoice checkbox for a customer

Note: If this option is set to Yes, the system will be marking invoices posted for this customer account as ready for electronic invoice processing.

Working with electronic invoices

EM functionality runs actions that are included in the processing (OnlineInvoicing or CancelInvoice), based on the status of messages and message items.

Register electronic invoices

When an invoice is posted for e-invoice enabled customer from a sales order, Free text invoice or Project invoice proposal, you can run EM processing to create JSON electronic invoice and register it at the IRP system.

  1. Open Tax > Inquiries and Report > Electronic messages > Electronic messages page.

  2. Select OnlineInvoicing processing

  3. Use Run processing function to create electronic invoices for all relevant posted document and send them to IRP

Note: You can use Run in the background option to setup a batch processing to send all appropriate newly posted documents to IRP based on predefined time interval.

image.png

Once operation is completed you can see information about number of processed documents in the action log:

image.png

Successful completion of invoice registration will update information in E-invoice status page which can be found in Sales or Project invoice journals, as well as invoice flag Sent electronically.

Received IRN and QR code can be printed in Tax invoice reports available in the Sales or Project invoice journals:

image.png

 

Cancel electronic invoices

When an invoice is registered at IRP, you can select it for cancelation and run EM processing to cancel it at the IRP system.

  1. Open Sales or Project invoice journal page and identify invoice you want to cancel

  2. Use E-Invoice option to open e-invoice status page
    image.png

  3. Use Cancel function to select a previously successfully registered invoice for cancelation
    image.png
    Note: Status will be updated to “Cancel”

  4. Open Tax > Inquiries and Report > Electronic messages > Electronic messages page.

  5. Select CancelInvoice processing

  6. Use Run processing function to cancel all electronic invoices selected for cancellation

Note: You can use Run in the background option to setup a batch processing to send all appropriate newly posted documents to IRP based on predefined time interval. Once operation is completed you can see information about number of processed documents in the action log pane.

Inquire on electronic invoices

You can quickly review which invoices are registered by opening Sales or Project invoice journal and checking the status indicated in Sent electronically column.

image.png

You can find details information about status of electronic invoice using E-Invoice page available in Sales and Project invoice journal pages.

image.png

The E-Invoice page, Overview tab

image.png

shows statuses of electronic invoice. Here are the possible statuses the electronic invoice can get:

Status

Description

Created

Invoice is posted and ready to be sent to IRP. You can run OnlineInvoicing processing to start registration process.

Sent

Invoice has been successfully registered at IRP

Cancel

Invoice is selected for cancelation. You can run CancelInvoice processing to start cancellation process.

Cancelled

Invoice has been successfully cancelled at IRP

After successful registration in the same tab, you will see Acknowledgement number and Acknowledgement date. Go to Details tab to review received IRN, Signed QR code and Signed invoice. This information will be cleared when invoice is cancelled.

image.png

 

Frequently asked questions

Q: Can I unselect an invoice previously successfully registered and selected for cancellation?

It is not possible to unselect an invoice once selected for cancellation in the E-Invoice status page. IRP does not allow the send again an invoice once cancelled so the only option is to create and post a new one. 

image.png

Q: Can I specify additional criteria to be considered when selecting invoices for electronic processing, either to register or cancel invoice?

You can review and modify queries used for invoice selection in Tax > Setup > Electronic messages > Populate record actions page. Edit query button opens system query form to setup additional or modify existing query criteria.

image.png

Q: Where can I find detailed information what went wrong for an invoice which was not successfully registered?

You can review action log in Open Tax > Inquiries and Report > Electronic messages > Electronic messages page to see the details. Response code and response description are available in the action that failed.

image.png

 

Q: What is not is cope of electronic invoice solution for India?

    • Digital signature by seller

    • Generation of IRN

    • ISD Invoice

    • AP e-Invoice import

Q: What are the supported formats of electronic invoice for India?

The export of electronic invoice can be done in JSON format that containing all required fields defined in technical specification. If there is another format or you need to add extra information to the electronic invoice message, you may use Electronic reporting to modify Microsoft provided format or create a new one. Find more information in Electronic reporting (ER) overview article.

Q: What are the supported integrations for Indian electronic invoice registration?

The generated JSON electronic can be submitted to IRP directly and that is a default setup of Electronic messages done though importing data package. As the out of the box supported integration is using Electronic messages, you can use it to change configurations and validate possibility to integrate with any GSP of your choice. For more information about electronic messages, see Electronic messaging article.

Note: Integration through GSP is not supported by Microsoft natively.


Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

Was this information helpful?

What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×