# 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.