Sales Agent Ordering
Please note Sales Agent Ordering is only available on the SparkLayer Growth, Pro, and Enterprise plan. You can change your plan here or learn more about our how pricing works.
Sales Agent Ordering is a powerful feature of SparkLayer that lets certain users (Sales Agents) place orders and manage accounts on behalf of your B2B customers. Watch our video below to see how it works!
Sometimes referred to as Order Masquerading, it's a great way to integrate your sales team and centralise your B2B orders. Once enabled, Sales Agents are able to perform any of the following actions against an existing B2B customer account:
Action | Notes |
---|---|
View products | The Sales Agent can view products on the website at the B2B prices assigned to the selected customer |
Add products | The Sales Agent can add products to an order |
Place an order | The Sales Agent can place an order using their available payment methods and request payment from the customer |
Shopping Lists | The Sales Agent can save and edit Shopping Lists |
Address Book | The Sales Agent Add/edit addresses (if enabled for the customer) |
Re-order | Re-order from an existing order by viewing the order details within the account |
Persistent cart | Products that are added to an order will remain in the customers My Order until they checkout or make edits. The order will also be saved for the Sales Agent if they come back later. |
In addition to performing actions against an existing B2B customer account, Sales Agents can also:
Action | Notes |
---|---|
Add new customers | The Sales Agent can add new customers directly from the frontend, allowing them to then place an order on their behalf right away. Note: this requires assigning the Sales Agent a special "Sales Administrator" role, learn more. |
Want to test out Sales Agents? Head over to our B2B Demo store and give it a go!
The process of enabling Sales Agents works as follows:
First, you need to activate specific accounts with the special Sales Agent privileges
Once activated, the chosen account can then log into your website
Once logged in, they'll be presented with the Sales Agent interface where they can then search for and then select a customer, and place orders or manage the account on their behalf.
To activate an account as a Sales Agent, you'll need to make sure the account is already set up within Shopify with an active account.
Using their unique customer ID, you can then assign this in SparkLayer to be a Sales Agent. You can find the unique customer ID in the URL when navigating a customer within the Shopify admin.
For example, the URL in your browser may look something like this: https://your-shopify-store-url.com/admin/customers/5917633347819
In this example, the external customer ID would be 5917633347819
Within the SparkLayer Dashboard, go to Sales Agent tab or the Customer Sync section of the Data Sync area and paste this customer ID into the Customer Data Lookup box.
At the bottom of the search results, you'll then be given the following options to select from:
Option | Details |
---|---|
Customer | This is the default role for a customer, allowing them to login and place B2B orders. This option means the customer is not a sales agent |
Sales Agent | This enables Sales Agent access with the ability to action the following on behalf of a customer: place orders, manage addresses, manage shopping lists, and manage company user access. This option means the customer is a sales agent |
Sales Administrator | This enables additional Sales Agent controls: the ability to update B2B prices on an order for a customer, the ability to add new customer records to subsequently place orders for. This option means the customer is a sales agent |
Once you've made your selection, click the Save button to activate the Sales Agent.
Editing Sales Agents
If you're looking to edit which of your customer accounts has Sales Agent access, you can manage this directly in SparkLayer by following the below steps:
- First, find the Sales Agent customer record in your Shopify Customers admin
- Within the URL, make a note of the ID at the end, e.g. if the URL is https://your-shopify-store-url.com/admin/customers/5917633347819the ID would be 5917633347819
- Go to the Sales Agent area or the Customer Data Lookup tool in SparkLayer and paste in the ID. At the bottom, click 'Turn off sales agent'
- To re-assign Sales Agent access, simply follow the steps above.
The key difference in the ordering experience for a Sales Agent versus a standard B2B customer is simply this: the Sales Agent isn't placing an order against their own personal account but instead against their selected B2B customer.
Once they login, they'll be prompted by a special Sales Agent Ordering search box within the My Account Interface that lets them easily search and select a customer. At this point, the Sales Agent will be able to search for any B2B customer within your store and place orders on their behalf.
You can also see how the order experience works in our video below.
Please note Only customers that have been tagged as B2B customers will show within the search results. Within Shopify, simply add a tag of b2b against any customer record. Customers must also always have an email assigned to their account in Shopify. If you don't have an email address, you could always use a test email such as [email protected]
The Sales Agent can search customers by:
- Company Name
- First and Last Name of the customer
- Postcode of their default address
- Accounting ID (if available)
Once they've selected a customer, the Sales Agent is then in 'Sales Agent Mode' with a notification that will follow them around the ordering experience, notifying who they are logged in as.
Once logged in as a customer, the Sales Agent can then browse the website and begin adding items to an order. All prices shown will be the prices you've set up for the specific customer using the Price Lists functionality of SparkLayer.
Once they've added products to an order, they can access the My Cart Interface at any point and begin the checkout process. Just as with the standard customer experience, they can select an address, shipping method, and see all available payment methods.
To understand the payment flow, the payment methods work as follows:
Payment Method | Flow | Status |
---|---|---|
Pay by Invoice | The order is submitted as a Draft order within Shopify and then has to be manually acted upon | Order is left in Draft status until the payment is successfully made |
Pay on Account | The order is submitted as a Draft order within Shopify and then has to be manually acted upon | Order is left in Draft status until the payment is successfully made |
Pay Online by Card | The order is submitted as a Draft order within Shopify and the customer will receive a notification to make payment (see below) | Order is left in Draft status until the payment is successfully made |
Request for Quote | The order is submitted as a Draft order within Shopify and then has to be manually acted upon | Order is left in Draft status until the payment is successfully made |
Creating Draft Orders
As noted above, the payment flow works slightly differently to the standard customer experience when placing an order. When a Sales Agent is logged in and places an order, the order will by default enter Shopify in the Draft order status with the customer's details pre-selected. Just as with any order in Shopify, you'll see the customer's details on the top right.
Making a payment against an order
Depending on the payment method used by the Sales Agent, if the customer is required to make payment, they'll receive an automatic email notification detailing their order and a button to checkout. This uses the 'Send invoice' feature of Shopify Draft orders and you can learn more about how this works here.
Once the customer completes their purchase by making payment, the order is then marked as paid and will then display within your Shopify Orders area.
You can edit this email template by going to Settings > Notifications within Shopify and search for the Draft order invoice template
If the customer hasn't made payment for any reason or you are processing it manually, within Shopify you can open the order and easily resend or manually mark as paid. Please note, the order will stay as a Draft order until action has been taken.
Sales Agents are also able to add new customers directly from the SparkLayer interface, making it easy for them to quickly place an order (versus having to manually set up a customer record within your website's admin area).
To get started, for your selected Sales Agent, you'll need to follow these steps. When selecting Customer Role, choose Sales Administrator from the list.
This will activate additional privileges for the Sales Agent, allowing them to create customers on-the-fly the next time they sign into your website. From the main Sales Agent overview page, they'll see the option to Add a new customer as shown below.
When Add a new customer is clicked, the Sales Agent will then need to complete the basic information for the customer including their First and Last Name, their Email, and their Company.
When the "Add new customer" button is clicked, this will then trigger the following actions:
Account status | Actions |
---|---|
If the invitee does not already have an account on the website | This will send the invitee an email asking them to create a password to activate their account and join the company |
If the invitee already has an account on the website | The customer will be able to login with their existing login details to join the company. |
For new customers that do not already have an account, they'll receive an email that looks similar to the below. This is an email that is generated via Shopify and can be easily modified. Within Shopify, this uses the "Activate Account" email notification and can be modified within the Settings > Notifications area of your Shopify admin.
Please note the following As part of introducing new customers to your B2B customer base, we recommend informing them of the process detailed above to ensure they are familiar with the steps involved.
Please note the following When a new customer is added this way by a Sales Agent, the customer will automatically be assigned the same rules assigned to the Sales Agent. This includes the following:
- Price lists
- Discount percentage
- Customer Group
- Sales agent groups (if applicable)
For example, if the Sales Agent has been set up to use price list ABC, the new customer will automatically be assigned this same price list. This can be modified by subsequently going into the new customer's record and updating as required (e.g. by assigning them an updated customer group tag)
Sales Agents have the ability to edit prices "inline" for customers; it's a great way to make ad-hoc price changes or apply discounts without requiring adjustments to price lists.
To get started, for your selected Sales Agent, you'll need to follow these steps. When selecting Customer Role, choose Sales Administrator from the list.
This will activate additional privileges for the Sales Agent, allowing them to edit prices on-the-fly the next time they sign into your website. When they add items to a customer's order, they'll see an Edit button next to the Unit price to then make changes.
Please note It is only possible to lower the unit price when editing prices.
For Sales Agents with the "Sales Administrator" customer role (see above), it's possible to edit the product settings of items within an order.
For any products that have pack size or min/max product rules, the Sales Agent can enter "freeform" quantities and increment/decrement the line item quantities as required.
If changes are made to the default settings, the Sales Agent will be prompted to confirm their changes before proceeding to complete the order.
Please note To use this feature, your store must be using version 1.4.0 or above in the SparkLayer Core Script
Sales Agents can access their own personal account by clicking the my account icon within the My Cart Interface.
Alongside placing orders on behalf of customers, Sales Agents can also add products to their personal orders and complete the checkout process independently. Whether it's for buying a product for an upcoming customer demonstration or making a personal purchase at a preferential rate.
When a Sales Agent places a personal order, pricing will be applied based on the price list assigned to their customer group within the SparkLayer Dashboard.
Shopping lists One great use for the the Sales Agent "personal" account is the shopping lists feature. Sales Agents can create their own shopping lists to save in their account. Once they log in as a customer, they can then access the shopping lists to populate an order. It's a great way to quickly start an order for a B2B customer!
An additional feature of Sales Agents is the ability to access customer accounts across multiple devices using the same Sales Agent login. This means that you can:
- Pick up orders from where you left off
- Manage the same order in parallel across different devices
- Log in as a different customer on a different device whilst using your sales agent account
If you're wanting to restrict which customers (or groups of customers) a Sales Agent can see, it's possible to configure this via a special settings. Named Sales Agent Groups, this powerful feature gives you full control over how you manage your Sales Agent access.
Setting up metafields on Shopify To learn more about how to configure metafields on Shopify for SparkLayer, please refer to our guide here
Item | Details |
---|---|
Custom data type | |
Metafield type | This must be set as Single line text and set to List of values |
Namespace | This must be set as sparklayer |
Key | This must be set as sales_agent_groups |
Validation | Tick Limit to preset choices and then enter your values |
The values you enter represent how you want to categorise your Sales Agents. Common use-cases may include:
Example use-case | Example Values |
---|---|
Limiting by a territory (e.g. Germany, France, UK). | germany, france, uk |
Limiting by a geographical region | north-east, south-west |
Limiting by a customer type | vip, new-customer |
Important: when entering values, make sure to not include spaces. Instead, you can separate using dashes (e.g. south-east)
Assigning Sales Agent Groups to a customer
Once you've created your Sales Agent Groups, you can then easily assign these to a customer. Within Shopify, search for a customer and then scroll down to the Metafields section. From the Sales Agent Groups option, select the appropriate values and then click Save. Note, it's possible to assign more than one value to a customer.
Configuring rules for the Sales Agent
The final step is to then assign the Sales Agent Group rules to a specific sales agent. This is done through the SparkLayer dashboard. Simply head to "Customer Sync", find your sales agent, and scroll down to "Restrict sales agent access". Then, just enter the groups you would like the sales agent to be able to access. As with customers in Shopify, a Sales Agent can have access to multiple groups.
Please note If you leave the field as blank, the Sales Agent will have access to all customers.
Any modifications to sales agents/admins must be done through the dashboard. You cannot change the metafields for a sales agent/admin on Shopify. This includes changing their role or sales agent groups they are assigned to.
When the Sales Agent next signs into your Shopify store, they'll then be able to search for customers that match the Sales Agent Group rules you've set up.
When a B2B customer places an order, it's possible to also notify the sales agent of any order activity using automations within your eCommerce platform.
Using Shopify Flow, you can set up specific triggers to send emails to specific sales agents when an order is placed.
The flow works by detecting an order (or draft order) being placed, checking which sales agent has been assigned to the customer (see "Restricting Sales Agent Access" above), and then sending an internal email.
To get started, you can download a sample Shopify Flow template here.
When Sales Agents place orders through your store, a range of additional data is tracked against the order, from specific tags through to additional notes. This is useful if you want to be able to filter or analyse Sales Agent activity or integrate this into your backend systems.
To view the available data, you can click into an open Draft order and you'll see the following information. This information will also display on any completed orders once payment has been taken.
Data field | Details |
---|---|
Shopify tags | The following tags will be added against the order:
|
B2B Sales Agent Account ID | If the sales agent has an accounting ID assigned, this will display within the order |
B2B Sales Agent email | The email address of the Sales Agent |
sparkPaymentType | This is captured against all B2B orders, and will also include the payment type the Sales Agent has selected |