This guide is for a small business planning to set up Odoo without an implementation partner, usually because someone on staff can run a server. The short answer: installing Odoo is the easy part. What goes wrong is business settings that lock once the first invoice or stock movement exists, and the yearly version upgrade that self-hosting hands to you. This guide covers both, plus an order of work.
Odoo behavior was checked in the source code of Odoo 19 and 20. Prices and contract terms were checked on odoo.com on 7 October 2026.
Before you start
- A process list: each step from quote to payment and from purchase to stock, including returns, partial deliveries and credit notes.
- A module list: the apps you need on day one. It decides the edition.
- Time with your accountant on the chart of accounts, sales taxes and inventory costing.
- A practice database, separate from the one you will go live on.
- Terms used: Community is Odoo's free, open-source edition; Enterprise is the paid edition with extra apps plus support and upgrade services. A journal entry is any accounting record, including the one behind each invoice. Self-hosting means running Odoo on your own server.
Let your module list choose the edition
Inventory, Sales, Purchase, eCommerce, Point of Sale, Manufacturing and Invoicing are all in Community. Three common requests are Enterprise only: Studio, for adding fields and changing screens without code; the Barcode app; and the full Accounting app, whose financial statements include the balance sheet. Printing barcode labels for products and shelves works in Community; guided scanning that makes the picker scan the source location first needs the Barcode app.
Self-hosting Enterprise requires the Custom plan. On 7 October 2026 it listed at CAD 73.00 per user per month on yearly billing, shown at CAD 57.90 with a discount valid for 12 months for the initial users ordered. Community has no license fee.
Settle these before the first transaction
Odoo makes these hard or impossible to change once business has been recorded. Test each one in the practice database first.
- Fiscal localization. In the Accounting app (Invoicing in Community), under Configuration > Settings, the Fiscal Localization Package loads your country's chart of accounts and taxes. The field becomes read-only as soon as the company has any journal entry, draft or posted.
- Company currency. Odoo refuses to change it once journal items exist.
- Tax-included prices. The Prices option, under Taxes on the same page, sets whether prices include tax. Odoo 19 locks it after the first journal entry; Odoo 20 allows a later change.
- Companies and branches. Decide early whether a second location or entity is a branch or a separate company. Odoo refuses any change to which company is a branch of which, and a warehouse cannot move to another company; it has to be archived and recreated.
- Costing and valuation. Each product category has a Costing Method (Standard Price, First In First Out or Average Cost) and an Inventory Valuation setting, Periodic or Perpetual. A later change is allowed, but Odoo then recalculates the cost of every product in the category from its stock history, and Odoo 20 also revalues stock movements since the last inventory closing. Agree the method with your accountant before the first receipt.
- Units of measure. The ratio of a unit, such as 12 Units to a Box, cannot be changed while open transfers or stock on hand use it. Changing a product's own unit is allowed, but Odoo warns that it converts one for one, so a past order for 10 Units would then read 10 Boxes.
What self-hosting makes your job
Odoo's pricing page says Odoo Online and self-hosted Enterprise are the same software; only hosting and infrastructure differ, such as emails, backups and redundancy. Self-hosting makes those your tasks.
- Backups. Under the Odoo Enterprise Subscription Agreement (version 13, 24 September 2026), self-hosting customers protect their own databases and Odoo is not liable for data loss. Test a restore on another server before go-live.
- Security fixes. Self-hosting Enterprise customers get a security advisory with the remedy at least two weeks before it is public, and apply it themselves.
- Outgoing email, including the mail server and domain settings.
- Upgrades. Odoo releases one major version a year and supports each for three years. With Enterprise, you upload a copy of the database to Odoo's upgrade service, which converts standard apps and Studio changes. You test the result, and a custom module without a maintenance contract is yours to port; the database cannot be upgraded until it is ready. A database older than the three latest versions adds a yearly fee of 25% of the annualized subscription price. The upgrade request form asks for an Enterprise subscription code, so on Community, plan to run upgrades yourself.
A realistic order of work
A recommended sequence: locked decisions first, because they cannot be fixed cheaply later, and real data last, because it is easiest to reload.
- Build the server, backups, a tested restore and outgoing email before any business data goes in.
- In the practice database, set the company structure, fiscal localization, currency and tax-included prices.
- Create product categories with costing method and valuation, and the units of measure you buy and sell in.
- Choose warehouse receipt and delivery steps. These can change later; Odoo rebuilds the routes.
- Import sample contacts and products. The standard import reads CSV and Excel files, and its Test button checks a file without saving anything.
- Run every process end to end, including a return, a partial delivery and a credit note, and have whoever keeps the books check the entries.
- Configure the live database the same way, import the full data, then load opening stock through Inventory > Operations > Physical Inventory and enter opening balances on the cut-over date.
Doing it alone, with Odoo, or with a partner
- Yourself. No services bill; the risk sits in the accounting and costing decisions, so have an accountant review them.
- Odoo's Success Packs. Prepaid hours with an Odoo consultant who, according to Odoo, analyzes how the business runs, configures the apps and trains you. On 7 October 2026 the Starter pack, recommended for 1 to 5 users, was 4 hours for CAD 850.00 (CAD 722.50 as a new customer's first pack), and Basic was 25 hours for CAD 5,260.00 (CAD 4,471.00). For self-hosters: when you work with Odoo directly, the agreement provides services for your custom modules only if the database is on Odoo's cloud.
- A partner. Odoo says partners usually charge per day of consulting or development; rates are not published. Ask for a quote that separates fixed-price work from estimates.
Check your plan
- Every app on the module list is covered by the edition you chose.
- Fiscal localization, currency, tax-included prices and company structure are tested in the practice database.
- Each product category has a costing method your accountant has agreed to.
- A backup has been restored on a separate server and opened.
- Someone owns the yearly upgrade and every custom module.
Steps verified on Odoo 19 and 20. Menus and labels can differ on other versions.
Common questions
Can a small business implement Odoo without a partner?
Yes, if someone can run the server and the business decisions are made with care. The settings that cause trouble are the fiscal localization, company currency, company structure, costing method and units of measure, because Odoo makes them hard or impossible to change once transactions exist.
Is Odoo Community enough for inventory and eCommerce?
Inventory, Sales, Purchase, eCommerce and Point of Sale are all in Community. Studio, the Barcode app with guided scanning, and the full Accounting app with financial statements such as the balance sheet are Enterprise only.
Who upgrades a self-hosted Odoo database?
With an Enterprise subscription, you send a copy of the database to Odoo's upgrade service, then test the result and port any custom modules yourself. Odoo's upgrade request form asks for an Enterprise subscription code, so Community users should plan to run upgrades themselves.
Can I change the costing method in Odoo after go-live?
Odoo 19 and 20 allow it, but Odoo recalculates the cost of every product in the category from its stock history when you save, and Odoo 20 also revalues stock movements since the last inventory closing. Agree the method with your accountant before receiving stock.
Which Odoo plan allows self-hosting Enterprise?
Only the Custom plan allows on-premise hosting. On 7 October 2026 it listed at CAD 73.00 per user per month on yearly billing, with a 12-month discount for the initial users ordered.
Talk to the team.
If you are setting this up, or Odoo is not behaving the way this guide describes, book a 30-minute call. We will look at your configuration and tell you what it needs. Calgary studio, in-house team, no offshore handoffs.
Book the call →