Skip to content
Back to catalog
AppManufacturingNew

Operations Portal

The shop floor reports production to Odoo without opening Odoo

A web portal so shop-floor staff can see their manufacturing orders, report progress and close them —consuming the materials— with no Odoo account and no licence per operator. It doesn't install into the ERP: it connects to it.

Compatibility
Odoo 19Odoo 18Odoo 17Odoo 16

How you get it

Every development works in all three Odoo environments. The only thing that changes is how we deliver it.

Nothing to install

Odoo Online (SaaS)

You do not need the ability to install modules. A Millora consultant comes in with temporary access that you authorize and implements it with Odoo Studio. When they are done, you revoke the access.

Install it today

Odoo.sh or your own server

You receive the module and the installation guide by email as soon as payment clears. Install it yourself, or we install it with you.

Installation · shell
# 1 · copia el módulo a tu addons_path
cp -r millora_portal_operativo /mnt/extra-addons/

# 2 · reinicia y actualiza la lista de apps
odoo-bin -u all -d tu_base --stop-after-init

# 3 · instala desde Apps
#     busca "Operations Portal"

What it solves

The problem

In a plant running on Odoo, the person on the line needs two things: to know what to produce and to report what they made. Handing them full Odoo for that does not work. It is far too much screen for capturing three figures, it costs a licence per person, and the shop floor usually has one shared tablet, not a computer per operator.

So the report gets written on paper and somebody keys it in later. Hours or days pass in between: inventory runs behind, scrap goes unrecorded, and nobody knows for certain where an order stands until they ask.

How it works

The operator signs in with a password of their own — not an Odoo account — and sees the list of open orders: draft, confirmed, in progress and to close. They filter by status, person responsible, operation type, product or deadline, or search by reference or origin.

Opening an order, they can do two things, depending on their permission level:

  • Report progress. They enter the quantity obtained and their notes. The order stays open and nothing is consumed; the entry lands in the order's history with the name of whoever recorded it.
  • Close the order. They record what was produced and validate. That is when Odoo consumes the materials.

Closing offers two consumption modes, and the difference is money:

  1. Per the bill of materials. It consumes what the list says, even if less product came out. The difference stands as scrap, which is what actually happened on the floor.
  2. Scaled to what was produced. Odoo adjusts the components in proportion to the quantity obtained.

Every plant has its own policy: one is set as the default and the operator can switch it order by order.

And when Odoo raises a warning on validation — because consumption doesn't match the plan, or because production was partial — the portal resolves it on its own, honouring the quantities already captured. The operator never faces an ERP dialog they wouldn't know how to answer.

The second section: bills of materials

It can be switched on or off per client. It is the lookup of what goes into each product: components with their quantity and unit, the manufacturing procedure, the variant's photo and each component's scrap percentage.

When a component is itself manufactured, the page opens its sub-list with quantities already scaled, up to four levels deep. And a product can carry several lists — its variants — and all of them are shown.


Try it now

Open the demonstration

Sign in with the password 123456. It runs on sample manufacturing data, connected to no Odoo at all: open an order, enter a quantity lower than planned and close it in both consumption modes to see the difference.


It doesn't install into Odoo

It lives outside and connects through Odoo's standard service, so it works alike on Odoo Online, on Odoo.sh and on-premise. There is no module to install: the access model is built with Studio, and so are the extra fields for the bills-of-materials section.

It detects at runtime what the quantity field is called in whichever version you run — it changed between 16 and 17 — so it works from Odoo 16 to 19 without maintaining two versions of the code.

It speaks the way the company speaks

The portal's vocabulary is configuration, not programming. Out of the box it says "Manufacturing orders", "Bills of materials" and "Components"; a bakery changes it to "Recipe book", "Recipe" and "Ingredients" without touching a line. The same goes for the name, the logo, the colours and the typefaces.

It also ships with a demonstration mode on fake data: useful for showing it in a meeting or training someone without touching live operations.

What it does not do

It does not create orders or bills of materials. It reads what Odoo already holds and only writes progress and closure. Planning stays with whoever plans.

It does not measure times, downtime or OEE. It doesn't touch work orders or work centres: reporting is at the level of the whole manufacturing order, not each operation.

It does not pick lots or locations on closing. It uses the move lines Odoo already built. If a component is supplied from several lots and the order is closed per the bill of materials, the split is worth reviewing in the ERP.

It is not Odoo's sign-in. The password lives in the access model, and that is precisely the point — it consumes no licence — but it means two things: whoever administers that model administers access to the portal, and each operator needs their own password for the history to say who did what.

It is not a module you install and forget. It runs on its own server, at an annual cost separate from this development. Millora recommends where to host it and leaves it running; if you would rather use your own infrastructure, it installs there too.

It depends on Odoo answering. There is no second database to maintain, and by the same token there is no offline mode: if the ERP is unavailable, the portal does not operate.

And it deliberately has no list price. What is quoted is the implementation — the branding, the vocabulary, the access model, the permission levels and the connection to your Odoo — and that depends on how each plant's manufacturing is set up today.

What changes

Reporting stops being paper. What the operator captures lands in Odoo there and then, under their name, and inventory moves when the order is closed rather than when somebody gets around to re-keying it.

And the shop floor stops needing Odoo licences in order to report production.

What's included

  • Signs operators in with a password of their own, no Odoo account and no licence
  • Lists open manufacturing orders with filters by status, person responsible, operation type, product and deadline
  • Reports progress without closing the order: quantity and notes land in the history under the name of whoever captured them
  • Closes the order and lets Odoo consume the materials
  • Offers two consumption modes on closing: per the bill of materials, or scaled to what was produced
  • Resolves on its own the consumption and partial-production warnings Odoo raises on validation
  • Gives three permission levels per operator: view only, capture, or capture and close
  • Shows bills of materials with their procedure, their photo and each component's scrap percentage
  • Opens nested sub-lists with quantities already scaled, up to four levels deep
  • Is fully brandable — name, logo, colours, typefaces and vocabulary — without touching code
  • Works from Odoo 16 to 19: it detects version differences at runtime
  • Includes a demonstration mode on fake data, to present or train without touching live operations

Requirements

  • An Odoo from 16 to 19, reachable from the internet and with its connection service enabled
  • The Manufacturing module active, with manufacturing orders and bills of materials already in use
  • An access model built with Studio: each operator's password, sections and permission level
  • An Odoo integration user with write permission over manufacturing
  • A server for the portal to live on, separate from the ERP: Millora recommends one, at an annual cost, or it installs on yours
  • A tablet, a phone or a computer with a browser on the floor
  • For the procedure, photo and scrap figures in the bills-of-materials section, three fields created with Studio