---
title: "JPMorgan Investment Middle Office Service (JPM IMOS)"
slug: "jpmorgan-investment-middle-office-service-imos"
status: "update"
updated: 2026-06-03T13:02:40Z
published: 2026-06-03T13:02:40Z
canonical: "support.lusid.com/jpmorgan-investment-middle-office-service-imos"
stale: true
---

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

# JPMorgan Investment Middle Office Service (JPM IMOS)

Our JPMorgan Investment Middle Office Service (JPM IMOS) integration leverages FINBOURNE's partnership with JPMorgan to enable seamless integration of Investment Middle Office Service data with your LUSID domain.

## Snapshot and Realtime data

JPM IMOS provides data in two modes: Snapshot and Realtime.

### Snapshot data

Snapshot files represent a complete picture of positions at a specific point in time - either start of day (SOD) or end of day (EOD).

### Realtime data

Realtime files are delivered throughout the day as transactions occur, providing an up-to-date view of current positions. Each file only contains the positions affected by those transactions (rather than the full holdings set), so LUSID only processes realtime files as transactions, and does not update holdings.

## Supported data types

### **Valued Holdings**

JPM IMOS provides data including:

- Quantity measures: Traded, Settled and Pending quantities
- Economic measures: Market Value and Cost using specific FX reference rates at specified valuation points
- Currency dimensions: Data across Local Currency, Portfolio Base Currency, and Fund Base Currency

### Transactions

JPM IMOS provides the following transaction data:

- Snapshot data that encompasses movements in *Valued Holdings* from the previous day to current day
- Realtime data delivered throughout the day as transactions occur

> [!NOTE]
> Note
> 
> Our JPMorgan Athena integration complements the JPM IMOS integration by providing enriched instrument data for the instrument definitions created by JPM IMOS.

## Setting up the integration

> [!NOTE]
> Prerequisites
> 
> Before getting started, ensure you have:
> 
> - [x] An active JPM IMOS account with data that can be pushed to LUSID via SFTP
> - [x] [Contacted your FINBOURNE representative](https://www.finbourne.com/contact) to provision your LUSID domain with integration

Once provisioned to your domain, you simply need to configure the integration to load each of the following data types as required for your use case.

- Instruments (from JPM *Valued Holdings*)
- Holdings (from JPM *Valued Holdings* - not applicable for realtime files)
- Quotes (Pricing and FX Rates from JPM *Valued Holdings*)
- Transactions (from JPM *Transactions*)

### Step 1: Create an integration instance

An integration instance is a configuration for data to import from JPM IMOS.

To create a new instance:

1. Navigate to **Integrations > Dashboard**.
2. Select **Create instance**. ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-8SL33EPE.png)
3. Specify the following **Integration details**:
  - **Name**: A friendly name for this integration instance
  - **Description**: A detailed description for this integration instance
  - **Edit imported properties** **> Add properties**: Select which JPM IMOS data fields to import ![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-UNC4QN2P.png)
4. Specify the following **Integration settings**:

> [!NOTE]
> Understanding JPM IMOS file names
> 
> You can locate the values you need to provide using the names of files delivered by JPM IMOS. LUSID receives files with the following naming structure:
> 
> ```plaintext
> <JPM Internal Client Identifier>_<Valuation Type>_<Valuation Date>_<Region>_<JPM Environment>_<data type>_<File Creation Datetime>_<IMOS Version>.csv
> ```
> 
> For example, a file containing EMEA EOD *Valued Holdings* data with a valuation date of 15 Sep 2025 might be named:
> 
> ```plaintext
> CLIENT_EOD_20250915_EMEA_PROD_ValuedHoldings_2025091509000000_V0730.csv
> ```
> 
> Realtime files use `REALTIME` as the valuation type, for example:
> 
> ```plaintext
> CLIENT_REALTIME_20250915_WHEM_PROD_ValuedHoldings_2025091509121212_V0730.csv
> ```
> 
> You can configure each integration instance to be triggered by the delivery of a single JPM IMOS file, or related *Valued Holdings* and *Transactions* file pairs using these values.
  - **Source File Location**: Drive path to deliver incoming JPM IMOS files for processing (we recommend `/sftp`)
  - **Quote Source**: Override `Price Source` [value](/v1/docs/recipes-locating-market-data#summary-of-fields-in-a-market-data-rule); if unspecified, the value defaults to `JPM IMOS`
  - **Quote Field**: Override `Field` [value](/v1/docs/recipes-locating-market-data#summary-of-fields-in-a-market-data-rule); if unspecified, the value defaults to `close`
  - **Valuation Type**: `SOD`, `EOD`, or `REALTIME`
  - **JPM Internal Client Identifier**: Your client identifier
  - **Regions**: One or more regions to retrieve data files for, out of `ANZ`, `AMEA`, and `WHEM`
  - Which data types to process:
    - **Should Process Instruments**: Creates instruments from *Valued Holdings* data
      - **Allow FX Forwards to be Non-Deliverable**
    - **Should Process Quotes**: Creates prices and FX-rates in the [Quote Store](/v1/docs/market-data) and [structured result store](/v1/docs/what-is-structured-result-data) from *Valued Holdings* data
    - **Should Process Holdings**: Sets holdings from *Valued Holdings* data. We recommend you also process instruments with this selection so LUSID can resolve the holdings to instruments.
    - **Should Process Transactions**: Creates transactions from *Transactions* data
  - **IMOS Version**
  - **JPM Environment**
  - Optionally, if using the integration instance for testing or processing specific files:
    - **Override Holdings File Name**: Override the configuration above and only process the specified *Valued Holdings* filename
    - **Override Transactions File Name**: Override the configuration above and only process the specified *Transactions* filename
  - Under **Cut Times**:
    - **FX Cut Time**: A time in `HH:mm:ss` to append to the date when processing FX quotes, along with the **Local Time Zone Identifier**
    - **Region ANZ**/**EMEA**/**WHEM Cut Time**: A time in `HH:mm:ss` to append to the date when loading files for the specified region, along with the **Local Time Zone Identifier**
    - **Region DEFAULT Cut Time**: A time in `HH:mm:ss` to append to the date when loading files that are not in ANZ, EMEA, or WHEM regions, along with the **Local Time Zone Identifier**
    - **Local Time Zone Identifier**: A timezone for the data, for use alongside the **Cut Time**
5. Choose whether to **Enable integration** on creation, then click **Save**. Note the **Instance ID**, which you need for the next step.

### Step 2: Configure the portfolios to import data for

[Follow these steps](/v1/docs/how-do-i-add-a-property-to-an-entity#using-the-lusid-web-app) to add the following properties to each portfolio that should receive JPM IMOS data:

#### Required properties

- `Portfolio/LUSIDConfig-JPM-IMOS/IsIncluded` set to `true`; this property enables JPM IMOS data retrieval for the portfolio
- `Portfolio/LUSIDConfig-JPM-IMOS/LinkedCode` set to the `&lt;Client Portfolio ID&gt;` code from the file you want to load data from, for example `ANZ`; you can link multiple LUSID portfolios to a single `Client Portfolio ID`
- `Portfolio/LUSIDConfig-JPM-IMOS/OnboardingDate` set to the earliest date for data loading
- `Portfolio/LUSIDConfig-JPM-IMOS/Version` set to one of the following:
  - `V0608`
  - `V0730`
  - `V0750`

#### Optional properties

- `Portfolio/LUSIDConfig-JPM-IMOS/LoadHoldings` set to `true` to enable holdings data loading
- `Portfolio/LUSIDConfig-JPM-IMOS/LoadTransactions` set to `true` to enable transactions data loading

![](https://cdn.document360.io/d575ad81-c0ed-4980-bbd1-d59ac5c3de82/Images/Documentation/image-ZNHQIKX4.png)

This enables a data load to take place for the portfolio the next time the integration instance runs.

> [!NOTE]
> Note
> 
> - LUSID only loads data for instruments that have a holding in the portfolio
> - You can update a property value at any time to:
>   - `false` to no longer retrieve data for a particular portfolio or data type
>   - A different code to retrieve data using a different `Client Portfolio ID`
> - Alternatively, there are many other ways to add properties to your portfolios if you prefer. [Read more on adding a property to an entity.](/v1/docs/how-do-i-add-a-property-to-an-entity)

## Running the integration

### Automated runs

LUSID automatically triggers an integration run when a file matching your integration instance criteria is delivered to your specified **Source File Location**.

For example, if you’ve created an instance to load instrument quotes, and holdings from *Valued Holdings* files for the ANZ and EMEA regions:

```plaintext
CLIENT_SOD_20241008_ANZ_UAT_ValuedHoldings_20241007102343_V0730.csv
CLIENT_SOD_20241008_EMEA_UAT_ValuedHoldings_20241007102343_V0730.csv
```

- JPM IMOS produces data files at different times
- LUSID triggers an integration run when a file is delivered to the SFTP folder

Alternatively, if you’ve created an instance to load all data types for the ANZ, EMEA, and WHEM regions:

```plaintext
CLIENT_SOD_20241008_ANZ_ProdParallel_ValuedHoldings_20241007100000_V0730.csv
CLIENT_SOD_20241008_ANZ_ProdParallel_Transactions_20241007100100_V0730.csv

CLIENT_SOD_20241008_EMEA_ProdParallel_ValuedHoldings_20241007120000_V0730.csv
CLIENT_SOD_20241008_EMEA_ProdParallel_Transactions_20241007120100_V0730.csv

CLIENT_SOD_20241008_WHEM_ProdParallel_ValuedHoldings_20241007190000_V0730.csv
CLIENT_SOD_20241008_WHEM_ProdParallel_Transactions_20241007190100_V0730.csv
```

- JPM IMOS produces data files for the different regions at different times
- Two files are produced for each region: a *Valued Holdings* file and a *Transactions* file
- LUSID only triggers an integration run when both files for a region have been delivered
- LUSID triggers an integration run thrice daily, once for each region

#### Realtime files

For realtime data files, LUSID matches files by their file creation datetime. When a *Transactions* file is delivered, LUSID looks for a *Valued Holdings* file with the same datetime and processes both together.

For example, if the following *Transactions* file is delivered to LUSID:

```plaintext
CLIENT_REALTIME_20250915_WHEM_PROD_Transactions_2025091509121212_V0730.csv
```

LUSID matches and processes it alongside the following:

```plaintext
CLIENT_REALTIME_20250915_WHEM_PROD_ValuedHoldings_2025091509121212_V0730.csv
```

Any *Valued Holdings* files with a different file creation datetime will not be matched.

> [!NOTE]
> Note
> 
> You must ensure paired realtime files share the same file creation datetime when delivering files to LUSID.

### Manual runs

When you configure an integration instance with file overrides, you can run the integration instance manually at any time.

Web appAPILuminesce

[See how to run an integration instance in the LUSID web app.](/v1/docs/setting-up-an-integration#running-an-integration)

Call the [ExecuteInstance](https://www.lusid.com/docs/api/horizon/endpoints/integrations/ExecuteInstance) API, for example:

```shell
curl -X POST 'https://<your-domain>.lusid.com/horizon/api/integrations/instances/<your-integration-instance-ID>/execute'
  -H 'Content-Type: application/json' 
  -H 'Authorization: Bearer <your-API-access-token>'
```

Write a Luminesce SQL query using the `Integration.Execute` provider and execute it using a tool such as the LUSID web app, for example:

```sql
select * from Integration.Execute where InstanceId ='<your-integration-instance-ID>';
```

## Monitoring and troubleshooting integration runs

[See how to monitor integrations and troubleshoot general issues.](/v1/docs/setting-up-an-integration#monitoring-integration-runs)

---

### Troubleshooting

#### The integration instance has run but no instruments have been created

Check the portfolios you want to import data for have been decorated with the required properties and values; [see step 2](/v1/docs/jpmorgan-investment-middle-office-service-imos#required-properties).

#### **The imported instrument definition is not accurate**

LUSID uses the dataset provided by JPM IMOS to create a LUSID instrument for the associated holdings data. If the JPM IMOS dataset does not provide a particular data point, LUSID uses default values to construct the instrument definition.

LUSID adds the `Instrument/LUSIDConfig-Horizon/RequiresValidation` property, set to `true`, to all instruments it creates in this way (excluding `Equity` types). This indicates the instrument definition requires manual validation and corrections.

## Appendix: Instrument coverage

Currently, you can model the following JPM IMOS instruments in LUSID:

*****Click to expand table*****

| Instrument Group | Type | Sub-type | Category | Modelled as LUSID Type | Enrichment available from JPM Athena |
| --- | --- | --- | --- | --- | --- |
| Asset Backed Securities | CLO | Corporate |  | [ComplexBond](/v1/docs/modelling-complex-bonds-in-lusid) |  |
| Asset Backed Securities | CMO | FHLMC |  | ComplexBond |  |
| Asset Backed Securities | CMO | FNMA |  | ComplexBond |  |
| Asset Backed Securities | CMO | GNMA |  | ComplexBond |  |
| Asset Backed Securities | CMO | Other Gov't Agencies |  | ComplexBond |  |
| Asset Backed Securities | Commercial MBS | Non-Agency |  | ComplexBond |  |
| Asset Backed Securities | Credit Card Receivables | Corporate |  | ComplexBond |  |
| Asset Backed Securities | Equipment Loans & Leases | Corporate |  | ComplexBond |  |
| Asset Backed Securities | Manufactured Homes | Corporate |  | ComplexBond |  |
| Asset Backed Securities | Mortgage Pass Thru | FHLMC Gold |  | ComplexBond |  |
| Asset Backed Securities | Mortgage Pass Thru | FNMA |  | ComplexBond |  |
| Asset Backed Securities | Mortgage Pass Thru | GNMA II |  | ComplexBond |  |
| Asset Backed Securities | Mortgage Pass Thru | UMBS |  | ComplexBond |  |
| Asset Backed Securities | Motor Vehicle Loan | Corporate |  | ComplexBond |  |
| Asset Backed Securities | Other Secured Loans | Corporate |  | ComplexBond |  |
| Asset Backed Securities | Small Business Loans | Corporate |  | ComplexBond |  |
| Asset Backed Securities | Student Loans | Private |  | ComplexBond |  |
| Asset Backed Securities | TBA | UMBS |  | ComplexBond |  |
| Asset Backed Securities | Whole Loans | Corporate |  | ComplexBond |  |
| Bank Loans | Non Syndicated |  |  | [Bond](/v1/docs/modelling-fixed-rate-vanilla-bonds-in-lusid) |  |
| Bank Loans | Syndicated | Term Loan |  | Bond |  |
| Cash |  |  |  | Currency |  |
| Derivatives | Futures | Index |  | [Future](/v1/docs/modelling-exchange-traded-futures-and-options-in-lusid) |  |
| Derivatives | Futures | Interest Rate |  | Future |  |
| Derivatives | Futures | Other |  | Future |  |
| Derivatives | Futures | Others |  | Future |  |
| Equity | Common Shares | Other |  | [Equity](/v1/docs/modelling-equities-in-lusid) |  |
| Equity | Common Shares | REIT |  | Equity |  |
| Equity | Depositary Receipts | ADR |  | Equity |  |
| Equity | Depositary Receipts | Certificate |  | Equity |  |
| Equity | Depositary Receipts | GDR |  | Equity |  |
| Equity | Depositary Receipts | Other |  | Equity |  |
| Equity | Equity Units | Other |  | Equity |  |
| Equity | Funds | Other |  | Equity |  |
| Equity | Preferred Shares | Other |  | Equity |  |
| Fixed Income | Bank Loans | Term Loans |  | Bond |  |
| Fixed Income | Bond | Corporate |  | Bond |  |
| Fixed Income | Bond | Gov't Agency (Non-US) |  | Bond |  |
| Fixed Income | Bond | Government |  | Bond |  |
| Fixed Income | Bond | Government (Non-US) |  | Bond |  |
| Fixed Income | Bond | International Authority |  | Bond |  |
| Fixed Income | Bond | Local Authority |  | Bond |  |
| Fixed Income | Convertible Bond |  |  | Bond |  |
| Fixed Income | Discount Notes | Gov't Agency |  | Bond |  |
| Fixed Income | Medium Term Note | Bank Note |  | Bond |  |
| Fixed Income | Medium Term Note | Corporate |  | Bond |  |
| Fixed Income | Medium Term Note | Gov't Agency (Non-US) |  | Bond |  |
| Fixed Income | Medium Term Note | Government (Non-US) |  | Bond |  |
| Fixed Income | Notes | Corporate |  | Bond |  |
| Fixed Income | Notes | Government |  | Bond |  |
| Foreign Exchange | Forward |  |  | [FxForward](/v1/docs/modelling-fxforwards-in-lusid) |  |
| Foreign Exchange | NDF |  |  | FxForward |  |
| Foreign Exchange | Simplex Exotic | Barrier |  | FxForward |  |
| Foreign Exchange | Simplex Exotic | Basket |  | FxForward |  |
| Foreign Exchange | Simplex Exotic | Digital |  | FxForward |  |
| Foreign Exchange | Spot |  |  | FxForward |  |
| Foreign Exchange | Vanilla Option |  |  | FxForward |  |
| Money Markets | Bill | Government |  | Bond |  |
| Money Markets | Certificate of Deposit | Bank |  | Bond |  |
| Money Markets | Deposits | Time Deposits |  | `TermDeposit` |  |
| OTC Credit | Index | CDX |  | CdsIndex | ✅ |
| OTC Credit | Index | CMBX |  | CdsIndex | ✅ |
| OTC Credit | Index | iTraxx |  | CdsIndex | ✅ |
| OTC Equity | Swap | Parameter Return Variance |  | [EquitySwap](/v1/docs/modelling-equity-swaps-in-lusid) | ✅ |
| OTC Equity | Swap | Parameter Return Volatility |  | EquitySwap | ✅ |
| OTC Equity | Swap | Price Return Basic Dividend |  | EquitySwap | ✅ |
| OTC Equity | Swap | Price Return Basic Performance |  | EquitySwap | ✅ |
| OTC Rates | Cross Currency | Basis |  | [InterestRateSwap](/v1/docs/modelling-interest-rate-swaps-in-lusid) | ✅ |
| OTC Rates | Cross Currency | Fixed Fixed |  | InterestRateSwap | ✅ |
| OTC Rates | Cross Currency | Fixed Float |  | InterestRateSwap | ✅ |
| OTC Rates | Inflation Swap | Fixed Float |  | InflationSwap | ✅ |
| OTC Rates | IR Swap | Basis |  | InterestRateSwap | ✅ |
| OTC Rates | IR Swap | Fixed Float | OIS | InterestRateSwap | ✅ |
| OTC Rates | IR Swap | Fixed Float | Vanilla | InterestRateSwap | ✅ |
| OTC Rates | IR Swap | Fixed Float | Zero Coupon | InterestRateSwap | ✅ |
| OTC Rates | Option | Swaption |  | InterestRateSwaption | ✅ |
| Rights and Warrants | Rights | Allotment Rights |  | [EquityOption](/v1/docs/modelling-equity-options-in-lusid) |  |
| Rights and Warrants | Rights | Purchase Rights |  | EquityOption |  |
| Rights and Warrants | Rights | Subscription Rights |  | EquityOption |  |
| Rights and Warrants | Warrants | Basket |  | EquityOption |  |
| Rights and Warrants | Warrants | Commodity |  | EquityOption |  |
| Rights and Warrants | Warrants | Common Stock |  | EquityOption |  |
| Rights and Warrants | Warrants | Currency |  | EquityOption |  |
| Rights and Warrants | Warrants | Fixed Income |  | EquityOption |  |
| Rights and Warrants | Warrants | Index |  | EquityOption |  |
| Rights and Warrants | Warrants | Interest Rate |  | EquityOption |  |
| Rights and Warrants | Warrants | Other |  | EquityOption |  |
| Rights and Warrants | Warrants | Preferred Stock |  | EquityOption |  |

Note LUSID models any instrument group, type, sub-type, or category *not* covered in this table as a [SimpleInstrument](/v1/docs/supported-instruments-in-lusid).
