A build-to-order Odoo Point of Sale module that controls who can open a POS session and confines each user to their own orders and sessions. ECOSIRE scopes, builds, installs, and supports it for you — this is not an off-the-shelf download. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.
App-Manifest
Auf Ihren Workflow zugeschnitten
A build-to-order Odoo Point of Sale module that controls who can open a POS session and confines each user to their own orders and sessions. ECOSIRE scopes, builds, installs, and supports it for you — this is not an off-the-shelf download.
Keine Selbsteinrichtung — eine funktionierende App, die von ECOSIRE erstellt, installiert und betreut wird.
Starten Sie mit einem einmaligen Entwicklungspreis. Den Umfang legen wir beim Kickoff gemeinsam fest.
ECOSIRE erstellt, konfiguriert und installiert sie auf Ihrem Odoo.
Sie gehen in etwa 2–4 Wochen live, mit einem Support-Zeitraum nach dem Launch.
Out of the box, Odoo Point of Sale treats access as coarse-grained: any user in the point_of_sale.group_pos_user group can typically open any configured POS, resume any open session, and browse the full backend order list under pos.order. On a busy shop floor with multiple cashiers, shifts, and locations, that creates real problems — a cashier can pick up or edit another operator's session, staff see turnover and refund history that isn't theirs, and managers lose the ability to tie a drawer to a single accountable person. Odoo's native res.groups and menu-level access controls stop at "can use POS / cannot use POS"; they do not express "this user may only touch their own sessions and orders," which is exactly the row-level boundary retail operations need. That is where the standard model runs out of road.
ECOSIRE builds a POS access-restriction module that layers row-level and configuration-level control on top of Odoo's security stack. The core mechanism is ir.rule record rules on pos.session and pos.order, evaluated against the logged-in user so that a restricted operator only sees and resumes sessions and orders they own, while managers retain a global view through a dedicated bypass group. We add a pos.config-level allow-list — an allowed_user_ids many2many (or per-config user assignment, decided at scoping) enforced both in the backend and in the POS session-opening flow — so a user can only launch the specific registers assigned to them. Access rights are declared cleanly in ir.model.access.csv and new res.groups records (for example a "POS Restricted User" versus "POS Manager" split), and the frontend is adjusted with OWL/JS overrides in the POS UI so the register picker and open-orders list respect the same boundaries the backend enforces — the restriction holds whether the user comes in through the point-of-sale interface or the pos.order backend menus.
Everything is packaged as a proper installable module: a versioned __manifest__.py depending on point_of_sale, models and any compute logic under models/ following Odoo ORM conventions (models.Model, typed fields, @api.depends/@api.constrains where server-side validation is needed to block cross-user session pickup), security artifacts, backend views in XML, and the POS OWL overrides. Because the boundary is enforced server-side through record rules — not just hidden in the UI — it also holds for programmatic access over the XML-RPC/JSON-RPC API, so an integration or script running as a restricted user is bound by the same rules. We target your exact platform: Odoo 17.0, 18.0, or 19.0, and Community or Enterprise (POS behaves differently between the two, and the OWL POS framework changed across these versions, so we build and test against your specific edition rather than shipping a one-size binary).
Delivery is build-to-order. After a short scoping call we confirm exactly how "ownership" should work for your floor — per-user, per-shift, per-register, or per-location — plus manager bypass rules and any edge cases (shared drawers, supervisor overrides, returns handled by a different operator). We then build against your Odoo version and edition, run UAT on a staging database, and install to production with a rollback plan. Typical delivery is 2–4 weeks from confirmed scope. Pricing starts from $249 (indicative, single-company base scope); multi-company enforcement, multiple restriction dimensions (register plus location plus shift), integration with an existing custom POS flow, or migration of historical session/order ownership data increases the quoted scope. You receive a fixed quote after the scoping call — the from-price is indicative, not a firm figure.
Runs several registers and shifts and needs each cashier locked to their own sessions and orders so drawers are accountable and staff can't edit each other's turnover or refunds.
Owns the Odoo instance and wants POS access restrictions enforced server-side through record rules and groups — not brittle UI hacks — so the boundary also holds over the API and survives upgrades.
Needs users confined to the registers and locations they belong to, with a manager bypass for oversight, across many POS configs without hand-maintaining fragile per-user menus.
Wants a clean audit boundary where each order and session traces to one accountable operator, reducing the risk of unauthorized edits, voids, or refunds on another user's transactions.
| Kriterium | ECOSIRE | Benutzerdefinierter Build | Konkurrent | Odoo Native |
|---|---|---|---|---|
| What you get | Made-to-order module built, installed, and supported by ECOSIRE | In-house or contractor code you must spec and maintain | Generic off-the-shelf apps.odoo.com download | |
| Enforcement depth | Server-side `ir.rule` + `@api.constrains`, holds over API | Depends entirely on your developer's rigor | Often UI-only hiding, variable rule quality | |
| Restriction dimensions | Per-user, register, location, or shift — chosen with you | Whatever you build and re-build as needs change | Fixed to the author's assumptions | |
| Version & edition fit | Built and tested for your exact 17/18/19 + Community/Enterprise | You own all version-compatibility work | May lag your version or not match your edition | |
| Manager bypass & overrides | Dedicated manager group + override path designed in | Must be designed and coded yourself | May be absent or hard-coded | |
| Delivery & risk | UAT on staging + rollback plan, 2–4 weeks from scope | Timeline and QA depend on your team | Instant install but unknown fit and no scoping | |
| Support & ownership | Post-go-live support window + private git repo handover | You are the only line of support | Vendor support varies; source may be closed | |
| Total cost of ownership | From $249 indicative, fixed quote after scoping | Often higher once dev + maintenance are counted | Low sticker price, hidden fit/rework cost |
No. This is a build-to-order module. ECOSIRE builds it for your specific Odoo version and edition after a scoping call, then installs and supports it. There is no instant download — you are commissioning a productized service, not buying shelf software.
Typical delivery is 2–4 weeks from confirmed scope. The exact timeline depends on how many restriction dimensions you need (per-user, per-register, per-location, per-shift), whether multi-company enforcement is involved, and any integration with an existing custom POS flow. We confirm the schedule in your fixed quote.
Pricing starts from $249 as an indicative single-company base-scope figure. After a short scoping call we agree the exact ownership model, manager bypass rules, and edge cases, then send a fixed quote. Multi-company, additional restriction dimensions, custom-flow integration, or historical ownership-data migration increase the quoted scope.
Yes — we build and test against your specific target: Odoo 17.0, 18.0, or 19.0, Community or Enterprise. The POS OWL framework differs across these versions and Enterprise adds POS features Community doesn't, so we don't ship a generic binary; we compile and QA for your exact stack.
It is truly enforced. The core boundary is `ir.rule` record rules and `@api.constrains` guards at the ORM layer, so a restricted user is bound whether they act through the POS interface, the backend `pos.order` menus, or the XML-RPC/JSON-RPC API. The OWL frontend overrides keep the UI consistent with that server-side enforcement.
We create a dedicated manager group with a global-view bypass rule, plus an optional override path for legitimate cross-user actions like returns or corrections. Restricted operators stay confined to their own sessions and orders while authorized roles retain full oversight.
Every engagement includes a post-go-live support window for bug fixes and in-scope adjustments, plus a private git repository handover so you own the source. Compatibility work for a future Odoo major-version upgrade is quoted separately as a new scope when you decide to migrate.
A build-to-order Odoo Point of Sale module that controls who can open a POS session and confines each user to their own orders and sessions. ECOSIRE scopes, builds, installs, and supports it for you — this is not an off-the-shelf download.