Buy product variants at per-variant vendor prices
What this does
Variants let one product carry every colour, finish or size the factory buys — RAL 9016, RAL 7016, anodized — with per-variant vendor prices and codes. Buying them is ordinary purchasing with one discipline: the order line names the exact variant, and the pricelist decides whether a price applies to one variant or all of them.
Before you start
- Variants are enabled on WindoorERP databases; attributes and values are defined under Purchase › Configuration › Products › Attributes.
Steps

-
01
Open Purchase › Products › Product Variants to work at variant level — each variant shows its own code, cost and stock.
-
02
Price the variants on the vendor pricelist: a row with the Product Variant column empty applies to every variant; set the column to price one variant alone — the vendor's own code for that finish goes in Vendor Product Code.
-
03
On an RFQ, add each variant as its own line — the attribute values ride along in the line description, and the pricing picks only rows matching that variant or rows left blank.
-
04
Use the line grid's Catalog to browse purchasable products with on-hand, forecast and a suggested quantity per card when filling a bigger order.
What to know before relying on it
- There is no grid entry on WindoorERP: a matrix popup for ordering many variants at once is an optional module that is not installed. Variants are one order line each.
- A variant-specific pricelist row beats nothing — it simply is the only row that matches that variant besides the blank ones; between candidates, the cheapest after discount still wins.
- Costs are per variant: check the variant, not the template, when judging a price offer.
- Attributes marked "no variant" do not create variants but still print their chosen value on the order line.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| The order line ignored the variant's special price | The row's minimum quantity or validity dates did not match, or the row was written on the wrong variant. Check the row with the Product Variant column visible. |
| Two variants ordered as one line | They are different products to the system — the second variant needs its own line; there is no combining matrix. |
| The Variants menu is missing | The variants feature was switched off in Purchase settings; with it off, only templates exist. |
Common mistakes
- Pricing only the template row and wondering why one expensive finish sells at the generic price — the blank-variant row applies to all variants, including that one.
- Encoding colour into the product name instead of an attribute, which forks stock and pricing history across duplicates.
Was this article helpful?
Thanks — your feedback helps.
Running a window or door factory?
Ask for a demo