- Inicio
- Apps
- SaaS Tools
- POS Access Rights by Employee
Vista previa ilustrativaA build-to-order Odoo Point of Sale module that gates POS functionality
— discounts, price edits, refunds, voids, session close and more — per employee role.
ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19.
¿Qué es POS Access Rights by Employee?
A build-to-order Odoo Point of Sale module that gates POS functionality — discounts, price edits, refunds, voids, session close and more — per employee role. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Características clave
Hecho a medida, listo para ti
Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.
- 1
Haces el pedido
Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.
- 2
Creamos e instalamos
ECOSIRE la crea, la configura y la instala en tu Odoo.
- 3
En marcha + soporte
Sales en vivo en aproximadamente una semana laboral, con dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.
Especificaciones técnicas
- Compatibilidad con Odoo
- Odoo 17, Odoo 18, Odoo 19
- Ediciones
- Enterprise y Community
- Licencia
- La licencia requiere confirmación
- Requisito de Python
- Python 3.10+
- Base de datos
- PostgreSQL 12+
Sobre este producto
Most retailers hit the same wall a few weeks after go-live: the Odoo POS is a single trusted surface where any logged-in cashier can apply a discount, override a price, delete an order line, refund a paid receipt, or close the session and see the day's totals. Odoo core gives you a POS access group and a per-user cashier PIN, but it has no concept of "this cashier may sell but not discount" or "only a shift lead may process refunds." Once shrinkage, unauthorized markdowns, or end-of-day discrepancies start showing up, managers are left reconciling the damage after the fact instead of preventing it at the register. This is where the native model runs out of road — the granularity you need lives below the level Odoo exposes out of the box.
POS Access Rights by Employee is a made-to-order module ECOSIRE builds to close that gap. We introduce role-driven permission flags — modeled as boolean and selection fields on hr.employee and/or a dedicated pos.access.profile model, secured through ir.model.access.csv and record rules — that map each capability (apply discount, edit unit price, remove/void a line, delete a whole order, issue a refund, reprint a receipt, open the cash drawer, apply a manual loyalty adjustment, change customer, close the session, view session totals) to an employee or a reusable profile. The POS front end is where it becomes real: we extend the OWL point-of-sale components and patch the relevant action handlers so a blocked action is either hidden, disabled, or gated behind a manager-approval popup, rather than silently failing. Because Odoo evaluates the cashier at login via the employee PIN, the correct permission set loads the moment a cashier signs into the session, and every gated attempt can be written to a log for later review.
Technically, the module ships as a clean __manifest__.py with pinned dependencies on point_of_sale (and pos_hr where employee-mode is used), server-side models with @api.depends computes where a permission is derived rather than stored, XML/OWL view extensions for the POS UI plus back-office configuration views, and optional automated actions or a lightweight audit model to record overrides. Where a manager override is required, we implement the standard supervisor-PIN challenge so an authorized employee can approve a one-off exception without handing over their own session. Everything is enforced on the server side as well as the client, so the rules cannot be bypassed by a crafted JSON-RPC call — the UI gating is convenience, the record rules and access CSV are the real boundary. We build and validate against Odoo 17.0, 18.0, and 19.0, and we account for Community vs Enterprise differences (for example, Enterprise-only POS features such as certain restaurant/loyalty flows) so the permission surface matches exactly what your edition actually exposes.
Delivery is build-to-order: nothing is downloaded off the shelf. It starts with a short scoping call to map your roles to concrete POS capabilities, confirm your edition and version, and agree on override behavior. We then build your version, validate it through UAT on a staging database, and install it on production with a documented rollback plan. Typical delivery is one working week from confirmed scope, depending on how many roles and edge cases you need. Pricing starts from $999 (indicative, single-company base scope); additional roles, multi-company or multi-shop permission matrices, deeper audit/reporting requirements, and integrations with existing HR or loyalty customizations increase the quoted scope.
lo que obtienes
- Installable source code for your version of the module, targeted to your Odoo 17.0/18.0/19.0 and edition
- Installation and configuration on your environment, including profile-to-employee assignment
- Technical documentation: models, fields, access rules, and extension points
- End-user guide plus a live training session for POS managers and administrators
- Post-go-live support window for defect fixes and configuration adjustments
- UAT on a staging database with a documented, tested rollback plan before production install
- Git repository handover with full commit history and tagged release
- Configuration matrix mapping your roles to enabled POS capabilities
¿Para quién es esto?
Multi-store retail operations manager
Runs several POS-driven shops on Odoo and needs consistent, role-based limits on discounts, refunds and voids so shrinkage and unauthorized markdowns are prevented at the register, not caught in month-end reconciliation.
Odoo administrator / internal IT lead
Owns the Odoo instance and wants permission logic enforced server-side through access rules and record rules — not just hidden buttons — so it survives upgrades and can't be bypassed via the RPC API.
Finance / loss-prevention controller
Needs an auditable trail of who was allowed to discount, refund, or override, with per-role ceilings, to satisfy internal controls and investigate discrepancies with evidence.
Hospitality / franchise operator
Runs high-turnover shifts with mixed-trust staff and shift leads, and needs a fast manager-PIN override so authorized exceptions are quick but every gated action is still logged.
Cómo se compara POS Access Rights by Employee
| Criterio | ECOSIRE | Construcción personalizada | Competidor | Nativo de Odoo |
|---|---|---|---|---|
| Permission granularity | Per-capability, per-role or per-employee across discounts, refunds, voids, session close and more | Whatever you build, if in-house Odoo skills exist | Fixed set of toggles the vendor chose | Single POS access group + cashier PIN; no per-action control |
| Enforcement layer | Server-side access CSV + record rules, plus UI gating | Depends on developer discipline | Often UI-only; RPC bypass possible | Coarse group-level only |
| Fit to your roles | Scoped to your exact role map in a scoping call | Fully bespoke but you own all effort | Generic; you adapt to its model | No role concept beyond cashier/manager |
| Manager override | Supervisor-PIN approval flow, logged | Build it yourself | Sometimes included, behavior varies | Not available |
| Audit trail | Logs gated attempts and overrides | Only if you implement it | Rarely included | None |
| Version & edition support | Built/tested for 17/18/19, Community & Enterprise | You maintain across versions | Whatever the listing states; may lag | Ships with core, no extra work |
| Ownership & lock-in | Full source + git repo handed over | You own it fully | Vendor-controlled, licensed binary | N/A |
| Support model | Post-go-live window + quoted upgrades | Self-supported or ad-hoc | Vendor tickets, variable SLAs | Community/Enterprise support, no custom logic |
Preguntas frecuentes sobre POS Access Rights by Employee
Is this an existing app I can download and install today?
No. This is a build-to-order module. ECOSIRE scopes it to your roles, edition and version, then builds, tests and installs it for you. There is no instant download — you receive installable source code for your specific version once it's built.
How long does delivery take?
Typical delivery is one working week from confirmed scope. Simple single-shop, few-role setups land toward the shorter end; multi-company permission matrices, deep audit requirements, or integrations with existing customizations move it toward the longer end. We commit to a timeline in the fixed quote after the scoping call.
How does pricing and scoping work?
Pricing starts from $999 as an indicative single-company base scope. After a short scoping call we send a fixed written quote. Drivers that increase scope include the number of roles, multi-company/multi-shop matrices, discount-ceiling logic, audit and reporting depth, and integration with your existing HR or loyalty customizations.
Will these permissions actually stop a determined user, or just hide buttons?
Both layers are enforced. The POS UI hides or disables unauthorized actions for convenience, but the real boundary is server-side: `ir.model.access.csv` and record rules mean a blocked action is rejected even if attempted through a crafted `JSON-RPC`/`XML-RPC` call.
Which Odoo versions and editions do you support?
We build and regression-test against Odoo 17.0, 18.0 and 19.0, on both Community and Enterprise. During scoping we confirm your edition so the permission surface matches exactly what your POS exposes — including Enterprise-only restaurant and loyalty flows where relevant.
What about support and future Odoo updates?
Every build includes a post-go-live support window for defect fixes and configuration adjustments. Upgrades to a newer major Odoo version, or new capabilities beyond the delivered scope, are handled as a separate quoted engagement — you own the source and the git repository, so you're never locked in.
Can a manager override a block when a genuine exception is needed?
Yes. We implement a supervisor-PIN override flow so an authorized employee can approve a one-off exception in the cashier's session without handing over their own login. Each override is logged, so exceptions remain auditable.
Módulos relacionados

Popup Message for Odoo
Configurable success, warning, and alert popup dialogs that fire on the Odoo events you choose — record saves, state changes, validation gates, and button clicks. Built to order by ECOSIRE for your Odoo 17, 18, or 19 database.

Portal Access
A made-to-order Odoo capability that gives your team a single, governed place to grant, revoke, and audit customer portal access. ECOSIRE builds, installs, and supports it after we scope your access rules with you.

POS All in One Report Generator
A made-to-order Odoo Point of Sale reporting engine that turns raw session, order line, and payment data into dynamic, filterable reports. ECOSIRE builds it to your exact KPIs, installs it, and supports it after you request a quotation.

POS Analytic Account
A build-to-order Odoo module that propagates analytic accounts and cost centers onto POS orders and their generated journal entries, so point-of-sale revenue and costs land in the right analytic buckets automatically. Scoped, built, installed, and supported by ECOSIRE.
POS Access Rights by Employee
A build-to-order Odoo Point of Sale module that gates POS functionality — discounts, price edits, refunds, voids, session close and more — per employee role. ECOSIRE scopes, builds, installs, and supports it for your Odoo 17/18/19.
- Per-employee and per-role permission profiles modeled as fields on `hr.employee` plus an optional reusable `pos.access.profile` model
- Granular capability toggles: apply discount, edit unit price, void/remove order line, delete order, process refund, reprint receipt, open cash drawer, change customer, close session, view session totals
- Server-side enforcement via `ir.model.access.csv` and record rules so blocked actions cannot be bypassed through `JSON-RPC`/`XML-RPC` calls
- OWL point-of-sale component extensions that hide or disable unauthorized buttons rather than letting them fail silently