Share This Post

Microsoft D365 Tax Engine Applicability

The Microsoft D365 Tax Engine Applicability (also referred to as GTE) lets you configure tax rules that determine tax applicability, calculation, posting, and settlement, based on legal and business requirements. This article walks you through a tax engine configuration to help you understand how GTE handles tax applicability.


This document uses the India Goods and Services Tax configuration to explain the tax applicability.

Overview of Microsoft D365 Tax Engine Applicability

Tax applicability is the condition under which the tax type, tax component, or tax rate are applicable. For example, for India GST, if you sell goods from one state to another state, you need to charge IGST, and the goods you are selling will determine the tax rate. The tax engine provides two ways to handle the tax applicability, lookup, and the condition.

A lookup is mainly used to handle dynamic applicability rules, and a condition is used to handle the static applicability rules. The following GTE components are relevant to the tax applicability.

GTE component Lookup/Condition Comments
Tax type Lookup & Condition
Tax component Lookup & Condition Both the tax component and tax type can have applicability logic. Because the tax component is under the tax type, applicability logic is used to determine whether a specific tax component is applicable.
Tax measure Lookup The measure type should be Tax ratePercentage, or the Percentage group.
Formula Condition For a specific transaction type, not all the tax formulas are relevant. For example, the formula that is used to calculate the non-deductible tax is only relevant for the document purchases.
Posting Condition Different transaction types have different posting logic. In this case, the condition is used to ensure that the correct posting profile is used.
Accounting Lookup Accounting is the same as the tax accounts. With a lookup, you can maintain the different sets of tax accounts for different scenarios. For example, different tax registration numbers have different tax accounts.
Credit pool Lookup Use a lookup to determine how to settle the tax. For example, you can settle the tax based on different tax registration numbers.
Tax period Lookup Use a lookup to determine which tax period should be used for different scenarios.

The condition for Microsoft D365 Tax Engine Applicability

If the applicability rule is always static, you need to use the condition. For example, the GST is not applicable for intra-state inventory transfer in India.

Open Microsoft D365 Tax Engine Applicability by clicking the Designer button.

Microsoft Dynamics 365 Tax Engine Applicability

Tax document

Select the tax component CGST, and select the pencil icon, to check the detailed condition.



The condition is actually an Electronic Reporting expression. It is comprised of the fields on the left in Data source, and Functions on the right.

The following condition means that the Taxable Document Type cannot be “Invent transfer order receive”, “Invent transfer order shipment”, or “Invent transfer order”. This also means that either the HSN Code or SAC should be specified.

AND(Header.’Taxable Document Type'<>”Invent transfer order receive”,
Header.’Taxable Document Type'<>”Invent transfer order shipment”,
Header.’Taxable Document Type'<>”Invent transfer order”,
OR(NOT(Header.Lines.’HSN Code’=””), NOT(Header.Lines.SAC=””))

Enable GST for Intra-state Inventory Transfer Order

In this scenario, suppose that the Indian government requires you to calculate the GST for intra-state inventory transfer orders if the GST registration numbers are different between the ship from and ship to the warehouse.

Structure of Data Source in the formula designer

On the leftmost side of the formula designer, you can find all the fields that are defined in the taxable document and the tax document, and the reference model that is defined in the taxable document.

└───Header fields
| └───Lines field
| └───Tax types
| └───Tax components
| └───Tax measures
Reference models

Change the applicability condition

To change the applicability condition, go to the Header > Lines > GST Registration number and Header > Lines > Party GST Registration number. These represent the GST registration numbers for the ship from and the ship to warehouse. The condition can be changed to the following.

Header.’Taxable Document Type’=”Invent transfer order receive”,
Header.’Taxable Document Type’=”Invent transfer order shipment”,
Header.’Taxable Document Type’=”Invent transfer order”
‘GST Registration Number'<>’Party GST Registration Number’
Header.’Taxable Document Type'<>”Invent transfer order receive”,
Header.’Taxable Document Type'<>”Invent transfer order shipment”,
Header.’Taxable Document Type'<>”Invent transfer order”
OR(NOT(Header.Lines.’HSN Code’=””), NOT(Header.Lines.SAC=””))

Select the field from the data source, and use the Add data source to add the field into the formula. Make sure to use the single quotes for the data source field if there is an empty space in the name, like ‘Taxable Document Type’. Use a double quote for the value if there is an empty space, like the “Inventory transfer order”.

Select Test to test your formula after you are done with editing.


If the static applicability rules are complex, or it is a dynamic applicability rule, you need to use the lookup.

Lookup for static applicability rules

Select GST, click Lookups.

Tax document GST

Static applicability rules

Because a lookup can handle both the static applicability rules and dynamic applicability rules, the Source type drop-down list is for this purpose. Use the Configuration for the static applicability rule, which means that the data used in the lookup comes from the configuration. Use the User data for the dynamic applicability rule, which means that the data used in the lookup comes from the runtime environment, such as Finance and Operations.

A lookup is a matrix. The relation of each line is the OR, and the relation of each column within the line is AND. If the value of the cell is empty, it means that all the values satisfy the condition.

In the screenshot above, all the data for the lookup of Microsoft Dynamics 365 Tax Engine Applicability type GST comes from the configuration, so the Source type is Configuration.

Lookup for dynamic applicability rules

Many applicability rules depend on the runtime data. For example, some Microsoft D365 Tax Engine Applicability components are only applicable for a certain good or service, so a different type of tax transaction results in a different tax rate.

Select CESS, click Lookups.

In India, the CESS is applicable for certain goods and services. In the Finance and Operations, HSN represents goods, SAC represents services, so HSN Code and SAC are used in the lookup. The Source type is the User data, because the real value of HSN Code and SAC come from Finance and Operations.

Now, let’s check how CGST rate is determined. Select CGST > Rate, click Lookups.

Dynamic applicability rules

Dynamic applicability rules

The Runtime data is required to determine the tax rate, so the system hides the Source type, and the User data value.

Different goods and services result in the different tax rates, so there are HSN Code and SACParty GST Registration Number and the Tax Direction are used to handle the scenario of purchasing from an unregistered GST supplier. Transaction Date from and the Transaction Date to are used to handle different tax rate per periods.

Enable different tax rate for different goods

Different goods can share one HSN code, so lookup cannot satisfy this scenario. A different lookup column is needed for handling this.

Click Columns. On the left side, you can find all the Available columns. The structure is the same as Data source in the formula designer, except that there are no reference models.



Select the Item ID in Available columns to uniquely determine the goods. Click the right-arrow icon to add it to the Selected columns side. If the HSN is not needed, you can select HSN Code in Selected columns, and click the left-arrow icon to remove it.

Share This Post

Leave a Reply

Notify of
Skip to toolbar