Skip to main content
Best Practices

Set up a Storefront clients actually use

Limit the catalog clients browse, attach customer prices with pricing books, review storefront orders in Quotes, and follow approved orders into tickets, sales orders, and procurement.

Written By Mike Forte

Last updated About 1 hour ago

A Storefront that dumps every Professional Services Automation (PSA) product on the client is a catalog, not a shop. Clients stall, pick the wrong SKU, and stop coming back. A Storefront they actually use is a short, approved list at their prices, with a clear path from Place Order to fulfillment.

Storefront is a paid add-on on the Premium plan. Setup, company access, and checkout are in Storefront. This article is the operating order once that add-on is on: shrink the catalog, lock prices, review the order, then fulfill. Classification whitelists need Advanced Storefront; see that article for tiers.

The same catalog and pricing rules that keep new quoters from inventing products apply here. The Storefront is that catalog, shown to the client.

Offer a small, approved product set

Clients adopt self-service when they can find the right item in a few clicks. A full PSA import is built for quoting, not for browsing. Leave most of it off the Storefront.

An approved Storefront item is:

  • Listed on, and Can be sold on (product Pricing)
  • In a listed category the client is allowed to see
  • Named and described the way you want it on the order β€” not leftover PSA wording
  • One listed record per sellable SKU (same manufacturer part number (MPN) should not appear twice)

Everything else stays in the catalog for your team. Unlisted products cannot be added to a quote or a basket. Unlisted categories are the staging area: turn Listed off while you tidy products; quote managers without product management permission, and Storefront clients, will not see that category until you list it.

Show a different set per client

Control what each company browses with a company whitelist or classification whitelist on the category Settings tab. With no whitelist, a listed category is visible to every company. With a whitelist, only those companies (or companies in those classifications) see it.

When Storefront is on and storefront categories are in use, Products β†’ Categories has two tabs. Product categories is the internal tree (markup, tax, quote grouping). Storefront categories is what clients browse. Put whitelists on the storefront category. Staff with quote management or product management permission still see every listed category; clients do not.

Also:

  • Turn Hide out-of-stock products on for a category if you do not want zero-stock items on the Storefront.
  • Turn Allow self service orders on only for companies that should order. New companies you create or import start with this off. Manage it on Companies or Manage Company β†’ Ordering & Self-Service Settings. A company with the toggle off cannot add to cart.

Do not create products from the Storefront. If the item is not in the listed set, add it to the approved catalog first.

Get clients to use it

A short catalog is not enough if clients never hear about it, cannot find the item they mean, or have to pick five parts for a request they make every month.

  • Start with what they already reorder. List toner and consumables, peripherals, a standard laptop or new-hire kit, and extra licenses first. Add more SKUs only after those orders are coming through the Storefront.
  • Use bundles for repeat requests. A new hire kit (laptop, dock, monitor, headset, licenses) is one listed item. The client adds that one product; the basket expands the children. Rebuild the kit in the catalog β€” do not expect a PSA bundle to appear as a Storefront package.
  • Tell clients it exists. Introduce the Storefront in onboarding and quarterly business reviews (QBRs). Put a link to your branded storefront in your email signature or client portal. Contacts still need login on the company and on themselves; see Storefront.
  • Name products the way clients ask for them. Set Name (and short or quote description) to the language they use β€” "HP 410A black toner", not the distributor SKU string. Leave the manufacturer part number (MPN) alone so distributor feeds still match. A later PSA import can restore the old name; edit it again if that happens.
  • Turn on self-service for a few engaged clients first. Allow self service orders starts off on companies you create or import. Enable it on Companies (or Manage Company β†’ Ordering & Self-Service Settings) for the accounts that already reorder with you, then roll it out.

Client-specific pricing

Storefront baskets use the same price engine as quotes. When a contact adds a product, Salesbuildr looks up that company's prices and freezes the line. Changing the book later does not rewrite a basket that is already open.

Use a pricing book when a client should get a fixed sell price on specific products β€” a negotiated SKU rate, a contract window, or a vendor special-bid number. Do not use a pricing book for "this classification gets 15% off a category"; that is a discount group.

Create the book, add the SKUs, and attach it to the company or classification in Pricing Books. A pricing-book hit replaces the catalog price and skips the discount group for that line. They do not stack. Storefront category markup and recommended-retail-price (RRP) discount still apply when no book row matches.

Open the basket or quote line and confirm Pricing book is the book you expected. If the client still sees catalog price, the product is missing from the book, the validity window does not include today, or the line was added before the entry existed β€” remove and re-add the product on a draft basket.

Approving storefront orders

Every Storefront basket is a quote. After checkout it sits in Quotes next to proposals your team wrote. Baskets show a cart icon on the row.

What the client does

On the basket they confirm company, purchase order (PO) number, and optional note, accept terms, and click Place Order. If the one-time total is over Max credit limit and Stripe is connected, they see Proceed to Payment instead and the quote stays Pending payment until Stripe confirms. See Storefront and Stripe payments.

Baskets do not offer Decline. The client either places the order (or pays) or leaves the basket as a draft.

What you see

StatusWhat it means
ApprovedThe order is complete. No further quote approval is waiting.
Waiting approvalSomeone still has to Accept β€” usually a contact on that company's Quote approval list.
Pending paymentStripe checkout is in progress.
Internal approvalA quote your team sent (including Create as Basket) is waiting on Settings β†’ Quotes β†’ Approval Rules. Clients cannot see this status.

When a contact clicks Place Order, Salesbuildr records their acceptance and then checks whether anyone else must still accept.

  • Company Quote approval (Manage Company) still applies. If that company has approvers and the order is above Min value (or no minimum is set), the quote stays Waiting approval until those contacts Accept. Admins and quote managers can Accept on behalf of.
  • Settings β†’ Quotes β†’ Approval Rules (value, discount, category) run when a quote manager sends a quote. They do not gate a contact's own Place Order. Do not rely on those rules as the Storefront review step.

There is no separate Storefront inbox. Review orders here:

  1. Watch the ordered email. It goes to the opportunity owner and anyone on Order confirmation notification contact (Manage Company β†’ Ordering & Self-Service Settings). The client gets a thank-you email (templates under Settings β†’ Emails).
  2. Open Quotes. Filter Waiting approval for company-approver queues, and Approved for orders ready to fulfill.
  3. Open the quote. Accept if you are the next approver; Accept on behalf of if you are covering for them. Retract only while the quote is still Waiting approval. An Approved order cannot be retracted β€” skip Create Ticket / Create Sales Order if you should not fulfill it.

If you need a second pair of eyes before fulfillment, treat Create Ticket / Create Sales Order as that gate β€” see the next section β€” rather than expecting Approval Rules to catch a self-service Place Order.

How orders flow into procurement and the PSA

Once the quote is Approved, Salesbuildr treats it like any other won proposal.

  1. The quote and opportunity update. Line items and pricing sync to the connected PSA. The opportunity's pipeline stage follows Settings β†’ Opportunities quote-status mapping for Approved (primary quote only). Quote attachments can be sent with that sync.
  2. You create fulfillment in the PSA. Open the approved quote and click Create Ticket (Autotask or ConnectWise) or Create Sales Order (HaloPSA). Choose the lines to include. This step is not automatic β€” an approved Storefront order does not create the ticket or sales order by itself. Details: Fulfillment Tickets.
  3. Procurement picks up product lines if procurement is enabled for your account. Approved product lines become pending items under Procurement. Services, labor, zero-quantity lines, and products marked Does not require procurement are skipped. From pending items you group a purchase order, optionally send it for procurement approval, place it with the distributor, and receive stock. See Procurement.

PSA entities after you place a procurement order differ: Autotask can create a purchase order and a ticket with charges; HaloPSA can create a sales order and a purchase order; ConnectWise creates a service ticket and does not create a purchase order in ConnectWise. Without a PSA, Salesbuildr still keeps the approved quote.

Until you click Create Ticket or Create Sales Order β€” or place a procurement order, if that module is on β€” the PSA has the won quote and updated opportunity, not the fulfillment ticket. Review the approved basket first, then create the ticket when you are ready to deliver.

See also