in implementation guides ~ read.
Sfom Impl B2ce

Sfom Impl B2ce

DOWNLOAD

First things first !
To download this implementation guide, click the download button below.
If you need more information about the implementation guide, you can read the Table of Contents below.

Download

Salesforce Order Management

Implementation Guide for BC

Commerce
Salesforce Spring

salesforcedocs
Last updated December

Copyright Salesforce Inc All rights reserved Salesforce is a registered trademark of Salesforce Inc as are other

names and marks Other marks appearing herein may be trademarks of their respective owners

CONTENTS

ORDER MANAGEMENT FOR BC COMMERCE

Prepare Your Org
Configure Order Management
Configure Fulfillment
Configure Payment Processing
Configure Access and Permissions

Integrate Order Management with BC Commerce

Import Historical Order Data

ORDER MANAGEMENT FOR BC COMMERCE

Order Management helps retailers fulfill manage and service orders with realtime inventory payment and invoicing order allocation

and fulfillment features This guide describes the steps to implement Order Management with BC Commerce

Prepare Your Org
Configure person accounts currencies and other org settings to work with your product
Configure Order Management
Configure the features and flows of Order Management
Configure Fulfillment
Configure Order Management objects to support your order fulfillment process We offer sample fulfillment packages that include
flows processes and Apex classes that show how to implement Order Management functionality with Salesforce Flow You can
customize them or use them as inspiration to create your own flows and processes
Configure Payment Processing
Processing payments is an integral part of the order management process To let Order Management execute payment authorizations
captures and issue refunds integrate a payments component You can view payment activity in the order payment summary for
each order
Configure Access and Permissions
Configure fieldlevel security settings and users and permissions

Integrate Order Management with BC Commerce

The provided integration imports order data from BC Commerce and creates records in Salesforce but doesnt do any other

processing For example if you import orders from another source youre responsible for checking for duplicate data
Import Historical Order Data
After you start using Order Management in production you can import historical order data from a legacy system for reference
purposes This functionality is available only with an Order Management Starter or Growth license

Prepare Your Org
Configure person accounts currencies and other org settings to work with your product
Prerequisites
Make sure that youve met the prerequisites before implementing Order Management
Enable Admin Settings for Order Management
Order Management requires specific admin settings
Enable Person Accounts Optional
You can represent shoppers using person accounts instead of using contacts on standard business accounts Enabling person
accounts is optional
Enable Multiple Currencies Optional
To use multiple currencies enable multiple currencies and then add each currency

Order Management for BC Commerce

Prerequisites

Prerequisites
Make sure that youve met the prerequisites before implementing Order Management
Make sure that Lightning Experience is enabled Order Management isnt supported on Salesforce Classic or Mobile You can view
record pages on Mobile but cant use Order Management features

Purchase and activate an Order Management license A license is included with a developer org or when youre using a

partnerapproved Order Management template ID to create a trial org

If youre using Salesforce Omnichannel Inventory your corresponding Order Management org can integrate with only one instance

of BC Commerce If you want to integrate with more than one BC Commerce instance log a case with Salesforce Support

For general information about Order Management concepts objects and records see Salesforce Order Management Help

Enable Admin Settings for Order Management
Order Management requires specific admin settings
From Setup in the Quick Find box find and select Order Settings
Select Enable Orders Enable Negative Quantity Enable Zero Quantity Enable Enhanced Commerce Orders and Enable
Order Events
Deselect Enable Reduction Orders
Reduction orders can conflict with Order Management change orders If you use reduction orders elsewhere we recommend creating
an order record type for Order Management orders Use an Apex trigger or validation rule to prevent the record type from being
used for reduction orders See Tailor Business Processes to Different Users
Optional To use orders in Salesforce while managing price books in an external platform select Enable Optional Price Books for
Orders
Save the settings
Log out of Salesforce and log back in
From Setup in the Quick Find box search for and select Order Management
Activate Order Management
Turning on Order Management can take several minutes If you dont see the Order Management app in the App Launcher wait
a few minutes and refresh the page

Enable Person Accounts Optional
You can represent shoppers using person accounts instead of using contacts on standard business accounts Enabling person accounts
is optional
Warning Enabling person accounts is irreversible and changes your database structure Carefully consider the implications See
Person Accounts
Enable Person Accounts
a From Setup in the Quick Find box find and select Person Accounts
b Go through the steps listed on the Setup page
c From Setup in the Quick Find box search for and select Order Management and turn on Person Accounts
Turning on person accounts can take up to hour

Order Management for BC Commerce

Enable Multiple Currencies Optional

From Setup in the Quick Find box find and select Profiles
In the list of profiles select System Administrator
Scroll to the Record Type Settings section find Accounts and click Edit
In the Selected Record Types section move Master to the Available Record Types box and move Business Account and Person
Account to the Selected Record Types box
Note Where possible we changed noninclusive terms to align with our company value of Equality We maintained certain
terms to avoid affecting customer implementations
Set both the Default Record Type and the Business Account Default Record Type to Business Account
Set the Person Account Default Record Type to Person Account
Click Save

Enable Multiple Currencies Optional
To use multiple currencies enable multiple currencies and then add each currency
Warning After you enable multiple currencies you cant disable it
From Setup in the Quick Find box find and select Company Information
Click Edit
You can click either Edit button
Set the Currency Locale to the default currency that you want to use
Select Activate Multiple Currencies and save your changes
To add a currency from Setup in the Quick Find box enter Currencies and then select Manage Currencies and enable each
currency

SEE ALSO

Manage Multiple Currencies

Configure Order Management
Configure the features and flows of Order Management
Configure Delivery Methods
Configure the delivery methods in your org that correspond to your storefront shipping methods This process ensures that orders

are consistently mapped from BC Commerce to Order Management Delivery methods must be configured even when BC

Commerce isnt the source of the order such as when a customer representative places an order on behalf of a customer Every
storefront shipping method must have a corresponding delivery method
Order Management Flows
Order Management works with Salesforce Flow which makes it easy for you to create manual and automated functions in your org
It includes flow templates for processes such as order summary creation placing orders on behalf of shoppers order fulfillment and
order servicing Some of the flow templates are available only with a Starter or Growth license

Order Management for BC Commerce

Configure Delivery Methods

Order Lifecycle Statuses
Each object type has status categories with default statuses that reflect the order lifecycle Find these statuses in Object Manger in
the Statuses section of an object type You cant change the status categories but you can customize and add statuses as long as
you associate each status with a status category Having status categories that never change is helpful if you have custom processes
that depend on a records status category
Configure Return Reasons for Order Servicing Workflows
The Cancel Item Discount Return Item and Even Exchange flows require you to select a return reason from a dropdown list Some
examples of reasons are Wrong Item or Customer Changed Mind Define a list of reasons and add them as picklist values
Configure Return and Rejection Reasons for Return Merchandise Authorization

The RMA Return Items flow requires you to select a return or rejection reason from a dropdown list Some examples of reasons are

Wrong Item or Customer Changed Mind Define a list of reasons and add them as picklist values The RMA flow is available

only with an Order Management Growth or Starter license
Configure Tax Display
If you only do business in a locale that uses net taxation such as sales tax no extra configuration is needed If you do business in a

locale that uses gross taxation such as valueadded tax VAT you need to configure your page layouts to display amounts that

combine prices and taxes If youre using multiple currencies add a user profile for service agents and create page layouts that use
gross tax fields

Configure Delivery Methods
Configure the delivery methods in your org that correspond to your storefront shipping methods This process ensures that orders are

consistently mapped from BC Commerce to Order Management Delivery methods must be configured even when BC Commerce

isnt the source of the order such as when a customer representative places an order on behalf of a customer Every storefront shipping
method must have a corresponding delivery method
Create an order delivery method
a From the App Launcher find and select Order Delivery Methods
b Click New
c Enter a name

d For Reference Number enter the delivery or shipping method ID used in your storefront

BC Commerce uses the term shipping method instead of delivery method The Reference Number value is the shipping

method ID used in your BC Commerce storefront

You can also add a delivery method that isnt associated with your storefront In that case you dont need to assign it a reference
number However if you do assign the new method a reference number use a number that doesnt conflict with the shipping
method IDs in your storefront
e Select Is Active
f Optionally enter a description
Associate either an existing product record to the order delivery method or create a product
You can create one product record for each delivery method or associate a product record with multiple delivery methods
a From the dropdown menu select either an existing product or New Product
b If you selected New Product enter a descriptive name and product code Select Active and click Save
Save your work
Add price book entries

Order Management for BC Commerce

Order Management Flows

If Optional Price Books is enabled this step is optional
a From your new order delivery method click the link for the associated product
b On the product page select the Related tab
c In the Price Books section click Add Standard Price
d If you have multiple currencies enabled select a currency from the dropdown
If your org supports multiple currencies and the Optional Price Books feature isnt enabled each delivery method product requires
a standard price book entry for each supported currency
e For List Price enter If you leave this field empty an error occurs
f To add a standard price book entry for another currency click Save New and then repeat the steps for the next currency
When youve created entries for all supported currencies click Save

Order Management Flows
Order Management works with Salesforce Flow which makes it easy for you to create manual and automated functions in your org It
includes flow templates for processes such as order summary creation placing orders on behalf of shoppers order fulfillment and order
servicing Some of the flow templates are available only with a Starter or Growth license
For information about configuring Order Management flows see Salesforce Order Management Configure Order Management Flows

Order Lifecycle Statuses
Each object type has status categories with default statuses that reflect the order lifecycle Find these statuses in Object Manger in the
Statuses section of an object type You cant change the status categories but you can customize and add statuses as long as you
associate each status with a status category Having status categories that never change is helpful if you have custom processes that
depend on a records status category
Object Type

Status Category

Default Statuses

Fulfillment Order

Draft

Draft

Activated

Allocated

Fulfilling

Assigned
Pickpack

Closed

Fulfilled

Canceled

Canceled
Rejected

Order

Draft

Draft

Activated

Activated

Order Management for BC Commerce

Configure Return Reasons for Order Servicing Workflows

Object Type

Status Category

Default Statuses

Order Summary

Created

Active

New

Note The Order Summary object
includes a Status field but not a
Status Category field Standard Order
Management functionality doesnt
use order summary statuses though
they can be useful for implementing
custom business processes We
recommend that you configure the
order summary statuses to match
your order statuses
Process Exception

Triaged
Inactive

Ignored
Paused
Voided

Return Order

Resolved

Resolved

Activated

Activated
Submitted

Canceled

Canceled

Closed

Closed

Draft

Draft

Configure Return Reasons for Order Servicing Workflows
The Cancel Item Discount Return Item and Even Exchange flows require you to select a return reason from a dropdown list Some
examples of reasons are Wrong Item or Customer Changed Mind Define a list of reasons and add them as picklist values
From Setup in the Quick Find box find and select Object Manager
Select the Order Product Summary Change object
Click Fields Relationships
Select Reason
To add a new reason to the Reason Picklist Values click New create your reason and click Save
Select a default value

Order Management for BC Commerce

Configure Return and Rejection Reasons for Return
Merchandise Authorization

a Click Edit for the value
b Select Default
c Click Save

Configure Return and Rejection Reasons for Return Merchandise
Authorization

The RMA Return Items flow requires you to select a return or rejection reason from a dropdown list Some examples of reasons are

Wrong Item or Customer Changed Mind Define a list of reasons and add them as picklist values The RMA flow is available

only with an Order Management Growth or Starter license
From Setup in the Quick Find box enter Object Manager and then select Object Manager
Select Return Order Line Item
Click Fields Relationships
Select Reason for Return
To add a new reason to the Reason for Return Picklist Values click New create your reason and click Save
Select a default value
a Click Edit for the value
b Select Default
c Click Save
Save your changes
Verify that all the entries are also in the Reason picklist on Order Product Summary Change
All Reason for Return values in the Order Product Summary Change must have a matching value in the Return Order Line Item
Go back to Return Order Line Item Fields Relationships and select Reason for Rejection
Add your rejection reasons to the Reason for Rejection Picklist Values
Reasons for rejection are reasons you cant accept the return such as Item Is Perishable
Select a default value
Save your changes

Configure Tax Display
If you only do business in a locale that uses net taxation such as sales tax no extra configuration is needed If you do business in a locale

that uses gross taxation such as valueadded tax VAT you need to configure your page layouts to display amounts that combine prices

and taxes If youre using multiple currencies add a user profile for service agents and create page layouts that use gross tax fields
From Setup in the Quick Find box find and select Object Manager
For each object that displays prices create a page layout that uses gross taxation fields that combine prices and tax amounts See
Create Page Layouts
Edit or clone the Standard User profile
a From Setup in the Quick Find box find and select Profiles
b If you only do business in a locale that uses gross taxation edit the Standard User profile

Order Management for BC Commerce

Configure Fulfillment

c If your org is enabled for multiple currencies clone the Standard User profile Give the new profile a name that identifies it as
applicable for users working with gross tax
d Assign the gross taxation page layouts to the user profile
After creating at least one Order Summary record configure the gross tax fields If necessary return to this step later in the
implementation process
In Salesforce Order Management open any Order Summary record details page
a From the Setup menu on that page select Edit Page
b Configure the Fields for Gross Tax Orders section of the Totals component
c Save and activate the page

Configure Fulfillment
Configure Order Management objects to support your order fulfillment process We offer sample fulfillment packages that include flows
processes and Apex classes that show how to implement Order Management functionality with Salesforce Flow You can customize
them or use them as inspiration to create your own flows and processes
Fulfillment Types
Order Management supports three fulfillment categories Each category is associated with one or more fulfillment types You cant
change the categories but you can customize the list of types as long as you associate each category with at least one type
Configure Fulfillment Locations
Configure the location object to represent your locations and optionally location priorities Then create a location record for each
fulfillment location

Fulfillment Types
Order Management supports three fulfillment categories Each category is associated with one or more fulfillment types You cant
change the categories but you can customize the list of types as long as you associate each category with at least one type
To customize fulfillment types edit the picklist values for the Type field on the Fulfillment Order object
Fulfillment Category

Default Fulfillment Types

Physical

Warehouse
Retail Store
In Store Pickup

Drop Ship

Supplier

Digital

Download
Email

Order Management for BC Commerce

Configure Fulfillment Locations

Configure Fulfillment Locations
Configure the location object to represent your locations and optionally location priorities Then create a location record for each
fulfillment location
From Setup in the Quick Find box find and select Object Manager
Select Location Fields Relationships Location Type
Add your locations to the Location Type Picklist Values
Examples of a location type are Warehouse or Retail Store
Select a default value
a Click Edit for the value
b Select Default
c Click Save
Optional for customers using routing Create a location ranking system to prioritize locations

If youre using the Order Management license included with DC Commerce you cant use a priority ranking system

a Select Location Fields Relationships Priority
b Add numeric values to the Priority Picklist Values
The lower the number the more preferred the location is
c Select a default priority value
Save your changes
Create a location record for each fulfillment location

If youre using the Order Management license included with DC Commerce you can use only one location

a From the App Launcher select Locations
b Click New
c Enter a name for the location and select a value for Location Type

d If you plan to use Salesforce Omnichannel Inventory to manage your inventory locations select Sync with OCI for locations and

location groups that are part of your Omnichannel Inventory implementation
e If youre using a routing and have configured a location ranking system set the priority for the location
f Optionally limit the number of fulfillment orders assigned to a location by defining its fulfillment order capacity If youre using

the Order Management license included with DC Commerce these order capacity fields arent available

Track Fulfillment Order CapacityTo track the locations capacity set this option to true The values of Fulfillment Order
Capacity and Assigned Fulfillment Order Count are then used to determine if the location has available capacity
Fulfillment Order CapacityMaximum number of orders that can be assigned to the location If this value is null the locations
capacity is unlimited
Assigned Fulfillment Order CountTo define the time period associated with the maximum capacity for this location set
this value to a certain interval For example to track capacity per day run an automated job that sets this value to for each
location at midnight of the locations time zone
g Save your changes

Order Management for BC Commerce

Configure Payment Processing

h Repeat for each location

SEE ALSO

Order Mangement Flow Core Actions

Configure Payment Processing
Processing payments is an integral part of the order management process To let Order Management execute payment authorizations
captures and issue refunds integrate a payments component You can view payment activity in the order payment summary for each
order
Manually Configure a Payment Gateway
If you dont use Salesforce Payments you can manually configure a payment gateway to view and manage payments in Order
Management Configure a gateway for each payment provider for example Stripe PayPal Adyen or Cybersource Payment packages
are available on AppExchange for some vendors
Payment Methods

For BC Commerce the Order Management integration with Salesforce Payments supports credit cards digital wallets and noncard

options such as SEPA and iDEAL

Define an Alternative Payment Method
You can define a payment method other than a credit card or digital wallet
Set Up Payment Gateways with StoreIntegratedService
Order on Behalf Of can take payment for the order and use the Commerce Webstore Payment Token and Commerce Webstore
Checkout Payments APIs To let your store access these APIs use the StoreIntegratedService entity to associate your WebStore with
the Payment Gateway
Payment Sequencing
You can control the sequence in which to apply refund amounts to payment methods For example if an order was partially paid
with a gift card you could refund to the gift card first regardless of how the payment amounts were originally distributed

Manually Configure a Payment Gateway
If you dont use Salesforce Payments you can manually configure a payment gateway to view and manage payments in Order Management
Configure a gateway for each payment provider for example Stripe PayPal Adyen or Cybersource Payment packages are available on
AppExchange for some vendors

Create a payment gateway adapter class using the Salesforce APEX connector framework

To get started see these reference classes httpsgithubcomforcedotcomCorePaymentsReferenceGatewayIntegrationAdapters
Create a payment gateway provider record that points to the adapter class that you created
In Setup define a named credential that contains the gateway providers authentication and login information
The adapter class callout definition calls the named credential

Order Management for BC Commerce

Payment Methods

To link the payment gateway provider record and the named credential create a payment gateway record

SEE ALSO

Use Cases for the CommercePayments Namespace
Named Credentials
Commerce Payments Resources
CommercePayments Namespace

Payment Methods

For BC Commerce the Order Management integration with Salesforce Payments supports credit cards digital wallets and noncard

options such as SEPA and iDEAL

For a credit card payment the payment method ID in the order data must match an entry in the Card Type picklist on the Card Payment

Method object If it matches a card payment method record is created in Salesforce You cant customize the Card Type picklist

For a digital wallet payment the payment method ID in the order data must match this noncasesensitive regular expression If it

matches a digital wallet record is created in Salesforce
paypalvisacheckoutpaybycheckapplegoogleandroidamazonalipay

To define a payment method other than a credit card or digital wallet use the Alternative Payment Method object

Define an Alternative Payment Method
You can define a payment method other than a credit card or digital wallet
Create a record type for the alternative payment method object that represents the payment method for example Square
For more information see Create Record Types
Create a GtwyProvPaymentMethodType record

You cant create a GtwyProvPaymentMethodType record using the UI Insert the record using a tool such as Postman or Apex code

The API name of the object is GtwyProvPaymentMethodType at the URL

servicesdataversionsobjectsGtwyProvPaymentMethodType
Set the GtwyProvPaymentMethodType fields
CommentsOptional description

Developer NameThe unique API name of the record

Master LabelA humanreadable name for the record

Gateway Provider Payment Method TypeThe name of the payment method in the storefront This value must exactly match

the payment method ID used in BC Commerce

Payment Gateway Provider IdReference to the payment gateway provider record associated with the payment processor for
the payment method
Payment Method TypeSelect AlternativePaymentMethod To use an alternative payment method first create a corresponding
Record Type record
Record Type IdFor an alternative payment method this value is a reference to the record type record
DeveloperName BankTransfer
MasterLabel Bank Transfer

***