Odoo

Odoo, implemented around how the business already runs.

Consulting, implementation, customisation and optimisation — from a discovery that produces artefacts you can hold, to training built around the awkward cases.

Odoo app launcher on a client instance showing the installed modules for the engagement
Client implementationThe installed module set on one engagement.

01 / What usually brings people here

None of these are software problems yet.

  • Two branches, two versions of the truth

    Stock and sales counted separately in each location, reconciled by hand at the end of the week.

  • The counter and the books disagree

    Sales happen at the till, invoices are typed up later, and nobody can say which figure is current.

  • Orders tracked by hand

    Intake, processing and delivery live in a notebook, a chat thread, and someone's memory of Tuesday.

  • Bought software nobody was shown

    The system is live and paid for, and the team is still working around it because no one trained them on it.

  • Requirements nobody can test

    Everyone signed off a document that cannot fail, so go-live becomes an argument instead of a check.

  • Reporting that arrives too late to act on

    Numbers are assembled after the month closes, which makes them a record rather than a decision.

02 / The ecosystem

One platform, grouped the way a business thinks about itself.

Odoo is a few dozen applications sharing one database. The useful question is never how many you could install — it is which ones the operation earns.

Marked implemented where the work is behind a case study on this site. Everything else is platform I advise on rather than claim as delivery.

Odoo product materialAn opportunity in the pipeline becoming a quotation.
  • Sales & customers

    From first enquiry to the payment at the counter, on one customer record.

    Implemented

    • CRM
    • Sales
    • Point of Sale

    Platform

    • Subscriptions
    • Rental
    • Sign
  • Supply chain

    What was ordered, what arrived, what is on the shelf — counted once.

    Implemented

    • Inventory
    • Purchase
    • Barcode

    Platform

    • Quality
    • Repairs
    • Purchase agreements
  • Finance

    Invoices and journal entries produced by the operation, not retyped after it.

    Implemented

    • Invoicing
    • Accounting

    Platform

    • Expenses
    • Documents
    • Consolidation
  • Manufacturing & operations

    Bills of material, work orders and the loop that improves them.

    Platform

    • Manufacturing
    • PLM
    • Maintenance
    • Quality control
  • People

    Employee records and the routine that surrounds them, in the same system.

    Implemented

    • Employees

    Platform

    • Recruitment
    • Time off
    • Appraisals
    • Payroll
  • Services & projects

    Work planned, tracked against time, and invoiced from what was recorded.

    Platform

    • Project
    • Timesheets
    • Field service
    • Helpdesk
    • Planning
  • Website & marketing

    The public side of the business, reading from the same catalogue as the counter.

    Platform

    • Website
    • eCommerce
    • Email marketing
    • Events
  • Customisation & platform

    Where configuration stops and development starts — deliberately, and in that order.

    Implemented

    • Studio
    • Automation rules
    • Custom modules (Python / XML)

    Platform

    • External API
    • Server actions
    • Odoo.sh deployment

03 / In operation

A system is judged by its chains, not its screens.

Each of these crosses several modules. When one link is done outside the system, the numbers stop agreeing.

Counter to books

One sale at the till moves stock and writes the accounting entry. Nobody retypes it.

Odoo Point of Sale register configured for a UK laundry service, priced in pounds sterling
Client implementationPoint of Sale configured for a UK laundry engagement.
  1. Product

    Priced once, in one catalogue

  2. Sale at POS

    Counter or kitchen screen

  3. Payment

    Session closed and controlled

  4. Stock move

    Count falls as it is sold

  5. Journal entry

    Revenue posted automatically

Purchase to stock

A request for quotation becomes a receipt, a shelf position and a vendor bill without leaving the system.

Odoo Purchase list view showing requests for quotation and confirmed purchase orders with vendors, deadlines and totals
Odoo product materialOdoo Purchase — requests for quotation and orders in one list.
  1. RFQ

    Sent from the shortage, not a memory

  2. Purchase order

    Confirmed with a deadline

  3. Receipt

    Checked against what was ordered

  4. Put away

    Scanned to a location

  5. Vendor bill

    Matched to the receipt

The improvement loop

What the floor reports comes back as a changed instruction, rather than as a conversation that ends there.

Odoo diagram showing shop floor alerts flowing through PLM, Quality and Maintenance and returning as improved instructions for future work orders
Odoo product materialOdoo's continuous-improvement loop across PLM, Quality and Maintenance.
  1. Shop floor

    The problem is seen where it happens

  2. Alert raised

    Quality, maintenance or engineering

  3. Change made

    Control point, repair or routing change

  4. Instruction updated

    Next order runs the better way

04 / The platform

What the modules look like doing the work.

Screens on this page are labelled. Product material is published by Odoo S.A. and shown to illustrate the platform; client implementations are from engagements delivered by me.

Odoo product materialBank reconciliation — a statement line matched to the invoice it pays.

Where the month actually ends

Reconciliation is the point at which the operation and the books either agree or do not. If sales, stock and payments are recorded once, this is a review. If they were retyped, it is an investigation.

Odoo Inventory overview showing receipts, delivery orders, point of sale orders and repairs awaiting action
Odoo product materialInventory overview — every transfer type with its backlog.
Odoo work order planning calendar showing operations scheduled across assembly, upholstery, finishing, powder coating and detailing work centres
Odoo product materialWork orders planned across work centres for one week.
Odoo vendor bill form with invoice lines, accounts, due date and a register payment action
Odoo product materialA vendor bill, from draft to posted, with its journal behind it.
Odoo Barcode application on a handheld device, offering operations, inventory adjustments and batch transfers by scan
Odoo product materialBarcode — transfers created by scanning rather than typing.

Adoption is won on speed

A workaround survives because it is quicker than the system. Which means the fight is not policy — it is field count, click count, and whether the thing works on the device the person is actually holding.

Why teams go around the system
Odoo command palette listing commands with their keyboard shortcuts
Odoo product materialKeyboard shortcuts — fewer clicks than the workaround.
Odoo vendor bill being entered on a mobile phone, with vendor, dates and accounting fields
Odoo product materialThe same record, entered on a phone.

05 / From Odoo

The platform, in Odoo’s own words.

Two films published by Odoo S.A. Neither loads a byte until you press play.

Odoo product materialOdoo's tour of the platform, app by app.
Odoo product materialOdoo's film on the AI features in the current release.

06 / How I work with Odoo

Configuration is the fourth thing that happens, not the first.

  1. 01 Discover

    Interviews with the people doing the work, a process map, and a gap analysis — before anything is configured.

  2. 02 Design

    Requirements written as Given / When / Then, so there is one version of done both sides agreed to.

  3. 03 Implement

    Configuration against those criteria, module by module, with the data the business actually holds.

  4. 04 Customise

    Only where configuration genuinely runs out: automation rules first, custom Python and XML after.

  5. 05 Train

    On site, built around the awkward cases — the refund, the split order, the delivery that arrives short.

  6. 06 Optimise

    After go-live: what people go around, what takes too many clicks, and what the reports still cannot answer.

Customisation, in that order

Configuration first, then automation rules, then Studio, and only after that a custom module in Python and XML. Every step down that list costs more to maintain, so it has to be earned by a requirement rather than a preference.

  • Configuration
  • Automation rules
  • Custom modules
  • Data migration
  • Integrations
  • UAT
  • On-site training
  • Documentation
Odoo preparation screen showing laundry orders moving through wash, dry, iron and deliver stages
Client implementationA preparation screen built around the stages staff work in.

Tell me what breaks first.

The counter, the count, the invoice, or the report nobody trusts. That is usually enough to know whether Odoo is the right answer — and which part of it to start with.