Skip to main content
Furniture and home · Germany

Selling furniture on XXXLutz and Home24 from Odoo: available stock is not physical stock

In furniture the order takes weeks, two people deliver it by appointment, it sometimes includes assembly and a return does not fit on a parcel label. None of that fits Odoo's standard flow as it ships, and that is where these projects break.

Shipment prepared in Odoo with its delivery date and carrier

Selling a sofa is nothing like selling a phone case. The order takes weeks, two people deliver it by appointment, it sometimes includes assembly, and if the customer sends it back it does not fit on a parcel label. When that product goes onto a German home marketplace such as XXXLutz or Home24, the hard part is not the API: it is that furniture logistics does not fit Odoo's standard flow as it ships.

Available stock is not physical stock

This is the expensive one. On-hand quantity for a sofa may be eight while the publishable quantity is two. The other six are reserved for deliveries already booked with the customer, committed to an order shipping next week, or held pending a damage inspection. Publishing on-hand quantity means selling something that already has an owner, six times over. What you publish is available minus reserved minus committed, and in furniture you subtract a buffer on top: an out-of-stock cancellation here does not cost you a sale, it costs a scheduled delivery and a truck that leaves half empty.

Two people make the delivery, and it has an appointment

In parcel logistics, validating the delivery note and pushing the tracking number closes the order. In furniture it closes nothing. Between goods leaving and the customer having them there is a booked appointment, a floor, a lift that may not exist and a time window. The Odoo delivery needs two distinct dates — when it ships and when it is handed over — and a delivery status that comes from the carrier, not from whoever validates in the warehouse. If the marketplace expects the handover confirmation and you send the dispatch one, your service metrics flatter you until the first complaint lands.

Long lead times: the date you publish is a commitment

In furniture, six or eight weeks is normal and nobody blinks. What gets penalised is promising four and delivering in nine. That date is not typed into the listing by hand: it is the supplier's replenishment lead time plus your warehouse preparation time plus the carrier's next free slot. Odoo holds those three values separately, on the product, on the supplier record and on the route. The integration work is to add them up, publish the result and publish it again whenever any of the three changes, not once on the day the channel opens.

Assembly and services are not just another product line

Assembly, carry-to-room and old-furniture removal are sold in the same basket, but they are not goods. In Odoo they are service products: they consume no stock, never appear on the delivery note and are very often provided by a third party you have to buy them from. Set up as storable products, the delivery note asks the warehouse to pick an assembly and inventory goes negative. Done properly, the service margin stays visible separately from the furniture margin, which is exactly the figure you need in order to decide whether assembly is worth doing yourself.

Bulky returns break the standard process

A furniture return is not a customer sticking a label on a box. It is a collection with an appointment, two people, sometimes disassembly, and an inspection on arrival that decides whether the piece goes back to sellable stock, to outlet, or to disposal. In Odoo that is three chained steps: a return picking, an inspection location where the goods exist but are not sellable, and a final move that settles their fate. Skipping the intermediate location is the fastest way to make published stock lie again, because the sofa reappears as available before anyone has looked at it.

When you do not need an integration at all: with twenty references and five orders a month, the operator's back office plus half an hour of somebody's day does the job just as well and with no project attached. An integration pays for itself through volume or through expensive mistakes, not through enthusiasm.

Before writing code, ask what platform sits underneath

Many European home marketplaces expose no API of their own: they run on somebody else's platform. The answer to that question changes the whole project. If it is Mirakl or ChannelEngine, a published connector already exists and the work shrinks to mapping catalogue and logistics. If it is an in-house portal with file exchange, it is development. Do not assume: ask the operator for the technical documentation in writing before quoting anything, and check whether the channel shares stock with the others, which is the problem covered in real-time stock across several marketplaces.

What we have published and what we have not

Plainly: we have no published connector for XXXLutz or Home24. Those integrations are built to order against the operator's specific process, because no two furniture chains ask for the same thing. What is published and running on Odoo 17, 18 and 19 — and on Odoo 20 the day it ships — is Mirakl, ChannelEngine, ManoMano, Amazon and the rest of the catalogue. If the chain sends you the order and you ship it under their packing slip, the pattern is a different one and it is covered in retailer dropship.

Frequently asked questions

Can you sell on these marketplaces without an integration?

Yes, through the operator's back office and file uploads. That is reasonable while the catalogue is short and orders are few; it stops being reasonable the moment that stock is shared with another channel.

How is the published delivery date calculated?

Supplier lead time plus warehouse preparation plus the carrier's slot, republished whenever any of the three changes. The safety margin has to come from real history, not from optimism.

Can Odoo invoice assembly carried out by a third party?

Yes: a service product on the sale and a purchase from the installer linked to the same order. That keeps the service margin visible separately from the furniture margin.

Useful links inside FlexigoTech

Integrations built to orderWhen the operator has no published connectorMirakl connector for OdooThe platform underneath many European marketplacesReal-time stock across several marketplacesWhat to publish per channel without selling the same unit twice

Selling furniture and your published stock does not add up?

Tell us which marketplaces you are on, how many references you move and who handles the two-man delivery. We will tell you whether a published connector solves it, whether it needs development, or whether you need nothing at all. Write to comercial@flexigobe.com or book a call.

Talk to an engineer