BEAUTY & COSMETICS ERP

How a Multi-Channel Cosmetics Brand Streamlined Sales, Inventory & Accounting with Odoo 16 Enterprise

Discover how a North American cosmetics company managing Shopify, Amazon, TikTok, and wholesale channels implemented Odoo 16 Enterprise to unify sales, inventory, purchasing, and accounting while working with a 3PL partner.

Market Coverage
United States & Canada
Sales Channels
Shopify (US/CA), Amazon, TikTok, Wholesale
Logistics Setup
3PL Fulfillment Partner
ERP Core
Odoo 16 Enterprise

Client Overview

A mid-sized cosmetics company operating across the United States and Canada was experiencing rapid growth. The brand sold both B2C (direct-to-consumer) and B2B (wholesale) products through multiple channels. Their sales mix included:

D2C Storefronts
Shopify stores (US & CA)
Marketplaces
Amazon seller accounts
Social Commerce
TikTok Shop
B2B Wholesale
Direct wholesale / DSO

All warehousing, fulfillment, and logistics were handled by a third-party logistics (3PL) provider. While the company was growing, its internal systems were not keeping pace. Different teams relied on separate tools for orders, inventory, purchasing, and accounting. This created delays, data mismatches, and limited visibility across the business.

The leadership team decided to implement Odoo 16 Enterprise as a unified ERP platform to bring sales, inventory, purchasing, and accounting into one system, with strong connectors to their ecommerce platforms and 3PL partner.

Business Challenges Before Odoo

Before the Odoo implementation, the company faced several operational pain points that are common among multi-channel beauty brands:

01

Fragmented Sales Channels

Orders from Shopify (US and Canada), Amazon, TikTok, and wholesale customers were managed in different systems. There was no single view of total demand. Sales teams and operations teams often worked with incomplete or delayed information.

02

Inventory Visibility Issues

Because fulfillment was handled by a 3PL, the internal team did not have real-time visibility into stock levels across locations. This led to occasional overselling on ecommerce channels and delayed responses to wholesale customers asking about product availability.

03

Manual Order Processing

Wholesale (DSO) orders were often entered manually. Ecommerce orders required multiple steps to push into the warehouse system. This increased the risk of errors and slowed down order-to-fulfillment cycles.

04

Accounting Bottlenecks

Sales data from different channels arrived in different formats. Matching payments, reconciling marketplaces, and generating accurate financial reports required significant manual effort at month-end.

05

Limited Scalability

As the company added more products and expanded into additional Shopify country stores, the existing process became harder to manage. The team needed a system that could grow with them without adding proportional administrative headcount.

06

Lack of Unified Reporting

Leadership did not have a clear, real-time picture of performance across channels, product categories, or regions. Decisions were often based on delayed spreadsheets rather than live data.

These challenges were slowing growth and increasing operational risk. The company needed a single source of truth that could connect ecommerce platforms, wholesale operations, inventory, purchasing, and accounting.

Project Objectives

The implementation team defined clear goals before starting the project:

Create a single system of record for all sales channels (Shopify US, Shopify Canada, Amazon, TikTok, and wholesale)

Achieve near real-time inventory visibility even while using a 3PL

Automate order flow from ecommerce platforms into Odoo and then to the 3PL

Streamline purchasing and replenishment based on actual demand

Unify accounting so that revenue, COGS, and payments could be tracked accurately across channels

Reduce manual data entry and reconciliation work

Provide management with reliable dashboards and reports

Complete the project on Odoo 16 Enterprise with a structured, low-disruption approach

Solution Overview: Odoo 16 Enterprise Implementation

The solution was built on Odoo 16 Enterprise, covering the following core applications:

  • Sales
  • Purchase
  • Inventory
  • Accounting
  • Custom connectors and integrations

The architecture was designed around three main flows:

FLOW 01

Inbound Sales Flow

Orders coming from Shopify, Amazon, TikTok, and wholesale customers into Odoo.

FLOW 02

Inventory & Fulfillment Flow

Stock management and communication with the 3PL.

FLOW 03

Financial Flow

Invoicing, payments, reconciliation, and reporting.

Special attention was given to multi-company / multi-currency needs between the US and Canadian operations and to the specific requirements of the cosmetics industry (batch/lot tracking considerations, product variants such as shade and size, and promotional pricing).

Detailed Implementation Approach

01

Business Analysis & Process Mapping

The project began with a thorough discovery phase. The implementation team mapped:

  • Current order-to-cash processes for each channel
  • Inventory ownership and 3PL communication methods
  • Purchasing and supplier management practices
  • Accounting close process and reporting needs
  • Product structure (variants, kits/bundles, and promotional items common in cosmetics)

Workshops were conducted with stakeholders from sales, operations, finance, and leadership. This ensured that the future Odoo design reflected real business needs rather than generic best practices.

02

System Design & Configuration

Key design decisions included:

  • Product Architecture: Products were structured with variants (e.g., shade, size, scent) to support both B2C and B2B selling.
  • Multi-Channel Sales Setup: Separate sales teams and price lists were configured for retail (Shopify, Amazon, TikTok) and wholesale (DSO) customers.
  • Warehouse & Location Structure: Even though physical stock was held by the 3PL, logical locations and routes were set up in Odoo to maintain accurate stock tracking and valuation.
  • Fiscal Localization: US and Canadian accounting requirements were configured, including tax handling relevant to multi-state and cross-border sales.
  • User Roles & Permissions: Clear access rights were defined so that sales, operations, and finance teams only saw the information relevant to their roles.
03

Integration Layer

A major part of the project involved building reliable connectors:

  • Shopify Integration (US & Canada stores): Automatic order import into Odoo, Inventory level synchronization (with safeguards to prevent overselling), Product and pricing updates, Order status feedback (confirmed, shipped, cancelled)
  • Amazon Connector: Order import and acknowledgment, Inventory feeds, Settlement and payment information support for accounting
  • TikTok Shop Connector: Order capture and status updates, Alignment with the same inventory pool used by other channels
  • 3PL Integration: Outbound shipment requests from Odoo to the 3PL, Receiving of shipment confirmations and tracking numbers, Inventory adjustment and stock level updates back into Odoo

These integrations were designed to minimize manual intervention while still allowing the operations team to handle exceptions when needed.

04

Data Migration

Historical and master data were carefully migrated, including:

  • Product master (with variants and categories)
  • Customer records (both B2C and wholesale)
  • Open sales orders and purchase orders where relevant
  • Opening inventory balances (aligned with 3PL stock reports)
  • Chart of accounts and opening financial balances

Data cleansing was performed before migration to reduce errors after go-live.

05

Testing & User Acceptance

Multiple rounds of testing were conducted:

  • Unit testing of individual configurations and connectors
  • End-to-end process testing (order from Shopify → Odoo → 3PL → invoice → payment)
  • User acceptance testing with key staff from sales, operations, and finance
  • Volume and exception scenario testing (returns, partial shipments, stock discrepancies)

Training sessions were held for different user groups so that teams felt confident before the system went live.

06

Go-Live & Hypercare

The go-live was planned to minimize disruption to daily operations. A hypercare period followed immediately after launch, during which the implementation team provided intensive support, monitored integrations, and quickly resolved any issues that appeared in the first weeks of live usage.

Key Process Improvements After Implementation

Unified Order Management

All orders — whether from Shopify US, Shopify Canada, Amazon, TikTok, or wholesale customers — now flow into a single Sales application in Odoo. The operations team works from one screen instead of multiple portals.

Improved Inventory Control

Even with a 3PL handling physical fulfillment, the company now has a much clearer picture of available stock. Replenishment decisions are based on actual channel demand rather than delayed reports.

Faster Wholesale Order Processing

Direct sales (DSO) orders are created and confirmed directly in Odoo. Pricing, credit limits, and customer-specific terms are applied automatically, reducing manual work and errors.

Streamlined Purchasing

Purchase orders are generated based on real demand signals and inventory policies. The purchasing team has better visibility into what needs to be reordered and when.

Cleaner Accounting

Revenue from different channels is recorded consistently. Matching marketplace payouts and reconciling payments has become significantly easier. Month-end closing requires less manual spreadsheet work.

Better Management Visibility

Leadership can now view sales performance by channel, region, and product category. Inventory valuation and margin reports are available without waiting for manual consolidation.

Results Achieved

While every implementation is unique, the company experienced meaningful operational improvements after stabilizing on Odoo 16 Enterprise:

  • Significant reduction in manual order entry across ecommerce and wholesale channels
  • Improved inventory accuracy and fewer oversell situations
  • Faster order-to-fulfillment cycle for both B2C and B2B orders
  • Reduced time spent on month-end accounting reconciliation
  • Greater confidence in stock availability when accepting large wholesale orders
  • A scalable foundation that supports additional Shopify country stores or new sales channels in the future

Why This Implementation Matters for Similar Businesses

This project demonstrates several points that are relevant to other multi-channel consumer brands, especially in cosmetics, beauty, and personal care:

  • Odoo can serve as the central system even when a company sells through Shopify, Amazon, TikTok, and wholesale channels simultaneously.
  • Working with a 3PL does not prevent strong inventory control — the key is designing the right integration and location structure.
  • B2B and B2C processes can coexist in the same Odoo database with proper price lists, customer categories, and sales team configuration.
  • Cross-border operations (US + Canada) can be handled cleanly with correct fiscal localization and multi-currency setup.
  • A structured implementation approach (discovery → design → integration → testing → training → hypercare) reduces risk and improves user adoption.

Conclusion

By implementing Odoo 16 Enterprise with carefully designed connectors to Shopify, Amazon, TikTok, and their 3PL partner, this cosmetics company replaced fragmented tools with a single, coherent system. Sales, inventory, purchasing, and accounting now operate from the same source of truth.

The result is not only lower operational friction today, but also a platform that can support continued growth across North American markets.

Ready to explore a similar transformation for your business?

Book a free 30-minute consultation with our Odoo experts. We will review your current sales channels, inventory setup, and accounting process and share a practical roadmap — with no obligation.