# Let new trade customers apply, and approve them

URL: https://docs.sparklayer.io/help/guides/approve-trade-applications
Applies to: Shopify

Add a B2B login and registration page to your Shopify store, collect trade account applications with SparkLayer Forms, and approve each buyer into a group.

> **Quick summary**
>
> - You'll end up with a B2B login page where new customers apply for a trade account, and a list of applications you approve or reject. Approving one creates the customer in Shopify in the customer group you choose.
> - Allow about 45 minutes, or less if our team installs the B2B login page for you, free of charge.
> - [Forms](https://docs.sparklayer.io/help/forms.md) are on every plan, in the SparkLayer Dashboard only. The notification emails and the **Approve** and **Reject** buttons run on [workflows](https://docs.sparklayer.io/help/forms/workflows.md), which are on the Growth plan and above (see [Plans and features](https://docs.sparklayer.io/help/plans-and-features.md)). Without them, you [approve applications by hand](https://docs.sparklayer.io/help/forms/entries.md#approve-an-application-without-workflows).

Customers who apply don't become B2B customers until you approve them. You check each application, choose their customer group, and SparkLayer creates and tags them for you. Forms are only in the SparkLayer Dashboard at [app.sparklayer.io](https://app.sparklayer.io/), not in the SparkLayer Wholesale app in Shopify admin.

## Before you start

- **Your customer groups set up**, so you can choose one when you approve. See [Set up wholesale prices](https://docs.sparklayer.io/help/guides/set-up-wholesale-prices.md).
- **A SparkLayer Dashboard login** at [app.sparklayer.io](https://app.sparklayer.io/), for Forms.
- **Customer accounts turned on** in your Shopify admin, at **Settings > Customer accounts** ([open in the Shopify admin](https://admin.shopify.com/settings/customer_accounts)).

## Set up applications

### Step 1. Create your registration form

In the SparkLayer Dashboard, go to **Forms** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/forms)). On the **Start from a template** card, click **Wholesale Registration Form**. It comes with an approve and reject workflow and email notifications. See [Start from a template](https://docs.sparklayer.io/help/forms.md#start-from-a-template). [Take the 1-minute tour](https://docs.sparklayer.io/help/forms?tour).

Add or change fields if you need more from applicants. See [Build a form](https://docs.sparklayer.io/help/forms/setup.md).

### Step 2. Check who's told about new applications

The template's **Notification of submission** workflow emails your team about each new entry. To change the recipient, open the **Workflows** tab and click **View** next to it. See [Get notified of new submissions](https://docs.sparklayer.io/help/forms/setup.md#get-notified-of-new-submissions).

### Step 3. Publish the form

Click **Publish**. The form and its workflows only go live once you publish. See [Publish changes](https://docs.sparklayer.io/help/forms/versions.md#publish-changes).

### Step 4. Add the B2B login page

Our free, ready-made page lets existing customers sign in and new ones apply, at `/pages/b2b-login`. Adding it means creating 2 files in your theme code. [Contact us](https://docs.sparklayer.io/help/support.md) and our team installs it for you, or follow [Add the B2B login page](https://docs.sparklayer.io/help/platforms/shopify/customisations/registration-and-login.md#add-the-b2b-login-page).

### Step 5. Put your form on the page

In the theme editor, open the `b2b-login` page and set **Form Action** to **Embed custom contact form**. Paste your form's embed code, from its **Embed** tab, into **Custom Contact Form HTML**, then save. See [Embed a SparkLayer form](https://docs.sparklayer.io/help/platforms/shopify/customisations/registration-and-login.md#embed-a-sparklayer-form).

**More detail**

- To show the form on another page instead, add the **SparkLayer Form** block in the theme editor. See [Add a form to your store](https://docs.sparklayer.io/help/forms/embedding-and-styling.md#add-a-form-to-your-store).
- To share it as a link, click **Copy registration link** on the form's **Embed** tab.

### Step 6. Approve or reject each application

Open the form's entries and click the applicant's name. Under **Your decision**, choose their **Customer group**, tick **Tax exempt** if they shouldn't pay tax, then click **Approve** or **Reject**.

Approving creates the customer in Shopify with the group's tag and emails them. They can sign in and see trade prices straight away. See [Approve or reject an application](https://docs.sparklayer.io/help/forms/entries.md#approve-or-reject-an-application).

**Not using SparkLayer Forms?**

The B2B login page can instead email applications to your store's email address, through Shopify's contact form. Sending it doesn't create a customer. Once you've reviewed it, add them to a customer group by [tagging them in Shopify](https://docs.sparklayer.io/help/customers/add-customers-to-a-group.md#assign-customers-to-a-customer-group). See [Send an email to the store owner](https://docs.sparklayer.io/help/platforms/shopify/customisations/registration-and-login.md#send-an-email-to-the-store-owner).

## Check it worked

- **Apply as a customer.** Go to `www.yourstore.com/pages/b2b-login` and send an application with an email address you can sign in to.
- **Find the entry.** It's in the form's entries, and your team gets the notification email.
- **Approve it.** The new customer shows at **Customers** in the SparkLayer Dashboard ([open](https://app.sparklayer.io/customers/list)), or **SparkLayer Wholesale > Customers** in the Shopify app in the group you chose. [Take the 1-minute tour](https://docs.sparklayer.io/help/customers/managing-customers?tour).
- **Sign in as them.** You see your trade prices.

## If something's not right

**Diagnose: Trade applications not working?** Check your form, approvals and customer sign-in.

1. **What’s going wrong?** Pick the closest match.
   - Customers can’t find the application form: go to question 2
   - I’m not told about new applications: go to question 2
   - Approve or Reject on an entry does nothing: go to fix A (Approve and Reject run on workflows)
   - Approved customers can’t see B2B pricing: go to question 2
   - Approved customers didn’t get an email: go to question 2
   - People sign in without applying: go to fix B (Shopify lets anyone create an account)
   - Customers can’t sign in: go to question 3
2. **Which form do you use for applications?** SparkLayer Forms is built into the SparkLayer Dashboard. Customer Fields is a separate Shopify app.
   - SparkLayer Forms: go to question 4 for missing; question 5 for arriving; question 6 for access; question 7 for email
   - Customer Fields: go to question 8 for missing; question 9 for arriving; question 10 for access; question 11 for email
   - Another app: go to fix C (Check your form app’s settings)
3. **Which customer accounts does your Shopify store use?** Shopify has customer accounts (sign in with an emailed code) and legacy accounts (sign in with a password). Where to look: Settings > Customer accounts (Shopify admin).
   - Customer accounts (a code): go to fix D (Sign in with the code, using the right email)
   - Legacy accounts (a password): go to fix E (The customer needs to activate their account)
   - Not sure: go to fix F (Check your customer accounts setting)
4. **Is the form added to a page on your live theme?** Forms are built in SparkLayer, then added to a page on your store. Where to look: Forms (SparkLayer).
   - Yes: go to question 12
   - No / not sure: go to fix G (Add the form to a page)
5. **Do new submissions show on the form’s Entries tab?** Applications appear there as soon as they’re submitted. Where to look: Forms (SparkLayer).
   - Yes: go to fix H (Applications are arriving: add a notification)
   - No: go to question 4
6. **Does approving an application give the customer the `b2b` tag and their group’s tag?** The Wholesale Registration Form template creates the customer with their customer group’s tag when you approve them. Where to look: Forms (SparkLayer).
   - Yes: go to fix I (Approval looks right: check the customer)
   - No / not sure: go to fix J (Check what approval does)
7. **Does the form’s approval workflow send the customer an email?** Emails to customers are sent by a workflow step. Where to look: Forms (SparkLayer).
   - Yes: go to fix K (Check the email arrived)
   - No / not sure: go to fix L (Add an email step to the approval workflow)
8. **Is Customer Fields turned on in your theme, with the form on a page?** The app must be enabled in the theme editor and its form added to a page. Where to look: Online Store > Themes (Shopify admin).
   - Yes: go to question 12
   - No / not sure: go to fix M (Turn on Customer Fields and place the form)
9. **Is “Require account approval” turned on for the form?** With approval on, applications wait in Customer Fields until you approve them.
   - Yes: go to fix N (Check pending customers in Customer Fields)
   - No: go to fix O (Applications go straight to Shopify)
10. **Does the form’s auto-tag rule add `b2b` to approved customers?** Check the rule on the form’s Rules tab.
   - Yes: go to fix I (Approval looks right: check the customer)
   - No / not sure: go to fix P (Add `b2b` in the auto-tag rule)
11. **Is the approval email set up in Customer Fields?** Approval emails for Customer Fields forms are sent by Customer Fields, not SparkLayer.
   - Yes: go to fix K (Check the email arrived)
   - No / not sure: go to fix Q (Set up the approval email in Customer Fields)
12. **Is there a link to the form page in your menu or footer?** Customers need a way to reach the page.
   - Yes: go to fix R (Everything checks out)
   - No: go to fix S (Link to the form from your store)

**Fixes**

- **A. Approve and Reject run on workflows** The buttons, the application status and new-entry emails are run by the form’s workflows, which are on the Growth plan and above. On lower plans the buttons show but do nothing. To approve by hand, create the customer in Shopify with the `b2b` tag and their group’s tag. See [Plans and features](https://docs.sparklayer.io/help/plans-and-features.md).
- **B. Shopify lets anyone create an account** With Shopify’s customer accounts, anyone can sign in with an emailed code. SparkLayer only appears for customers tagged `b2b`, so they see your store as retail. You can redirect them, show a banner pointing to your application form, or sign them out with a message. See [Wholesale-only stores](https://docs.sparklayer.io/help/platforms/shopify/customisations/registration-and-login.md).
- **C. Check your form app’s settings** Make sure approved customers get the `b2b` tag and their group tag. That’s what gives them access to SparkLayer. Next: Wrong prices, payment methods or shipping for a customer?
- **D. Sign in with the code, using the right email** Customers sign in with a code sent to their email, with no password. If they use a different email from their customer record, Shopify creates a new retail customer without their tags. Where: Customers > select the customer > Tags (Shopify admin).
- **E. The customer needs to activate their account** With legacy accounts, a new customer must activate their account from the invite email before they can sign in. Open the customer, click More actions, then Send account invite. Where: Customers > select the customer > Tags (Shopify admin).
- **F. Check your customer accounts setting** Open Settings, then Customer accounts, to see which your store uses. Then start this check again. Where: Settings > Customer accounts (Shopify admin).
- **G. Add the form to a page** Add the form to a page on your live theme, such as a trade account page. Where: Forms (SparkLayer). See [Embed a form](https://docs.sparklayer.io/help/forms/embedding-and-styling.md).
- **H. Applications are arriving: add a notification** To be emailed about new applications, use a workflow with the Form submitted trigger and a Send email step. Workflows are on the Growth plan and above. On lower plans, check the Entries tab. Where: Forms (SparkLayer). See [Workflows](https://docs.sparklayer.io/help/forms/workflows.md).
- **I. Approval looks right: check the customer** If an approved customer still can’t see B2B pricing, check their tags and how they’re signing in. Next: SparkLayer not showing or looking wrong?
- **J. Check what approval does** Set the form’s approval to create the customer with the right customer group. Customers approved before the change need tagging by hand. Where: Forms (SparkLayer). See [Approve trade applications](https://docs.sparklayer.io/help/guides/approve-trade-applications.md).
- **K. Check the email arrived** Ask the customer to check their spam or junk folder, and check the email address on their application.
- **L. Add an email step to the approval workflow** Add a Send email step to the workflow that runs when you approve an application, so customers know they can sign in. Where: Forms (SparkLayer). See [Workflows](https://docs.sparklayer.io/help/forms/workflows.md).
- **M. Turn on Customer Fields and place the form** Enable Customer Fields in your theme editor, then add the form to your registration or wholesale page. Where: Online Store > Themes (Shopify admin).
- **N. Check pending customers in Customer Fields** With approval on, customers are only created in Shopify once you approve them. Review pending applications in the Customer Fields app.
- **O. Applications go straight to Shopify** With approval off, customers are created immediately. Check your Shopify customers list for new accounts. Where: Customers (Shopify admin).
- **P. Add `b2b` in the auto-tag rule** On the form’s Rules tab, make the auto-tag rule add `b2b`, and the group tag if you use one. Customers approved before the change need tagging by hand.
- **Q. Set up the approval email in Customer Fields** Turn on and edit the approved-customer email in the Customer Fields app.
- **R. Everything checks out** Your setup looks right, so we'll take it from here. Send us your answers with a link to the form page.
- **S. Link to the form from your store** Add a link to the form page in your header or footer menu so trade customers can find it.

- **Approve or Reject does nothing.** The buttons run workflows, which are on the Growth plan and above. Without them, [approve applications by hand](https://docs.sparklayer.io/help/forms/entries.md#approve-an-application-without-workflows).
- **No email arrives for new applications.** The notification email is a workflow too. Without workflows, check the form's entries yourself. Shopify Flow can't start from a SparkLayer form submission.
- **You can't find Forms in the Shopify app.** Forms are only in the SparkLayer Dashboard. See [You can't see Forms in the Shopify app](https://docs.sparklayer.io/help/troubleshooting.md#you-cant-see-forms-in-the-shopify-app).
- **Approving didn't create the customer.** Check what the workflow did on the entry. See [Check workflow runs](https://docs.sparklayer.io/help/forms/workflows.md#check-workflow-runs).
- **The applicant already has an account.** You'll see "That buyer already has an account". Move them to a group by changing their tags in Shopify.
- **Application emails don't arrive.** If you use Shopify's contact form, Shopify may not be delivering them. See [Send an email to the store owner](https://docs.sparklayer.io/help/platforms/shopify/customisations/registration-and-login.md#send-an-email-to-the-store-owner).
- **You sell in several languages.** Make one form per language and add each one's embed code to the B2B login page's translations. See [Translate a form](https://docs.sparklayer.io/help/forms/embedding-and-styling.md#translate-a-form).

## Next steps

- [Keep wholesale hidden from retail shoppers](https://docs.sparklayer.io/help/guides/hide-wholesale-from-retail.md): Hide B2B products and prices from everyone else
- [Move your existing wholesale customers](https://docs.sparklayer.io/help/guides/move-existing-customers.md): Bring customers you already have onto SparkLayer
- [Launch checklist](https://docs.sparklayer.io/help/get-started/launching.md): Welcome emails, onboarding pages and going live
