Selling building materials, DIY goods and ironmongery online
Here the basket does not count items, it counts square metres, tonnes and rolls. Between what the buyer types and what actually leaves the yard sits a rounding to pack size that the CMS knows nothing about.
The selling unit is not the shipping unit
Tiles are bought by the square metre but leave in whole boxes. Insulation sells by the roll, sand and gravel by the tonne or by the bag. Between the wanted quantity and the shippable quantity there is therefore a rounding up to pack size: computed server-side, shown to the buyer before they confirm, and carried into the shipped weight that then drives the freight calculation.
The second essential tool is a quantity calculator built into the product page: area or run to cover, plus a percentage for offcuts and breakage, with the result pushed straight into the basket. Without it the buyer estimates in their head, orders too little, and the dispute lands on fitting day. With it, the basket reflects a site requirement rather than a hunch.
What has to be built beyond the catalogue
- Heavy freight: palletising the basket, tail-lift vehicles, booked delivery slots and unserved areas. A basket can exceed the payload of one pallet, in which case it must be split across several units charged separately.
- Regulatory documents: construction products covered by a harmonised standard fall under Regulation (EU) No 305/2011 and come with a declaration of performance and CE marking.
- On top of that sit technical data sheets, safety data sheets and environmental declarations, all attached to the reference rather than dropped by hand into a shared folder.
- Versioning of those documents: the right version must be served at the right moment, including for an order placed before an update, which means dating every file and keeping the history.
- Two customer types on one site: consumers inc-VAT, trade accounts ex-VAT with negotiated rates and site quotes. The two journeys sit badly together unless display and price are driven by customer group.
- Made-to-measure goods — joinery, cut worktops: a dimension-based configurator, no public price until a quote exists, and manufacture that falls outside the right to withdraw.
- Unit consistency across catalogue, stock and invoice: selling by the square metre while stocking and invoicing in boxes requires a conversion factor held on the reference, not recomputed case by case.
The order in which I tackle these
-
Set the units and the conversion factor
Every reference gets a selling unit, a shipping unit and the factor linking them. Rounding, weight, documents and stock all rest on those three values, and fixing them later means reworking orders already placed.
-
Make the rounding visible
Adding to basket applies the pack rounding and states it plainly: requested quantity, delivered quantity, difference. The buyer must understand why they pay more than they typed before confirming, not when the invoice arrives.
-
Wire the calculator into the basket
The calculator does not just display a figure: it pushes the rounded quantity into the basket along with the chosen allowance for offcuts. A decorative calculator the buyer has to copy by hand serves no purpose.
-
Build the palletising logic
The basket is split across load units by payload and bulk, each unit carries its own cost, and delivery options such as tail lift or booked slot are offered only where they genuinely exist.
-
Attach documentation to the reference
Each document becomes a dated, versioned resource linked to the product, served from the product page and recalled in the customer account. An order keeps a pointer to the version that applied to it.
Where to continue depending on what blocks you
-
Delivery and carriers
Configuring delivery methods when weight and bulk decide the real cost.
-
Pricing by customer group
The mechanism to master before a consumer journey and a trade journey share one catalogue.
-
Automated PDF quotes
A production release built around generating and sending quote documents automatically.
-
Custom development
What I build when no existing module covers the calculation, the configurator or the palletising you need.
Frequently asked questions
How do I sell by the square metre a product that ships in boxes?
Should the quantity calculator include an allowance for offcuts?
What happens when a basket exceeds one pallet?
Where should declarations of performance and safety sheets go?
Can consumers and trade accounts share one site?
How do I handle a cut-to-size product?
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.