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 $249.00 USD; request a quote for a scoped proposal.
Manifeste de l'app
Conçu autour de votre flux de travail
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.
Aucune configuration à faire vous-même — une app fonctionnelle conçue, installée et prise en charge par ECOSIRE.
Commencez par un prix de développement unique. Nous cadrons le projet avec vous au lancement.
ECOSIRE la développe, la configure et l'installe sur votre Odoo.
Vous êtes en ligne en 2–4 semaines environ, avec une période d’assistance après le lancement.
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 2-4 weeks from confirmed scope, depending on how many roles and edge cases you need. Pricing starts from $249 (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.
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.
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.
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.
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.
| Critère | ÉCOSIRE | Construction personnalisée | Concurrent | Odoo natif |
|---|---|---|---|---|
| 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 | |
| Enforcement layer | Server-side access CSV + record rules, plus UI gating | Depends on developer discipline | Often UI-only; RPC bypass possible | |
| 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 | |
| Manager override | Supervisor-PIN approval flow, logged | Build it yourself | Sometimes included, behavior varies | |
| Audit trail | Logs gated attempts and overrides | Only if you implement it | Rarely included | |
| Version & edition support | Built/tested for 17/18/19, Community & Enterprise | You maintain across versions | Whatever the listing states; may lag | |
| Ownership & lock-in | Full source + git repo handed over | You own it fully | Vendor-controlled, licensed binary | |
| Support model | Post-go-live window + quoted upgrades | Self-supported or ad-hoc | Vendor tickets, variable SLAs |
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.
Typical delivery is 2-4 weeks 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.
Pricing starts from $249 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.
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.
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.
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.
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.

A build-to-order Odoo localization that loads Algeria's full wilaya and commune hierarchy with bilingual French and Arabic names, wired into partner addresses and reporting. ECOSIRE builds, installs, and supports it after your quotation.

A build-to-order 2Checkout (Verifone) payment integration for ERPNext, giving global digital-goods sellers card acceptance, 45+ local payment methods, multi-currency checkout, and reconciled invoices. ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 instance.

A build-to-order 2Checkout / Verifone payment gateway for Magento 2 and Adobe Commerce: localized checkout in 12 languages, iDEAL, Giropay and regional methods, multi-currency global selling, subscription billing and tax/invoicing automation — engineered, installed and supported by ECOSIRE.
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.