Table of contents
- What is Professional List Manager?
- Quick start
- 1. Add Lists to your customer account menu
- 2. Review your settings
- 3. Add the storefront "Add to list" button (optional)
- 4. Create your first list
- Day-to-day: rep workflows
- Day-to-day: buyer workflows
- Customizing copy
- Activity dashboard
- Troubleshooting
- Data and privacy
What is Professional List Manager?
Professional List Manager helps B2B merchants give their customers — and their sales reps — a flexible way to build, save, and reorder lists of products. Use it for ongoing projects, recurring restocks, customer-specific approved-product lists, or any other workflow that benefits from reusable product lists.
The app is built around Shopify B2B. A list can be shared across every buyer at a B2B Company, or owned by an individual customer, and pricing automatically reflects each buyer's company location, catalog, and any negotiated overrides. Direct-to-consumer stores work too — lists belong to the individual customer and use your standard Online Store prices.
The app lives in three places, depending on who's using it:
- Rep Tools — built into your Shopify admin, where your sales staff manages lists on behalf of customers.
- The customer account area — where your customers view, edit, and create their own lists when they're signed in.
- An "Add to list" button on product pages (optional) — lets customers add items to a list directly from a product page, without navigating away.
Once you install the app, a setup guide on the home page walks you through getting each of these surfaces ready.
Quick start
Install Professional List Manager from the Shopify App Store, then open it from your admin. You'll land on the home page, where a four-step setup guide walks you through everything you need to do — each step has its own section below. Plan on about ten minutes for the basics, plus more time if you add the optional storefront button to your product pages.
1. Add Lists to your customer account menu
When you install Professional List Manager, the Lists page doesn't automatically appear in your customers' account menu. Adding it is a quick one-time setup step — about two minutes.
Start in Shopify admin → Settings → Checkout and click Customize. The customizer opens to the Checkout page by default; you don't need to switch anywhere. In the Apps panel on the left, find Professional List Manager and click the + button next to Lists. This opens a small prompt with an Add to Menu link — click it.
You'll land on the Menus page in Shopify admin. Select the Customer account main menu, then add a new menu item:
- Name: the label your customers will see in their account menu. "Lists" is the natural choice, but pick whatever fits your store's voice.
- Link: select the Lists page from the link picker.
Save the menu. The Lists entry will appear in your customers' account menu — next to Orders, Profile, and any other pages — the next time they sign in. The app's setup guide on the home page will detect the change automatically and tick step 1 once it does. You don't need to click anything in the app itself.
2. Review your settings
Open the Settings page from the app's left navigation. Just opening it is enough to tick step 3 of the setup guide — you don't need to save anything to mark the step done. The settings are grouped into five sections covering buyer experience, rep workflows, pricing, the optional storefront button, and customizable copy.
Customer account section
These settings control how lists appear in your customers' account area.
Show thumbnails (default on) — Product images appear next to each item in your customers' list views and search results. Turning this off creates a denser, text-only layout that may suit merchants whose customers know their products by SKU rather than by sight.
Show strikethrough on items (default off) — When an item has a compare-at price (typically a discount or promotion), display the original price alongside the active price with strikethrough formatting on the list itself. Off by default because strikethroughs add visual density that doesn't suit every catalog.
Show strikethrough in search (default off) — Same as above, but applies to the inline search panel where buyers add items to a list.
Rep Tools section
These settings control how your sales staff interacts with lists in the Shopify admin.
Show thumbnails (default on) — Same idea as the customer-account toggle: product images appear next to each item in the rep-side list views. Turning this off may suit reps who work primarily from SKU.
Picker mode (default: Product) — Controls how reps add items to a list:
- Product mode opens Shopify's standard product picker. Multi-variant products open a follow-up variant picker so reps can choose specific variants.
- Custom mode replaces the pop-up with an always-visible inline search panel on the list-detail page. Reps type to search and click a result to add it instantly.
Custom mode suits high-volume rep workflows where the friction of opening and closing the picker pop-up adds up across many items. Stick with Product mode if your reps are comfortable with the standard Shopify picker.
Pricing and visibility section
These settings control which products your customers can find in their search and how prices are calculated for the activity dashboard.
Picker visibility (default: Buyer catalog) — Controls what products show up when your customer searches from the customer account portal:
- Buyer catalog scopes results to the buyer's B2B catalog if they belong to a B2B Company, or to your Online Store if they're a direct customer. This matches what the buyer can purchase.
- Online Store skips B2B catalog scoping and always searches your Online Store-published products, regardless of buyer type.
Most merchants will want Buyer catalog — it keeps B2B-specific availability accurate.
Use B2B contextual pricing (default on) — When the app calculates the Total list value and Avg list value cards on the dashboard, this toggle controls whether company-owned lists use each Company's B2B catalog pricing (on) or your Online Store's default pricing (off). Turning it off can simplify dashboard interpretation if your B2B prices vary substantially from your default prices.
Active list window (default: 30 days) — Rolling window for what counts as an "active" list on the dashboard. Lists modified within this window are included in the activity counts; older untouched lists drop out until they're updated. Available options are 30, 60, and 90 days — pick what matches the cadence of your customers' list activity.
Storefront PDP picker section
The "Add to list" theme block adds a panel to your storefront product pages. From it, customers can pick an existing list (or create a new one on the spot), set a quantity, and add the product they're viewing to that list — without leaving the product page.
Enabled (default off) — When on, the panel becomes visible on the storefront product pages where you've added the block. When off, the block is hidden everywhere, even on pages where it's been placed in the theme — useful if you want to hide the picker temporarily without removing it from your theme. Combine this toggle with the theme placement covered in step 3 to actually surface the panel to buyers.
Customizing copy
Two locale editors are linked from the Settings page: one for customer-facing text (the buyer-visible strings across the customer account portal) and one for admin and Rep Tools text (everything your staff sees). Together they expose around 250 customizable phrases. Most merchants leave the defaults in place; see Customizing copy for details when you're ready to make adjustments.
3. Add the storefront "Add to list" button (optional)
The "Add to list" theme block puts a small panel on your storefront product pages so customers can add items to a list without leaving the page they're on. It's optional — skip this step if your workflow is rep-led and your customers stick to the customer account portal — but worth setting up if you want self-serve buyers to build lists while they browse.
Before you start, make sure the Storefront PDP picker toggle on the Settings page is on (covered in step 2). The toggle and the theme placement work together: the toggle controls visibility at the store level, and the theme placement controls where on the page the panel actually sits. With the toggle off, the block stays hidden everywhere — even on product pages where you've placed it in the theme editor — so you can pull it from view temporarily without touching the theme.
To place the block, open Shopify admin → Online Store → Themes and click Customize on your live theme. Switch the template at the top to Product, then click the section where you want the panel — typically the product information section, near "Add to cart". Click + Add block, scroll to the Apps group, and pick Add to list. Drag it into position, configure it using the settings described below, and save the theme.
To verify, sign into your storefront as a customer matching the block's visibility setting and open any product page. The panel should appear in the spot you placed it. If you don't see it, the most common cause is the storewide toggle still being off — flip it on in Settings and refresh the page.
Block settings reference
Each placement has its own settings, so the same block can look different on different product templates if you want. The settings are grouped into six panels in the theme editor.
Visibility gate (default: All buyers) — Controls who sees the block. Choose All buyers to show it to everyone (anonymous visitors see a sign-in prompt in place of the picker), Signed in only to hide it from anonymous visitors, or B2B only to restrict the panel to customers who belong to a B2B Company. Buyers who don't match see nothing at all — not a disabled state, no placeholder.
Labels — Every visible string on the block can be edited per placement: heading, submit button label, list selector label, quantity label, and the "Create new list" option text. Use these if your store's voice calls for different wording than the defaults. Status messages — errors, confirmations — are handled separately in the customer-account copy editor and are not block-specific.
Typography — Font family, font size, and body text color for the block's body text. The font picker uses Shopify's standard font library, so any font available to your theme is available here. Leave these alone to inherit from your theme.
Heading — Size, weight, and color for the block's heading text, independent of the Typography settings so you can make the heading stand out from the body.
Submit button — Background color, text color, font weight, border radius, and a shadow preset (None, Small, Medium, or Large). Use these to match your theme's primary-button style or to deliberately stand out.
Panel (Show background: default on) — A single toggle. With it off, the block renders without a frame and blends into the surrounding section — useful if your product page already provides visual containers and the framed look feels redundant.
4. Create your first list
Once you've finished steps 1 through 3, the last setup step is to create your first list — either as a rep building one on behalf of a customer, or by signing in as a customer yourself to walk through what your buyers will see. Creating any list ticks setup-guide step 4 automatically; you don't need to add items for the step to register.
From the admin (rep-led)
Open the app and click Companies in the left navigation. Search for the customer you want to build a list for and click into their company. At the top of the company page, click + New list, give it a name your reps will recognize later, and save. The new list opens to an empty detail view; from there, add items using whichever picker mode you chose in step 2. See Day-to-day: rep workflows for the full add-items walkthrough.
From the buyer side (customer-led)
A signed-in customer opens their account from the storefront and clicks Lists in their account menu. They click + New list, name it, and save. The list opens to an empty detail view with an inline search panel — they type to search and click any result to add it. If you've enabled the "Add to list" button on your product pages in step 3, customers can also create a list directly from any product page using the + New list… option in the picker, without needing to visit their account menu first.
Day-to-day: rep workflows
Rep workflows live in the Shopify admin under the Companies area. Reps manage lists on behalf of customers — creating, editing, and organizing — while the buyer side (covered next) is where those same customers view and update their own lists when signed in. Both sides operate on the same underlying lists, so a list a rep creates is visible to the customer's buyers, and any edits a buyer makes show up in the rep view.
Companies page
Open the app and click Companies in the left navigation. The page opens to a search field — start typing a customer's company name and Shopify's customer database returns matches in real time. Click any result to see that company's lists.
Per-company lists page
This page shows every list belonging to a single customer Company. Click + New list at the top to create one, name it, and save. Each list appears as a row with its name and item count; click into any row to open the detail view.
The three-dot menu on each row offers Rename and Delete — both open a small pop-up to confirm. Deleted lists are not recoverable, so confirm carefully.
List detail page
The detail view is where reps work with a single list. The header carries the list's name, the total value of all items at the currently selected location, and primary action buttons. Each item appears as a row with thumbnail (optional), product info, SKU, contextual price, quantity, and line total. Discontinued items remain visible in a greyed-out row with a Discontinued badge, so reps can see which products dropped out of the catalog rather than discovering them missing without warning.
Adding items. The add-items experience depends on the Picker mode setting (see Review your settings). In Product mode, click Add products at the top of the items area to open Shopify's standard product picker; pick one product, and if it has multiple variants, a follow-up variant picker opens so the rep can choose which one to add. In Custom mode, an inline search panel is always visible on the left side of the page — type to search, then click any result to add it instantly. Items already on the list show "(on list)" next to their name; clicking them again adds another unit to the existing quantity.
Location selector. When the customer Company has more than one Shopify Location, a location dropdown appears in the header — prices on the items below recalculate based on what you pick. The selection is remembered per rep and per company, so the next time the same rep opens this customer's lists the dropdown defaults to their last choice. Companies with a single Location show a static label instead of a dropdown.
Editing quantities. Type new values directly into the quantity input on any row. As soon as a value differs from the saved one, a Save changes button appears at the top of the page. Edits are batched — change as many rows as needed, then save once.
Removing items. Each row has a trash icon at the right end. Clicking it opens a small pop-up to confirm the removal.
Day-to-day: buyer workflows
Buyer workflows live in the customer account portal — the area customers reach by signing into your storefront. Customers see their own lists and any lists belonging to their B2B Company (if applicable), and can create, edit, and send a whole list to cart in one click.
Entry point
A signed-in customer opens their account from the storefront and finds Lists in the top menu, alongside Orders and Profile. The exact label depends on the menu item you set up in step 1; "Lists" is the default. Clicking it opens the list index.
List index page
The index page shows each of the customer's lists as a card with the list's name and item count. A + New list button at the top creates one — name it, save, and the empty list opens. Each card has its own menu offering Rename and Delete; both open a small pop-up to confirm. Deleted lists are not recoverable.
For B2B buyers, lists are shared across every buyer at the same Company — a list created by one buyer is visible to the others. For direct customers, lists are private to that customer.
List detail page
Clicking into a list shows its items: each row has a thumbnail (optional), product info, SKU, contextual price, quantity, and line total. The header carries the list's name, total value, and action buttons. Discontinued items remain visible in a greyed-out row with a Discontinued badge, so buyers can see what changed rather than finding their list silently shrunk.
Adding items. An inline search panel sits on the list detail page. Buyers type to search, then click any result to add it. Results are scoped to whatever the buyer can normally purchase: their B2B catalog if they belong to a Company, or your Online Store products otherwise. Items already on the list show "(on list)" next to their name; clicking them again bumps the quantity.
Editing quantities. Type new values directly into the quantity input on any row. When a value differs from the saved one, a Save changes button appears at the top of the page. Edits are batched — change as many rows as needed, then save once.
Removing items. A trash icon on each row removes the item, with a small pop-up to confirm.
Moving the list to cart. A primary Move to cart button at the top transfers every item on the list into a Shopify cart at the buyer's contextual prices, then opens checkout. Discontinued items are pruned automatically — the cart contains only what's still purchasable. If anything was pruned, a notification mentions how many items were skipped.
Adding items from product pages
If you've enabled the "Add to list" button in step 3, buyers see an "Add to list" panel on your storefront product pages — typically positioned near the "Add to cart" button. The panel lets buyers add the product they're viewing to a list without leaving the page.
Buyers pick an existing list from the dropdown or choose + New list… to create one on the spot. The quantity input defaults to 1; adjust before submitting if needed. If the product is already on the selected list, the dropdown shows "(on list)" next to that list's name; submitting again bumps the quantity by whatever value was entered, rather than overwriting.
The block's Visibility gate setting (configured per placement in the theme editor — see Block settings reference in step 3) controls who sees the panel: every visitor, signed-in customers only, or B2B Company members only. Buyers who don't match see nothing at all.
Customizing copy
Most merchants leave the app's default wording alone — it's written to read naturally for B2B contexts — but every visible phrase in the app is editable if your store's voice calls for something different. Two editors handle this, both linked from the Settings page: one for Customer account text (everything your buyers see in the customer account portal) and one for Admin & Rep Tools text (everything your staff sees in the Shopify admin). Together they cover roughly 250 phrases.
How customization is saved. Both editors take a sparse approach: only the phrases you explicitly edit are saved as your custom version. The phrases you leave alone fall through to the app's defaults — and when those defaults change in a future release, the new wording flows through to your store automatically. You don't have to maintain a full custom copy; just override the phrases that matter to you.
Filtering and resetting. Each editor has a Show modified text only filter at the top, useful for finding what you've changed without scrolling the full list. Each row also has a Reset to default button that restores the original wording for that one phrase while leaving your other customizations in place.
Placeholders. Some phrases contain placeholders like {{name}} or {{count}} — these are markers the app fills in with real values when the phrase is shown. When you customize a phrase that contains a placeholder, keep the placeholder in your version using the same {{name}} syntax, or the reader will see the literal {{name}} text instead of the real value substituted in. The editor warns you per row when a customization drops a placeholder.
What can't be customized. Action error messages and admin notifications about technical failures are intentionally not exposed in the editor — they're rare, English-only, and primarily diagnostic. If you encounter one, the troubleshooting section below covers the most common cases.
Activity dashboard
The app's home page includes an Activity section with five cards summarizing list activity across your store:
- Companies with lists — Count of distinct B2B Companies that have at least one active list.
- Lists — Total count of active lists across all customers.
- Total list value — Combined value of every active list, using each buyer's contextual pricing.
- Avg list value — Per-list average across all active lists.
- Modified in last 7 days — Count of lists with item edits in the last week.
How fresh is this? Three of the five cards — Companies with lists, Lists, and Modified in last 7 days — update live as buyers and reps make changes. The two value cards are heavier to calculate, so they're refreshed by a nightly background job that runs around 2am UTC. After your first install, the value cards remain blank until the first nightly run completes — usually within 24 hours.
What counts as "active". The Active list window setting on the Settings page controls how recently a list must have been edited to count toward these cards. The default is 30 days, with 60 and 90 also available. Lists untouched within the window drop out of the activity counts until they're updated again — useful if your customers leave older lists sitting around indefinitely and you'd rather focus the dashboard on recent activity.
How prices are calculated. Total list value and Avg list value use each buyer's contextual pricing — B2B catalog prices for company-owned lists, Online Store prices for customer-owned lists. The Use B2B contextual pricing setting (Settings page) lets you fall back to Online Store prices for company-owned lists too, which can simplify dashboard interpretation when B2B prices vary substantially from your defaults.
Troubleshooting
Buyers don't see "Lists" in their customer account menu. This usually means setup step 1 hasn't been completed yet — adding the Lists page to the Customer account main menu is what makes it visible. Follow the steps in 1. Add Lists to your customer account menu. The home page setup guide auto-ticks step 1 once the menu link is in place; if step 1 is already ticked but buyers still don't see Lists, have them sign out and back in to refresh their account menu.
The Activity dashboard's value cards show —. This is expected on a fresh install. The Total list value and Avg list value cards are calculated by a nightly background job that runs around 2am UTC, so they remain blank until the first run completes — usually within 24 hours. The other three cards update live and shouldn't show — once you have active lists.
The "Add to list" button isn't visible on product pages. Three things have to be true for the button to appear on the storefront: (a) the Storefront PDP picker toggle is on in Settings, (b) the block has been added to the product template in the theme editor as covered in step 3, and (c) the visitor matches the block's Visibility gate — a B2B-only block, for example, is hidden from anonymous visitors and direct customers. Check each in order; the toggle being off is the most common cause of an entirely hidden block.
Prices on the rep view differ from what the buyer sees. Rep view uses the location selected in the rep-side picker at the top of the list detail page. If the buyer's company location differs from the rep's selection, prices can differ. Switch the rep-side location dropdown to match the buyer's location and prices will recalculate.
A buyer's list is missing items. Items don't disappear silently — they're either deleted from your store entirely, archived, set to draft, or removed from the buyer's catalog. Items in any of these states remain on the list as greyed-out rows with a Discontinued badge, so the buyer can see what changed. If the row is gone entirely, the item was deleted from Shopify rather than archived; check the product's status in Shopify admin.
I uninstalled the app by accident. Reinstall within 48 hours and your data is intact. Shopify's compliance webhook fires 48 hours after uninstall — until then, your store's data stays put as a grace-period buffer. Reinstall after that window and you'll start fresh.
Data and privacy
Data isolation. Each merchant using Professional List Manager gets its own dedicated database — your lists, settings, and audit history are not stored alongside any other merchant's data, and there's no shared access between merchants.
What the app stores. The app stores:
- List names and the items on each list (variant IDs and quantities).
- An audit trail of who created or modified each list and item, with timestamps.
- Your merchant-configured settings (display toggles, copy customizations, picker mode, and so on).
What the app doesn't store. The app doesn't store product details (name, image, description), live prices, inventory, or any customer personal information beyond the customer's Shopify customer ID. Product details and prices are read live from Shopify on every request — which is why discontinued items show as "Discontinued" the moment a product is archived in your store.
GDPR webhooks. The app responds to all three of Shopify's required compliance webhooks:
- Customer data request. When Shopify forwards a customer data request, the app collects every piece of data associated with that customer and makes it available to you. You're responsible for forwarding it to the customer within Shopify's 30-day SLA.
- Customer redaction. When a customer requests deletion, the app removes lists owned by that customer and anonymizes audit references to them on any remaining lists. After this, the customer is no longer identifiable in the app's data.
- Shop redaction. Fires 48 hours after you uninstall the app. At that point, the app deletes your store's data entirely — lists, settings, audit history, everything. No manual cleanup is needed on your end.
48-hour grace period on uninstall. Shopify deliberately delays the shop redaction webhook by 48 hours so accidental uninstalls can be recovered. If you reinstall within that window, your data is intact and reappears as it was. After 48 hours, deletion is permanent.