Skip to main content
TechUltra Solutions Pvt. Ltd. — AI-Enabled ERP Transformation
Free Consultation

Case study · Furniture & home furnishings

CABA Design — Shopify to shop floor and 3PL on Odoo 18

How TechUltra made Odoo 18 Enterprise the operations backbone for CABA Design — a direct-to-consumer home-furnishings group — so a single order runs from Shopify checkout through make-to-order manufacturing, US and China third-party logistics, multi-carrier shipping, and after-sales, without leaving the ERP.

  • Anabei
  • Chicory Home
  • Diorama Living
  • Inside Weather
  • Numi Studio
Platform
Odoo 18 Enterprise
Industry
Furniture & home furnishings (DTC)
Market
United States, with China inbound supply
Model
Shopify storefront + make-to-order + 3PL

Last updated

Overview

What TechUltra delivered

One Odoo 18 Enterprise platform spanning commerce intake, order control, the product master for a made-to-order catalog, sale-line manufacturing, US and China 3PL, multi-carrier shipping, inbound containers and landed cost, cross-docking, after-sales, and forward inventory projection — delivered as a set of maintainable custom applications rather than one monolithic customization.

About CABA Design

CABA Design Co. is a California-based house of direct-to-consumer home brands — Anabei, Chicory Home, Diorama Living, Inside Weather, and Numi Studio — spanning machine-washable sofas from $699, washable weatherproof outdoor seating, custom California-made furniture, and shelving. The group describes its model as building "sustainable, high quality furniture brands while giving customers unparalleled choice in design through our customization and modularity," and runs operations teams in both the USA and Asia.

One order, end to end

  1. Shopify Checkout & payment
  2. Sale order Holds, zip routing
  3. Make or pick Sale-line MO or 3PL
  4. Ship Parcel, white-glove, freight
  5. After-sales Return, refund, credit note
The same sale order carries the hold, the manufacturing work, the 3PL status, the carrier booking, and the credit note.

Challenges to solve

Eight problem areas shaped the build. They are the pattern a DTC brand hits once it both manufactures and fulfills through third parties — not an audited account of any one month at CABA Design.

  • Split systems

    Checkout and payments live in Shopify. Manufacturing, warehousing, and the general ledger live in the ERP. Without a bridge, the two halves of the same order are reconciled by hand.

  • Re-keying risk

    Web orders, refunds, and payment disputes copied manually into operations is where money and orders go missing — and it scales badly with volume.

  • Wrong release to the floor

    Incomplete or risky orders still reach the plant or the 3PL. Stopping production on one line without cancelling the whole sale is not something a standard connector can do.

  • Routing complexity

    Destination zip code and service level together decide which warehouse ships and which carrier is booked. That logic belongs on the order, not in a spreadsheet.

  • Generic manufacturing

    Made-to-order furnishings can't be planned as anonymous stock. Vanilla work orders don't model nesting or CNC work driven by a specific sale line.

  • 3PL visibility

    Standard picking states — ready, done — don't describe what a US or China warehouse floor actually does across pick, pack, print, pull, and ship.

  • Inbound blind spots

    Container arrivals and landed cost sit apart from 3PL receipts, so freight and duty post against the wrong quantity and inbound stock is invisible until it lands.

  • After-sales lag

    A high mix of cancel, return, replace, and refund against the original web order — finishing in one system and never in the other.

TechUltra's solution approach

Odoo owns operations and finance. Shopify stays the storefront. The deliberate decision was not to rebuild the webshop in Odoo — the customer-facing experience already worked, and the problem was everything that happened after the customer paid.

  • Odoo 18 Enterprise as the system of record for operations and finance
  • A hub, not a new webshop — Shopify stays the customer-facing storefront
  • One order record carrying hold, make, 3PL, ship, and credit note
  • Service-aware fulfillment — parcel, white-glove, and freight rules by product and zip
  • Manufacturing driven from the sale line, with nesting and batch work orders
  • A 3PL control tower with its own status process, pick lists, and in-stock checks
  • Carrier booking and tracking from the delivery, inside the ERP
  • Customer-service requests that create warehouse and accounting documents

Architecture — layered on Odoo 18 Enterprise

  • Operations UX & labels Backend, barcode sessions, pick and container labels
  • Carrier desk & CS intake Parcel, express, freight, final mile; service requests
  • Custom commerce · 3PL · manufacturing Shopify, order desk, containers, cross-dock, after-sales, projection
  • Odoo 18 Enterprise Sales, Inventory, Delivery, Manufacturing, Purchase, Accounting
Commerce, 3PL, manufacturing, and after-sales are built as custom applications on a standard Odoo 18 Enterprise core, with the carrier desk and operations UX on top.

One sale order, five destinations

Sale order

Created from the Shopify checkout

  • Order desk

    Fraud and line holds, zip routing

  • Manufacturing

    Sale-line MO, nesting, batches

  • 3PL

    US and China status, pick lists

  • Carriers

    Parcel, express, freight, final mile

  • After-sales

    Return, refund, replace, credit note

Every downstream document attaches to the order the customer placed, rather than to a copy of it in another system.

Functional & technical scope

Ten connected domains, from web checkout through to forward planning.

Capability matrix

Domain Capabilities
Commerce Shopify orders, payments, refunds, disputes, gift cards, SKU mapping
Order desk Fraud hold, line-level production holds, zip-based 3PL and carrier assignment, expedite and reroute
Product Swatch and swatch kits, packaging and bins, white-glove rules, lead time, weekly capacity
Manufacturing Manufacturing order from the sale line, nesting and renesting, work-order batches, commitment dates
3PL warehouse US and China status process, pick lists, merged batch picking, available-in-stock checks
Shipping Rate, book, and track parcel, express, freight, and final mile from the delivery
Inbound Containers, China in-transit, cross-dock, landed cost, multi-level purchase approval
After-sales Cancel, refund, return, replace, credit notes, delivery claims
Planning Confirmed move register, finished-goods and component projection by location
Finance Typed credit notes, payment capture, chargeback follow-up, landed-cost posting

Technology foundation

  • Odoo 18 Enterprise — Sales, Inventory, Delivery, Manufacturing, Purchase, Accounting, Stock Barcode, Payments
  • Custom applications for commerce intake, order control, 3PL, containers, cross-dock, after-sales, and inventory projection
  • Connected systems at product level — Shopify for the storefront, ShipStation, FedEx, and freight carriers for fulfillment
  • Scheduled jobs for order ingest, holds, 3PL status, tracking, projection, and after-sales processing
  • Warehouse documents — US and China pick lists, merged batch lists, product, location, and container labels
  • A background job queue for inventory-projection rebuilds

There is no Odoo webshop or customer portal storefront in this build. Shopify remains the customer-facing channel throughout.

Feature deep-dives

Ten capability areas, each tied to a business problem and the work TechUltra delivered.

Shopify Order, Payment & Dispute Intake

Web commerce becomes an Odoo sales order — including the money movement.

Business problem

  • Orders sit in Shopify while production and the warehouse sit in the ERP
  • Refunds and payment disputes are easy to miss in the general ledger
  • Gift cards and multi-store catalogs don't map cleanly to standard Odoo products

What TechUltra delivered

  • Store instances mapped to Odoo locations and carriers, so the storefront a customer bought from decides where the order ships from
  • Orders, order updates, payments, and disputes processed into sales and accounting documents
  • Fulfillment tracking posted back toward Shopify so the customer sees it where they bought
  • Gift-card records held alongside the web order, and SKU mapping between Shopify products and Odoo variants
Capability Role Odoo area
Order create and update Operations Sales
Payment and refund capture Finance Accounting · Payments
Dispute / chargeback follow-up Finance Accounting
Gift cards Commerce, finance Sales
SKU mapping Merchandising Product

Order Control — Holds, Routing, Expedite

Stop, steer, or rush an order without leaving Odoo — and without cancelling the sale.

Business problem

  • Risky or incomplete orders still reach the plant or the 3PL
  • Destination zip should decide warehouse and carrier, not a spreadsheet
  • Rush jobs and emergency reroutes happen in chat instead of on the order

What TechUltra delivered

  • A fraud flag and customer blacklist on the sales order
  • Line-level production holds with a reason and a scheduled release date — one line stops, the order survives
  • Supply-chain region, zip, and carrier assignment on the order, including freight zip types
  • Operations actions to expedite or reroute fulfillment after the order is placed, plus a lock group for controlled editing
Capability Role Odoo area
Fraud hold and blacklist Order desk, finance Sales
Line hold and release Planning, customer service Sales
Zip to 3PL / carrier Operations Sales · Delivery
Expedite and reroute Operations Sales · 3PL

Furnishings Product Master

Swatch, service level, packaging, and capacity carried on the SKU itself.

Business problem

  • Standard Odoo products don't carry swatch, white-glove, or CNC file data
  • Packaging and bin rules live in warehouse tribal knowledge
  • Weekly production capacity is planned outside the ERP

What TechUltra delivered

  • Swatch codes and swatch-kit handling for a made-to-order fabric catalog
  • Parcel versus white-glove service on the product, including force-white-glove rules
  • Bins, pallets, delivery packages, and box dimensions held against the product
  • Lead-time lines, weekly capacity records, and 4×4 product barcode labels
Capability Role Odoo area
Swatch and CNC file Merchandising, plant Product · Manufacturing
White-glove rules Operations Product · Delivery
Packaging and bins Warehouse Inventory
Weekly capacity Planning Product

Sale-Line Manufacturing & Nesting

The customer's order becomes shop-floor work, not an anonymous stock replenishment.

Business problem

  • Made-to-order furnishings can't be planned as anonymous stock manufacturing orders
  • Cut-part and CNC work needs nesting, not only a bill of materials
  • Plant dates have to stay aligned with the promise date the 3PL is working to

What TechUltra delivered

  • A manufacturing order raised from the sale line, carrying attributes, lot, storage location, and labor cost
  • Nesting and renesting with recorded reasons, so a re-cut is traceable rather than invisible
  • Work-order batching, block events, and operation tickets for the floor
  • A scheduled update of manufacturing commitment dates, and plant-facing inventory reporting for the China side
Capability Role Odoo area
Manufacturing order from sale line Planner Manufacturing · Sales
Nesting and batch work orders Shop floor Manufacturing
Commitment dates Planning, 3PL Manufacturing
Operation tickets Supervisors Manufacturing

US & China 3PL Control

A warehouse status process layered on top of standard Odoo pickings.

Business problem

  • Standard ready / done picking states don't describe 3PL pick-pack-ship
  • China and US floors need different documents against the same order record
  • Promised ship dates ignore whether components are actually at the 3PL

What TechUltra delivered

  • A 3PL status path running from ready through pick, receive, print, pull, ship, and done
  • A dedicated 3PL application — order lists, local tracking, vendor receipts, and manifests
  • Pick lists for standard and China work, plus merged batch lists for grouped picking
  • A daily available-in-stock check across finished goods and bill-of-materials components, with carrier status updates on the global 3PL flow and barcode pick sessions on the floor
Capability Role Odoo area
3PL status board Warehouse, operations Inventory · Sales
Pick lists and batch print 3PL floor Inventory
Available in stock Planning Inventory · Manufacturing
Barcode pick session 3PL floor Stock Barcode

Multi-Carrier Shipping Desk

Rate, book, and track from the delivery — parcel, express, freight, and final mile.

Business problem

  • Labels are booked in carrier portals while the ERP only stores a pasted tracking number
  • The same catalog ships parcel, express, and freight depending on the item and the address
  • Return labels for customer-service cases are a second manual process

What TechUltra delivered

  • Rate, book, and tracking retrieval from the delivery through ShipStation
  • FedEx labels, address validation, outbound tracking, and return labels
  • Freight booking with claim fields, plus final-mile quoting, booking, and proof-of-delivery retrieval
  • Carrier zone assignment derived from the destination zip, and a unified tracking history on the sales order
Capability Role Odoo area
Parcel labels Warehouse Delivery
Express and return labels Warehouse, customer service Delivery
Freight and final mile Operations Sales · Delivery
Zone from zip Operations Delivery

Inbound Containers & Landed Cost

Ocean, air, and ground inbound tied to 3PL receipts and to inventory value.

Business problem

  • China and US inbound is tracked in a spreadsheet rather than against the 3PL order
  • Freight and duty post to the wrong receipt quantity
  • Purchase spend needs approval before it becomes inbound stock

What TechUltra delivered

  • A container document covering water, air, and ground shipments, including China covers
  • In-transit processing that updates the related 3PL work as a container moves
  • Container tracking with load, ship, and arrival dates
  • Landed cost applied on the 3PL receipt with a dedicated costing document, plus multi-level purchase approval upstream
Capability Role Odoo area
Container record Logistics Inventory · Purchase
China in-transit 3PL, planning Inventory
Landed cost Finance Inventory · Accounting
Purchase approval Procurement Purchase

Cross-Dock to Open Orders

Inbound stock can ship straight out without a full putaway cycle.

Business problem

  • Inbound sits in putaway while customer orders wait for exactly that SKU
  • Deciding which waiting orders can be cross-docked is a manual meeting

What TechUltra delivered

  • A cross-dock document listing potential orders, selected orders, and the inbound lines that cover them
  • A status path from draft through post to done
  • Outbound label generation for the selected orders as part of posting
Capability Role Odoo area
Potential order list Planning Inventory · Sales
Cross-dock post Warehouse Inventory
Outbound labels Warehouse Delivery

After-Sales — Return, Refund, Replace

Customer-service requests finish as warehouse and accounting documents.

Business problem

  • Agents work in a ticket tool; the warehouse and finance never see the complete request
  • Refunds can over-refund shipping or tax when prior credits are ignored
  • Replacements and delivery claims are tracked in email

What TechUltra delivered

  • Request types for cancel, refund, return, replace, and order modification, raised against the original web order
  • Return pickings, return boxes, and carrier return labels generated from the request
  • A Shopify refund and/or an Odoo credit note — including cases where no material comes back
  • Replacement-order linkage, delivery claims with internal status and freight-claim fields, and exchange handling on return accounting
Capability Role Odoo area
Request intake Customer service Custom application
Return logistics Warehouse Inventory · Delivery
Refund and credit note Finance Accounting · Commerce
Replace and claims Customer service, operations Sales

Inventory Projection

Forward cover for finished goods and components at 3PL locations.

Business problem

  • Live on-hand stock doesn't show China lead time or the next sixty days of component cover
  • Buyers reconcile three spreadsheets — demand, inbound, and 3PL stock

What TechUltra delivered

  • A confirmed stock in/out register by day, warehouse, and product
  • Finished-goods and component projection combining demand, lead time, and remaining days of cover
  • A daily rebuild of the forward component stock view by parent warehouse location
Capability Role Odoo area
Confirmed move register Planning Inventory
Finished-goods / component projection Planning, buyers Inventory · Manufacturing
Forward daily view Planning Inventory

Operational transformation

A qualitative before-and-after. The "before" is the typical pre-platform pattern for a brand that both makes and 3PLs from the same order — not an audited baseline, and no time-saved or error-rate figures are claimed.

  • Before

    Shopify and the ERP updated separately

    After

    Web order, payment, and dispute land in Odoo as documents

  • Before

    Holds managed in chat or spreadsheets

    After

    Line-level holds and zip routing carried on the sale order

  • Before

    Manufacturing detached from the web order

    After

    Manufacturing order from the sale line, with nesting and dates

  • Before

    3PL status lived only in the warehouse tool

    After

    US and China status process, pick lists, and in-stock checks in the ERP

  • Before

    Labels booked in carrier portals

    After

    Parcel, express, and freight rated and booked from the delivery

  • Before

    Containers and landed cost off-system

    After

    Container to 3PL receipt to landed cost on the right quantity

  • Before

    Returns and refunds finished in one system

    After

    One request producing the return, the refund, and the credit note

  • Before

    Component cover planned in Excel

    After

    Projection and forward component cover by 3PL location

Business value

  • One operational record

    Checkout, make, move, ship, and money all attach to the same order.

  • Controlled release

    Production or shipping can be stopped on a line without cancelling the customer's sale.

  • Destination-aware fulfillment

    Warehouse and carrier follow from the destination zip and the service level the product requires.

  • Plant tied to the order

    Nesting and work-order batches originate from the sale line, so the floor knows whose furniture it is cutting.

  • 3PL visibility

    Status, pick lists, and available-in-stock checks span both the US and China operations.

  • Shipping inside the ERP

    Labels and tracking without a second system of record for fulfillment.

  • Inbound costing

    Container cost lands on the receipt that actually updates 3PL stock.

  • Closed after-sales

    Return, refund, replace, and credit note complete together rather than in two systems.

Why CABA Design chose TechUltra

  • Beyond order import — Shopify through manufacturing, 3PL, carriers, and refunds
  • Furnishings literacy — swatches, white-glove delivery, nesting, and China inbound treated as first-class, not add-ons
  • 3PL depth — a status process, pick lists, available-in-stock checks, and separate US and China paths
  • A carrier desk in the ERP covering parcel, express, freight, and final mile
  • After-sales completion — a service request through to return, refund, replacement, and credit note
  • Planning, not only transactions — projection and forward component cover
  • Modular delivery — commerce, warehouse, plant, and finance built as maintainable applications
  • Honest scope — we don't sell inactive connectors or unverified results

Related reading: our Odoo integration service, the e-commerce industry page, and third-party logistics on Odoo.

Similar use cases

Profile Parallel from CABA Design
DTC furnishings and furniture brands Swatch, white-glove, sale-line manufacturing
Shopify brands that also manufacture Web order to manufacturing order to ship
US brands with China inbound Containers, in-transit, landed cost
3PL or hybrid warehouse operations Status board, pick lists, in-stock checks
Multi-carrier shippers Parcel, express, and freight booked from Odoo
High return / replacement volume Service request to credit note and storefront refund
Split make-and-fulfill networks One order spanning plant and 3PL
Planning with long inbound lead times Component projection by location

Client profile — sources

Company facts in the About CABA Design panel come from the client's own published material. Delivery detail comes from TechUltra's engagement record.

Selling on Shopify and fulfilling from your own floor?

Free 30-minute scoping call with a senior consultant who has shipped Shopify, manufacturing, 3PL, and multi-carrier Odoo work.