Available for projects & agency overflow · Quick reply, from the person who does the work

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.

Describe my issue Send a message

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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

Frequently asked questions

How do I sell by the square metre a product that ships in boxes?
By storing on the reference the area one box covers, then rounding up to the next box when the item is added to the basket. The displayed price stays per square metre so it remains comparable, but the order line carries a box count and a real weight.
Should the quantity calculator include an allowance for offcuts?
Yes, and the buyer should be able to change it, with a default that depends on the laying pattern. A straight lay and a diagonal lay do not waste the same amount, and forcing one value produces either waste or a shortfall at the end of the job.
What happens when a basket exceeds one pallet?
It gets split across several load units when freight is calculated, with each unit charged. The rule has to be explained in the summary, otherwise the amount looks arbitrary and the basket is abandoned.
Where should declarations of performance and safety sheets go?
On the product page, in a document block tied to the reference, and repeated in the customer account after the order. Each file carries its date and version, and history is kept for orders placed before an update.
Can consumers and trade accounts share one site?
Yes, provided ex-VAT or inc-VAT display, rates and range visibility are driven by customer group. The delicate moment is a visitor logging into a trade account: amounts must change without the basket being lost.
How do I handle a cut-to-size product?
Through a dimension-based configurator that produces a quote request rather than an instant price, and a clear statement that goods made to the buyer’s specification carry no right of withdrawal. That statement belongs in checkout, where it is read.

Describe your need in one minute

A few targeted questions so I can reply with an estimate rather than another questionnaire.

type
existant
stack (facultatif)
utilisateurs (facultatif)
echeance (facultatif)
Please provide an email or a phone number so I can get back to you.

Please provide an email or a phone number so I can get back to you.