

GS520 – Tax Calculation Service Basics in Globalization Studio
Tax compliance across multiple regions is one of the biggest challenges in ERP systems—especially for businesses that sell within the UK, across the EU, and internationally. Different VAT rates, reverse charge rules, exemptions, and country-specific laws demand a flexible, scalable solution. This is where the Tax Calculation Service (TCS) steps in.
In this article, you’ll learn how to:
✅ Configure tax logic using Globalization Studio
✅ Support UK, EU, and Rest-of-World scenarios without X++
✅ Replace hardcoded tax logic with maintainable rules
✅ Use no-code tax rules for real transactions
🔗 Closely related to GS504 – Applicability Rules and GS505 – Creating Custom Features
Table of Contents
Toggle🧠 What Is the Tax Calculation Service?
TCS is a Microsoft-hosted, no-code tax engine that calculates taxes dynamically based on:
- Transaction details (customer, item, shipping address)
- Applicability rules
- Configurable tax codes and conditions
It works across all legal entities and countries—perfect for distributed businesses needing consistent, auditable tax outcomes.
💡 Think of TCS as the rules-based “brain” that tells D365 how to apply tax—based on who you’re selling to, where, and what you’re selling.
✅ When Should You Use TCS?
Use TCS when:
- You sell in multiple countries or have multi-VAT registration
- You deal with reverse charge, intra-community supply, or zero-rated exports
- You want to eliminate custom tax coding
- You require audit-ready tax rules and traceability
🌍 Real-World Tax Scenarios (UK–EU–RoW)
Scenario | TCS Rule Outcome |
Sale from UK to a UK consumer | 20% VAT applied |
Sale from UK to an EU VAT-registered customer | 0% VAT (Reverse Charge) |
Sale from UK to customer outside the EU (RoW) | 0% VAT (Export) |
Intercompany transfer from UK to Spain | Use tax logic per destination |
All of the above can be modeled using applicability rules, tax group mappings, and custom tax codes—without writing a single line of code.
🪜 Step-by-Step: Configuring TCS in Globalization Studio
✅ Step 1: Enable the Tax Calculation Service
- Go to Feature Management
- Enable Tax Calculation Service (preview or GA depending on version)

✅ Step 2: Create a Tax Calculation Feature
- Go to Globalization Studio > Features
- Create a new feature (e.g., UK-EU-RoW Tax Logic)
- Choose Tax Calculation as the feature type

✅ Step 3: Configure Tax Codes
- Define tax codes: TS_STD (For Local Sales), TS_ZER (For EU sales with VAT number), TS_IE_REV (For EU sales with VAT Number)

📘 No scripting or expressions required—just a clean designer UI
✅ Step 4: Configure Tax Groups
- Define Tax group as below

- You can apply your logic to any of the following fields available for header and lines

✅ Step 5: Configure Item Tax Group
- Define Item Tax Group: I included all tax code under one Item Sales Tax Group as my scenarios is driven by customer/tax group/location than the product itself.

✅ Step 6: Configure Tax Applicability Group
- These rules enable D365 to pick the correct tax group (and thus tax codes) based on the direction of goods (domestic, EU, or RoW), ensuring tax logic aligns with UK VAT regulations.
From Country | To Country | Tax Group | Purpose |
GBR | BIH | TS_ZER | Applies zero-rated tax for exports from the UK (GBR) to Bosnia and Herzegovina (non-EU country – treated as RoW) |
GBR | ESP | TS_EU | Applies EU-specific tax logic (likely reverse charge) for sales from UK to Spain |
GBR | GBR | TS_DOM | Applies domestic UK tax rules for local sales within the UK |

✅ Step 7: Configure Tax Calculation Parameters
Field | Purpose |
Enable advanced tax calculation | Turns on the use of the Tax Calculation Service instead of the standard D365 tax engine. |
Name (Feature) | Selects the specific Tax Calculation feature version that contains your configured tax logic (e.g., rules, codes, applicability). |
Version | Displays the version of the selected feature; it’s automatically set and non-editable. |
Business process | Indicates which business processes (e.g., Sales, Purchase) this tax calculation setup applies to. |
Rounding precision | Defines the number of decimal places used when rounding tax amounts (e.g., 0.000000 for exact precision). |
Rounding method | Determines how rounding is done — e.g., Normal (standard mathematical rounding) or Round up/down. |
Rounding by | Specifies at what level tax rounding should occur — e.g., Tax codes means each tax code is rounded independently. |
Calculation method | Defines whether tax is calculated per line (Line) or for the entire document total (Document). |

✅ Step 8: Run a Test
Local Sales (Legal company is set to Country UK)
Sales from UK to UK
- Create Sales order with Delivery within UK

- The correct Tax combination picked for 20% calculation

Sales from UK to BIH (Bosnia)
- The correct combination picked for 0% tax

Sales from UK to ESP (Spain)
- The correct combination of reverse VAT is calculated

Tax Jurisdiction and Tax Jurisdiction Parameters
🏛️ Tax Jurisdiction
A Tax Jurisdiction defines the geographical area where specific tax rules apply — for example, a country, state, province, or even a city.
✅ Example:
Imagine company sells goods from the UK to Spain and the U.S.
- In the UK and Spain, you deal with VAT.
- In the U.S., tax is calculated based on states and cities (like California, New York, etc.).
By using tax jurisdictions, you can define these locations separately so that the system knows which tax rate or rule to apply based on where you’re shipping or selling.
⚙️ Tax Jurisdiction Parameters
Tax Jurisdiction Parameters control how the jurisdiction is determined during a transaction and which data field D365 should use to match it (e.g., delivery address, warehouse, customer registration, etc.).
✅ Example:
Let’s say:
- You’re delivering from UK to France.
- You want tax to be calculated based on the customer’s shipping address.
With jurisdiction parameters, you tell the system:
“Use the Ship-to Country to determine the jurisdiction.”
That way, tax logic will be driven by the destination country, not where the company is located.
All Applicability Rules
Tax group applicability
Purpose: Decides which Tax Group to apply based on conditions (e.g., country, business process).
Use Case:
If you’re shipping from the UK to:
- Spain → apply TS_EU
- Bosnia → apply TS_ZER
- UK → apply TS_DOM
Item tax group applicability
Purpose: Controls which Item Tax Group applies depending on product or scenario.
Use Case:
Use “TCI_Export” only if the item is flagged as an export product, otherwise use “TCI_Standard”.
List code applicability
Purpose: Uses INTRASTAT list codes or commodity codes to trigger specific tax behavior.
Use Case:
If a product belongs to a list code like “Medical Equipment”, apply reduced VAT in France. Useful for industry-specific exemptions.
Customer Tax Registration Number Applicability
Purpose: Applies different tax logic based on customer’s VAT registration status.
Use Case:
If the customer has a valid EU VAT number → apply Reverse Charge (0% VAT).
If not → apply local VAT.
Vendor Tax Registration Number Applicability
Purpose: Applies specific tax rules based on vendor’s VAT registration status.
Use Case:
If a vendor is VAT-registered in a different EU country → don’t deduct VAT, apply reverse charge logic.
🔍 Key Tools for Troubleshooting Tax Logic
Tool | Purpose |
Tax Calculation Diagnostics | Shows how rules were evaluated and what matched |
Transaction Tax Details | Shows final tax decisions and rates used |
Posting Preview | Displays expected GL and tax entries before posting |
💡 Tips for Smooth Implementation
Tip | Why It Matters |
Use Microsoft-delivered templates | Get started faster with baseline country rules |
Avoid overlapping applicability | Prevents unexpected rule collisions |
Simulate in UAT with real data | Reduces production surprises |
Use naming conventions | Easier for audit trails and team understanding |
Document business rules by country | Supports tax reviews and local authority audits |
🧭 Related Articles in the Series
- GS504 – Applicability Rules
- GS505 – Creating Custom Features
- GS511 – Localizing for Unsupported Countries
- GS514 – Routing and Storage for ER and TCS
📘 Coming Up Next
In GS521 – Managing Providers and Repositories in Globalization Studio, we’ll explore how to keep your compliance features organized and upgrade-safe using providers and repositories.
You’ll learn how to:
- Set up your own configuration provider (e.g., Contoso Ltd)
- Use Microsoft-delivered features without modifying them directly
- Connect and structure Dataverse repositories across Dev, UAT, and Prod
- Support ALM and team collaboration using Power Platform solutions
📖 Continue reading: GS521 – Managing Providers & Repositories →
🔍 View Full Article in PDF
GS520I am Yogeshkumar Patel, a Microsoft Certified Solution Architect and ERP Systems Manager with expertise in Dynamics 365 Finance & Supply Chain, Power Platform, AI, and Azure solutions. With over six years of experience, I have successfully led enterprise-level ERP implementations, AI-driven automation projects, and cloud migrations to optimise business operations. Holding a Master’s degree from the University of Bedfordshire, I specialise in integrating AI with business processes, streamlining supply chains, and enhancing decision-making with Power BI and automation workflows. Passionate about knowledge sharing and innovation, I created AI-Powered365 to provide practical insights and solutions for businesses and professionals navigating digital transformation. 📩 Let’s Connect: LinkedIn | Email 🚀
Post Comment