Configuring Profiles and Sourcing Strategies: A Step-by-Step Guide
Author:
Yulia Andreyanova
Changed on:
3 Oct 2025
Key Points
- The Sourcing Profiles interface delivers a clear and user-friendly experience, enabling business users to configure and manage sourcing strategies with ease.
- Full functionality requires several settings that define default values.
- This guide outlines the configuration steps with examples from a reference solution.

Prerequisites
Steps
Configure Status Colors for Profiles and Strategies
Add JSON settings at the ACCOUNT/RETAILER level to enable colored status dots in the Sourcing Profiles interface.
For Profiles statuses, configure the setting `fc.sourcingprofile.list.status.column`
with the following mappings:
- Active → Green (
`#16782C`
) - Draft → Blue (
`#82BBFF`
) - Inactive → Grey (
`#999999`
)
1[
2 {
3 "name": "ACTIVE",
4 "color": "#16782C"
5 },
6 {
7 "name": "INACTIVE",
8 "color": "#999999"
9 },
10 {
11 "name": "DRAFT",
12 "color": "#82BBFF"
13 }
14 ]
For strategy and fallback strategy statuses, configure the setting `fc.sourcingprofile.details.strategy.status.column`
with the following mappings:
- Active → Green (
`#16782C`
) - Inactive → Grey (
`#999999`
)
1[
2 {
3 "name": "ACTIVE",
4 "color": "#16782C"
5 },
6 {
7 "name": "INACTIVE",
8 "color": "#999999"
9 }
10 ]
Configure Labels and Descriptions for Custom Conditions and Criteria
When custom conditions or criteria are introduced (see Getting Started with Custom Sourcing Conditions and Getting Started with Custom Sourcing Criteria for details), both labels and descriptions should have translations to ensure clarity in the strategy drawer.
- Labels may be defined in the setting or, if omitted, are auto-generated. Without translations, labels may appear as raw technical identifiers in the UI.
- Descriptions follow the same logic: they may be defined in the setting or auto-generated if missing. Without translations, descriptions also surface raw identifiers, reducing usability.
Templates for Descriptions
Templates allow values to be displayed consistently on condition and criterion cards. The following options are available:
`placeholderText`
`placeholderDate`
`placeholderArray`
A default configuration is provided out of the box, but can be overridden if needed. For more details on how these templates work and how to customize them, see UX Configuration – Common Concepts.
Define UI Components for Conditions and Criteria
Custom conditions and criteria also require UI components to be configured to define how fields are rendered in the Configure Condition/Criterion drawer. This ensures that users interact with the correct input types and that mandatory values are enforced.
Configuration is done through the `params`
object, where each parameter specifies:
- component – the UI element used for rendering (e.g.,
`integer`
,`fc.field.filterComplex`
) - mandatory – whether the field must be filled (
`true`
/`false`
) - extensions – advanced settings such as GraphQL queries, chip configuration,
`onChange`
handlers, and excluded fields
1{
2 "name": "locationDailyCapacityExclusion",
3 "type": "fc.sourcing.criterion.locationDailyCapacityExclusion",
4 "tags": ["exclusion"],
5 "params": [
6 {
7 "name": "value",
8 "component": "integer",
9 "mandatory": true
10 }
11 ]
12}
13
1{
2 "name": "pickupLocationAllNetworksIn",
3 "type": "fc.sourcing.condition.path",
4 "tags": ["Pickup Location"],
5 "params": [
6 {
7 "name": "path",
8 "value": "fulfilmentChoice.pickupLocation.networks"
9 },
10 {
11 "name": "operator",
12 "value": "in"
13 },
14 {
15 "name": "value",
16 "component": "fc.field.filterComplex",
17 "mandatory": true,
18 "extensions": {
19 "query": "query ($networks_first: Int) { networks(first: $networks_first) { edges { node { id ref type } } } }",
20 "variables": { "networks_first": 100 },
21 "searchItemConfig": {
22 "component": "fc.card.product",
23 "props": { "title": "{{node.ref}}", "attributes": [] }
24 },
25 "chipItemConfig": { "label": "{{node.ref}}" },
26 "onChangeValues": {
27 "value": "node.ref",
28 "variableName": "networks_ref"
29 },
30 "exclude": ["createdon", "updatedon", "type", "status"]
31 }
32 },
33 {
34 "name": "conditionScope",
35 "value": "ALL"
36 }
37 ]
38}
39