Introduced major CSR Admin enhancements, including locale-aware currency and tax-inclusive messaging, role-based access controls, and market-specific configurations for WIC/BOPIS flows, payments, and address validation. The release also includes improved order management, subscription tools, and return/refund handling for a streamlined customer and admin experience as part of the release 8.20.7.


CSR Admin Enhancements

Currency & Symbol Display Enhancements

CSR Admin now supports displaying currency code and/or symbol before price details (for example, LATAM markets).

Configuration:

Add the following under the navigationExtensions property in the store settings:

"currency": {
"currencyCode": "MXN",
"currencyDisplay": "symbol",
"locale": "es-MX"
}

Support provided for specific countries (like Argentina and Colombia), where a comma (,) is shown as the decimal separator in currency and pricing—for example: ARS 18,34.

Tax-Inclusive Messaging Display for Normal and Subscription Orders

CSR Admin now supports tax-inclusive messaging for normal and subscription orders in markets where tax is included in the product price (e.g., LATAM).

  • Tax amounts are not displayed separately at the item or summary level across pages such as CSR Order Create, Order View, Subscription Create, Subscription View, and Cart.
  • A configurable message clarifies tax treatment, for example:
    “Taxes: includes Product Tax + Shipping Tax + Regional Tax + Category Tax”

Configuration:

Enable this feature by adding the following properties in OrderExtension and SubscriptionExtension under the store’s advanced settings:

{
"taxInclusiveMarket": true,
"taxInclusiveMarketMessage": "Taxes: includes Product Tax + Shipping Tax + Regional Tax + Category Tax"
}

When taxInclusiveMarket is set to true, tax fields are hidden at both item and summary levels.

Manage Legal Tax Info Attributes for Accounts & Customers

Allows CSR Admins to view and manage legal tax attributes for accounts and customers, tailored by country (for example, LATAM markets) and account type. Orders cannot be placed until all required tax information is captured. Selecting certain attributes dynamically reveals additional fields (e.g., RFC = Yes).

The tax information card is now available with the ability to update in the following pages:

  • Customer Details Page
  • Account Details Page
  • CSR Order Creation Page
  • Subscription Creation Page
  • Cart Page (view-only)

Configuration:

Enable this feature by adding the following settings in OrderExtension and SubscriptionExtension under the store’s advanced settings:

{
"title": "Tax Information",
"component": "IFrame",
"renderAt": "page:accountDetails",
"embeddedUrl": "https://commerce-admin.dev.nuskin.com/admin/v2/nuskinextensions/account/tax",
"data": {
"defaultCountryCode": "MX"
}
}

To display legal tax information on the Customer Details Page, specify in the customerExtension property as follows:

"renderAt": "page:customerDetails"

Location Selector Update for WIC/BOPIS

The location selector (“Select a Location” option) on the order page has been added for WIC (Walk-in Centers) channel.

  • Displayed only for WIC channels during order creation and cart page.
  • Hidden for BOPIS orders and other channels.
  • Applies to US, CA, and LATAM stores.

Configuration:
Enable this feature by setting the store property in orderactionsExtension with the JSON value given below:

{
"enableNuskinBopisFlow": true
}

Order Items and Order View Enhancements for WIC and BOPIS Order

Updates have been made for WIC and BOPIS flows in US, CA, and LATAM stores.

WIC Order View:

  • WIC payment methods (Cash, Cheque, Dropbox/Terminal Box) are now displayed in the WIC Order view for US – PEC Store and CA – WIC Store.

BOPIS Order Changes:

  • A configuration option is available to hide the BOPIS flow in CSR Admin. When BOPIS is disabled:
    • The “Pickup in Store” option is hidden in the SKU Selector drawer.
    • The “Store Pickup” option at the item level in order details is also hidden.

Enable this feature by setting “enableNuskinBopisFlow”: true under the store property orderactionsExtension.

Rewards Message Hidden and Shipping Address Restricted

The following changes are applicable for specific markets (like US and CA stores):

  • Rewards Message Visibility:
    The rewards message (like “Earn and Enjoy Rewards!”) is no longer displayed on the Product Listing Page (PLP) as intended.
  • Shipping Address Restrictions:
    Shipping addresses for countries other than the US and CA are no longer displayed in:
    • Customer Address
    • Order Shipping Address
    • Subscription Shipping Address

Home Country Access Restriction Based on Account Types

CSR admins now have restricted access to customer and account details based on home country and account type, in accordance with updated business rules.

Market-Specific Restrictions

  • Customer details from other markets (for example, Canada customers in the US store) cannot be updated unless permitted by account type.
  • Access and UI elements—such as tabs, Act on Behalf button, New Order, Add Address, Add Payment, and Update Profile flows—are enabled or disabled based on the customer’s country and account type.

Order Print Template HTML File Handling

CSR Admin now supports defining multiple Order Print Template HTML files to meet client-specific requirements.

Flexible Template Assignment
The Order Print Template can be configured through either the collection property Orders or the store property ordersExtension, with priority given to the store property.

Configuration:

  • For client-specific template:
    “orderPrintTemplate”: “htmlTemplate2”
  • For default template:
    “orderPrintTemplate”: “htmlTemplate”
  • For direct file URL:
    “orderPrintTemplate”: “https://d3hmihbitgm83r.cloudfront.net/adminorchestration/…/OrderTemplate.txt”

Guest User Experience Enhancements

Enhanced the Guest User experience in CSR Admin by enabling the Orders Tab for guest customer orders in the same country/region. Additionally, improved account search functionality for the CSR admins.

Orders Tab for Guest Users:

  • The Orders tab is now enabled with all sub-tabs for Guest Users.
  • When searching for an order related to a Guest User, the system navigates directly to Customer → Orders.

Account Search by Multiple Account IDs:

  • Admins can now search for accounts using multiple Account IDs separated by commas.

Tab Visibility Adjustments:

  • The Cart tab is disabled for Guest Users.
  • The Orders tab is enabled only for home-country Guest Users.
  • The Profile tab remains enabled, but all actions are disabled (no change from the current behavior).

Skip Total Count Handling

Support provided to skip the calculation of total order and page count on various tabs and paginated views, improving performance for accounts with a large number of orders. The affected pages are as follows:

  • Account → Orders
  • Customer → Open Orders, Recently Delivered, One-Time Orders, Subscription Orders, Failed Orders, View All

Configuration:

When skipTotalCount property, in the Order collection is set to:

  • true, the order pages in the data grid pagination section are not displayed. Navigation can be done through the next and previous page arrows only. This is the default value.
  • false, the total order pages are displayed as before. Navigation to pages can be done by clicking on the page number.

Field Control Configuration for Edit Account and Edit Customer Sections

CSR Admin now supports configuring the visibility and editability of fields on Edit Account Details and Edit Customer Details cards.

Account Edit Configurations

  • Allow specific account fields to be configured as non-editable or hidden:
    • Non-editable: Account Name, Account Type, Account Size, Phone Number, Status
    • Hidden: Tax ID, DUNS Number, Account Representative
  • Account Email remains editable.

Customer Edit Configurations

  • The email field is editable.
  • Date of Birth and Status are now non-editable.

Account View Configurations

  • Option to disable or hide the Contract Details section.

Account Address Fields

  • Address fields can now be made optional based on configuration.

Configuration:

Use the accountExtension and customerExtension store properties with the attributes nonDisplayableAttribute and nonEditableAttribute to control whether fields are displayed, hidden, editable, or non-editable.

To disable specific account fields:

"nonEditableAttribute": [
"accountName",
"accountType",
"accountSize",
"phoneNumber",
"accountStatus"
]

To hide specific account fields:

"nonDisplayableAttribute": [
"taxId",
"dunsNumber",
"salesRep"
]

To disable/hide the contract section:

"isDisableContract": true
"isHideContract": true

To make account address as optional:

"isAccountAddressOptional": true

To disable specific customer fields:

"nonEditableAttribute": [
"dateOfBirth",
"status"
]

WIC and BOPIS Order Creation Enhancements

The order creation flow in CSR Admin has been enhanced for Walk-In Center (WIC)

  • When the channel type is set to Walk-In Center, available store locations are dynamically loaded via API.
  • Admins can view, select, and update store locations during order creation.
  • Applies to specific markets (like US, CA, and LATAM stores), supporting both PEC Store (for example, US) and WIC Store (for example, CA) flows.

Configuration:
To enable the new location selection flow, configure the store properties OrderExtension and OrderActionExtension as shown below:

Enable this feature by setting the following property in OrderExtension:

"content": [
{
"type": "page",
"title": "Reports",
"embeddedUrl": "/admin/v2/page/extensions/orders/reports"
},
{
"title": "Store Location Details",
"name": "StoreLocationDetails",
"component": "IFrame",
"renderAt": "page:orderCreation",
"embeddedUrl": "https://commerce-admin.dev.nuskin.com/admin/v2/nuskinextensions/orders/locations"
}
],

Enable this feature by setting the store property orderactionsExtension with the JSON value given below:

{
"enableNuskinBopisFlow": true
}

WIC Agent and Legal Admin Role Management

Role-based access has been updated for CSR Admin, WIC Admin, and Legal Admin within the CSR Admin module:

CSR Admin (CSR channel):

  • Cannot add or edit Legal Tax information on the Customer or Account pages.
  • Has access to all other pages and sections.
  • Can place orders only using the CSR channel.

WIC Admin (WIC channel):

  • Cannot add or edit Legal Tax information on the Customer or Account pages.
  • Has access to all other pages and sections.
  • Can place orders only using the WIC channel.

Legal Admin:

  • Can navigate only via Search Order or Search Customer.
  • Can update account and customer metadata fields, including address details, account properties, and Legal Tax information for both accounts and customers.

Order Channel Dropdown Value Enhancement

A new configuration option has been introduced for the order channel dropdown on the order creation page.

Configuration:

This enhancement allows CSR Admins to define the required order channel options via the store property ordersExtension with the following configuration:

{
"orderCreationChannel": "Offline,CSR,Walk in Center",Web,Phone,
}

The value from the extension property is prioritized . The property accepts comma separated values for the channels. This ensures flexibility and control over the available channel options during order creation.

Disabling the Accounts Email Based on Account Types

Admins can now configure which account types should have a non-editable email field using the accountsExtension store property. When configured, the email field will be disabled on both the Account and Customer screens for the specified account types.

Configuration:

Add the following JSON to the accountsExtension or the customerExtension store property:

"nonEditableEmailField": [
"Brand Affiliate - Business Entity",
"Preferred Customer/Member",
"Retail Customer",
"Brand Affiliate"
]

Shipping Method Configuration for WIC/BOPIS Orders

This update improves CSR Admin handling of Walk-In Center (WIC) and Buy Online, Pick Up In Store (BOPIS) orders for US, CA, and LATAM stores.

  • Shipping Options: Show or hide shipping options based on the order channel and location.
  • Store Details & Hours: Store details and hours are displayed dynamically via the API /admin/services/locations/<locationCode>.
  • Order Flow Updates:
    • For WIC (CA) Store: Shipping method hidden for US PEC flow. The shipping method shows location details for WIC CA flow.
    • For LATAM Stores: Locations displayed if configured in Enterprise Admin.

iFrame App Payment Integration

The CSR Admin interface now supports iFrame-based payment processing, enabling configuration and handling of multiple payment methods across regions (like LATAM, US, and CA). Payment options are dynamically displayed based on the enableThirdPartyValidator store property and order channel (CSR, WIC):

{
"gpsPaymentEnabled": true,
}

US/CA Enhancements:

  • Multiple credit card payments with Paymetric integration and automatic amount splitting.
  • Store credit support with real-time validation and apply/remove options.
  • WIC-specific payments: Up to 3 terminal boxes, editable splits, and overpayment validation.
  • Cash and cheque options with input validation.

LATAM Enhancements:

  • Wire payment (CSR only) with bank details displayed per configuration.
  • Credit card installments (CSR & WIC) with selectable periods and editable amounts.

Multi-Method Splitting: Payments can be split across methods; wire payments only with store credit.

Store Name View and Store Selection Option

The CSR Admin interface now offers improved store selection and visibility:

  • View the current store name alongside the store icon.
  • Drawer displays a list of stores;
  • Current store details are shown by default.
  • Search for stores by name.
  • When a store is selected, the Store ID updates in the URL, and the CSR page reloads.
  • Store selection is accessible from any CSR Admin page.

Display Price Facets Based on Account Type on Subscription Pages

The CSR Admin interface now supports configurable price facet visibility for normal order or subscription-related pages (PLP, PDP, Cart, Order View, and Subscription View) based on customer account type. Comprehensive mapping and restrictions are maintained as per business requirements.

Example Configuration:

  • For Subscription order, configure price facet visibility per account type using the store property subscriptionExtension with the JSON value given below:
{
"nondisplaypricefacets": [
{
"accountType": "Retail Customer",
"pricefacet": "Sub Wholesale Price"
}
]
}
  • For normal orders, configure price facet visibility per account type using the store property OrderItemExtension with the JSON value given below:
{
"nondisplaypricefacets": [
{
"accountyType": "Retailcustomer",
"pricefacet": "Wholesale Price"
}
]
}
  • Supports disabling multiple price facets for various account types, for example,
"disableAccountTypePriceFacets": {
"Brand Affiliate": ["GRB", "Sub SB", "SB"],
"Brand Affiliate - Business Entity": ["Sub SB", "SB"],
"Preferred Customer/Member": ["Sub SB", "SB"],
"Retail Customer": [
"Sub Wholesale Price",
"Wholesale Price",
"Sub SB",
"SB"
]
}
  • Account Type Logic:
    • Retail Customer: Shows Price, Regular Price, PV, CV, and GRP price facets; does NOT show Wholesale Price, Retail Price, or SB price facets.
    • Brand Affiliate / Brand Affiliate (Business Entity): Shows Price, Regular Price, PV, CV, and Wholesale Price; does NOT show GRP, Retail Price, or SB price facets.
    • Preferred Customer: Shows Price, Regular Price, PV, CV, and Wholesale Price; does NOT show GRP, Retail Price, or SB price facets.

VAT Tax Info Management for BA-BE Accounts in Specific Markets

The CSR Admin interface now allows Legal Admins to view and manage VAT tax information (for example, Mexico (MX)) for Brand Affiliate – Business Entity (BA-BE) accounts, ensuring compliance with local tax regulations. This is not applicable to Retail, Preferred Customer/Member, or Brand Affiliate – Individual (BA-I) accounts. VAT information is managed at the account level, not the customer level.

New Field: VAT Registration

  • A new section “Is the account VAT registered?” appears below the RFC field in the Legal Information
  • Two checkboxes (Yes / No) are provided; default is No.
  • If Yes is selected:
    • A VAT field appears and is auto populated with the RFC number (13-character alphanumeric).
    • If the RFC is updated or cleared, the VAT field updates or clears accordingly.
  • If No is selected:
    • The VAT field is hidden.
    • The VAT field is synchronized with the RFC and cannot be edited independently.

Display Logic

  • The VAT field is shown only on pages configured via the displayOn field (e.g., Account, Checkout).
  • VAT field shown only at account level for eligible accounts. This field is hidden for customer-level pages.

Role-Based Access

  • Only Legal Admins can edit and save VAT tax information.
  • Other admin roles have view-only access.

Sister Market Shopping

Support provided for Sister Market customers, enabling cross-market shopping (similar to Brand Affiliates) for Retail Customers within the PAC region (e.g., New Zealand, Australia, New Caledonia, French Polynesia). CSR users can view and manage Sister Market customer details in the admin portal. Order tabs are enabled for eligible PAC Retail Customers, allowing order placement in other PAC region stores.

Configuration is managed via the store property rulesExtension for country codes.

{
"event": "auto",
"type": "sisterCountryCode",
"data": {
"sisterCountryCode": "$.countryCode"
},
"conditions": {
"any": [
{
"fact": "activeData",
"operator": "custom.isIncludesInArray",
"value": "NZ"
},
{
"fact": "activeData",
"operator": "custom.isIncludesInArray",
"value": "PF"
},
{
"fact": "activeData",
"operator": "custom.isIncludesInArray",
"value": "NC"
}
]
},
"onSuccess": {
"message": "The customer has not signed a purchase agreement or cannot purchase outside their home market due to customer type."
}

Note:

  • Profile updates are not allowed for Sister Market users.
  • Cross-market shopping remains disabled for Retail Customers outside the PAC region.
  • Based on configuration can be enabled/disabled for other region and customers.

Market-Specific Address Validation via iFrame

The CSR Admin interface now supports market-specific shipping address fields and validation (for example, LATAM markets) using a configurable iFrame app. Address fields and rules are dynamically rendered based on the selected country, ensuring accurate and compliant address entry. For E.g. In Mexico store, entering a valid postal code auto-populates state, city, and county fields.

Configuration:

Configuration is managed via the store property rulesExtension for country codes:

"content": [
{
"name": "customerAddress",
"title": "Add address",
"component": "IFrame",
"renderAt": "page:customerDetails",
"embeddedUrl": "<sample embedded URL>",
"assetURL": "/nuskinassets/address/config/$.countrycode.json"
},

Return Flow Enhancements

The CSR Admin interface has been updated to streamline order returns and replacements, improving efficiency for admins and customers.

Configuration Details

  • All return reasons (such as returns, cancellations, and replacements) are now managed via the store property orderreasonsExtension.
  • For refund to store credit, configure the store property orderactionsExtension. And configure the flag enableRefundToOriginalPayment with the value true for original payment refunds.
  • To disable selection for gift items in return orders, ensure to add “disableGiftCardSelection”: true, in the store property orderactionsExtension:
{
"type": "refundToStoreCredit",
"label": "Refund to store credit",
"defaultValue": "STORECREDIT",
"method": "POST",
"event": "return",
"apiUrl": "https://apis.test.nuskin.com/storefront-admin/orders/carts/<%CART_TYPE%>/plugin/payments",
"requestModel": {
"pathParams": [
{
"key": "<%CART_TYPE%>",
"value": "$.cartType"
}
],
"queryParams": {
"collectionId": "$.collectionId",
"storeId": "$.storeId",
"businessId": "$.businessId",
"userInfo": "$.userId",
"orderId": "$.orderId",
"accountId": "$.accountId",
"paymentType": "storecredit"
}
},
"onSuccess": {
"showToastMessage": "Payment Added Successfully"
},
"onFailure": {
"showToastMessage": "$.responseMessage"
}
},
{
"type": "refundToOriginalPayment",
"label": "Refund to original payment(s)",
"defaultValue": "DEBITCARD,CREDITCARD",
"method": "POST",
"event": "return",
"apiUrl": "https://apis.test.nuskin.com/storefront-admin/orders/carts/<%CART_TYPE%>/plugin/payments",
"requestModel": {
"pathParams": [
{
"key": "<%CART_TYPE%>",
"value": "$.cartType"
}
],
"queryParams": {
"collectionId": "$.collectionId",
"storeId": "$.storeId",
"businessId": "$.businessId",
"userInfo": "$.userId",
"orderId": "$.orderId",
"accountId": "$.accountId",
"paymentType": "originalpayment"
}
},
"onSuccess": {
"showToastMessage": "Payment Added Successfully"
},
"onFailure": {
"showToastMessage": "$.responseMessage"
}
},
  • Warehouse Address Handling
    The warehouse address edit icon now opens the address in a drawer. Multiple warehouse addresses for a specific market (like CA) are displayed correctly.
  • Refunds to Store Credits
    Refunds can now be processed to store credit or the original payment method (if enabled).
  • Gift Item Handling
    Free gift items cannot be selected for return (only for replacement), preventing accidental returns from promotional items.
  • Channel Handling
    Channel selection is hidden for return and replacement orders. The parent order channel is used automatically.

Show Price Facets Based on Account Types on Normal/Subscription Orders

Ability to display price facets based on Account Types on Order Creation, Subscription Creation, Product Listing Page (PLP), Product Detail Page (PDP), and Cart pages.

To enable this feature, add the following JSON values in the store property orderitemsExtension and subscriptionsExtension.

"disableAccountTypePriceFacets": {
"Retail Customer": ["Wholesale Price"],
"Brand Affiliate": ["GRB"]
},
"disableAccountTypePriceFacets": {
"Brand Affiliate": [
"Sub SB",
"SB"
],
"Brand Affiliate - Business Entity": [
"Sub SB",
"SB"
]
},

GPS API Configuration Changes

Enhancements have been made to CSR Admin payment options for CSR Orders, focusing on GPS API configuration. The update adds support for Alipay, WeChat, and EFTPOS. When store property isGPSEnabled=true, i.e., GPS API Enabled.

Dynamic Payment Display based on GPS API configuration and response:

  • GPS API enabled + successful response:
    Wire, Credit (including installment), Loyalty, and Store Credit options shown based on API response and customer eligibility.
  • GPS API enabled + failed response:
    Only Loyalty and Store Credit shown based on API response and customer eligibility. Wire and Credit Card disabled.
  • GPS API disabled:
    Wire, Credit Card, Loyalty, and Store Credit shown based on API response and customer eligibility.

Restricting the Internal Rewards in Loyalty Rewards Page

CSR Ultra Admin now displays only external rewards (Vouchers, Points, etc.) under the customer’s Loyalty section. Internal rewards (e.g., CSM 50, CSM 150) are hidden to ensure users see only actionable rewards.

Subscription Orders Via WIC Channel

CSR Admin now supports subscription orders via the Walk-In Center (WIC) channel for customers.

Enhancements for Joint Accounts (Associates & Participants)

CSR Admin improvements for joint accounts (BA/BA-BE):

  • The Account Users tab shows all participants with roles (for participants, the role is labeled as “ROLE_ACCOUNT_BUYER” and for primary user, the role is labeled as “ROLE_ACCOUNT_BUYER_ADMIN”).
  • Profiles accessible; basic details editable by admins.
  • Address/payment details disabled for all admin roles.
  • Legal tax info editable only by Legal Admin.
  • Actions like New Order, Act on Behalf, Subscription disabled for participants.

Configuration:

  • Configure the store property accountsExtension with the following JSON value:
"userDataTable": { "defaultColumns": [ { "type": "id", "name": "referenceAttribute", "label": "Person ID", "enableFilter": false, "enableSearch": false }, { "type": "string", "name": "firstName", "label": "First Name" }, { "type": "string", "name": "lastName", "label": "Last Name" }, { "type": "string", "name": "email", "label": "Email" }, { "type": "string", "name": "role", "label": "Role" } ], "additionalColumns": [ { "type": "string", "name": "userId", "label": "System User ID" } ] }
  • Configure the store property rulesExtension with the following JSON value:
{ "event": "auto", "type": "disableUserAssociate", "data": { "personType": "ASSOCIATE" }, "conditions": { "any": [ { "fact": "activeData", "operator": "custom.equal", "value": [ "$.currentPersonType", "$.defaultPersonType" ] } ] } }

Role-Based Access for Account and Customer Meta Fields

The Account Name field, previously disabled by configuration, is now enabled only for users with the CSR Admin role. For other roles (Business Admin, WIC Agent, Legal Admin), the field remains disabled.

Free Gift Selection for Cart GWP and BOGO GWP

CSR Admin now supports selecting free gift SKUs for Cart GWP and BOGO GWP promotions during order creation or modification.

  • Free Gift Selection via SKU Drawer: Free gifts can be selected from a dedicated SKU Selection Drawer in CSR.
  • Free Gifts Displayed in Cart: Selected free gift items appear in the cart under a separate Free Gifts at Cart Level section.
  • Cart GWP Promotions: CSRs can choose eligible free gift products when cart-level gift thresholds are met.
  • BOGO GWP Promotions: When a qualifying “Buy” item includes a free gift, CSRs can select the appropriate products and quantities according to promotion rules (e.g., maximum gift quantity per batch).

Order Resend Changes

CSR Admins can now resend Submitted to Fulfillment and Return Submitted orders to third-party systems.

  • Added the ability to resend Submitted to Fulfillment and Return Submitted orders to third-party systems.
  • The Resend action is available on both the Order List and Order View pages.

Configuration:

  • Update the bulkaction configuration in the store property ordersExtension.

Tax Information Updates for Specific Markets

CSR Admin now supports handling and displaying of customer tax information for specific markets (like LATM and PAC regions).

Tax Information Visibility

  • Tax information is not displayed on the Customer Profile page for these account types: Brand Affiliate, Preferred Member, and Retail Customer.
  • Tax information is displayed for Brand Affiliate – BE accounts.

Latest Tax Configurations

  • Updated AR and MX tax configurations to ensure certain tax fields appear only at the account level, not in the Customer Profile.

Legal ID Deletion

  • Added the ability to delete Legal IDs, based on a new node in the tax configuration for all LATM and PAC regions.
  • Only Legal IDs can be deleted using this option.

Note Message

  • A note now appears:
    Tax IDs are not explicitly removed when tax classification is changed. Please delete tax IDs that are not needed.

Customer’s Phone Number Update with OTP

The CSR Admin module now supports sending a one-time password (OTP) for a specific market (for example, India store) when updating a customer’s phone number across all account types. On updating a customer’s phone number in the Customer Profile, the system sends an OTP to verify the change for all account types.

Configurable Customer & Account Field Restrictions by User Role

CSR Admin now supports restricting access to specific Customer and Account fields based on user roles. These configurations are managed at the store property level, supporting region- and store-specific rules (for example, US, CA, LATM, PAC, IN).

Example:

  • Only users with the CSR Admin role can update:
    • SOH and CSOH fields in Account
    • Date of Birth (DOB) in Customer

Configuration:

  • Field access rules can be defined in the store property rulesExtension:
"fieldAccess": {
"ROLE_CSR_ADMIN": {
"customer": ["dateOfBirth"],
"account": ["SOH", "CSOH"]
}
}
  • For roles not listed in the configuration, restricted fields remain non-editable.

DOB Field Restriction Logic

  • If noneditableattributes includes DOB, the field is always disabled.
  • With role-based configuration:
    • DOB is enabled if empty.
    • DOB is disabled if a value is present.
  • For roles not in the configuration, DOB is always disabled.

Customer Payment: Edit Expiry Date for Saved Cards

CSR Admins can now update the expiry date of a customer’s saved card, allowing customers to continue using updated card information for payments and subscriptions.

  • Previously, expired cards could not be updated or selected for order payments.
  • Now, Admins can edit the expiry date of an expired card in the Customer Payment section.
  • This option is available during both order creation and subscription creation.

Configurable Billing Address for Customer Payments

CSR Admin now supports configuration-based handling of billing addresses for customer payment cards in LATAM regions.

Configurable Billing Address Requirement: For stores where the billing address is optional (via configuration):

  • CSR Admins can create or update customer payment cards without requiring a billing address.
  • Cards without a billing address can be used for order payments in these stores.
  • Configuration: “isBillingAddressRequired”: false and “isBillingAddressOptional”: true.

Mandatory Billing Address: For stores where the billing address is mandatory (via configuration):

  • CSR Admins must provide a billing address when creating or updating customer payment cards.
  • Cards without a billing address cannot be selected for CSR orders and remain disabled until a billing address is added.
  • Configuration: “isBillingAddressRequired”: true and “isBillingAddressOptional”: false.

Configuration Properties

  • Configure the store property in the store property paymentExtension with the following JSON value:
"isBillingAddressRequired": false
"isBillingAddressOptional": true

Legal Info No Longer Mandatory for Orders and Subscriptions

CSR Admin has been updated to simplify the order and subscription creation process for a specific region (for example, LATAM markets).

  • Legal Tax Info No Longer Required: CSR Admins are no longer required to capture or provide customer legal tax information before placing CSR or WIC orders and subscriptions.
  • Order Placement Unblocked: If legal details are not present for a customer, the system now allows the order or subscription to be placed without prompting for legal tax information.
  • User Experience Improvement: The Legal Tax Info block no longer appears on the order creation or subscription pages for LATM regions.

Disabling Address Suggestion and Validation for a Specific Market

CSR Admin now supports configuration-based control over address suggestions and validation during customer address creation and order processing for a specific market (for example, India market).

For a specific market like India, address suggestion has been disabled during customer address creation. This allows CSRs to create and save customer addresses without suggestions or validation errors in the India store.

Configuration:

The store property addressExtension must be configured with the JSON given below:

"skipAddressValidation": true

Return Scenarios

The order return and refund process has been enhanced as follows:

  • Reason Selection: The Reason field is no longer pre-populated for both Replace and Return orders. Users must now select a reason explicitly.
  • Offline Payments: For orders paid entirely through offline methods or multiple offline payments, only the Store Credit refund option is available. A note is displayed: Note: Cheque and Cash components will be credited as Store Credit.
  • Mixed Payments: For orders with offline payments plus a credit card payment, both refund options are displayed. A note is displayed: Note: Cheque and Cash components will be credited as Store Credit.
  • Resend to Client: The Resend action is now available when order status is Return Submitted, and order type is Return.
  • Store Credit Visibility: The Store Credit option is displayed based on payment conditions, even if the user has not enrolled in Loyalty.

Editable Account Name for a Specific Account Type

The Account Name field is now editable for a specific account type (for example, Brand Affiliate – Business Entity (BA-BE)) in CSR Admin.

  • Previously, the Account Name field was disabled for all account types.
  • With this update, configuration changes allow CSR Admin users to edit the Account Name specifically for BA-BE accounts.

Configuration:

  • Add below configuration in the store property accountsExtension:
"editableAccountNameField": [
"Brand Affiliate - Business Entity"
],

Hiding Loyalty Earned Message

Ability to hide the loyalty points and messages (like “Points you will earn” field) from the New Order and Replace Order pages for a specific locale (like India where it is not applicable).

 

Configuration:

This behavior is now configuration-driven. When the store property orderactionsExtension includes the following JSON, the field is hidden in the CSR Admin order flow:

"disablePointsYouEarn": true

Disabling Loyalty Tab in Customer Profile

A new configuration option allows administrators to hide specific tabs—such as Loyalty—from the Customer Profile view in CSR Admin as part of market-specific customization (for example, India market).

Configuration:

  • By default, all tabs remain visible. To hide a tab, add its name (for example, “loyalty”) to the disableTabs configuration in the store property customerExtension:
"disableTabs": [
"loyalty"
]

Allow Legal Admin to Add Legal Tax Information

Legal Admin users can now add Legal Tax information directly to an account profile in CSR Admin, in addition to editing the existing details. Previously, Legal Admins could only edit existing Legal Tax details.

Note: CSR Admin and WIC Admin roles cannot add or edit Legal Tax information.

Display Prices for a Specific Account & Market

The CSR order-creation flow has been enhanced to display configured prices in the India market store for Brand Affiliate account type. This is applicable to the following pages in CSR Admin for the India market:

  • Product List Page (PLP)
  • Product Detail Page (PDP)
  • Cart page
  • Subscription creation page
  • Subscription view page
  • Order details page

To display prices for Brand Affiliate accounts for a specific market, configure the store property rulesExtension with the following JSON values:

"overrideDisableAccountTypePriceFacets": {
"actAsAccountTypeKey": "Preferred Customer/Member",
"conditions": {
"all": [
{
"fact": "activeData",
"operator": "custom.equal",
"value": ["$.BAQ", "FALSE"]
},
{
"any": [
{
"fact": "activeData",
"operator": "custom.equal",
"value": ["$.accountType", "Brand Affiliate"]
},
{
"fact": "activeData",
"operator": "custom.equal",
"value": ["$.accountType", "Brand Affiliate - Business Entity"]
}
]
}
]
}
}
  • For Brand Affiliate and Brand Affiliate – Business Entity with the configuration BAQ = TRUE, the Wholesale Price is displayed in the CSR Admin order-creation journey.
  • For Preferred Members, the Member Price is displayed in the CSR Admin order-creation journey.
  • For Brand Affiliate and Brand Affiliate – Business Entity with the configuration BAQ= FALSE, the Member Price is displayed instead of the Wholesale Price across the CSR Admin order-creation flow.

Direct Seller Tag for Accounts Not Meeting Earning Threshold

CSR Admins can now view the “Direct Seller” tag for customers and accounts that have not yet met the earning threshold.

Configuration:

Configure the store property accountsExtension with the JSON values given below:

"customerDisplayFields": {
"type": "state",
"label": "Direct Seller",
"conditions": {
"all": [
{
"fact": "activeData",
"operator": "custom.equal",
"value": [
"$.BAQ",
"FALSE"
]
}
]
}
},

 

For India market:

  • If an account’s BAQ property is false, the tag shown will be Direct Seller.
  • If BAQ is true, the respective Account Type tag will be shown.
  • This configuration is optional; if not configured, the default Account Type tag is displayed.

Credit Card and Dropbox Selection Limit

CSR Admin users can now select up to five Credit Cards and five Dropbox/EFT POS/WeChat payment methods when creating CSR Orders.

Selection Limits:

  • Maximum of 5 Credit Cards per order.
  • Maximum of 5 Dropbox/EFT POS/WeChat payment methods per order.

Configuration:

  • To enforce these limits, the paymentExtension store property must be configured with the values given below:
    • “maxCreditCardCount”: 5,
    • “maxTerminalBoxCount”: 5,

Shipping Amount and Discount Node Alignment

The Order Summary page in CSR Admin now displays Shipping Amount and its discount as separate nodes based on the configuration. This update is applicable to all markets as per business requirement.

Configuration

  • To enable this behavior, set the following store property OrdersExtension with the JSON given below:
{
"orderSummaryShippingDiscountNode": true
}

Hide Fields in Account & Customer Details Cards

Using the existing configuration from the accountsExtension and customerExtension, i.e., nondisplayableattributes, the fields in the accounts and customer details cards can be hidden.

Also, earlier it was limited to the update information drawers only.

Customer Address Search

The CSR Admin module now includes a Customer Address Search feature for quick and easy address lookup. The search will automatically checks through all the fields of the address.

WIC Subscription Process: Complete Order Action for “Ready For Pickup” Status

CSR Admin has been enhanced to allow Customer Service Representatives to update an order status to Complete when the order is in Ready For Pickup status for WIC processes. Also, option provided to enter comments in the completion drawer. This enhancement is applicable to all LATAM markets (MX, CL, AR) and PAC market (AU).

Configuration:

Configure the store property orderactionsExtension with the JSON given below:

"WICReadytoPickupDetails": {
"orderStatusName": "Ready_For_Pickup",
"actions": [
{
"label": "Complete",
"value": "Completed"
}
]
}

WIC Order Replacement: Shipping Address and Method Selection

CSR Admins can now select a Shipping Address and Shipping Method when replacing WIC orders, both in-store and online. A Ship To Address checkbox is displayed during the replacement process, and when selected, options to choose the shipping details become available.

Refund Shipping Charges for Return Orders

CSR Admins can now control whether shipping charges are refunded when processing return orders for all markets. If the parent order has no shipping charges, the Refund Shipping Charges checkbox is disabled. If shipping charges exist, admins can choose to include them in the refund. When selected, the original shipping amount is added to the refund total. This option applies only once for partial returns and is disabled for subsequent returns.

Drop Shipment Visibility and Auto-Selection Enhancements

The Dropshipment checkbox is now visible only for specific account types, such as Brand Affiliate (BA) and Brand Affiliate – Business Entity (BA-BE), across all markets (US, CA, LATAM, PAC, IND) as per business requirement. The checkbox appears only when the shipping address is not the default and the recipient’s name differs from the customer’s name. When selected, Gift Receipt and Gift Message checkboxes are auto-selected

Enable Multiple Replacements and Returns via Configuration

CSR Admins can now perform multiple replacements for a single order, as well as return existing replacement orders, based on a new configuration setting.

  • If an order is already replaced completely, the Replace option is shown based on the configuration, allowing selection of items for further replacement.
  • For partially replaced orders, complete quantity replacement is allowed.
  • If partial quantity is returned in the same order, only the remaining quantity can be replaced in the first or subsequent replacements.
  • The same configuration also allows returns on existing replacement orders.

Configuration:

  • By default, multiple replacements are not allowed. To enable or disable multiple replacements for an order, configure ordersExtension with the following JSON value:
"allowMultipleReplace": true,

Non-National User Restrictions for BA/BA-BE Transactions

To align with business requirements, non-national user restrictions have been implemented in CSR Admin for specific markets:

  • India BA & BA-Business Entity customers can no longer perform transactions in other markets.
  • BA & BA-BE customers from other markets can no longer perform transactions in the India market.

This update ensures that Brand Affiliates and Business Entities can transact only within their own national market.

Configuration:

  • For the store of the required region (for example, India market), add below configuration in the store property rulesExtension under actions:
{ "event": "auto", "type": "disableUserUpdateByRole", "data": {}, "conditions": { "all": [ { "fact": "activeData", "operator": "custom.notEqual", "value": [ "$.currentCountryCode", "IN" ] } ] }, "onSuccess": { "message": "Indian Brand Affiliate/Brand Affiliate - Business Entity cannot update their profile." } }
  • For other country stores (like US, CA, LATM, PAC stores), add below configuration in the store property rulesExtension under actions:
{ "event": "auto", "type": "disableUserUpdateByRole", "data": {}, "conditions": { "all": [ { "fact": "activeData", "operator": "custom.equal", "value": [ "$.currentCountryCode", "IN" ] } ] }, "onSuccess": { "message": "Indian Brand Affiliate/Brand Affiliate - Business Entity cannot update their profile." } }

Non-Serviceable Pin Code Validation for a Specific Region

A new validation message has been implemented in CSR Admin for a specific market (for example, India) to ensure only serviceable pin codes can be used for shipping addresses during checkout. This validation message is shown during Order Creation, Subscription Creation, and Subscription Management.

Configuration:

Add the following configuration to the store property orderactionsExtension:

"ShippingInvalidMessage": "Sorry, we currently do not offer delivery to your location. To complete your order, please update your shipping address and try again."

Handling Unlisted Payments on Order View and Return

Order View and Order Return pages have been enhanced to handle unsupported or unlisted payment methods. For such orders, a generic payment icon and label are displayed alongside the order value and currency code. Supported payment methods (Credit Card, Wire Payment, Bank Transfer, Offline Payment) continue to show their respective icons and labels.

Disable Legal IDs Delete Option Based on Configuration

CSR Admin now includes a configuration option to enable or disable the “Delete Legal IDs” button for LATAM and PAC regions. The new property enableDeleteLegalIds can be set in the store property accountsExtension or rulesExtension:

  • true – enables the button (current behavior).
  • false – disables the button.

This update allows organizations to control Legal ID deletion based on regional requirements.

Origin and BAQ Flag Updates for a Specific Market

This update introduces configuration and validation changes for product and account attributes for a specific market (for example, India store), impacting product tagging, purchase restrictions, and price display logic.

Display Direct Seller Tag Condition for Products:

  • Imported items are now identified using importedDevice = true (replaces locallyProduced = false).
  • Products with importedDevice = true display the Direct Seller tag on PLP and PDP.
  • Purchase restrictions:
    • Only Brand Affiliate (BA) and BA-Business Entity accounts can purchase these imported products.
    • For Preferred Member and Retail Customer accounts, Add to Cart is disabled.
  • PDP message for restricted products is displayed as: “Note: Click on “Act on Behalf” button to capture the interested user’s information on the storefront.
  • If importedDevice = false or missing, all account types can purchase.

Account Type Condition for Direct Seller Tag:

  • Account attribute for Director Seller tag changed from earningsMet to BAQ.
  • If BAQ = false, Direct Seller tag is displayed.
  • If BAQ = true, Direct Seller tag is not displayed.

Brand Affiliate Price Configuration:

  • For Brand Affiliate and BA-Business Entity accounts, Wholesale Price is shown in CSR Admin order creation.
  • For Preferred Members: Member Price is shown.
  • For Brand Affiliate and BA-Business Entity with BAQ = false, Member Price is shown in CSR Admin order creation flow.

GSTIN Collection in Checkout Flow for a Specific Market

The CSR Admin checkout flow now supports GSTIN collection for Brand Affiliate and Brand Affiliate – Business Entity accounts for a specific market (for example, India).

  • When enabled via enableGSTINField: true in OrderExtension, an optional GSTIN field appears after selecting a shipping address, with validation ensuring a 15-character alphanumeric format and matching state code. Invalid entries prompt: “Please check the format and the state code, and re-enter a valid GST ID.”
  • GSTIN is saved in Order Other Properties (KEY: GSTIN).
  • A checkbox allows toggling the field’s visibility, similar to Gift Receipt/Gift Message. Orders proceed if GSTIN is valid or left blank.

Restrictions for Temporary Brand Affiliate Accounts

Brand Affiliate (BA) and BA-BE accounts with signUpStatus = TEMP are now restricted from cross-market purchases. These users can transact only in their home country; actions like New Order, Act on Behalf, and access to Orders, Subscriptions, Cart, and Loyalty tabs are disabled for other markets. This logic applies across US, CA, PAC, LATM, and IN, mirroring restrictions for Retail Customers.

Configuration:

Configure the store property rulesExtensions under actions node as follows:

{
"event": "auto",
"type": "disableUpdateByAccountProperties",
"conditions": {
"all": [
{
"fact": "activeData",
"operator": "custom.notEqual",
"value": [
"$.countryCode",
"CA"
]
},
{
"fact": "activeData",
"operator": "custom.equal",
"value": [
"$.signUpStatus",
"TEMP"
]
}
]
},
"onSuccess": {
"message": "The customer has not signed a purchase agreement or cannot purchase outside their home market due to customer type."
}
}

Note: The countryCode default value should match the store’s country code.

Legal Tax Configuration Updates for a Specific Region

Legal Tax configuration handling has been updated for PAC regions (AU, NZ, PF, NC) to ensure proper formatting and display of tax values in the CSR Admin. For fields marked as isFormatValueRequired: true with a hyphen in the regex, the hyphen is removed before storing in the database and displayed when retrieved in the UI. For BA-BE account types, Tax Details are shown only on the Customer Details page, and Legal Tax information is no longer displayed on the CSR Checkout page for any account type.

Product Type Tag Display on Cart, Order View, Subscription View Pages

CSR Admin now displays Product Type chips/tags (e.g., Kit, Fixed Kit, Bundle) on key pages, including Order Creation, Order View, and Subscription workflows. For Bundle products, tags also appear on the Product Detail Page, improving visibility and helping CSRs quickly identify special product types.

Enhanced Validation for Legal Tax Information for a Specific Region

This update improves validation for legal tax information fields (such as ABN for Australia) in CSR Admin (for example, PAC region).

  • In the Australia (AU) ABN field, the system now prevents saving if the Tax ID field is empty and displays a validation error: Please enter a valid .
  • Even if the field is optional, if the user clicks into the input field and then moves the cursor away without entering a value, an alert message is shown: Please enter a valid.
  • These validations are applied during edit scenarios.
  • For optional fields, if a default value exists, validations are performed and error messages are shown as appropriate.

Note: These validations are not performed during the create scenario.

Subscription: Mass Update Tool for Replace or Remove Items/Bundles

Introduced a Mass Update Tool to simplify replacing or removing items and bundles in customers’ existing subscriptions.

Navigation

  • New Subscriptions Bulk Update option under CSR > Orders.
  • Accessible only to CSR and WIC Admin roles (not Legal Admins).

Bulk Update Page

  • Opens in an iframe for seamless integration.
  • Two options available: Replace (default) and Delete.

Replace Functionality

  • Enter Existing Item ID and Replace Item ID (alphanumeric, spaces allowed).
  • Validation ensures that IDs are different and valid.
  • For bundles, popup allows selection of sub-items (mandatory items included; optional items can be added/removed).
  • Replace Item Overview displays new item details.
  • Option to remove or change the Replace Item.

Delete Functionality

  • Enter Item IDs to delete (alphanumeric, spaces allowed).
  • Add/remove up to 10 fields at a time with validation.

General Features

  • Update button enabled only when all fields are valid.
  • Confirmation dialog before executing the update.
  • On confirmation:
    • Backend mass update feed processes changes.
    • Success message displayed after triggering.
  • Updated items get reflected in both the storefront and the admin after completion.

Account Address Validation for New Orders

When creating a new order in CSR Admin, an account address must be provided before the order can be placed. If the associated account does not have an address saved, users will see the message: “Associated account address not found, please add the address to continue.

Configuration Example:
Enable this feature by adding the required setting under the store property accountsExtension in the store’s Advanced Settings.

{
"event": "addAccountAddress",
"title": "Add Account Info",
"note": "No Account Information is Available",
"conditions": {
"any": [
{ "fact": "activeData", "operator": "nullish", "value": "$.addressId" }
]
}
}

Add Address Button: If the following configuration is added in rulesExtension, the Add Address button is displayed. If not, the default form is shown:

{
"name": "customerAddress",
"title": "Add address",
"component": "IFrame",
"renderAt": "page:accountDetails",
"embeddedUrl": "https://commerce-admin.dev.nuskin.com/admin/v2/nuskinextensions/customer/address",
"assetURL": "/nuskinassets/address/config/$.countrycode.json"
}


Address Update API Handling: If the following configuration is added in addressExtension, the address update call uses the Nu Skin API. If not configured, the update call uses the platform API:

{
"actions": [
{
"type": "addressCreateApi",
"label": "Nuskin Account Address Update",
"method": "POST",
"event": "global",
"apiUrl": "https://apis.dev.nuskin.com/storefront-admin/accounts/<%ACCOUNT_ID%>/addresses",
"requestModel": {
"pathParams": [
{ "key": "<%ACCOUNT_ID%>", "value": "$.accountId" }
],
"queryParams": {
"collectionId": "$.collectionId",
"storeId": "$.storeId",
"businessId": "$.businessId"
},
"postBody": {
"city": "$.city",
"country": "$.country",
"county": "$.county",
"default": true,
"name": "$.name",
"phone": "$.phone",
"state": "$.state",
"street1": "$.street1",
"street2": "$.street2",
"street3": "$.street3",
"zipCode": "$.zipCode"
}
},
"onSuccess": { "showToastMessage": "Account Address Added Successfully" },
"onFailure": { "showToastMessage": "$.responseMessage" }
},
{
"type": "addressUpdateApi",
"label": "Nuskin Account Address Update",
"method": "PATCH",
"event": "global",
"apiUrl": "https://apis.dev.nuskin.com/storefront-admin/accounts/<%ACCOUNT_ID%>/addresses/<%ADDRESS_ID%>",
"requestModel": {
"pathParams": [
{ "key": "<%ACCOUNT_ID%>", "value": "$.accountId" },
{ "key": "<%ADDRESS_ID%>", "value": "$.addressId" }
],
"queryParams": {
"collectionId": "$.collectionId",
"storeId": "$.storeId",
"businessId": "$.businessId"
},
"postBody": {
"city": "$.city",
"country": "$.country",
"county": "$.county",
"default": true,
"name": "$.name",
"phone": "$.phone",
"state": "$.state",
"street1": "$.street1",
"street2": "$.street2",
"street3": "$.street3",
"zipCode": "$.zipCode"
}
},
"onSuccess": { "showToastMessage": "Account Address Updated Successfully" },
"onFailure": { "showToastMessage": "$.responseMessage" }
}
]
}

Market-Specific Shipping Address Support

CSR Admin now supports market-specific shipping address fields and validation (for example, LATAM market). Address fields and their validation rules are dynamically configured based on the customer’s country, ensuring that only relevant and valid address information is collected for each region.

Configuration Example:
Enable this feature by adding the required setting under the customerExtension in the store’s Advanced Settings, for example:

{
"name": "customerAddress",
"title": "Add address",
"component": "IFrame",
"renderAt": "page:customerDetails",
"embeddedUrl": "https://<domain> /admin/v2/<extension-name>/customer/address",
"assetURL": "assets/address/config/$.countrycode.json"
}

Subscription: Bundle Product Variant SKUs Selection

CSR Admin now supports adding bundle products with different variant SKUs to a single subscription. Users can include multiple SKU combinations within one subscription. If the same SKU combination already exists, an error message—Item is already subscribed.—is displayed to prevent duplicates.

Subscription: Update Variants for Bundle Products

CSR Admin now allows updating bundle product variants within subscriptions. A new “Update Variants” button opens the PDP drawer for selecting different variants, and subscriptions are updated accordingly for both single and multiple subscription scenarios.

 


Revision History

2025-12-15 | JP – Added Release 8.20.7 content.