---
title: "Lusid.TransactionType"
slug: "lusidtransactiontype"
updated: 2024-08-21T10:38:03Z
published: 2024-08-21T10:38:03Z
canonical: "support.lusid.com/lusidtransactiontype"
---

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

# Lusid.TransactionType

| **Type** | **Read/write** | **Author** | **Availability** |
| --- | --- | --- | --- |
| [Data provider](/v1/docs/what-are-a-data-provider-and-a-direct-provider) | Read | Finbourne | Provided with LUSID |

Providing you have sufficient [access control permissions](/v1/docs/creating-policies-to-control-access-to-providers-for-different-luminesce-end-users), the `Lusid.TransactionType` provider enables you to write a [Luminesce SQL query](/v1/docs/understanding-the-luminesce-sql-query-syntax) that retrieves [transaction types](/v1/docs/what-is-a-transaction-type) from a particular scope.

Note the following:

- Luminesce retrieves one record for each [movement](/v1/docs/what-is-a-movement) belonging to a transaction type.
- Luminesce knows nothing about your [custom transaction type scopes](/v1/docs/grouping-related-transaction-types-using-scopes-and-sources). If you omit the `Scope` parameter, LUSID retrieves sides from the built-in `default` scope. You cannot retrieve sides from *all* scopes.
- Luminesce cannot currently retrieve `TransactionConfiguration` properties from transaction types nor constituent movements.

**See also:** [Lusid.TransactionType.SideDefinition](/v1/docs/lusidtransactiontypesidedefinition)

## Basic usage

```sql
select * from Lusid.TransactionType where <filter-expression>;
```

## Query parameters

`Lusid.TransactionType` has parameters that enable you to filter or refine a query.

To list available parameters, their data types, default values, and an explanation for each, run the following query using a [suitable tool](/v1/docs/what-tools-are-available-to-write-luminesce-queries):

```sql
select FieldName, DataType, ParamDefaultValue, Description from Sys.Field where TableName = 'Lusid.TransactionType' and FieldType = 'Parameter';
```

## Data fields

By default, `Lusid.TransactionType` returns a table of data populated with particular fields (columns). You can return just a subset of these fields if you wish.

To list fields available to return, their data types, whether fields are considered 'main', and an explanation for each, run the following query using a [suitable tool](/v1/docs/what-tools-are-available-to-write-luminesce-queries):

```sql
select FieldName, DataType, IsMain, IsPrimaryKey, SampleValues, Description from Sys.Field where TableName = 'Lusid.TransactionType' and FieldType = 'Column';
```

> **Note:** Fields marked 'main' are returned by queries that select a caret character, for example `select ^ from Lusid.TransactionType`.

## Examples

> **Note:** For more example Luminesce SQL queries, visit our [Github repo](https://github.com/finbourne/luminesce-examples/tree/master/examples).

### Example 1: Retrieve the first ten transaction types in the default scope

If you omit the `Scope` parameter, only the built-in `default` scope is searched.

```sql
select * from Lusid.TransactionType limit 10;
```

### Example 2: Retrieve all transaction types in the default scope but not in the default source

Note that [scopes and sources are different](/v1/docs/grouping-related-transaction-types-using-scopes-and-sources) for transaction types.

```sql
select * from Lusid.TransactionType where AliasSource != 'default'
```

### Example 3: Retrieve transaction types that act as defaults for resolution purposes

A transaction upserted into LUSID must [resolve to a transaction type](/v1/docs/how-does-lusid-resolve-transactions-to-transaction-types). If it does not, you can specify a fallback transaction type for it to map to.

```sql
select * from Lusid.TransactionType where AliasIsDefault is True;
```
