All white papers
RevOps HQ Case Study · No. C6 Commercial Strategy

Splitting B2B leasing from D2C in one HubSpot Commerce portal

A hardware company ran high-touch institutional leases and a transactional web store in the same HubSpot portal. The two motions collided — blank invoices, orders multiplied by lease term. The fix was separating them, not restarting.

Abstract

A hardware company leases devices to institutions on multi-year contracts and also sells prepackaged kits through a direct-to-consumer web store — two fundamentally different revenue motions running through one HubSpot portal on Commerce Hub. The tool bent the wrong way: invoices generated blank, e-commerce orders duplicated by lease term and shipped the wrong quantities, and web-only products leaked into institutional quotes. This is a first-principles account of separating transactional and contractual sales in the same portal: custom-coded workflow actions to reshape inbound order data, validation as an integrity gate, catalog visibility to keep the motions apart, and fulfillment-aware deal stages.

1 Two motions obey different rules

A transactional D2C sale and a high-touch B2B lease are not two flavors of the same pipeline; they obey different rules. One is instant, self-serve, and shipped from a catalog. The other is a negotiated multi-year contract with an obligated party, a billing schedule, and a legal document. Run both through one portal without separating them and the system applies one motion’s rules to the other — and the data integrity breaks in ways that look like random bugs.

The breakages here were concrete: invoices generated with no customer and no line items; web-store orders duplicated once per lease year, with ship quantities multiplied by the term, so a four-year lease of six units tried to ship twenty-four; and web-only kit programs selectable inside the institutional quoting flow. None of these is a mysterious defect — each is one motion’s logic misfiring on the other.

The first principle

Separate the motions before you fix the symptoms. Decide where transactional and contractual sales diverge — catalog, quoting, invoicing, fulfillment — and isolate each. The blank invoices and multiplied orders are downstream of one un-separated model.

ONE PORTAL, TWO MOTIONS — ISOLATED B2B lease — contractual multi-year, obligated party, billing schedule, legal doc D2C store — transactional instant, self-serve, shipped from a catalog Isolate on: catalog · quoting · invoicing · fulfillment — each motion keeps its own rules
Figure 1. The two motions share a portal but must be isolated where they diverge — catalog, quoting, invoicing, fulfillment — so one motion’s rules stop misfiring on the other.

2 Custom-coded actions are the escape hatch

The native e-commerce connector mapped the web store into HubSpot with the wrong shape — duplicating orders by lease term, multiplying quantities, dropping addresses. When a native connector maps wrong, the escape hatch is a custom-coded workflow action: a small piece of code inside a HubSpot workflow that reshapes the inbound data before it lands — de-duplicating by term, preserving shipping and billing addresses, and correcting base-kit quantities. It’s the difference between accepting a connector’s defaults and controlling the data model.

RESHAPE INBOUND ORDER DATA Web-store order wrong shape Custom-coded action dedupe by term · keep addresses · fix quantity Clean order correct in HubSpot
Figure 2. When the native connector maps wrong, a custom-coded workflow action reshapes the inbound order — deduping by term, preserving addresses, fixing quantities — before it’s written to HubSpot.

3 Validation is an integrity gate

Blank invoices — no customer, no line items — are a data-integrity failure, and the cure is prevention, not cleanup. Required-field validation on the deal (billing address, obligated party, term) is a gate: a record can’t reach the stage that generates a document until the fields that document needs exist. The orphaned, half-built deals that produced empty invoices simply can’t form.

4 Keep the catalogs apart

Web-only kit programs were selectable inside institutional quotes, so a rep could put a D2C product on a B2B lease. Product-catalog visibility keeps the motions from contaminating each other: the transactional catalog and the contractual catalog are curated so each quoting flow only sees what belongs to it. It’s the same discipline as filtering an ERP catalog — the picker should show what’s valid here, not everything that exists.

5 Stages that know about shipping

A hardware sale isn’t done at “closed won” — a physical unit still has to ship and be paid. The deal pipeline needs fulfillment-aware stages (“shipped,” “paid”) that a pure software funnel never has, plus a simple first-order flag so new-customer versus expansion revenue becomes reportable. Cheap properties, high analytical payoff: without them, the business can’t tell growth from repeat.

6 What changed

Invoices populate because the deals that generate them can’t form without their required fields. Web-store orders arrive in HubSpot correctly shaped, with the right quantities and addresses. The two catalogs stay apart, so quotes only contain valid products. And fulfillment-aware stages plus a first-order flag make the physical, mixed-motion business reportable. Two motions now coexist in one portal without corrupting each other — no restart required.

Details are generalized and figures are representative of the engagement; specifics vary by business.

7 The model, generalized

Any business running two motions in one system faces the same exercise:

  • Separate the motions where they diverge — catalog, quoting, invoicing, fulfillment.
  • Reshape bad connector data with custom-coded actions instead of accepting the defaults.
  • Gate with required-field validation so incomplete records can’t generate documents.
  • Control catalog visibility so one motion’s products can’t leak into the other’s quotes.
  • Model fulfillment-aware stages and a first-order flag for a physical, mixed-motion business.
Related studies

The same “model before software” discipline runs through migrating an advisory firm off a legacy CRM, modeling a dealer channel, and separating sales from delivery in a project-based business.

Read the full 7-page paper as a formatted PDF.