---
title: Multi-Currency
slug: template-js/multi-currency
docTags: 
createdAt: 2022-07-12T01:29:55.000Z
---



To accommodat&#x65;***&#x20;additional currency pricing***, we will introduce an additional parameter to every API request.

- priceFieldSuffix

See: Modify Request [Overview](docId:_ndrEPmgAUhYltIlXkG-o) for details on preparing for Klevu JS overriding

See :  Klevu API Documentation for [Customer Groups](https://docs.klevu.com/apis/smart-search-examples#GI08Z)

# Indexing

:::hint{type="success"}
The additional currency pricing data must be supplied at the product level during catalog indexing.
:::



### XML FEED examples

Below is a [FEED XML](https://github.com/klevu/feed/blob/8030b070f2b7d707791e65a2b22b2223d2c421cd/sample.xml#L190) example for **product additional currencies**

```xml
<item>
. . .
        <price>123.45 GBP</price>
        <sale_price>100 GBP</sale_price>
        
        <additional_currencies>
            <additional_currency>
                <price>151.84 USD</price>
                <sale_price>123.00 USD</sale_price>
            </additional_currency>
            
            <additional_currency>
                <price>15240 JPY</price>
                <sale_price>12345 JPY</sale_price>
            </additional_currency>
        </additional_currencies>
        
. . .
```



Below is a [FEED XML](https://github.com/klevu/feed/blob/8030b070f2b7d707791e65a2b22b2223d2c421cd/sample.xml#L533) example for specific **group additional currencies**

```xml
 <item>
 . . .
 
    <groups>
        <group>
            <id>vip_customer_group</id>
            
            <price>49.99 GBP</price>
            <sale_price>49.99 GBP</sale_price>

            <additional_currencies>
                <additional_currency>
                    <sale_price>61.74 USD</sale_price>
                </additional_currency>
                <additional_currency>
                    <sale_price>6171 JPY</sale_price>
                </additional_currency>
            </additional_currencies>
            
        </group>
      </groups>
. . .
```





# Template JS Override

The desired currency/prices are applied to all queries via overrides using the "all" `scope` value.

See: Modify Request [Overview](docId:_ndrEPmgAUhYltIlXkG-o) for details on preparing for Klevu JS overriding

### Example 1&#x20;

Apply the selected currency for all products

:::CodeblockTabs
JavaScript

```typescript
<script type="text/javascript">

// the currency to be applied
    var klevu_currency = 'GBP';

   klevu.modifyRequest('all', function(data, scope){
      klevu.each(data.request.current.recordQueries, function(key, query){
        klevu.setObjectPath(query, 'settings.priceFieldSuffix', klevu_currency);
      });
   });
 
</script>
```
:::

| **API Parameter** | **Description**                     | **Format**  |
| ----------------- | ----------------------------------- | ----------- |
| priceFieldSuffix  | Fetch prices in a specific currency | \{CURRENCY} |

### Example 2

Apply the selected currency for a specific customer group

:::CodeblockTabs
JavaScript

```typescript
<script type="text/javascript">

// the currency and group of the currently logged in customer
  var klevu_currency = 'GBP';
  var klevu_loginCustomerGroup = 'vip_customer_group';

  /* IMPORTANT FOR BIGCOMMERCE APP USERS ONLY 
   * The login groupid will need an ajustment for the delimeter
   * 
   * klevu_loginCustomerGroup = klevu_loginCustomerGroup.replace('_', '--');
   * 
   */
   
    klevu.modifyRequest('all', function(data, scope){
      klevu.each(data.request.current.recordQueries, function(key, query){
        klevu.setObjectPath(query, 'settings.priceFieldSuffix', klevu_currency + '-' + klevu_loginCustomerGroup);
      });
   });
 
 
</script>
```
:::

| **API Parameter** | **Description**                                    | **Format**             |
| ----------------- | -------------------------------------------------- | ---------------------- |
| priceFieldSuffix  | Fetch prices/currency specific to a customer group | \{CURRENCY}-\{GROUPID} |

See :  Klevu API Documentation for [Customer Groups](https://docs.klevu.com/apis/smart-search-examples#GI08Z)



### Example 3

For Klevu Smart Recommendations use the Recommendations `klevu_processRECSRecordQueries` function for the outgoing query modifications

:::CodeblockTabs
JavaScript

```javascript
<script type = "text/javascript" >
function klevu_processRECSRecordQueries(recordQueries, recsKey)
{
    var recsQuery = recordQueries[0];
    
    // Apply the selected currency for all products 
    klevu.setObjectPath(recsQuery, 'settings.priceFieldSuffix', klevu_currency);
    
    /* OPTION 2:
    // Apply the selected currency for a specific customer group 
    klevu.setObjectPath(recsQuery, 'settings.priceFieldSuffix', klevu_currency + '-' + klevu_loginCustomerGroup);
    */

}
</script>
```
:::

See :  Modify Recommendations [Overview](docId\:O03QERB3F-sY0BHba64Af) for more details
