Not every made-to-order sale is self-serve. These tools (Pro plan) cover showroom, phone and trade sales.
Quotes & pay-by-link
Any configuration can become a quote: a Shopify draft order with the exact configured details and price, and an invoice link the customer can pay directly.
Typical flow: a customer calls or visits, you configure the product with them (or they send you a shared link), you send the quote, they pay from the emailed link — it lands as a normal Shopify order with all the specs attached.
The draft-order builder
The Draft orders page in the app is your assisted-selling desk. Pick a connected product, configure it with the exact same configurator shoppers use (live price included), click Add to draft, and repeat — mixing products freely. Set quantities, then send it one of two ways:
- Invoice link — a real Shopify draft order. Prices are locked at what you configured; the customer opens the link and pays. Best for agreed quotes.
- Editable cart link — the same items land in the customer's own cart, priced at your current rules, and they can edit any line (the cart's edit popup), adjust, and check out themselves. Best for "here's a starting point" conversations.

The link appears right under the buttons when it is ready — copy it from there. Draft orders also land in Shopify under Orders → Drafts (not the main Orders list, which is why they can look missing).
Rebuilding a past order
A customer who ordered forty made-to-measure blinds last spring wants the same
forty again — with one of them 5cm wider. Type the order number into Or
rebuild a past order (the order name, like #1001, or its id) and click
Load its items.
Its lines are listed for you to pick from, each showing what was actually chosen — width, fabric, control side — so two otherwise identical lines can be told apart. Everything starts ticked, since the whole order is the usual case; untick what the customer does not want this time, or Select none and pick the four they are replacing. Nothing reaches the basket until you click Add.
What you add comes in as rows you can re-configure, re-quantify or remove before anything is sent, and it is added to whatever is already in the basket rather than replacing it — so you can pull two past orders together if that is what the customer is asking for.
Prices are today's, not last spring's. The lines are re-priced under your current rules, so a reorder never commits you to a figure you set a year ago. If the customer is expecting the old total, that difference is worth mentioning before you send.
Some lines may not come back. If a product has since been disconnected, or an answer is no longer one of the available choices — a fabric you have discontinued — that line cannot be rebuilt, and the builder tells you which ones and why. The rest still load. Configure the missing ones again by hand if the customer still wants them.
Saving a draft, and correcting it later
Saving keeps the basket under a name you choose — "Mrs Patel — bay window" beats "#D14". It saves the items, the note, the customer email and the expiry, and sends nothing.
There is no Save button to hunt for. As soon as anything is unsaved, Shopify's own Unsaved changes bar appears at the top of the admin, with Save and Discard — the same bar an option set uses. It stays there while you work elsewhere on the page, so a basket is never quietly unsaved, and it stops you leaving with a quote you have not kept: navigating away, closing the tab or pressing Open on a different draft all ask first.
Name the draft before saving if you want it findable. Saved without a name it is called Untitled draft, and the name box is filled in to match so you can see what it ended up as.
Reopen it from Saved drafts at the top of the page. Edit on any line reopens the configurator with that line's answers already filled in, so a 5cm change is a change rather than configuring a dozen options again.
Once you have sent it, sending again updates the same Shopify draft order. The link the customer already has keeps working and starts showing the corrected items — you are not asking them to ignore the old one. The button says Update the draft order when that is what it will do.
Two things it will not do. A quote the customer has already paid cannot be changed, and you will be told so rather than left wondering — create a new one for the difference. And deleting a saved draft leaves the Shopify draft order alone: it forgets your working copy, it does not cancel their quote.
Saved drafts are shared across everyone on the shop, so whoever picks up the phone can find them. Prices are not stored — they are recomputed when you send, so reopening a month-old draft quotes today's prices rather than accidentally honouring last month's.
The total
The total under the items is worked out by the same code that will charge for the order, so it is the figure the invoice will ask for rather than an approximation — before tax and shipping, which Shopify adds by its own rules.
That matters most when a price depends on how many. If your rules give a volume break, ten of something is not ten times the price of one, and each line shows both: the line total, and the unit price underneath it once the quantity is above one. It updates a moment after any change that can move a price — a different answer, a new measurement, a changed quantity — and says it is working while it does, rather than leaving the previous figure on screen.
A line the rules refuse shows its reason in red and is left out of the total. Sending will stop on the same reason, so it is better to see it while you are looking at the line than at the end of building a quote.
Duplicating and expiry
Duplicate copies a saved draft for a different customer. The copy does not inherit the Shopify draft order, the email, or the expiry: it is a new quote for a new conversation, and carrying the link over would mean editing the copy silently rewrote the first customer's invoice.
Price holds until records the day a quote stops standing. Saved drafts show Holds until while it is good and Expired after, so nobody has to work out from a date whether a two-month-old quote is still honourable. Leave it blank for no expiry.
The note on the order
Note on the order goes onto the draft order in Shopify, where your staff see it — the customer never does. Use it for the thing that is not in the line items: which showroom took it, who to call back, what was agreed.
Set the wording you use most under Settings → Orders and links → Default note on draft orders and it pre-fills every draft, ready to edit. Clear the field on a draft to send no note at all.
Prices in both paths are recomputed and signed server-side when you create the link — the builder's running total is an estimate of exactly that.
Share links
Shoppers can save and share configurations:
- Save keeps a configuration for later (works for anonymous shoppers too — it's remembered in their browser).
- Share creates a link. The recipient sees the exact configuration, can tweak it, and can buy.
If your prices changed since the link was created, the recipient sees the current price with a small "price updated" notice — you'll never accidentally honor an outdated price.
Share a whole cart
Enable "Share this cart" on the app embed (theme editor → App embeds) and a share button appears on the cart page — its text and colors are yours to set. Clicking it generates a link the shopper can copy and text or email; whoever opens it gets a copy of that exact cart rebuilt in their own browser — configured items are re-priced and re-signed at your current rates, so shared links can never smuggle in stale prices. Great for "can you order this for me?" moments, gift lists, and trade reps building carts for clients.
Saving and sharing a cart
Save this cart and Share this cart live on the cart page and in the cart drawer. Set them up under Settings → Cart buttons — the wording, the colours, the placement and whether each one appears at all.

Sharing also saves. Someone who sent their configuration to whoever is paying wants it back at least as much as someone who pressed Save, and before this a shared cart existed only as a link in somebody else's clipboard — invisible to the shopper and to you. Both buttons now record the cart.
What still differs is the link. Only Save marks it as the shopper's own, so a recipient opening a shared link gets the cart without it landing in their saved list — they wanted the cart, not a new entry in their list.
Signed in, a saved cart appears under their saved carts on any device. Signed out, it is still recorded for you, and the link is their way back to it — which is what the dialog says, rather than promising an account they do not have.

Opening a saved or shared link
If the shopper's cart is empty, the link loads straight in.
If they already have something in their cart, they are asked once:

Replace empties the cart first, then rebuilds. Add keeps what was there. Cancel changes nothing and leaves the link usable, so they can come back to it.
This exists because loading a link used to always add — so reopening your own saved link, or opening it on the device you saved it from, gave you every line twice, priced and ready to check out, with nothing on screen saying so.
Finding one again
Every saved cart lands on Saved carts in the app, with what the shopper chose, what they were quoted at the time, and the link that rebuilds it.
Once there are more than a screenful, the filters are the point:
What they answered is the precise one. Pick an option, pick an answer, and only carts that gave that answer to that question come back. Add another pair and a cart has to match both. The options and answers offered are the ones your shoppers have actually used, so you are choosing rather than guessing at spelling.
Leave the answer blank to ask "did they answer this at all?" — which is how you find every quote that specified a Divider Rail, whatever they chose.
What they chose is the loose one: it searches the option names, the answers and the product titles across every line, and several words must all match. Useful when you half-remember something, but it cannot tell which option a word came from —
master whitealso finds a cart whose Room is Master and whose Colour is Beige, as long as "white" appears somewhere else on it. When that matters, use the pair filter above.Cart total from / up to narrows by what they were quoted.
They combine. "Anything over £2,000 with blackout fabric" is two fields.
How many are kept
Saved carts are shoppers' personal data, so the app does not keep them indefinitely:
- The shop keeps a fixed number of its most recently opened carts — 500 on Starter and Pro, 1,000 on Advanced. As newer ones arrive, the ones nobody has opened in longest drop off. The Saved carts page states your own number.
- Everything is deleted twelve months after it was last opened. Opening a cart restarts that clock, so a lead you are still working is never on it.
Keep this cart on any cart exempts it from the 500 — it will not be crowded out by newer ones, however many arrive.
If your shop genuinely needs to hold more than its plan allows — a showroom taking hundreds of configurations a week, say — contact support and we can raise it for you. It is a deliberate exception rather than a setting, because the number is what stops the table growing without bound.
It does not exempt it from the twelve months. That window is what your privacy policy tells your shoppers and what Shopify's protected-customer-data review was told, and a checkbox in an app is not a reason to keep somebody's data longer. If you need a configuration for good, open it and place the order, or copy the details somewhere that is yours.
Emailing the link
Email me the link — or anyone else the shopper names — is off until you have built the Shopify Flow that sends it. The app does not send the mail: it hands Flow an event and your own workflow sends it, so the wording and the sending domain belong to your shop. Shopify accepts a trigger with no workflow behind it and silently drops it, which is why the button stays hidden until you say the Flow exists.
The field is not pre-filled even for a signed-in shopper: "send it to my wife" is at least as common as "send it to me".
Customer groups
Groups give different customers different treatment, keyed off Shopify customer tags (which you already manage in Shopify admin):
- In Customer groups, create a group — e.g. "Wholesale" tied to the tag
wholesale. - In the template editor, options and choices can be visible only to certain groups, and choices can carry group-specific prices.
A logged-in customer tagged wholesale then sees the trade catalog at trade prices; everyone else sees retail. Same configurator, same template — no duplicate products.
What shows up on orders
However the sale happens — self-serve, quote or shared link — the order carries the human-readable configuration on the line item, and the full technical spec is stored in the app. See How checkout & orders work.
