pos.config: fields, relations and API
The pos.config model ("Point of Sale Configuration") is a persistent model declared by the Point of Sale module, then extended by 13 other modules. It exposes 130 fields, 124 of them declared directly on the model; 15 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.
Model identity
- Technical name
pos.config- Label
- Point of Sale Configuration
- Type
- Persistent (models.Model)
- SQL table
pos_config- Origin module
- Point of Sale (
point_of_sale) - Extended by
- l10n_fr_pos_cert, pos_adyen, pos_discount, pos_event, pos_sale, pos_hr, pos_restaurant, pos_loyalty, pos_online_payment, pos_self_order, pos_online_payment_self_order, pos_self_order_qfpay, pos_sms
- Inherits from (mixins)
- pos.bus.mixinpos.load.mixin
hr.mixin
Model fields
124 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.
130 of 130 fields shown
| Technical name | Label | Type | Details |
|---|---|---|---|
| access_token | Access Token | char | |
| active | Active | boolean | |
| advanced_employee_ids | Employees with manager access Employees linked to users with the PoS Manager role are automatically added to this list | many2many | added by POS - HR ( |
| adyen_ask_customer_for_tip | Ask Customers For Tip | boolean | added by POS Adyen ( |
| amount_authorized_diff | Amount Authorized Difference This field depicts the maximum difference allowed between the ending balance and the theoretical cash when closing a session, for non-POS managers. If this maximum is reached, the user will have an error message at the closing of his session saying that he needs to contact his manager. | float | |
| auto_validate_terminal_payment | Auto Validate Terminal Payment Automatically validates orders paid with a payment terminal. | boolean | |
| available_preset_ids | Available Presets | many2many | |
| available_pricelist_ids | Available Pricelists Make several pricelists available in the Point of Sale. You can also apply a pricelist to specific customers from their contact form (in Sales tab). To be valid, this pricelist must be listed here as an available pricelist. Otherwise the default pricelist will apply. | many2many | |
| basic_employee_ids | Employees with basic access If left empty, all employees can log in to PoS | many2many | added by POS - HR ( |
| basic_receipt | Basic Receipt Print basic ticket without prices. Can be used for gifts. | boolean | |
| cash_control | Advanced Cash Control Check the amount of the cashbox at opening and closing. | boolean | computed |
| cash_rounding | Cash Rounding | boolean | |
| company_has_template | Company has chart of accounts | boolean | computed |
| company_id | Company | many2one | required |
| crm_team_id | Sales Team This Point of sale's sales will be related to this Sales Team. | many2one→ crm.team | added by POS - Sales ( |
| currency_id | Currency | many2one | computed, stored |
| current_session_id | Current Session | many2one | computed |
| current_session_state | Current Session State | char | computed |
| current_user_id | Current Session Responsible | many2one | computed |
| customer_display_bg_img | Background Image | image | |
| customer_display_bg_img_name | Background Image Name | char | |
| default_bill_ids | Coins/Bills | many2many→ pos.bill | |
| default_fiscal_position_id | Default Fiscal Position | many2one | |
| default_preset_id | Default Preset | many2one | |
| default_screen | Default Screen | selection | Values: added by Restaurant ( |
| device_seq_id | Device Sequence | many2one | read-only |
| discount_pc | Discount Percentage The default discount percentage when clicking on the Discount button | float | added by Point of Sale Discounts ( |
| discount_product_id | Discount Product The product used to apply the discount on the ticket. | many2one | added by Point of Sale Discounts ( |
| down_payment_product_id | Down Payment Product This product will be used as down payment on a sale order. | many2one | added by POS - Sales ( |
| epson_printer_ip | Epson Printer IP Local IP address of an Epson receipt printer, or its serial number if the 'Automatic Certificate Update' option is enabled in the printer settings. | char | |
| fallback_nomenclature_id | Fallback Nomenclature | many2one | |
| fast_payment_method_ids | Fast Payment Methods These payment methods will be available for fast payment | many2many | computed, stored |
| fiscal_position_ids | Fiscal Positions This is useful for restaurants with onsite and take-away services that imply specific tax rates. | many2many | |
| floor_ids | Restaurant Floors The restaurant floors served by this point of sale. | many2many | added by Restaurant ( |
| group_pos_manager_id | Point of Sale Manager Group This field is there to pass the id of the pos manager group to the point of sale client. | many2one | |
| group_pos_user_id | Point of Sale User Group This field is there to pass the id of the pos user group to the point of sale client. | many2one | |
| has_active_session | Has Active Session | boolean | computed |
| has_paper | Has paper | boolean | added by POS Self Order ( |
| iface_available_categ_ids | Available PoS Product Categories The point of sale will only display products which are within one of the selected category trees. If no category is specified, all available products will be shown | many2many | |
| iface_big_scrollbars | Large Scrollbars For imprecise industrial touchscreens. | boolean | |
| iface_cashdrawer | Cashdrawer Automatically open the cashdrawer. | boolean | |
| iface_discount | Order Discounts Allow the cashier to give discounts on the whole order. | boolean | added by Point of Sale Discounts ( |
| iface_electronic_scale | Electronic Scale Enables Electronic Scale integration. | boolean | |
| iface_group_by_categ | Group products by categories Display products grouped by categories. | boolean | |
| iface_print_auto | Automatic Receipt Printing The receipt will automatically be printed at the end of each order. | boolean | |
| iface_print_skip_screen | Skip Preview Screen The receipt screen will be skipped if the receipt can be printed automatically. | boolean | |
| iface_print_via_proxy | Print via Proxy Bypass browser printing and prints via the hardware proxy. | boolean | |
| iface_printbill | Bill Printing Allows to print the Bill before payment. | boolean | added by Restaurant ( |
| iface_scan_via_proxy | Scan via Proxy Enable barcode scanning with a remotely connected barcode scanner and card swiping with a Vantiv card reader. | boolean | |
| iface_splitbill | Bill Splitting Enables Bill Splitting in the Point of Sale. | boolean | added by Restaurant ( |
| iface_tax_included | Tax Display | selection | required Values: |
| iface_tipproduct | Product tips | boolean | |
| invoice_journal_id | Invoice Journal Accounting journal used to create invoices. | many2one | |
| is_closing_entry_by_product | Closing Entry by product Display the breakdown of sales lines by product in the automatically generated closing entry. | boolean | |
| is_header_or_footer | Custom Header & Footer | boolean | |
| is_installed_account_accountant | Is the Full Accounting Installed | boolean | computed |
| is_margins_costs_accessible_to_every_user | Margins & Costs When disabled, only PoS manager can view the margin and cost of product among the Product info. | boolean | |
| is_order_printer | Order Printer | boolean | |
| is_posbox | PosBox | boolean | |
| journal_id | Point of Sale Journal Accounting journal used to post POS session journal entries and POS invoice payments. | many2one | |
| last_data_change | Last Write Date | datetime | read-onlycomputed, stored |
| last_session_closing_cash | Last Session Closing Cash | float | computed |
| last_session_closing_date | Last Session Closing Date | date | computed |
| limit_categories | Restrict Categories | boolean | |
| manual_discount | Line Discounts | boolean | |
| minimal_employee_ids | Employees with minimal access If left empty, all employees can log in to PoS | many2many | added by POS - HR ( |
| module_pos_appointment | Online Booking | boolean | |
| module_pos_avatax | AvaTax PoS Integration Use automatic taxes mapping with Avatax in PoS | boolean | |
| module_pos_discount | Global Discounts | boolean | |
| module_pos_hr | Module Pos Hr Show employee login screen | boolean | |
| module_pos_restaurant | Is a Bar/Restaurant | boolean | |
| module_pos_sms | SMS Enabled Activate SMS feature for point_of_sale | boolean | |
| name | Point of Sale An internal identification of the point of sale. | char | required |
| note_ids | Note Models The predefined notes of this point of sale. | many2many→ pos.note | |
| number_of_rescue_session | Number of Rescue Session | integer | computed |
| only_round_cash_method | Only apply rounding on cash | boolean | |
| order_backend_seq_id | Order Backend Sequence | many2one | read-only |
| order_edit_tracking | Track orders edits Store edited orders in the backend | boolean | |
| order_line_seq_id | Order Line Sequence | many2one | read-only |
| order_seq_id | Order Sequence | many2one | read-only |
| other_devices | Other Devices Connect devices to your PoS without an IoT Box. | boolean | |
| payment_method_ids | Payment Methods | many2many | |
| picking_policy | Shipping Policy If you deliver all products at once, the delivery order will be scheduled based on the greatest product lead time. Otherwise, it will be based on the shortest. | selection | required Values: |
| picking_type_id | Operation Type | many2one | required |
| pos_session_duration | Pos Session Duration | char | computed |
| pos_session_state | Pos Session State | char | computed |
| pos_session_username | Pos Session Username | char | computed |
| pricelist_id | Default Pricelist The pricelist used if no customer is selected or if the customer has no Sale Pricelist configured if any. | many2one | |
| printer_ids | Order Printers | many2many | |
| proxy_ip | IP Address The hostname or ip address of the hardware proxy, Will be autodetected if left empty. | char | |
| receipt_footer | Receipt Footer A short text that will be inserted as a footer in the printed receipt. | text | |
| receipt_header | Receipt Header A short text that will be inserted as a header in the printed receipt. | text | |
| restrict_price_control | Restrict Price Modifications to Managers Only users with Manager access rights for PoS app can modify the product prices on orders. | boolean | |
| rounding_method | Cash rounding | many2one | |
| route_id | Spefic route for products delivered later. | many2one | |
| self_order_online_payment_method_id | Self Online Payment The online payment method to use when a customer pays a self-order online. | many2one | added by POS Self-Order / Online Payment ( |
| self_ordering_available_language_ids | Available Languages Languages available for the kiosk mode | many2many→ res.lang | added by POS Self Order ( |
| self_ordering_default_language_id | Default Language Default language for the kiosk mode | many2one→ res.lang | added by POS Self Order ( |
| self_ordering_default_user_id | Default User Access rights of this user will be used when visiting self order website when no session is open. | many2one | added by POS Self Order ( |
| self_ordering_image_background_ids | Set background image Image to be displayed in the background | many2many | added by POS Self Order ( |
| self_ordering_image_brand | Self Order Kiosk Image Brand Image to display on the self order screen | image | added by POS Self Order ( |
| self_ordering_image_brand_name | Self Order Kiosk Image Brand Name Name of the image to display on the self order screen | char | added by POS Self Order ( |
| self_ordering_image_home_ids | Add images Image to display on the self order screen | many2many | added by POS Self Order ( |
| self_ordering_mode | Self Ordering Mode Choose the self ordering mode | selection | required Values: added by POS Self Order ( |
| self_ordering_pay_after | Pay After: Choose when the customer will pay | selection | required Values computed at runtime added by POS Self Order ( |
| self_ordering_service_mode | Self Ordering Service Mode Choose the kiosk mode | selection | required Values: added by POS Self Order ( |
| self_ordering_url | Self Ordering Url | char | computed added by POS Self Order ( |
| session_ids | Sessions | one2many | inverse: |
| set_maximum_difference | Set Maximum Difference Set a maximum difference allowed between the expected and counted money during the closing of the session. | boolean | |
| set_tip_after_payment | Set Tip After Payment Adjust the amount authorized by payment terminals to add a tip after the customers left or at the end of the day. | boolean | added by Restaurant ( |
| ship_later | Ship Later | boolean | |
| show_category_images | Show Category Images Show category images in the Point of Sale interface. | boolean | |
| show_product_images | Show Product Images Show product images in the Point of Sale interface. | boolean | |
| sms_receipt_template_id | Sms Receipt template SMS will be sent to the customer based on this template | many2one | added by POS - SMS ( |
| statistics_for_current_session | Session Statistics | json | computed |
| status | Status | selection | computed Values: added by POS Self Order ( |
| tax_regime_selection | Tax Regime Selection value | boolean | |
| tip_product_id | Tip Product This product is used as reference on customer receipts. | many2one | |
| trusted_config_ids | Trusted Point of Sale Configurations | many2many | |
| use_fast_payment | Fast Payment Validation Enable fast payment methods to validate orders on the product screen. | boolean | |
| use_presets | Use Presets | boolean | |
| use_pricelist | Use a pricelist. | boolean | |
| uuid | Uuid A globally unique identifier for this pos configuration, used to prevent conflicts in client-generated data. | char | read-only |
| warehouse_id | Warehouse | many2one | computed, stored |
| create_date | Created on | datetime | read-onlyautomatic |
| create_uid | Created by | many2one | read-onlyautomatic |
| display_name | Display Name | char | read-onlycomputedautomatic |
| id | ID | integer | read-onlyautomatic |
| write_date | Last Updated on | datetime | read-onlyautomatic |
| write_uid | Last Updated by | many2one | read-onlyautomatic |
Relations
Models linked from this model
- account.cash.rounding: rounding_method
- account.fiscal.position: default_fiscal_position_id, fiscal_position_ids
- account.journal: invoice_journal_id, journal_id
- barcode.nomenclature: fallback_nomenclature_id
- crm.team: crm_team_id
- hr.employee: advanced_employee_ids, basic_employee_ids, minimal_employee_ids
- ir.attachment: self_ordering_image_background_ids, self_ordering_image_home_ids
- ir.sequence: device_seq_id, order_backend_seq_id, order_line_seq_id, order_seq_id
- pos.bill: default_bill_ids
- pos.category: iface_available_categ_ids
- pos.config: trusted_config_ids
- pos.note: note_ids
- pos.payment.method: fast_payment_method_ids, payment_method_ids, self_order_online_payment_method_id
- pos.preset: available_preset_ids, default_preset_id
- pos.printer: printer_ids
- pos.session: current_session_id, session_ids
- product.pricelist: available_pricelist_ids, pricelist_id
- product.product: discount_product_id, down_payment_product_id, tip_product_id
- res.company: company_id
- res.currency: currency_id
- res.groups: group_pos_manager_id, group_pos_user_id
- res.lang: self_ordering_available_language_ids, self_ordering_default_language_id
- res.users: current_user_id, self_ordering_default_user_id
- restaurant.floor: floor_ids
- sms.template: sms_receipt_template_id
- stock.picking.type: picking_type_id
- stock.route: route_id
- stock.warehouse: warehouse_id
Fields of other models pointing here
- loyalty.program: pos_config_ids
- pos_self_order.custom_link: pos_config_ids
- pos.bill: pos_config_ids
- pos.category: pos_config_ids
- pos.config: trusted_config_ids
- pos.details.wizard: pos_config_ids
- pos.make.payment: config_id
- pos.order: config_id
- pos.payment.method: config_ids
- pos.printer: pos_config_ids
- pos.session: config_id
- report.pos.order: config_id
- res.config.settings: pos_config_id, pos_trusted_config_ids
- restaurant.floor: pos_config_ids
Reading this model through the API
Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.
curl -X POST "https://your-instance.odoo.com/json/2/pos.config/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: your-db" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","company_id","iface_tax_included","picking_policy","picking_type_id"],"limit":5}'import requests
BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}
res = requests.post(
f"{BASE_URL}/pos.config/search_read",
headers=headers,
json={"domain": [], "fields": ["name","company_id","iface_tax_included","picking_policy","picking_type_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- External API access requires Odoo's Custom plan.
- XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
- The access rights and record rules of the key's user apply.
Cite this tool
Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.
<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/pos-config">pos.config (Odoo 19.0)</a>Sources
Data verified on September 23, 2026 · Odoo 19.0 Community
Have an Odoo project, or want to put your ERP to work with AI? Let's talk
Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.