---
title: "LUSID system settings available to override"
slug: "lusid-system-settings-available-to-override"
tags: ["configuration store", "system settings"]
updated: 2024-09-26T14:44:53Z
published: 2024-09-26T14:44:53Z
canonical: "support.lusid.com/lusid-system-settings-available-to-override"
---

> ## 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 system settings available to override

System settings for LUSID are stored in the Configuration Store.

You can [override these system settings](/v1/docs/how-do-i-override-a-lusid-system-setting) to change the way LUSID behaves.

## Booking transactions into LUSID

The `TransactionBooking` configuration set contains one configuration item per system setting available to control the way the LUSID `BatchUpsertTransactions` API behaves when [upserting transactions](/v1/docs/how-do-i-create-or-update-a-transaction) (that is, creating or updating them).

| **Configuration item (system setting)** | **Default value** | **Explanation** |
| --- | --- | --- |
| `ValidateInstruments` | `False` | Set to `True` to reject any transaction in a batch that fails to resolve to an [instrument](/v1/docs/instruments) mastered in LUSID. Note `True` also causes a [manual holdings adjustment](/v1/docs/how-do-i-manually-adjust-or-set-holdings) made using either the LUSID `SetHoldings` or `AdjustHoldings` APIs to fail in the same circumstances. Rejected transactions are listed in the `failed` section of the [API response](/v1/docs/validating-transactions#increasing-the-level-of-validation-to-reject-unresolved-transactions). When `ValidateInstruments` is `False` (the default), an unresolved transaction is upserted but mapped to the unknown instrument. You should take steps to [manually resolve these transactions](/v1/docs/validating-transactions). |
| `ValidateTransactionTypes` | `False` | Set to `True` to reject any transaction in a batch that fails to resolve to a known [transaction type](/v1/docs/what-is-a-transaction-type). Rejected transactions are listed in the `failed` section of the [API response](/v1/docs/validating-transactions#increasing-the-level-of-validation-to-reject-unresolved-transactions). When `ValidateTransactionTypes` is `False` (the default), an unresolved transaction is upserted but omitted when LUSID generates holdings. You should take steps to [manually resolve these transactions](/v1/docs/validating-transactions). |
| `SetTradeToPortfolioRate` | `False` | Set to `True` to add the `TradeToPortfolioRate` [system property](/v1/docs/what-is-a-system-property) to every transaction in a batch with an exchange rate from the transaction to the portfolio currency sourced using the recipe identified by the `TradeToPortfolioRateRecipe` system setting (below). Note the system property is applied at the moment a transaction is upserted; it is not a live quote and therefore not subsequently updated. If a transaction has the `TradeToPortfolioRate` system property added already, the latter is preferred. When `SetTradeToPortfolioRate` is `False` (the default), you must [explicitly add](/v1/docs/adding-system-properties-to-transactions-and-to-transaction-types) the `TradeToPortfolioRate` system property to the `properties` collection of a foreign currency transaction in order to maintain the cost basis of a portfolio. |
| `TradeToPortfolioRateRecipe` | `recipescope/recipecode` | If you `SetTradeToPortfolioRate` to `True`, specify the scope and code of a recipe that enables LUSID to look up FX rates loaded into the [LUSID Quote Store](/v1/docs/how-do-i-upload-a-market-price-or-fx-spot-rate-to-the-quote-store) as values for the `TradeToPortfolioRate` system property. |
