---
title: "Tax calculations"
slug: "tax-calculations"
tags: ["tax rule set"]
status: "update"
updated: 2025-07-31T14:46:30Z
published: 2025-07-31T14:46:30Z
canonical: "support.lusid.com/tax-calculations"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.lusid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tax calculations

LUSID has a tax calculation engine that can be triggered to automatically calculate and store amounts of tax due for transactions in a particular portfolio matching a set of tax rules. You can then use [transaction types](/v1/docs/what-is-a-transaction-type) to determine what happens to these tax amounts: simply record them, subtract them from main cash balances in a portfolio, report them as separate cash balances, or something else.

For example, suppose you have a GB-domiciled portfolio holding UK and US equities. You can create a *tax rule set* for dividend tax that applies to transactions representing cash dividends, with *tax rules* distinguishing between different UK and US dividend tax rates. You can create a transaction type that adds gross dividend amounts to core cash balances in different currencies, and simultaneously records the amounts of tax due as separate cash balances. [Work through this scenario](/v1/docs/calculating-dividend-tax-and-reporting-it-as-a-separate-cash-balance).

Note the following:

- You should create one tax rule set for each kind of tax, for example dividend tax. The tax rules in a set have an effective (or start) date with rates that apply until they are superseded by tax rules with different rates and a subsequent date.
- A tax rule set is uniquely identified by a scope and a code. The scope must be registered with all portfolios you wish the tax rules to apply to.
- A tax rule set can have any number of tax rules to distinguish between different tax rates, for example 25% for UK dividend tax and 10% for US dividend tax. Tax rules are processed in order and, for each applicable transaction, the first matching rule applies.
- A tax rule can have any number of *match criteria*, each of which compares a value against either a sub-holding key or a property in the `Instrument`, `Portfolio` or `InstrumentEvent` domains. Every match criterion must be met for a tax rule to apply.
- A tax rule set must have an *output property* that stores the calculated amount of tax due for each matching transaction. This property must be from the `Transaction` domain, for example `Transaction/DividendTax/AmountDue`.

You can interact with tax rule sets:

- Using the **Data Management > Tax Rulesets** dashboard in the LUSID web app.
- Using the APIs in the [Tax Rule Sets](https://www.lusid.com/docs/api/lusid/endpoints/tax-rule-sets/CreateTaxRuleSet/) collection.
- Using equivalent methods in the LUSID SDK in [various languages](/v1/docs/understanding-all-the-applications-in-the-finbourne-platform).

Note tax rule sets are not yet available in Luminesce.

**Tutorials**: *Get started by doing something tangible*

- [Calculating dividend tax and reporting it as a separate cash balance](/v1/docs/calculating-dividend-tax-and-reporting-it-as-a-separate-cash-balance)

**How-to guides**: *Get something done*

- [How do I create a tax rule set and add tax rules?](/v1/docs/how-do-i-create-a-tax-rule-set-and-add-tax-rules)
