BlogSpecial orders7 min read

A vendor catalog from spreadsheet to iPad and website

Turn a price book into reusable product templates, then check the same fabric and finish choices on the sales floor and online.

The OrderPilot team·

Chip sorts fabric samples from a broad library step beside a full-size cutting table, viewed from above.

Atelier Nord's price book arrives as a spreadsheet: 14 frames, three lengths each, 62 fabrics across five grades, and four leg finishes. In this illustrative catalog, length × fabric × legs already produces 744 combinations per frame. The grade belongs to the fabric; counting it again as an independent choice would inflate the catalog before anyone had sold a sofa.

The useful job is to structure that price book once, validate it, and give the sales floor and website the same choices. OrderPilot imports product templates and options from CSV, supports reusable bundles, and syncs active templates to Shopify. The afternoon goes better when it begins with a clean sample, not the entire workbook and crossed fingers.

Make one frame the unit of the catalog

A product template represents a configurable frame, such as the Madison sofa. Length, upholstery, arm, and leg finish belong beneath that template as options. A fabric value can carry its own price, cost, and lead time; staff should not need to recreate a complete product for every customer's selection.

Shopify's variant documentation describes a variant as a combination of option values. That model is useful for stocked combinations. A furniture price book also needs shared fabric lists, permitted combinations, and configuration-specific commercial details. Start with those needs instead of making the workbook imitate a stock list.

Use stable handles to identify templates and options. Handles are how the importer matches rows when the next file arrives. A marketing title can improve without making the product a stranger to its own price history. Keep the vendor's identifiers alongside readable labels so purchasing can recognize what the showroom sells.

Prepare a sample before importing the whole book

Begin with the import format and a representative frame. Include ordinary upholstery, an upgrade fabric, and a choice restricted by another selection. The sample should exercise the actual pricing and rules, not merely prove that a plain sofa title can be uploaded.

Price and cost can be imported in the same file. Keep them in their own fields, with a named person responsible for each interpretation. A wholesale column accidentally used as the selling price is not a discount strategy. Also distinguish a base price from an option's contribution: adding the full sofa price again for a fabric selection would produce a very exclusive sofa.

For the sample Madison, say the base selling price is $2,400, the longer frame adds $300, and the selected fabric adds $200. The expected configured price is $2,900 before other order charges. Write down that expected result, along with the corresponding cost, before loading the sample. It gives the review a concrete answer to compare.

The vendor price-book import guide covers preparation in more detail. The test is whether another person could tell which fields mean product identity, configuration, selling price, and cost without asking the spreadsheet's author.

Let validation identify the rows that need work

OrderPilot validates the CSV before applying it and presents row-level errors. Resolve those errors in the source file, then validate again. If a row refers to a grade or value that is not allowed, fixing the shared definition is better than repeatedly changing unrelated cells until the warning disappears. Apply the reviewed import, then export the result for comparison. Check the representative frame first: expected options, allowed values, defaults, prices, costs, and vendor. Expand the review to the whole catalog once that sample is sound. A successful import confirms the file was accepted; it does not confirm that the vendor meant a price to include the upgrade cushion.

Yes, you can export the existing catalog, edit it in a spreadsheet, and re-import. Preserve the identifying handles and keep a copy of the starting export. That gives the next update a known starting point and makes unexplained changes easier to isolate.

Share the fabric list without erasing frame differences

A reusable bundle holds choices that several templates share. The sample fabric list can serve all the frames while each template controls the values it offers and its defaults. Use the bundle's contribution settings deliberately: a template can follow shared changes or retain a fixed contribution where that is the intended setup. Shared maintenance works best with consistent names. “Natural oak,” “Oak natural,” and “Nat. oak” should not become separate choices simply because different staff entered them. Preserve distinctions that matter to the vendor, though: two finishes with similar customer labels can still be different finishes. See multi-vendor option naming for a workable naming approach.

The reusable option-bundle guide explains that balance between shared choices and frame-specific control. A bundle saves repetition; it does not replace deciding what each frame can actually be made in.

Make impossible combinations disappear

Required choices and “shown when” rules help the salesperson build a valid configuration. In the sample collection, the 108-inch length might be offered only with the track arm, while a particular velvet is excluded from another frame. Treat these as vendor-specific rules, not universal furniture rules. Test both sides of each rule. Select the combination that should work, then deliberately select the one that should not. Change a controlling option after choosing its dependent value. This is where an attractive option list becomes a useful selling tool: the next choice remains understandable when the customer changes their mind.

Lead time belongs with the option that creates it. A slower fabric can extend the expected wait even when the frame itself is routinely available. OrderPilot shows lead time on the template page, the Admin order line, and the online block when enabled; it does not print it on the quote or PO or display it on POS. Staff can use the Admin record to explain the expected wait accurately.

Organize and activate the reviewed templates

Use categories and vendors to make the catalog navigable, with appropriate Shopify tags and collections for merchandising. Pin frequently used templates so the floor can find them quickly. Review the template page as a salesperson would: the image, name, options, and selling setup should describe the same piece. Draft templates do not write products to Shopify through catalog sync. Keep unfinished templates in draft while the definitions are being checked. Activating a template is a deliberate handoff to the channels where staff and customers will encounter it; online visibility also depends on the chosen online mode and store setup.

An active template syncs to a Shopify product, with separate products for tracked options where used. The Products tab shows sync badges, a Needs sync tab, and retry controls. Review failures before telling the floor a collection is ready. Catalog sync and configuration stock explains how that structure connects to stocked configurations.

Compare the iPad with the customer's product page

Build the same Madison configuration in Shopify POS and on the website. The POS grid or searchable list should present the correct choices; supplier costs stay off the register. On the website, choose the intended mode and look, hide staff-only options, and enable the lead-time display if the store wants customers to see it. Use the quote-request path to carry the configured piece into the sales conversation. Check the resulting request as well as the product page: the choices that looked right online must arrive intact for staff. That is the catalog's connection to the complete sofa workflow.

Give the next price book the same review

For the next update, export, revise the matched rows, validate, apply, and repeat the sample checks. Saved quotes keep their frozen prices; updating template prices does not silently reprice them or flag a price difference. Review any quote being revived against the commercial offer you intend to make.

Retiring a fabric is a different change from repricing it. A draft configuration holding a choice no longer offered can require a re-pick before creation. Give the sales team the replacement information and a way to discuss it with the customer. The finished catalog should leave everyone working from the same offered choices, with the earlier agreed sale still understandable.

Sources

  1. Adding variants — Shopify Help Center. Variant combinations and product-option structure.

Give your team the tools they deserve

See what changes when every custom order lives in one place, from the showroom floor to your customer’s front door.