Go to file
2026-05-12 13:15:13 +07:00
models first commit 2026-05-12 13:15:13 +07:00
static/src/app first commit 2026-05-12 13:15:13 +07:00
views first commit 2026-05-12 13:15:13 +07:00
__init__.py first commit 2026-05-12 13:15:13 +07:00
__manifest__.py first commit 2026-05-12 13:15:13 +07:00
.gitignore first commit 2026-05-12 13:15:13 +07:00
README.md first commit 2026-05-12 13:15:13 +07:00

POS Custom Employee Access

This Odoo 19 module enhances the security and auditability of the Point of Sale system by enforcing PIN-based authentication for critical workflows and tracking detailed order attribution.

Features

  • Mandatory PIN on Table Selection: Prevents unauthorized access to tables. Every table selection triggers a PIN prompt to identify the employee taking the order.
  • Mandatory PIN on Payment: Requires PIN authentication before processing payments to ensure the transaction is handled by an authorized employee.
  • Role-Based Payment Gating: Cross-checks employee roles (using pos_employee_role) to prevent roles like 'waiter' from processing payments.
  • Order Attribution:
    • Order Taker: Records the employee who first authenticated for the table.
    • Cashier: Records the employee who authenticated for the payment.
  • UI Streamlining: Removes manual "+ New Order" buttons to enforce a table-based workflow.

Dependencies

  • point_of_sale
  • pos_restaurant
  • pos_hr
  • pos_employee_role

Installation

  1. Place the pos_custom_access directory in your Odoo customaddons folder.
  2. Restart the Odoo server.
  3. Update the App List in the Odoo backend.
  4. Install the POS Custom Employee Access module.

Configuration

Ensure that employees have PINs set in their HR Employee profile and that they are assigned appropriate roles if using pos_employee_role.

Audit Fields

The following fields are added or modified on the pos.order model:

  • creator_id: "Order Taker" - Employee who took the order.
  • payer_id: "Cashier" - Employee who processed the payment.
  • employee_id: Renamed to "Cash Open by" - Employee who opened the cash register (standard pos_hr field).

These fields can be viewed in the POS Order backend list and form views.