Skip to main content

Beyond the Cart: How We Built a B2B Furniture Project Workflow in Drupal Commerce

Aug 19, 2026

We did not build another place to save products. We built one shared workspace that carries a furniture project from room planning to procurement.

A B2B furniture project rarely moves from a product page to checkout in one sitting. A proposal can live for weeks while rooms are planned, quantities change, materials are compared and several people join the decision.

The difficult part is not saving a list of products. It is keeping every room, quantity, finish, reservation and price reliable while the project keeps moving.

That was the challenge we solved for Factory.yllw.com, an established Nordic B2B furniture marketplace. We built a persistent Drupal Commerce workspace where a sales team can shape a real furnishing project without losing its connection to live product data.

Why the Cart Stopped Being Enough

A cart is organised around checkout. A furniture project is less linear: a sales representative may prepare several rooms, revisit quantities, compare options and wait for feedback before anyone is ready to proceed.

A wishlist still works well for a quick selection. It does not represent rooms, reservations or an ongoing conversation with the customer. The client needed a shared working space between product discovery and procurement, so we introduced a dedicated project workflow alongside the cart.

Furniture specialists collaborating on a room-based B2B project plan with reserved products

One Workspace for the Whole Furniture Project

The part we like most is how natural the workflow feels despite everything happening underneath. A project contains rooms, and each room contains the products being considered for that space. It follows the way a furnishing proposal is actually discussed.

From a product page, an eligible user can add an item to a project or add and reserve it in one step. The project carries the quantity, a comment and, when relevant, the chosen upholstery. A chair is no longer just a product in a list; it is the chair for the meeting room, in the selected fabric, with a reason and a place in the proposal.

Most importantly, the project does not become a disconnected copy of the catalogue. Drupal Commerce continues to provide the product, current price and availability. If the commercial context changes, the team does not have to rebuild the proposal from a spreadsheet or guess which version is current.

Our multilingual Clerk search integration helps customers find the right product; the project workflow keeps that product connected to the larger buying process.

Building Drupal Commerce around the way B2B teams actually work.

Reservation Is More Than a Button

Adding a product expresses interest. Reserving it holds an available quantity without turning the project into an order. The sales team can protect a proposal without forcing the customer into an early checkout.

Quantities can change after a reservation is made. A reservation can expire or be cancelled. A product already placed in a room can reach zero stock, become unpublished or disappear from the active catalogue.

The workspace preserves the reason behind the selection while reflecting current availability. Expired or cancelled reservations also release stock instead of leaving an artificially reduced quantity.

Collaboration Without Duplicating the Project

A sales representative may create the first selection, a colleague may refine it, and a customer may need to review the proposal.

We shared the same project instead of creating a copy for every participant. Collaborators work with the rooms and products already there, while the owner retains control over access. Everyone sees the current project.

The project can then be sent as a furnishing proposal, and customer feedback returns in the same context. The conversation stays beside the products and rooms it is about, while access remains private.

Where the Real Engineering Was

Adding rooms, buttons and forms was not the hardest part. Keeping several moving truths in agreement while the workflow felt simple was the real engineering.

  • Availability: reserved quantity, current stock and project quantity must describe the same situation.
  • Access: participants must see the current project without exposing it to somebody who no longer has permission.
  • Commercial context: prices, upholstery surcharges, currency, shipping and totals must stay consistent.

We tested complete customer scenarios. A quantity change was not finished when the form saved; reservations and totals also had to remain correct. An upholstery choice was not finished when the colour appeared; its price had to reach the room and project summary. This is where the implementation earns trust.

From the First Room Plan to Procurement

This is the result we are especially proud of. In one workspace, a sales representative can organise products by room, hold stock, invite a colleague, send the proposal to a customer and receive feedback. The project survives every handoff without becoming a second source of truth.

The selection can also continue into another workflow. In our Drupal Commerce PunchOut integration, a project list can become the source for a procurement handoff without being rebuilt.

No disconnected spreadsheets. No competing copies. No manual reconstruction of why a product was selected for a particular room.

The broader lesson is simple: a B2B platform should reflect the buying process instead of forcing every customer journey into a conventional checkout.

Frequently Asked Questions

Can Drupal Commerce support project-based purchasing instead of a standard cart?

Yes. Drupal Commerce can manage products, prices and availability while a custom project layer organises selections around rooms, participants and review. The cart remains available for straightforward orders instead of being overloaded with unrelated responsibilities.

How can products be reserved before checkout?

A reservation can hold an available quantity for a defined period without creating a completed order. The workflow must also handle quantity changes, cancellation and expiry so stock is returned when the reservation is no longer active.

Can several people collaborate on the same furniture project?

Yes. The owner can share one project so collaborators work with the same rooms and products. This avoids disconnected copies and keeps the latest selection visible to the people allowed to participate.

What happens when stock, price or product availability changes?

The project should preserve the selection context while reflecting the current catalogue state. Availability, reservations and totals are resolved from the current commercial context rather than a value captured when the item was first added.

A standard checkout is still the right destination for many purchases. But your platform should support how your team sells, not force the team to work around its data model.

If your buying process involves project lists, reservations, customer-specific rules or several participants, our custom Drupal development team can design the workflow around your platform. Tell us how your customers buy, and we will show you what Drupal Commerce can become when it follows the real buying process.

zanzarra logo
Enjoying the article?

Consider subscribing to our social media.

We much appreciate it.