Product Data for Upholstered Furniture: Cover, Color and Dimension as a Configuration

One sofa, thousands of buildable variants — and the data lives in a PDF price list. Why cover, color and dimension belong in linked attributes, not thousands of flat articles.

Jakob Feinböck, ProductbayJuly 4, 20267 min read
☝️Key takeaways
  • A single upholstered model is rarely one product — it's a matrix of cover, color, dimension and module that can reach thousands of buildable variants.
  • The supplier data almost always arrives as a PDF price list: cover groups, dimension tables and price-group surcharges, all unstructured.
  • Flattening every combination into its own article is unmaintainable — the answer is linked attributes on one product.
  • Productbay reads the PDF, structures the configuration as linked attributes, and publishes the whole family from one source of truth.

A corner sofa in a showroom looks like one product. In your data, it isn't. It is a cover collection with forty fabric qualities, each in a dozen colors, across three or four seat depths, in a left- or right-facing module layout, with a price-group surcharge that changes per fabric. Multiply that out and a single model is not one article — it is thousands of buildable combinations. Upholstered furniture is the most configurable corner of the furniture assortment, and its data behaves accordingly.

Product data for upholstered furniture is a configuration, not a catalog of finished articles. Cover, color, dimension and module are options that combine — and the moment you treat each combination as its own flat product, the range becomes unmaintainable. This is a sub-segment of the broader furniture-retail data challenge, and it is the one where the configuration and delivery-format problem bites hardest.

Why is a single upholstered model thousands of variants?

The variant explosion in upholstery comes from stacking independent option dimensions, each of which multiplies the last:

  • Cover material: a fabric collection can hold dozens of qualities — flat weave, chenille, bouclé, leather grades — grouped into price groups.
  • Color: each cover quality then comes in a range of colors, often another dozen.
  • Dimension: seat depth, width, module length — a configurable range offers several sizes, not one.
  • Module and orientation: corner, chaise, left- or right-facing, add-on elements that connect into a program.
  • Price group: the price isn't one number — it's a matrix keyed on cover group and dimension.

Each dimension is small on its own. Multiplied together they produce thousands of buildable combinations from one model — which is exactly why you must not store them as thousands of separate articles.

Why does the data arrive as a PDF price list?

Upholstery manufacturers describe their range the way it is sold: as a price list. A cover-group table, a dimension table and a price-group matrix express the whole configurable family on a handful of printed pages — far more compactly than a machine feed with one row per combination ever could. So the master data lands on your desk as a PDF, sometimes hundreds of pages, occasionally an Excel that is really a printed layout in disguise.

The problem is that a PDF is unstructured. The configuration logic is there — cover groups, dimensions, surcharges — but it is trapped in a layout meant for human eyes:

  • Cover collections and their price-group assignment sit in one table.
  • Dimensions and base prices sit in another, often on another page.
  • Surcharges for special fabrics, functions or modules sit in footnotes.

Reading all of that back out by hand — and re-doing it every time a collection changes — is the real cost. The fix is to extract the structure out of the PDF once, into machine-readable attributes.

Which data model works — flat articles or linked attributes?

There are two ways to represent a configurable sofa, and only one of them scales. Flattening means one article per buildable combination; linking means one product with cover, color and dimension as connected attributes.

AspectFlat articles (one per combination)Linked attributes (one configurable product)
Record countThousands per modelOne product plus its option lists
Price-group changeEdit thousands of rowsChange the group once, all combinations update
New color in a collectionCreate hundreds of new articlesAdd one option value
Shop / configuratorUnusable variant listClean option pickers
MaintainabilityBreaks at the first updateScales with the range

The linked model is the whole point. Cover, color and dimension become option lists attached to one product, and the price is derived from the cover group and dimension rather than stored a thousand times. Change a collection once and every combination follows.

How does Productbay help with upholstered furniture?

Productbay runs the same three-step job the rest of the furniture range needs — but tuned for the configuration and PDF reality of upholstery:

  • Read the PDF: AI parses cover-group tables, dimension tables and price-group surcharges straight out of the PDF price list, so the configuration logic no longer has to be typed in by hand.
  • Structure as linked attributes: cover, color, dimension and module become connected option lists on one configurable product — not thousands of flat rows — with price derived from cover group and dimension.
  • Enrich and publish: AI fills descriptions, care and material fields, translates via DeepL, and syncs to Shopify and Shopware and ERP systems like Xentral or weclapp — with a review step before anything goes live.

The result is a single upholstery family maintained from one source of truth: change a cover collection, and every channel updates. For the rest of the assortment — case goods, dining, lighting — see the furniture-retail overview. Productbay is built for specialist retailers running multi-supplier, multi-channel catalogs, powered by its PIM core.

Frequently Asked Questions

Let's look at your product data process

Cover groups, dimension tables, price-group surcharges — all locked in a PDF. See how Productbay reads it, turns it into a linked configuration and publishes the whole upholstery family in a 30-minute walkthrough.

Get started