Skip to content
Solvync

Solvync Blog

Odoo for Vape Wholesale and Retail: A Canadian Case Study

Quick answer: Odoo® can be evaluated to run the wholesale and retail sides of a Canadian vape business on one ERP. Wholesale workflows may use customer pricelists, credit terms, and a B2B portal; retail may use Point of Sale and eCommerce. Both sides can share governed product, stock, and accounting records. Age verification, excise-stamp references, duty treatment, and reporting require demonstrated controls, current regulatory and accounting validation, and may use configuration, extensions, or third-party services. This is a representative design. No named client is described.

By · Founder, Solvync · Certified Odoo Implementation Partner

8 min read

Filed under Odoo Guides

Last updated June 2026. Figures cite the CRA, CBSA, and Alberta sources noted in each section. This is operational guidance for evaluating software. It is not tax advice.

One company, two businesses

Picture a mid-sized Alberta vape company. It imports and distributes e-liquid and devices to about 60 retail accounts across Western Canada, and it runs four of its own stores plus an online shop. That is two business models inside one legal entity: B2B wholesale and B2C retail.

This representative scenario starts with separate wholesale, retail, and finance tools. The evaluation tests whether those systems share governed stock, cost, margin, and excise data or require reconciliation. The case study asks whether one system can support both business models and what must be validated for Canada.

Can one Odoo system run both B2B wholesale and B2C retail?

Yes, when the workflows are configured and validated in one Odoo database. Wholesale and retail can share governed product and stock records, which removes the need for a separate nightly channel-to-channel synchronization layer inside that design.

The wholesale side uses Odoo Sales with customer and volume pricelists, payment terms for accounts on credit, and a Customer Portal where store buyers reorder and pull their invoices. The retail side uses Odoo POS in each store and Odoo eCommerce online. Because every channel reads the same catalog and the same warehouse, a case of pods sold to a wholesale account and a single pod sold at the counter both draw down one stock figure and land in one margin report. That shared spine is the reason to put vape wholesale and retail on one ERP instead of two.

Seven operational problems a vape business throws at software

A vape ERP evaluation should test seven operational requirements across wholesale, retail, inventory, finance, and compliance.

Operational requirementWhat the software evaluation must demonstrate
Federal plus provincial excise dutyModel the applicable duty by container volume and approved cost treatment
Province-specific excise stampsLink the required stamp or lot reference to controlled inventory
Different provincial stamp, flavour, and tax rulesMap destination rules and show how they are tested and maintained
Wholesale (B2B) and retail (B2C) in one entityDemonstrate both channels sharing governed product, stock, customer, and finance data
Age verification in store and onlineConfirm the in-store and online age-verification scope, controls, and ownership
Lot traceability for recalls and packaging complianceDemonstrate upstream and downstream lot traceability with retained evidence
Margin analysis with excise duty in costShow the approved landed-cost treatment and its effect on product margin

The Odoo build, module by module

The table maps operational needs to the Odoo apps used in a proposed design. Age verification, excise, reporting, and province-specific controls may require configuration, extensions, third-party services, and adviser validation.

Operational needOdoo app
Wholesale pricing, volume discounts, credit termsSales + Pricelists
B2B self-serve reorder and invoicesCustomer Portal
In-store age-confirmation workflowPoint of Sale + validated control
Online age-verification workfloweCommerce + validated control
One catalog with flavour, nicotine, size variantsProducts + Variants
Approved excise-stamp reference tied to controlled stockInventory (lots / serials) + approved design
Approved excise-duty treatment in landed costPurchase + Landed Costs + accounting validation
Excise-liability inputs and reporting supportAccounting + approved treatment and reporting process
Province-specific destination, product, and tax controlsMulti-warehouse + Fiscal Positions + validated rules

Sales and pricelists (the wholesale engine)

Wholesale accounts get their own pricelists, so buyers in different provinces see their agreed prices and volume breaks apply on their own. Credit limits and payment terms sit on the customer record.

Customer Portal (B2B self-serve)

Store accounts can use the portal to reorder, download invoices, and track deliveries. A pilot should measure adoption, exceptions, and any reduction in manual order entry before that outcome is used in a business case.

Inventory with lots and excise stamps

Vape stock can be configured with lot or serial tracking and an approved reference for the applicable excise stamp. In a scripted recall or audit scenario, the team should demonstrate upstream and downstream trace queries, retained evidence, and the agreed packaging and traceability controls. Regulatory sufficiency still requires validation by the business and its advisers.

Purchase and landed costs (true cost with duty)

Subject to accounting and tax validation, excise duty can be modeled in the landed cost of the goods instead of a sales-time tax line. The implementation should prove the approved accounting treatment and its effect on product-cost and margin reports with representative transactions.

Accounting (excise liability and CRA returns)

Accounting can be configured to track an approved excise-liability treatment and support the inputs used in an importer or licensee's reporting. GST and applicable provincial sales taxes should be mapped with the current Odoo Canadian localization, then reviewed and tested with the business's accounting or tax adviser.

Can Odoo handle Canadian vaping excise and excise stamps?

Odoo can be evaluated for this requirement by demonstrating lot or serial tracking for the applicable stamp reference and an approved landed-cost treatment for duty. The federal vaping excise duty is $1.12 per 2 mL (or fraction) for the first 10 mL in a container, then $1.12 per 10 mL above that, with a vaping excise stamp required on every package (CRA; CBSA Memorandum D18-3-2). On January 1, 2025, Alberta, Manitoba, New Brunswick, Prince Edward Island, and Yukon joined the coordinated vaping duty system that Ontario, Quebec, the Northwest Territories, and Nunavut were already in (Canada.ca, EDN95). In a participating province a provincial duty equal to the federal duty is added, so the total roughly doubles and the package needs that province's own stamp. Current rates, rules, configuration, and reporting treatment must be validated before go-live.

For Alberta the combined duty works out like this:

Bottle sizeFederal dutyTotal in Alberta (federal + provincial)
10 mL$5.60$11.20
30 mL$7.84$15.68
60 mL$11.20$22.40

Alberta set two hard dates: from January 1, 2025 packaged products entering the Alberta market need an Alberta-specific stamp, and from April 1, 2025 Alberta retailers may only sell products that carry that stamp (Alberta.ca). A proposed Odoo design can use a lot or serial attribute for the approved stamp reference and an approved landed-cost treatment for duty. Before go-live, the implementation must demonstrate destination controls, stamp traceability, accounting treatment, exceptions, and retained test evidence.

Does Odoo verify age at the point of sale and online?

Potentially, but the implementation must demonstrate the required in-store and online controls. Alberta requires buyers to be 18 and retailers to card anyone who looks under 25 (Alberta.ca, Tobacco, Smoking and Vaping Reduction Act). An age-confirmation workflow may require native configuration, an extension, or a validated third-party service, depending on the channel and evidence requirements. Software controls support the operating procedure; staff training, identity checks, legal review, and control ownership remain necessary.

Selling across provinces: different stamps, different flavour rules

Odoo can support a multi-province design using warehouses, fiscal positions, and product-availability controls after the current rules are mapped and validated. A wholesaler shipping to several provinces may need province-specific excise stamps and must account for product restrictions that differ by destination. The implementation should demonstrate inventory segregation, stamp references, tax treatment, product restrictions, exceptions, and retained test evidence for each in-scope province. The business must assign an owner to keep those rules current.

What ERP should a vape wholesaler or retailer in Canada use?

For an operator evaluating wholesale and retail in one system, Odoo can be tested because Sales, POS, eCommerce, Inventory, and Accounting share one data model and stock position. The evaluation should demonstrate B2B pricelists and portal workflows, B2C POS and eCommerce, traceability, excise and landed-cost treatment, and multi-province tax and product rules. Dedicated tobacco-distribution systems should be tested against the same retail, eCommerce, Canadian compliance, integration, implementation, and total-cost requirements. The deciding factors are the demonstrated workflows, regulatory validation, operating model, and ownership responsibilities.

A representative outcome and timeline

The intended operational outcomes are one governed stock position across wholesale and retail, approved excise-duty treatment in product cost, retained stamp and lot history, and a portal-supported B2B reorder workflow. These are illustrative design outcomes. No client result is being reported. A delivery plan can phase finance, inventory, and purchasing first; wholesale sales and the portal next; and POS and eCommerce after the excise and multi-province rules are validated. The duration depends on discovery, data readiness, integrations, compliance review, testing, and client decisions.

Is this your operation?

If you run a Canadian vape wholesale and retail business on two disconnected systems, and excise reconciliation eats your month end, this is the build worth scoping. Book an Odoo Fit Audit and we will map your wholesale, retail, and excise reality to a phased Odoo plan.

FAQ

Can one Odoo system really run both wholesale and retail?

Yes, when the workflows are configured and validated in one database. Wholesale can use Sales, Pricelists, and the Customer Portal while retail uses POS and eCommerce. The implementation should demonstrate shared product, stock, reservation, accounting, and exception behavior without relying on a separate channel-to-channel synchronization layer.

How does Odoo track vaping excise stamps?

A proposed design can use lot or serial tracking with an approved province-specific stamp reference. The implementation should demonstrate destination controls, upstream and downstream trace queries, exceptions, and retained evidence. The business and its advisers must validate whether the design satisfies the applicable audit, recall, and regulatory requirements.

How much is the vaping excise duty in Canada in 2025?

The federal duty is $1.12 per 2 mL for the first 10 mL, then $1.12 per 10 mL above that. In participating provinces, including Alberta as of January 1, 2025, a provincial duty equal to the federal duty is added, so the total roughly doubles (CRA; Canada.ca EDN95).

How long does an Odoo implementation for a vape business take?

There is no universal duration. Scope it after discovery based on data readiness, integrations, compliance review, testing, and client decisions. A plan may phase finance and inventory first, wholesale and the portal next, and POS and eCommerce after the governing rules are validated.

Odoo® is a registered trademark of Odoo S.A. Excise figures are based on publicly available CRA, CBSA, and Government of Alberta information as of June 2026 and may change. This article is operational guidance for evaluating software. It is not tax advice, and it is not sponsored by or affiliated with Odoo S.A. The vape operation described is a representative build. No named client is described.

  • Clarify the need
  • Control the scope
  • Plan the next step

Ready to Replace Your Spreadsheets?

Book a free business audit and get a clear read on the fit.