Engineering Real-Time Self-Service on Top of Odoo

A self-service B2B portal built directly on top of Odoo 18 - giving enterprise clients real-time collection booking, status tracking, and compliance reporting, fully synchronised with the underlying Odoo ERP.

work-img

Outcome Snapshot

4

scoped access roles governing platform-wide permissions

2

Odoo and portal databases kept in sync in real time

1

self-service portal extending Odoo to enterprise clients

3

core capabilities delivered: booking, tracking, and compliance reporting

A platform feature built by Systango

Client

A circular-economy company managing the secure collection, certified data erasure, and resale of IT assets for enterprise and public-sector clients. The company runs its operations on Odoo 18, but Odoo is an internal system - it had no client-facing layer, so every interaction between the company and its customers went through account managers manually.

Challenge

  • Odoo had no client-facing layer: customers couldn't book a collection, check status, or pull their own compliance reports without contacting an account manager directly.

  • No model for enterprise account structures: large clients have many sites and teams needing different access levels, but Odoo offered no concept of scoped, client-facing access - it was all-or-nothing, handled manually.

  • No self-serve compliance evidence: clients need auditable proof - chain-of-custody documentation, certified erasure reports, environmental impact data - but producing it on request from Odoo didn't scale with the client base.

  • An operational ceiling: account management effort scaled directly with client count, capping how many enterprise accounts could be supported without adding headcount.

 

Dashboard view of the platform developed by Systango

Objectives

  • Build a self-service, client-facing portal directly on top of the existing Odoo 18 ERP
  • Keep the new portal and Odoo fully synchronised in real time
  • Model real enterprise account structures - multiple sites, teams, and access levels - on top of Odoo's data
  • Deliver real-time collection booking and status tracking, synchronised with Odoo
  • Give clients self-serve access to compliance and impact reporting sourced from Odoo
Close-up of the platform interface delivered by Systango

What We Built

  • A customer-facing self-service portal: built as a standalone layer on top of Odoo 18, with role-based access so users only see the locations and actions relevant to them.
  • Real-time Odoo synchronisation: companies, users, and locations are fetched from Odoo to keep data consistent; collection creation is pushed back to Odoo through background jobs, with Odoo webhooks updating status in the portal as changes happen.
  • A workspace and location model: mapping real enterprise account structures onto Odoo's underlying company and location data, without duplicating it.
  • Four-tier role-based access control: from full administrative access down to read-only visibility, matched to each user's actual responsibilities.
  • A document and report centre: compliance and reconciliation reports surface directly to each client against their own collections, ready for download.
  • A dashboard with ESG-relevant analytics: giving clients visual insight into their own environmental impact metrics, drawn from underlying Odoo data.
  • Security by design: token-based authentication, multi-factor authentication, and centralised secrets management, built in from day one.

Impact

Extended

Odoo into a client-facing product, without ERP changes.

Synchronised

Two databases in real time, without direct coupling.

Modelled

Multi-site, multi-team accounts with admin-managed access.

Secured

Token authentication, MFA, and centralised secrets management.

Build Facts

Platform

Web Portal (React)

Internal Admin Portal (Django)

Odoo 18 ERP

Cloud Infrastructure (Azure)

Focus

Cloud Infrastructure (Azure)

Self-Service Portal Development

Enterprise Access Modelling

Compliance & Impact Reporting

Let’s talk, no strings attached.

GET IN TOUCH