Links

Company Users

Please note: Company Users is only available on the SparkLayer Pro, and Enterprise plan. You can change your plan here or learn more about our how pricing works.

Introduction

Company Users is a powerful feature of SparkLayer that allows companies to create "teams" of users that can share specific actions within their account. Sometimes referred to as "company roles" or "sub accounts", this feature is designed to optimise company B2B purchasing and account management.
Once enabled on your store, Company Users allows the following activities to be shared across team members once they log into their account:
Area
Actions
Order history
Users of the same company can see all orders placed for the entire company, check order status, and re-order
Shopping lists
Users of the same company can view and delete shopping lists that have been created
Address book
Users of the same company can view, edit, and delete all addresses within the company
Please note, the following activities are not shared across team members.
Area
Actions
Shopping Cart (Order)
If a user has items in their order (the Quick Ordering interface), these will not be shared across users.
It's important to note that the Company Users feature will be a focus of continual improvement and you can see what's coming soon here.

Getting started

To get started with Company Users, you'll need to enable a special setting within SparkLayer. Within the SparkLayer Dashboard, go to the Settings area and switch on "Enable company users"
When this setting is enabled, this will then activate a special "widget" within the My Account area called "Company Users" (see below).
Please note, you Core Script must be set to version 8.38 or above

How it works

The Company Users functionality works as follows:
  1. 1.
    An active B2B customer logs into their account on your website
  2. 2.
    From their My Account area, they then navigate to the "Company Users" widget (at the bottom). From here, they can see all other active company users and additionally invite others
  3. 3.
    Once another user has been invited to the Company, that specific user can subsequently login and begin placing B2B orders
Once a company user logs in, they'll also have access to a variety of shared actions and activities that all other company users can see. This currently includes:
  • Orders - users will see all orders placed by the company
  • Shopping lists - users will see all shopping lists created by the company
  • Address book - users will see all addresses added by the company

Inviting users

Essentially, the customer who begins the inviting process becomes the "main user" (or "admin") and can control which other users have (or do not have) access to the company.
To invite users, from the My Account area, the customer clicks the 'Invite new user" link in the "Company Users" widget.
The "Company Users" widget in the My Account area
Once the "Invite new user" link is clicked, they are then asked to complete an invite form. This form includes the ability to specify a first and last name and an email address.
Please note, the email address specified here will be the email address used to login
When the "Send invite" 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 invite already has an account on the website
The customer will be able to login with their existing login details to join the company
For invitees 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. It's also possible to customise this for specific recipients, please refer to our guide here.
An example of an account activation email sent from Shopify
Please note: as part of introducing Company Users to your B2B customer base, we recommend informing them of the process detailed above to ensure they are familiar with the steps involved.

Logging in as an invited Company User

When an invited Company User logs in, they'll see the My Account area as normal along with additional messaging confirming they are part of a company.
Logged in Company Users see a special message at the top
In addition, they'll also see the company they are connected to within their My Details area.

Placing an order

The invited Company User can browse the website and begin adding items to an order. All prices shown will be the prices set up for the "main user" using the Price List functionality of SparkLayer.
Once they've added products to an order, they can access the SparkLayer Quick Order 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

The payment flow works broadly the same for a Company User as for a standard customer. When the Company User places an order, the orders 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 Company User, 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.

Removing users

As with inviting new users, the "main user" can also easily remove users. From the "Company Users" widget, simply click the icon to remove the user's access to the company.
Click the icon to remove a user

Manually associating users

As well as the "main user" being able to invite users, it's also possible to associate users to a company manually via the Shopify admin within the Customers area.
To associate users manually, SparkLayer uses customer metafields in Shopify to map the data across systems. To get started, you'll need to ensure your Shopify store is set up to capture metafields; you can set up metafields natively via Shopify by following their help guide here.
Item
Details
Metafield type
This must be set as a single line text
Namespace
This must be set as sparklayer
Key
This must be set as parent_customer_id
Value
This must be the customer ID of the main user (see below)
The manual association works by simply adding the main account customer ID into the parent_customer_id metafield.
The special metafield used for Company Users
You can find the main account customer ID in the URL when navigating a customer within the admin. For example, the URL in your browser may look something like this:
https://your-shopify-store-url.com/admin/customers/6494756339930
In this example, the main account customer ID would be 6494756339930

Compatibility with Sales Agents

Company Users is fully compatible with the Sales Agent Ordering tool allowing sales agents to add users to a company, just as a "main user" would. The of inviting users works in the same fashion as detailed above.

Customising text

It's possible to adjust the text specific to the Company Users functionality by using the Text Overwrites feature of SparkLayer.
layout/theme.liquid
<script>
window.sparkOptions = {
translations: {
en: {
"account.main.company-users.actions": "Actions",
"account.main.company-users.title": "You're signed into a Company User account",
"account.main.company-users.child-account-notice": "Any activity will be shared across all users from your company. This applies to orders, shopping lists, and addresses. Please speak to your company account owner if you have any queries.",
"account.main.company-users.email": "Email",
"account.main.company-users.delete-confirm-message": "Are you sure you want to remove this user from your company?",
"account.main.company-users.delete-failed-message": "Failed to delete user.",
"account.main.company-users.header": "Company Users",
"account.main.company-users.invite-button-text": "Invite new user",
"account.main.company-users.invite-user.header": "Invite new user",
"account.main.company-users.invite-user.invite-sent": "User invite sent",
"account.main.company-users.invite-user.invite-failed": "Sorry, something has gone wrong and we have not been able to invited this user",
"account.main.company-users.invite-user.form.first-name": "First Name",
"account.main.company-users.invite-user.form.last-name": "Last Name",
"account.main.company-users.invite-user.form.email": "Email",
"account.main.company-users.invite-user.form.send-invite": "Create Company User",
"account.main.company-users.invite-user.form.cancel": "Cancel",
"account.main.company-users.invite-user.form.description": "When you invite company users, any activity will be shared across your team including orders, shopping lists, and addresses. If the user you're inviting doesn't already have an account to login to our store, they'll receive an "Account Activation" email and they'll be asked to set a password to gain access. If they already have an account, they can login with their existing details by visiting the login page. If you're unsure about inviting users, please speak to your contact within our company."
}
}
};
</script>

Limitations

Please note the following limitations of Company Users:
  • Privileges: other than the "main user" access detailed above, it is not possible to set privileges or "roles" for company users. Simply put, every company user will have shared access to all B2B order and account data
  • Inviting users: when a new user is invited, they will receive the "Activate Account" email from Shopify. It is not currently possible to create a custom email notification for this
  • Restricting access: when Company Users is activated in the SparkLayer Dashboard, it will apply to all customers that login. It is not possible to manually specify which customers have access to Company Users.

Coming soon!

  • Privileges: related to the above, a new privileges system will allow companies to specify which users can and cannot complete orders; for those who cannot place orders, they’ll be able to submit orders as “quotes” (or “draft orders”) which can then subsequently be approved.