---
title: OMS Support for Multiple Stores
slug: oms/OMS-Support-for-Multiple-Stores
docTags: 
createdAt: 2024-06-13T16:40:28.698Z
---

Chord supports a "multi-store" architecture within the Chord OMS, i.e. sending data from more than one store to the same Chord instance.&#x20;

Multiple stores can be used to delineate between a D2C or Wholesales business or to create locale-specific stores that require a specific product catalog or stores that are specific to a certain country or region.

:::hint{type="warning"}
This is an advanced feature. Please speak with someone at Chord before acting on the following. Chord does not currently support **multiple currencies.**
:::

A store can be assigned to the following entities:

- Orders
- Subscriptions (the store assigned to the subscription will be the store assigned to orders generated from installments from the subscription)
- Products
- Shipping methods
- Shipping fees
- Payment methods

:::hint{type="info"}
OMS does not restrict products in one store from being added to an order in a different store. For example, OMS will allow a product assigned to the Wholesale store to be added to an order assigned to the D2C store.
:::

Each store can be configured uniquely. There is no shared or common configuration between multiple stores, however stores can be configured with the same settings.

## Use Cases

Chord's multi-store architecture within the OMS allows for the support of a variety of different use cases.

**Examples:**

- **Store Types&#x20;**
  - Chord's customers today can create two parallel stores each with their own store settings configurations. Each store can be pointed to a specific 3PL, it's own CMS instance (for a custom product catalog) and be configured with a unique Stripe account.&#x20;
  - Examples: *D2C, Wholesale*
- **Regional/Country-Specific Stores**
  - Chord OMS allows for the creation of country-specific stores that can be used to. In addition to language, the locale contains a country code; together the locale represents the identifier to be used to toggle in between different country-based stores.&#x20;
  - Example: *A Canadian store & a US store*

:::hint{type="warning"}
***NOTE:&#x20;***&#x53;upport for locale-specific stores requires that a store be configured per each locale. This allows for seamless country toggling and proper cart management
:::

## Creating a New Store

New stores can be created in the ***Store Setup*** page of ***Store Settings***. To create a new store, click the "New Store" button in the top-right corner.



![](https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/e33BBjqtDfh3-HYlLsS1i_image.png)

Add the new store's `Site Name`, `Slug`, `Site URL` and `Mail From Address`

![](https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/ZSNzgAgg09krAn-EW8l3H_image.png)

Once configured, all stores will co-exist on the `Store Setup` page. Specific store settings can be accessed via the the edit icon on the far right.

![](https://api.archbee.com/api/optimize/TmutqdeXiIw-V3gBZXVjd/bAflsjMWd8cTiKS8r1n0T_image.png)

# Supporting Multiple Stores in the Storefront

Directing API requests to different stores is controlled by setting the `ACS-Store` header in the storefront code. Refer to [Store Selection](https://chord.stoplight.io/docs/chord-oms/ad2b1d6d5da44-store-selection) documents for more details.

Most multi-store customers implement a store selector control on their storefront to allow their customers to choose which store to shop from. Usually, this control is a dropdown in the header or footer. When their customers choose a different value in that store selector:

- Storefronts using Chord's client-side SDKs will want to change the `storeSlug` and `storeId` given to the `ChordProvider`. This will provide the correct `ACS-Store` header in all API requests made with the SDK.
- Storefronts interacting directly with ChordOMS' API will want to provide the store's slug to the `ACS-Store` header in all API requests.

