TIP: You can type at any time to perform a new search.
POS - HR
pos_hr · odoo/odoo
Security findings
- Repository
- odoo/odoo · module folder
- Module version
- 0.1.0
- Category
- Sales/Point of Sale
- Folder size
- 0.91 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- Yes
- Website
- None
- Last tracking update
- 2026-10-05 00:19:49
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- odoo, Odoo Translation Bot, Christophe Matthieu, Géry Debongnie, Victor Feyens, Julien Mougenot, Tiffany Chang (tic), David Monnom (moda), Pedram (PEBR), Dylan Kiss (dyki), Sarah Bellefroid, Adrien Guilliams (adgu), shag-odoo, Mélanie, manv-afk, parp-odoo, Xavier Luyckx (xlu), paan-odoo, Jitendra Prajapat, Arthur Nanson, Pierre Pulinckx, Michaël Mattiello, Krzysztof Magusiak (krma), Ajit Singh, Robin Engels (roen), vpan-odoo, vlst-odoo, Guillaume V, Harrison Hutton, Meet Jivani [MEJI], Hadi El Yakhni, thha-odoo, sjai-odoo, Julien Launois (jula), Traina Ludo, rpka-odoo, Stephane Vanmeerhaeghe (stva), Thomas (thsc), Léopold Cantraine, abhk-odoo, ELCO, adgu-odoo, Shubham Agarwal, Shubham Agarwal(shag), Abhishek Khant, Vedant Pandey (vpan-odoo), Jean Schoenlaub, Aditi Pawar(adpaw)
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- pos_hr_restaurant, spreadsheet_dashboard_pos_hr, spreadsheet_dashboard_pos_restaurant
- Description
This module allows Employees (and not users) to log in to the Point of Sale application using a barcode, a PIN number or both. The actual till still requires one user but an unlimited number of employees can log on to that till and process sales.
Code Analysis
Views touched (13)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
pos_config_form_view_inherit |
pos.config.form.view.inherit | pos.config | form | Inherits point_of_sale.pos_config_view_form |
pos_hr.report_salesdetails_with_employee_reports |
pos_hr.report_salesdetails_with_employee_reports | ir.ui.view | qweb | Inherits point_of_sale.report_saledetails |
pos_hr.single_employee_sales_report |
pos_hr.single_employee_sales_report | ir.ui.view | qweb | Inherits point_of_sale.pos_session_sales_details |
pos_order_form_inherit |
pos.order.form.inherit | pos.order | form | Inherits point_of_sale.view_pos_pos_form |
pos_order_list_select_inherit |
pos.order.list.select.inherit | pos.order | list | Inherits point_of_sale.view_pos_order_filter |
report_pos_order_view_tree |
report.pos.order.view.list.inherit.pos.hr | report.pos.order | list | Inherits point_of_sale.report_pos_order_view_tree |
res_config_settings_view_form |
res.config.settings.view.form.inherit.pos_hr | res.config.settings | form | Inherits point_of_sale.res_config_settings_view_form |
view_pos_config_kanban_inherit_pos_hr |
pos.config.kanban.view.inherit.pos.hr | pos.config | kanban | Inherits point_of_sale.view_pos_config_kanban |
view_pos_daily_sales_reports_wizard |
pos.daily.sales.reports.wizard.form.inherit | pos.daily.sales.reports.wizard | form | Inherits point_of_sale.view_pos_daily_sales_reports_wizard |
view_pos_order_tree_inherit |
pos.order.list.inherit | pos.order | list | Inherits point_of_sale.view_pos_order_tree |
view_pos_payment_tree_inherit |
pos.payment.list.inherit | pos.payment | list | Inherits point_of_sale.view_pos_payment_tree |
view_pos_session_form_inherit_pos_hr |
pos.session.form.view.inherit.pos.hr | pos.session | form | Inherits point_of_sale.view_pos_session_form |
view_report_pos_order_search_inherit |
report.pos.order.search.inherit | report.pos.order | search | Inherits point_of_sale.view_report_pos_order_search |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (13)
New fields (1)
-
employee_idMany2one → hr.employeehelp='The employee who made the cash move.'string='Employee' args: 'hr.employee'
No public methods.
New fields (0)
No new fields.
Public methods (2)-
get_barcodes_and_pin_hashed(self) -
load_pos_data_force_loading(self)@api.model
New fields (5)
-
cashier_employee_idsMany2many → hr.employeebypass_search_access=Truehelp='Full register access. Can process sales, discounts, refunds, and close out payments.'string='Employees with cashier level access' args: 'hr.employee', 'pos_hr_cashier_employee_hr_employee' -
logged_employee_idsMany2many → hr.employeehelp='All employees who have logged into the current session'readonly=Truerelated='current_session_id.logged_employee_ids' args: 'hr.employee' -
manager_employee_idsMany2many → hr.employeebypass_search_access=Truehelp='Full access, including reporting, cash management, and session close.'string='Employees with manager level access' args: 'hr.employee', 'pos_hr_manager_employee_hr_employee' -
restrictive_employee_idsMany2many → hr.employeebypass_search_access=Truehelp='Can process sales and close payments, but not apply discounts, refunds, or cancel orders.'string='Employees with restrictive level access' args: 'hr.employee', 'pos_hr_restrictive_employee_hr_employee' -
supervised_employee_idsMany2many → hr.employeebypass_search_access=Truehelp='Can process sales, but a higher level must approve before payment is closed'string='Employees with supervised level access' args: 'hr.employee', 'pos_hr_supervised_employee_hr_employee'
-
write(self, vals)
New fields (2)
-
add_report_per_employeeBooleandefault=Truestring='Add a report per each employee' -
employee_idsMany2many → hr.employeecompute='_compute_employee_ids' args: 'hr.employee'
No public methods.
New fields (2)
-
cashierCharcompute='_compute_cashier'store=Truestring='Cashier name' -
employee_idMany2one → hr.employeehelp='The employee who uses the cash register.'string='Cashier' args: 'hr.employee'
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
employee_idMany2one → hr.employeeindex=Truerelated='pos_order_id.employee_id'store=Truestring='Cashier' args: 'hr.employee'
No public methods.
New fields (2)
-
employee_idMany2one → hr.employeehelp='The employee who currently uses the cash register'string='Cashier'tracking=True args: 'hr.employee' -
logged_employee_idsMany2many → hr.employeecompute='_compute_logged_employee_ids'help='All employees who have logged into this session'store=Truestring='Logged In Cashiers' args: 'hr.employee'
-
get_closing_control_data(self) -
try_cash_in_out(self, _type, amount, reason, partner_id, **kwargs)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
employee_idMany2one → hr.employeereadonly=Truestring='Employee' args: 'hr.employee'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
get_sale_details(self, date_start=False, date_stop=False, config_ids=False, session_ids=False, employee_id=False)@api.model
New fields (4)
-
pos_cashier_employee_idsMany2manyhelp=' Full register access. Can process sales, discounts, refunds, and close out payments.'readonly=Falserelated='pos_config_id.cashier_employee_ids' -
pos_manager_employee_idsMany2manyhelp=' Full access, including reporting, cash management, and session close.'readonly=Falserelated='pos_config_id.manager_employee_ids' -
pos_restrictive_employee_idsMany2manyhelp='Can process sales and close payments, but not apply discounts, refunds, or cancel orders.'readonly=Falserelated='pos_config_id.restrictive_employee_ids' -
pos_supervised_employee_idsMany2manyhelp='Can process sales, but a higher level must approve before payment is closed.'readonly=Falserelated='pos_config_id.supervised_employee_ids'
-
create(self, vals_list)@api.model_create_multi
New fields (0)
No new fields.
Public methods (0)No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…