CASE STUDY
eCommerce + Custom Back Office for
regulated DTC commerce
Sector: Cannabis manufacturing and wholesale, USA
Scope: Back office, DTC storefronts, mobile apps, middleware
Stack: Laravel, Node.js, React Native, WooCommerce
Overview
No off-the-shelf system could sell what the client sells.
The client manufactures and wholesales cannabis products in the United States and has deep operating experience in the category. With legalisation recent and the rules different in every jurisdiction, no commerce platform on the market covered both the trading requirements and the compliance obligations of the business.
The founder wanted to go direct to the consumer rather than sell only through distribution, and to own the customer relationship end to end. Codup was engaged to build a custom back-office system that could run that DTC business: ordering, inventory, fulfilment, logistics and reporting as one connected operation.
Challenges
Three problems no generic platform solves
Compliance is not a feature, it is the constraint
Every step from product creation to delivery has to be traceable and reportable to state-mandated systems, and order quantities have to be capped per customer.
Inventory sits in two places at once
Stock is held in warehouses and in driver kits on the road. Both have to be visible, and both have to be deducted correctly as orders are placed.
Delivery is the product
Consumers expect a scheduled slot or same-day arrival. That means routing, driver capacity and product availability have to be resolved at the moment of checkout.
Solution
Custom back-office platform with DTC storefronts and fulfilment apps
DOTS is built on a monolith architecture in Laravel. A Node.js middleware layer interfaces with every internal and external system, so storefronts, apps and third-party services read and write against the same operational record.
DOTS Back Office
Multi-location inventory
Warehouses and driver kits tracked and deducted correctly as orders are placed.
Order limits and coupons
Admin-set caps hold every order within state law; coupons apply against eligibility criteria.
Metrc reporting
Compliance records generated from extraction through to fulfilment.
WooCommerce Storefronts
Auth0 accounts
Order caps
Google Maps
Payments built in
One Order, End to End
Order placed
Auth0 identity, order limits and slot availability checked at checkout.
Written into DOTS
Assigned for packing
Sent to a driver
Reported and closed
Each step writes back to DOTS as it completes, so operations, marketing and fulfilment read the same order status at the same moment β no status calls, no spreadsheet reconciliation, no re-keying between systems.
Packer and Driver Apps
Scheduled delivery
The customer picks a time slot from the driver routes and capacity set for that region and day. The order is assigned to a warehouse for picking and packing.
Dynamic same-day delivery
If the products are already in a driver’s kit within the customer’s region and time slot, the order is fulfilled the same day and deducted from kit inventory rather than the warehouse.
SKU scan on pick
Live DOTS updates
Delivery tasks
Live on time, and able to test a market in weeks.
Operations on one system
Orders, fulfilment, status changes, account management and logistics run through a single back office.
No duplicate data entry
Two-hour delivery windows
Compliant by default
Get in touch
Book a 30-minute exploratory call
with one of our experts.