---
title: "What is a transaction type?"
slug: "what-is-a-transaction-type-1"
tags: ["transaction type"]
updated: 2025-01-29T08:15:34Z
published: 2025-01-29T08:15:34Z
canonical: "support.lusid.com/what-is-a-transaction-type-1"
---

> ## 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.

# What is a transaction type?

A *transaction type* is one of the most important data structures in LUSID. It defines the precise economic impact of all the transactions belonging to that type on [holdings](/v1/docs/holdings).

Note the following:

- A transaction must have a transaction type. If it does not, it can be stored in LUSID but has no economic impact. To ensure that transactions upserted into LUSID resolve to known transaction types, [increase the level of validation](/v1/docs/validating-transactions).
- A transaction type consists of a set of nested components: [aliases](/v1/docs/what-is-a-transaction-type-alias), [calculations](/v1/docs/what-is-a-transaction-type-calculation), [movements](/v1/docs/what-is-a-movement) and [sides](/v1/docs/what-is-a-side).
- A transaction type is grouped in both a [source and a scope](/v1/docs/grouping-related-transaction-types-using-scopes-and-sources).
- When you [generate a holdings report](/v1/docs/understanding-how-lusid-uses-transaction-types-to-generate-holdings) for a portfolio, LUSID replays the stored history of transactions in date order and, for each, updates the quantity and/or cost of one or more holdings according to the specification in the transaction type. A holding in LUSID is thus an ephemeral object that is the aggregation of a set of transactions in an underlying instrument (for example, VOD or GBP) at a point in time.
- By default, LUSID generates one holding per instrument per settlement currency, but you can split a holding into strategies using [sub-holding keys](/v1/docs/what-is-a-sub-holding-key-shk) (SHKs) or [custodian accounts](/v1/docs/segregating-holdings-using-custodian-accounts).
- LUSID has a set of [built-in transaction types](/v1/docs/what-built-in-transaction-types-and-sides-are-provided-with-lusid). These are useful to get started, but we recommend creating your own universe of [custom transaction types](/v1/docs/how-do-i-create-a-transaction-type) for a production system.

You can design a transaction type to have any economic impact you like. The following diagrams illustrate how the components fit together, and suggest some ways in which they might be used. For a more in-depth explanation, see this article on [how LUSID uses transaction types to generate holdings](/v1/docs/how-do-i-create-a-transaction-type).

## Transfer funds into a portfolio

For each transaction, the single movement increases the core cash balance in the transaction currency by the amount transferred.

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/7f8e1bc3-59a2-4c6f-993e-556c5a724a29.png)

## Purchase an asset

This transaction type has two movements. For each transaction:

- The first movement increases the quantity of a 'stock' (that is, non-currency instrument) by the number of units purchased.
- The second movement decreases the core cash balance in the transaction currency by the cost.

The built-in `Buy` transaction type implements this scenario. [See a detailed explanation](/v1/docs/understanding-how-lusid-uses-transaction-types-to-generate-holdings#examining-the-builtin-lusid-transaction-types).

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/6fe3e774-4efb-4a60-b443-a898f4412804.png)

## Purchase an asset and account for commission

This transaction type has three movements. For each transaction:

- The first movement increases the quantity of a stock by the number of units purchased.
- The second movement decreases the core cash balance in the transaction currency by the cost.
- The third movement maps a fee (stored as a custom property) to a SHK to break out commission as a separate cash holding.

[See how to set this scenario up](/v1/docs/breaking-out-broker-commission-as-a-separate-cash-holding).

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/a5174fc3-f775-494d-94dd-19fcad1a12e3.png)
