---
title: "Buyer portal vs customer account"
description: "How QuotWay routes buyers to the in-account extension or the hosted buyer portal based on your store's customer-account type - never your plan."
url: "https://www.quotway.com/docs/buyer-experience/portal-vs-customer-account"
type: "documentation"
category: "buyer-experience"
updated: "2026-09-22"
locale: "en"
source: "QuotWay - B2B Quote & Negotiation App for Shopify"
---

# Buyer portal vs customer account

**Read time:** 4 minutes.
**Who it's for:** Merchants understanding which buyer-facing
experience QuotWay routes their customers to, and why.

QuotWay supports two buyer-side experiences. Which one a buyer lands
on depends on two things: whether your store runs Shopify's current
customer accounts, and whether the buyer is signed in to one. Legacy
customer accounts were deprecated by Shopify on 26 February 2026 (a
sunset date is still to be announced) and were never usable for B2B;
a store still on them gets the hosted portal for every buyer until it
switches.

You don't pick one - QuotWay auto-detects at install + routes
accordingly.

---

> Watch: add a "My Quotes" page to Shopify customer accounts.

## The two paths

### Customer Account UI extension

- **Where it lives:** Inside your buyer's existing Shopify Customer
  Account (`shopify.com/account` or your store's account subdomain).
- **Authentication:** Shopify's own - the buyer is already logged in
  when they see the QuotWay UI.
- **Pros:** Native feel. No extra login. Single source of truth for
  the buyer's order history + quotes.
- **Cons:** Bundle-size constrained (Shopify caps an extension at 64 KB,
  128 KB for a full-page extension). Locked into Shopify's CA UI design tokens.

### Hosted fallback portal

- **Where it lives:** `portal.quotway.com/<your-shop>/<token>` - a
  QuotWay-hosted page.
- **Authentication:** Magic-link emails. The buyer gets a link in
  their inbox, clicks it, lands on the portal.
- **Pros:** Works for guests, for buyers without an account and for
  stores still on legacy accounts. No CA-extension bundle limit. We can
  ship a richer UI.
- **Cons:** Buyer has to leave your store. Magic links can hit spam
  filters. No persistent "log in" - every session is a new
  magic-link round.

## Quote history in customer accounts

Signed-in buyers get a full **My quotes** page inside their Shopify customer account, plus a **View my quotes** entry on the Orders page so they can find it from where they already are.

From there a buyer can see **their whole quote history** - open, accepted, declined and expired - and act on anything still live: accept, counter, decline, message you in the quote thread, and action any buyer-side approval step assigned to them. All of it without leaving their account or needing a separate login.

Buyers without an account, including guests who requested a quote without signing up, get the same capabilities through an emailed magic-link portal. The difference is where it lives, not what they can do.

## Which one does my store use?

| Your Customer Accounts | QuotWay routes to       |
| ---------------------- | ----------------------- |
| Current customer accounts | Customer Account UI extension (signed-in buyers); hosted portal for guests |
| Legacy (deprecated 26 Feb 2026) | Hosted portal for every buyer |

You can check which one is active on your store at **Shopify Admin
→ Settings → Customer accounts**. If you see "Customer accounts"
as the option (not "Classic customer accounts"), you're on new CA
and get the extension.

QuotWay also surfaces this on the **Activation status** panel:

- ✓ **Customer Accounts V2** - you're on new CA.
- ⚠ **Customer Accounts V2: Legacy** - you're on classic; portal
  active.

## Why both?

Legacy accounts are on their way out, but guests are not: on every
store some buyers request a quote without an account, and a signed-in
buyer's proposal can only open inside the account when the store runs
current customer accounts. The hosted portal covers everyone the
account cannot reach.

QuotWay was built to work for both, day one. The hosted portal
isn't a "legacy fallback" - it's a first-class path with the same
feature set:

- Proposal review
- Per-line accept / counter
- Multi-currency display
- File attachment download
- Approval chain status (for multi-step approvals)
- Acceptance + decline flows

The new Customer Accounts path uses the same backend; only the
client UI differs.

## Switching to current customer accounts

If you migrate from classic to new Customer Accounts mid-flight:

1. Toggle in **Shopify Admin → Settings → Customer accounts**.
2. Return to QuotWay → **Settings → Activation → Re-check**. QuotWay
   re-reads `customerAccountsV2 = true` and starts routing buyers
   to the CA UI extension on their next quote.

Active quotes mid-negotiation stay on whichever path they started
- buyers don't get cut off mid-thread. New quotes after the
re-check use the new path.

## What the buyer sees end-to-end

**Customer Account UI extension path:**

1. Buyer requests a quote on your storefront.
2. Buyer gets an email when the merchant sends a proposal: "Your
   QuotWay quote #1234 is ready. Sign in to review."
3. Buyer clicks "Sign in" → lands on their Shopify Customer
   Account.
4. QuotWay tile appears in their account nav: "QuotWay quotes
   (1)".
5. Buyer reviews + accepts or counters from inside the account.

**Hosted portal path:**

1. Buyer requests a quote on your storefront.
2. Buyer gets an email when the merchant sends a proposal:
   "Review your quote #1234". Email contains a magic link.
3. Buyer clicks → lands on `portal.quotway.com/<your-shop>/<token>`.
4. The portal renders the quote with your branding (logo + brand
   color from Settings → Hosted portal branding).
5. Buyer reviews + accepts or counters in the portal.

Both paths log every action to the same quote audit log. The
merchant sees one inbox - no idea (and no need to know) which
path the buyer used.

## Branding both surfaces

- **CA UI extension:** uses Shopify's Polaris design tokens. Your
  branding is the Shopify Customer Account chrome - you don't
  override it.
- **Hosted portal:** customizable. **Settings → Hosted portal
  branding** lets you upload a logo + set the primary brand
  color. Visible on every portal page.

If you want a consistent look across both paths, use the same
branding values in Hosted portal branding as your storefront uses
for primary CTAs. The QuotWay default is Navy 900 `#1B3A5C` from
the brand guide.

---

## Common gotchas

- **Buyer says "I can't find QuotWay in my Customer Account".** Check
  if your store is on new CA (`Customer Accounts V2 = true` in
  Activation status). If not, they're on the hosted portal -
  search their inbox for the magic-link email.
- **Magic links go to spam.** Add `notifications@quotway.com`
  (or your custom toSend sender) to the buyer's contacts. Also
  configure SPF + DKIM on your sending domain via toSend's
  setup.

---

## Related articles

- [What buyers see](./what-buyers-see.md) - the full buyer-side walkthrough across both surfaces.
- [Troubleshooting common issues](../troubleshooting/common-issues.md) - when neither path
  shows the quote.
- [Plans, trial, and billing](../billing/plans-trial-and-billing.md) - what each plan
  includes (the buyer experience ships on every plan).
