Русский
All projects

Laneo CRM — an order overview for complex B2B supply

My role: product designer · Focus: Order Management, CRM, B2B, status architecture

How I turned a complex B2B order from one blurry status into a clear overview — goods, shipments, payment and problems on a single screen.

Laneo CRM order screen on a monitor

1. Context

Laneo is a concept B2B CRM for enterprise electronics supply, servicing offices, developers, and corporate clients.

Corporate orders are rarely linear. Dozens of line items split into partial shipments, originate from different warehouses or backorders, and follow staged payments. Typical CRMs collapse this multi-axis lifecycle into a single status like “In progress”, leaving managers blind to whether goods are reserved, shipped, or paid. When clients ask “where’s my order?”, managers must manually cross-reference data across separate tools.

I define success across three tiers:

2. Constraints

As a conceptual project, I set strict boundaries to reflect enterprise realities:

3. Desk research

Without production access, I analyzed practitioner pain points across NetSuite, Odoo, and QuickBooks discussions on Reddit, G2, Capterra, and industry post-mortems. Five systemic issues emerged:

The conclusion was clear: instead of compressing an order into a single status, display its core state axes and entity relationships transparently. Industry benchmarks confirmed that orders, shipments, and invoices operate as independent entities with separate lifecycles.

The same split holds one level down. A single order line carries its shipment state and its billing state separately — the axes aren’t something I invented for the overview, they’re already in the data. They’re just never gathered in one place.

Zoho Inventory — order line items. A row carries two statuses at once: dropshipped for shipment and invoiced for billing.

4. Assumptions

5. Scenarios

Client on the line — “Where’s my order?” An account manager receives a call regarding a 200-line order: part is shipped, part is backordered, and only received items are paid. Under time pressure, the manager manually reconciles data across three systems. The cost of error is an inaccurate promise and damaged client trust.

Coordinating shipments with logistics. The manager needs to identify which batches are ready for dispatch and which are delayed. Because the CRM treats the order as a single block, it is unclear if a shipment completes the order. The cost of error is a delayed dispatch and missed logistics windows.

Payment conversation with finance. Resolving a disputed invoice requires matching billed amounts with received goods. Staged billing breaks basic reconciliation when payments do not equal invoice totals. The cost of error is billing friction and lost administrative time across departments.

6. Prioritization

ScenarioFrequencyCost per occurrence
Client status inquiryHigh (multiple times daily)Extended resolution time and inaccurate delivery promises
Logistics shipment coordinationMedium (as batches ready)Slipped dispatches and schedule misalignment
Financial reconciliationLow (disputed invoices)Billing inaccuracies and internal friction

I prioritized the client status inquiry. It occurs most frequently, carries the highest friction, and directly impacts customer trust. Furthermore, an overview engineered for client inquiries naturally resolves the other two scenarios: surfacing shipments, invoices, and payments on one screen provides logistics and finance with immediate operational context.

7. Problem statement

Account managers cannot answer “where’s my order” efficiently because order states are fragmented across CRM, WMS, and ERP systems, requiring manual cross-system reconciliation.

The bottleneck is not data entry or interface navigation speed — it is the manual assembly of entity relationships across disconnected systems. This is an information representation problem.

8. Solution

An order is not a status string; it is a container of related entities. Goods, shipments, invoices, payments, and exceptions belong on a unified screen so managers can answer inquiries instantly.

The order as a container of entities

Before designing screens, I mapped the entities and their lifecycles. Orders live in the CRM, shipments in the WMS, invoices and payments in the ERP. Relationships tie them together: line items form shipments, shipments assemble into packages, invoices bill shipments or orders, and payments fulfill invoices. The overview highlights these links.

Order, shipment, package, invoice and payment live separately. The overview gathers their links in one place.

Hypothesis: Presenting availability, shipment, and payment in a unified view enables managers to answer client queries without leaving the CRM.

Three axes instead of one status

The Order Overview acts as an aggregation layer across CRM, WMS, and ERP. The top section answers three core questions using three distinct axes: availability, shipment, and payment. Each axis features a progress bar with absolute and percentage values to indicate scale.

Below, related shipments, invoices, payments, and line item exceptions are exposed directly. For long orders, a problem filter isolates exception lines.

The order overview. Everything the manager used to assemble by hand from three systems.

To resolve payment-shipment mismatches, a dedicated matrix links each shipment directly to its corresponding invoice and payment record.

While the Order Overview answers client inquiries, dedicated entity pages handle operational deep dives.

The shipment screen focuses on physical fulfillment: line items included, units shipped, carrier details, and linked invoices.

The shipment shows batches, shipped units and related invoices.

The invoice screen provides the financial counterpart: billed amounts, payment progress, and corresponding shipments.

The invoice shows payment progress and the shipments it covers.

Status and colour

Color logic follows strict functional priority to minimize cognitive noise:

Indigo is reserved exclusively outside the status system for interactive elements, links, selection states, and progress bar fills.

Status indicators use word labels for primary entities and dot-and-word combinations for sub-states down table columns.

Three axes, three vocabularies. Only exceptions carry functional colour.
Five entities, five cycles. Exception logic remains consistent across all entities.

In the order list view, priority rules dictate visibility. Full tables display lifecycle status alongside availability, shipment, and payment columns (with invoices as the zero state of payment). Compact side lists compress these three axes into a single indicator based on priority: red overrides amber, amber overrides routine progress, and cancellation overrides all.

The order list. Lifecycle status, the three axes separately, and the promised delivery date.

9. Trade-offs

Client information placement

Information density vs. visual clutter

10. How I’d measure success

11. What’s next

Next iteration steps for production readiness:

Additionally, the refined scenario focusing on multi-axis enterprise orders represents a primary hypothesis to validate empirically against user volume during the pilot phase.

Final Laneo CRM visual with the logo