Odoo, an open source ERP with a community and a commercial edition, is a frequent choice for this. This article covers how to approach such a project, with the traps that appear most often. Odoo's modules and the differences between its editions and versions change over time, so verify what you need against the current version before committing.
Is it the right tool?
It is a good fit when:
- You manage physical stock and need it to be accurate
- You sell through several channels (shop, phone, email, marketplaces, B2B)
- You want sales, purchasing, stock and invoicing connected
- You are tired of re-entering data between tools
Reconsider when:
- Your volumes are very small and a shop platform plus an accounting tool works (see Odoo or custom software)
- Your warehouse operations are highly specialised (very large volumes, complex automation), where a dedicated warehouse system may be better
- Nobody in the company can own the project (see why ERP projects fail)
Step 1: Map your real flow
Before configuring anything, describe how a product moves through the company, from purchase to delivery:
- How do you buy: from one supplier or many, in which currencies, with what lead times?
- How do products arrive: checked, labelled, stored where?
- How do you sell: online, in store, B2B with specific prices?
- How are orders prepared and shipped: which carriers, which labels?
- How do returns work?
- How do you invoice and get paid?
- Which reports do you look at every week?
Mark what is standard and what is specific (see Odoo or custom software). Most of this is standard, and it should be configured rather than coded.
Step 2: Choose the scope of phase one
Resist the urge to switch everything on. A realistic phase one for a shop:
- Contacts, products and categories
- Purchasing and supplier management
- Inventory and warehouse locations
- Sales and quotes
- Invoicing and payments
- Basic reporting
Phase two, once phase one is stable: e-commerce integration, marketplaces, shipping integrations, barcode scanning, advanced pricing, and so on.
Step 3: Make decisions about the data model early
These choices are hard to reverse once data exists.
Products and variants. If you sell sizes, colours or other variations, decide how they are structured (a product with attributes, or separate products). Poor structure here causes pain across stock, pricing and the online shop.
Product codes. Define a consistent SKU scheme and unique barcodes. Duplicated or missing references are the main cause of stock errors.
Units of measure. If you buy in boxes and sell by the unit, define conversions properly.
Stock valuation method. How your inventory is valued (for example average cost or FIFO) affects your accounting. This is a decision to make with your accountant, not a technical default.
Warehouses and locations. One location or several? A simple structure is better than an elaborate one you will not maintain.
Pricing. Price lists by customer type, currency, quantity discounts. List the real rules before configuring.
Taxes and fiscal positions. Domestic sales, EU B2B, exports, special regimes. Get your accountant involved, and check which accounting localisation applies in your country.
Step 4: Accounting needs a decision
How accounting works in Odoo depends on the edition and version you use, and on your country's localisation. In some setups, full accounting features are part of the commercial edition, while the free edition covers a lighter invoicing feature set, with community modules sometimes filling gaps. This matters for your budget and your accountant's workflow.
Decide with your accountant:
- Do you do accounting inside Odoo, or export entries to your accountant's tool?
- What electronic invoicing, archiving and fiscal reporting requirements apply in your country?
- How are bank statements reconciled?
Accounting rules are the worst place to be creative. Stay as close to the standard as possible.
Planning an Odoo shop project?
We can map your stock flow, phase one scope and ownership constraints before you buy licences or start configuration.
Step 5: Clean and migrate the data
Data migration is often the biggest hidden part of the project. Treat it with the same discipline as syncing two systems: clear ownership of each record type, rehearsals, and checks on totals.
- Products: dedupe, standardise names and categories, fix units, fill in missing references and costs
- Customers and suppliers: merge duplicates, normalise addresses and VAT numbers
- Opening stock: do a physical inventory at cutover. Importing the spreadsheet numbers and hoping is how you start with wrong stock
- Open orders and invoices: decide what is imported and what is finished in the old system
- History: import what you will actually use (often the last year or two), and archive the rest in a readable form
- Keep the old IDs in a reference field for traceability
Rehearse the import at least once with real data, and check totals: number of products, stock quantities and value, outstanding customer and supplier balances.
Step 6: Integrations
Typical connections for a shop:
- Website or e-commerce platform. Odoo has its own online shop, or you can connect an existing one. Decide which system owns products, prices and stock, and design the flows accordingly (see syncing two systems)
- Marketplaces. Stock and order synchronisation is the hard part, particularly with several channels selling the same stock
- Payment providers. Check reconciliation: matching payments to invoices
- Carriers and shipping labels. Check availability for your carriers and countries
- Barcode scanners or mobile devices in the warehouse
- Accounting or bank feeds, if not handled in Odoo
Each integration has a cost and a maintenance burden. List them early, with the data direction, frequency and owner (see how to brief a developer).
Step 7: Customisation, sparingly
Follow the rule: configure first, adapt the process second, customise last (see why ERP projects fail).
Reasonable reasons for custom modules in this context: a pricing rule your business truly depends on, an integration with a specific carrier or marketplace, a specific document or report required by a customer.
Every custom module adds cost at each upgrade. Odoo major versions bring significant changes, and heavily customised systems become expensive to upgrade. Ask for custom code to be:
- Minimal and well-structured
- In a repository you own
- Documented (see documentation at delivery)
- Covered by tests for the critical parts
Step 8: Hosting and ownership
Options include the vendor's hosted platform, a specialised hosting provider, or your own server or cloud account. Whichever you choose:
- The hosting account is in your company's name, and you hold the admin role (see the 30-minute account audit)
- Backups run daily, are stored off the server and are restore-tested (see backups that actually restore)
- You can export your database and move elsewhere. Check this before signing, especially with hosted offers where the vendor controls the environment and which custom modules they allow
- You have a staging environment to test upgrades and changes
- Monitoring and security updates are someone's explicit responsibility (see maintenance contracts)
Budget logic
Specific prices depend on the provider and the scope. Rather than numbers, a realistic budget usually breaks down like this:
- Discovery (see discovery workshop): mapping processes, scope and data
- Configuration: products, flows, taxes, documents, users and permissions
- Data migration: often underestimated
- Integrations: each one separately priced
- Customisation: only what has a clear business case
- Training: for each role
- Go-live support: extra availability around the cutover
- Licences and hosting, recurring
- Maintenance and upgrades, recurring (see maintenance contracts)
- Contingency: a reserve for what discovery did not reveal
Questions that shape the total cost:
- How many users, and which roles?
- How many products and variants?
- How many integrations, and how complex?
- How clean is the data?
- How much customisation?
- Do you need accounting inside Odoo?
- Which hosting and support level?
When comparing quotes, use the method from reading a quote. Pay special attention to what is said about data migration, integrations and upgrades.
A safe project sequence
- Discovery workshop, with real users and a physical walk through the warehouse
- Prototype configured with your actual products and a sample of data
- Demonstration to the people who will use it, and adjustment
- Data cleaning and a first migration rehearsal
- Training on real scenarios
- Physical inventory, final migration and go-live at a quiet time
- Intensive support for the first weeks
- Review after a few months, then phase two
Common traps
- Starting with the website instead of the stock and purchasing foundations
- Inaccurate opening stock, which poisons confidence in the system
- No discipline in the warehouse: if movements are not recorded as they happen, the numbers drift. The best configuration fails without habits
- Over-customisation, making upgrades painful
- Variants and SKUs designed badly, causing chaos in the shop and in reporting
- Underestimating integrations with marketplaces and carriers
- Ignoring accounting requirements until late in the project
- Hosting and accounts in the provider's name (see warning signs when hiring)
- No internal owner, so decisions stall
- Cancelling the old tools too early
Checklist
- Real flow from purchase to delivery described
- Phase one scope written on one page
- Product, variant, SKU, unit and pricing decisions made
- Stock valuation and accounting approach agreed with the accountant
- Data cleaned, migration rehearsed, physical inventory planned
- Integrations listed with owners and data direction
- Customisations justified, documented and kept minimal
- Hosting account and backups under our control, restore tested
- Staging environment available for upgrades
- Training and go-live support planned
- Internal project owner named
- Maintenance and upgrade plan agreed
Ready to scope phase one?
Send a short description of how you buy, store, sell and ship. We will say what belongs in phase one, and what to keep for later.
Odoo, un ERP open source avec une édition communautaire et une édition commerciale, est un choix fréquent pour ce cas. Cet article décrit comment aborder un tel projet, avec les pièges qui reviennent le plus souvent. Les modules d'Odoo et les différences entre éditions et versions évoluent. Vérifiez ce dont vous avez besoin sur la version actuelle avant de vous engager.
Est-ce le bon outil ?
C'est un bon fit quand:
- Vous gérez du stock physique et avez besoin qu'il soit juste
- Vous vendez sur plusieurs canaux (boutique, téléphone, email, marketplaces, B2B)
- Vous voulez ventes, achats, stock et facturation reliés
- Vous en avez assez de resaisir les données entre outils
Reconsidérez quand:
- Vos volumes sont très faibles et une plateforme boutique plus un outil de compta suffisent (voir Odoo ou logiciel sur mesure)
- Vos opérations d'entrepôt sont très spécialisées (très gros volumes, automatisation complexe), où un WMS dédié peut mieux convenir
- Personne dans l'entreprise ne peut porter le projet (voir pourquoi les projets ERP échouent)
Étape 1: Cartographier le flux réel
Avant toute configuration, décrivez comment un produit traverse l'entreprise, de l'achat à la livraison:
- Comment achetez-vous: un fournisseur ou plusieurs, quelles devises, quels délais ?
- Comment arrivent les produits: contrôle, étiquetage, rangement où ?
- Comment vendez-vous: en ligne, en magasin, B2B avec des tarifs spécifiques ?
- Comment préparez-vous et expédiez-vous: quels transporteurs, quelles étiquettes ?
- Comment fonctionnent les retours ?
- Comment facturez-vous et encaissez-vous ?
- Quels rapports regardez-vous chaque semaine ?
Marquez ce qui est standard et ce qui est spécifique (voir Odoo ou logiciel sur mesure). L'essentiel est standard, et doit être configuré plutôt que codé.
Étape 2: Choisir le périmètre de la phase un
Résistez à l'envie de tout allumer. Une phase un réaliste pour une boutique:
- Contacts, produits et catégories
- Achats et gestion fournisseurs
- Inventaire et emplacements d'entrepôt
- Ventes et devis
- Facturation et paiements
- Reporting de base
Phase deux, une fois la phase un stable: intégration e-commerce, marketplaces, intégrations transporteurs, lecture codes-barres, tarification avancée, et ainsi de suite.
Étape 3: Trancher le modèle de données tôt
Ces choix sont durs à revisiter une fois les données en place.
Produits et variantes. Si vous vendez tailles, couleurs ou autres variations, décidez comment elles sont structurées (un produit avec attributs, ou des produits séparés). Une mauvaise structure fait mal sur le stock, les prix et la boutique en ligne.
Codes produit. Définissez un schéma de SKU cohérent et des codes-barres uniques. Les références en double ou manquantes sont la cause principale des erreurs de stock.
Unités de mesure. Si vous achetez en cartons et vendez à l'unité, définissez correctement les conversions.
Méthode de valorisation du stock. La façon dont l'inventaire est valorisé (par exemple coût moyen ou FIFO) impacte la compta. C'est une décision à prendre avec votre comptable, pas un défaut technique.
Entrepôts et emplacements. Un emplacement ou plusieurs ? Une structure simple vaut mieux qu'une structure élaborée que vous ne tiendrez pas.
Tarification. Listes de prix par type de client, devise, remises quantité. Listez les vraies règles avant de configurer.
Taxes et positions fiscales. Ventes nationales, B2B UE, export, régimes spéciaux. Impliquez votre comptable, et vérifiez quelle localisation comptable s'applique dans votre pays.
Étape 4: La compta demande une décision
Le fonctionnement de la compta dans Odoo dépend de l'édition et de la version utilisées, et de la localisation de votre pays. Dans certains montages, la compta complète fait partie de l'édition commerciale, tandis que l'édition libre couvre une facturation plus légère, avec parfois des modules communautaires pour combler. Ça compte pour le budget et pour le flux de votre comptable.
Décidez avec votre comptable:
- Compta dans Odoo, ou export des écritures vers l'outil du comptable ?
- Quelles exigences de facturation électronique, d'archivage et de reporting fiscal s'appliquent dans votre pays ?
- Comment sont rapprochés les relevés bancaires ?
Les règles comptables sont le pire endroit pour être créatif. Restez aussi près du standard que possible.
Vous préparez un projet Odoo boutique ?
On peut cartographier votre flux de stock, le périmètre de phase un et les contraintes de propriété avant d'acheter des licences ou de configurer.
Étape 5: Nettoyer et migrer les données
La migration de données est souvent la plus grosse part cachée du projet. Traitez-la avec la même discipline que pour synchroniser deux systèmes: propriétaire clair pour chaque type d'enregistrement, répétitions, contrôles des totaux.
- Produits: dédupliquer, standardiser noms et catégories, corriger les unités, remplir références et coûts manquants
- Clients et fournisseurs: fusionner les doublons, normaliser adresses et numéros de TVA
- Stock d'ouverture: faire un inventaire physique au basculement. Importer les chiffres du tableur en croisant les doigts, c'est démarrer avec un stock faux
- Commandes et factures ouvertes: décider ce qui est importé et ce qui est terminé dans l'ancien système
- Historique: importer ce que vous utiliserez vraiment (souvent la dernière année ou deux), et archiver le reste sous forme lisible
- Garder les anciens IDs dans un champ de référence pour la traçabilité
Répétez l'import au moins une fois avec de vraies données, et contrôlez les totaux: nombre de produits, quantités et valeur de stock, soldes clients et fournisseurs ouverts.
Étape 6: Intégrations
Connexions typiques pour une boutique:
- Site ou plateforme e-commerce. Odoo a sa propre boutique en ligne, ou vous pouvez brancher une existante. Décidez quel système possède produits, prix et stock, et concevez les flux en conséquence (voir synchroniser deux systèmes)
- Marketplaces. La synchronisation stock et commandes est la partie dure, surtout avec plusieurs canaux sur le même stock
- Prestataires de paiement. Vérifiez le rapprochement: faire coller les paiements aux factures
- Transporteurs et étiquettes d'expédition. Vérifiez la disponibilité pour vos transporteurs et pays
- Lecteurs codes-barres ou terminaux mobiles en entrepôt
- Flux comptables ou bancaires, s'ils ne sont pas gérés dans Odoo
Chaque intégration a un coût et une charge de maintenance. Listez-les tôt, avec le sens des données, la fréquence et le propriétaire (voir comment briefer un développeur).
Étape 7: Customisation, avec parcimonie
Suivez la règle: configurer d'abord, adapter le process ensuite, customiser en dernier (voir pourquoi les projets ERP échouent).
Raisons raisonnables de modules custom ici: une règle de prix dont dépend vraiment le métier, une intégration avec un transporteur ou une marketplace précise, un document ou rapport exigé par un client.
Chaque module custom ajoute un coût à chaque upgrade. Les versions majeures d'Odoo apportent des changements importants, et les systèmes très customisés deviennent chers à upgrader. Exigez que le code custom soit:
- Minimal et bien structuré
- Dans un dépôt que vous possédez
- Documenté (voir la documentation à la livraison)
- Couvert de tests sur les parties critiques
Étape 8: Hébergement et propriété
Les options incluent la plateforme hébergée du vendeur, un hébergeur spécialisé, ou votre propre serveur ou compte cloud. Quel que soit le choix:
- Le compte d'hébergement est au nom de votre société, et vous détenez le rôle admin (voir l'audit de comptes en 30 minutes)
- Les sauvegardes tournent chaque jour, sont stockées hors serveur et sont testées en restauration (voir des sauvegardes qui restaurent vraiment)
- Vous pouvez exporter la base et partir ailleurs. Vérifiez-le avant de signer, surtout sur les offres hébergées où le vendeur contrôle l'environnement et les modules custom autorisés
- Vous avez un environnement de staging pour tester upgrades et changements
- Monitoring et mises à jour de sécurité sont la responsabilité explicite de quelqu'un (voir contrats de maintenance)
Logique budgétaire
Les prix précis dépendent du prestataire et du périmètre. Plutôt que des chiffres, un budget réaliste se décompose en général comme suit:
- Découverte (voir atelier de découverte): cartographie des process, périmètre et données
- Configuration: produits, flux, taxes, documents, utilisateurs et droits
- Migration de données: souvent sous-estimée
- Intégrations: chacune chiffrée à part
- Customisation: seulement ce qui a un cas métier clair
- Formation: pour chaque rôle
- Support de go-live: disponibilité renforcée autour du basculement
- Licences et hébergement, récurrents
- Maintenance et upgrades, récurrents (voir contrats de maintenance)
- Contingence: une réserve pour ce que la découverte n'a pas révélé
Questions qui façonnent le coût total:
- Combien d'utilisateurs, et quels rôles ?
- Combien de produits et de variantes ?
- Combien d'intégrations, et quelle complexité ?
- Les données sont-elles propres ?
- Combien de customisation ?
- Faut-il la compta dans Odoo ?
- Quel hébergement et quel niveau de support ?
Pour comparer des devis, utilisez la méthode de lire un devis. Regardez surtout ce qui est dit sur la migration de données, les intégrations et les upgrades.
Une séquence de projet sûre
- Atelier de découverte, avec les vrais utilisateurs et une visite physique de l'entrepôt
- Prototype configuré avec vos vrais produits et un échantillon de données
- Démonstration aux personnes qui l'utiliseront, puis ajustements
- Nettoyage des données et première répétition de migration
- Formation sur des scénarios réels
- Inventaire physique, migration finale et go-live à un moment calme
- Support intensif les premières semaines
- Revue après quelques mois, puis phase deux
Pièges fréquents
- Commencer par le site web au lieu des fondations stock et achats
- Stock d'ouverture faux, qui empoisonne la confiance dans le système
- Pas de discipline en entrepôt: si les mouvements ne sont pas saisis au fil de l'eau, les chiffres dérivent. La meilleure configuration échoue sans habitudes
- Sur-customisation, qui rend les upgrades douloureux
- Variantes et SKU mal conçus, qui sèment le chaos en boutique et dans les reports
- Sous-estimer les intégrations marketplaces et transporteurs
- Ignorer les exigences comptables jusqu'à tard dans le projet
- Hébergement et comptes au nom du prestataire (voir signaux d'alerte à l'embauche)
- Pas de porteur interne, donc les décisions bloquent
- Couper les anciens outils trop tôt
Checklist
- Flux réel de l'achat à la livraison décrit
- Périmètre de phase un écrit sur une page
- Décisions produit, variante, SKU, unité et tarifs prises
- Valorisation du stock et approche comptable validées avec le comptable
- Données nettoyées, migration répétée, inventaire physique planifié
- Intégrations listées avec propriétaires et sens des données
- Customisations justifiées, documentées et gardées minimales
- Compte d'hébergement et sauvegardes sous notre contrôle, restauration testée
- Environnement de staging disponible pour les upgrades
- Formation et support de go-live planifiés
- Porteur de projet interne nommé
- Plan de maintenance et d'upgrade convenu
Prêt à cadrer la phase un ?
Envoyez une courte description de comment vous achetez, stockez, vendez et expédiez. On dira ce qui appartient à la phase un, et quoi garder pour plus tard.