Odoo 20.0 Community · Persistent

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 16 other modules. It exposes 150 fields, 144 of them declared directly on the model; 17 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 20 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_bancontact_pay, pos_discount, pos_event, pos_sale, pos_hr, pos_restaurant, pos_loyalty, pos_stock, pos_online_payment, pos_self_order, pos_online_payment_self_order, pos_self_order_bancontact_pay, pos_self_order_event, pos_sms
Inherits from (mixins)
pos.bus.mixinpos.load.mixinhr.mixin

Model fields

144 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.

150 of 150 fields shown

Technical nameLabelTypeDetails
access_tokenAccess Tokenchar
activeActiveboolean
adyen_ask_customer_for_tipAsk Customers For Tipboolean

added by POS Adyen (pos_adyen)

amount_authorized_diffAmount 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_electronic_paymentAuto Validate Electronic Payment

Automatically validates orders paid with an electronic payment (terminals, qr codes, ...).

boolean
available_preset_idsAvailable Presetsmany2many
available_pricelist_idsAvailable 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_receiptGift Receipt

Print gift ticket without prices. Can be used for gifts.

boolean
cash_controlAdvanced Cash Control

Check the amount of the cashbox at opening and closing.

boolean
computed
cash_roundingTotal Roundingboolean
cashier_employee_idsEmployees with cashier level access

Full register access. Can process sales, discounts, refunds, and close out payments.

many2many

added by POS - HR (pos_hr)

closing_journal_idClosing Journal

Journal used specifically for PoS session closing and reverse entries

many2one
requiredcomputed, stored
company_has_templateCompany has chart of accountsboolean
computed
company_idCompanymany2one
required
crm_team_idSales Team

This Point of sale's sales will be related to this Sales Team.

many2one

added by POS - Sales (pos_sale)

currency_idCurrencymany2one
computed, stored
current_cash_register_balanceCash Registerfloat
computed
current_session_idCurrent Sessionmany2one
computed
current_session_stateCurrent Session Statechar
computed
current_user_idCurrent Session Responsiblemany2one
computed
custom_emailEmailchar
custom_logo_nameLogo Namechar
custom_phonePhone Nbchar
custom_receipt_addressAddresschar
custom_websiteWebsitechar
customer_display_bg_imgBackground Imageimage
customer_display_bg_img_nameBackground Image Namechar
default_bill_idsCoins/Billsmany2many
default_fiscal_position_idDefault Fiscal Positionmany2one
default_partner_idDefault Customer

The default customer used in PoS session closing

many2one
required
default_preset_idDefault Presetmany2one
default_product_idDefault Product

This product will be used as default product on productless SOLs.

many2one
required

added by POS - Sales (pos_sale)

default_screenDefault Screenselection

Values: tables (Tables), register (Register)

added by Restaurant (pos_restaurant)

device_seq_idDevice Sequencemany2one
read-only
discount_pcDiscount Value

The default discount value when clicking on the Discount button

float

added by Point of Sale Discounts (pos_discount)

discount_product_idDiscount Product

The product used to apply the discount on the ticket.

many2one

added by Point of Sale Discounts (pos_discount)

down_payment_product_idDown Payment Product

This product will be used as down payment on a sale order.

many2one
required

added by POS - Sales (pos_sale)

emailReceipt emailchar
computed, stored
fallback_nomenclature_idFallback Nomenclaturemany2one
fast_payment_method_idsFast Payment Methods

These payment methods will be available for fast payment

many2many
computed, stored
fiscal_position_idsFiscal Positions

This is useful for restaurants with onsite and take-away services that imply specific tax rates.

many2many
floor_idsRestaurant Floors

The restaurant floors served by this point of sale.

many2many

added by Restaurant (pos_restaurant)

floor_planFloor Planjson
computed

added by Restaurant (pos_restaurant)

floor_plan_settingsFloor Plan Settingsjson

added by Restaurant (pos_restaurant)

group_pos_manager_idPoint 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_idPoint 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_sessionHas Active Sessionboolean
computed
has_paperHas paperboolean

added by POS Self Order (pos_self_order)

iface_available_categ_idsAvailable 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_scrollbarsLarge Scrollbars

For imprecise industrial touchscreens.

boolean
iface_discountOrder Discounts

Allow the cashier to give discounts on the whole order.

boolean

added by Point of Sale Discounts (pos_discount)

iface_group_by_categGroup products by categories

Display products grouped by categories.

boolean
iface_print_autoAutomatic Receipt Printing

The receipt will automatically be printed at the end of each order.

boolean
iface_printbillBill Printing

Allows to print the Bill before payment.

boolean
iface_tax_includedTax Displayselection
required

Values: subtotal (Tax-Excluded Price), total (Tax-Included Price)

iface_tipproductProduct tipsboolean
is_installed_account_accountantIs the Full Accounting Installedboolean
computed
is_margins_costs_accessible_to_every_userMargins & Costs

When disabled, only PoS manager can view the margin and cost of product among the Product info.

boolean
journal_idPoint of Sale Journal

Journal used for customer invoices and refunds credit notes.

many2one
kanban_dashboard_graphKanban Dashboard Graphtext
computed
last_data_changeLast Write Datedatetime
read-onlycomputed, stored
last_session_closing_dateLast Session Closing Datedate
computed
limit_categoriesRestrict Categoriesboolean
logged_employee_idsLogged Employee

All employees who have logged into the current session

many2many
read-only

related: current_session_id.logged_employee_ids

added by POS - HR (pos_hr)

manager_employee_idsEmployees with manager level access

Full access, including reporting, cash management, and session close.

many2many

added by POS - HR (pos_hr)

manual_discountLine Discountsboolean
module_pos_appointmentOnline Bookingboolean
module_pos_avataxAvaTax PoS Integration

Use automatic taxes mapping with Avatax in PoS

boolean
module_pos_discountGlobal Discountsboolean
module_pos_hrModule Pos Hr

Show employee login screen

boolean
module_pos_restaurantIs a Bar/Restaurantboolean
module_pos_smsSMS Enabled

Activate SMS feature for point_of_sale

boolean
namePoint of Sale

An internal identification of the point of sale.

char
requiredtranslatable
note_idsNote Models

The predefined notes of this point of sale.

many2many
only_round_cash_methodOnly apply rounding on cashboolean
order_backend_seq_idOrder Backend Sequencemany2one
read-only
order_line_seq_idOrder Line Sequencemany2one
read-only
order_seq_idOrder Sequencemany2one
read-only
other_devicesOther Devices

Connect printers to your PoS.

boolean
payment_method_idsPayment Methodsmany2many
phoneReceipt phonechar
computed, stored
picking_policyShipping 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: direct (As soon as possible, with back orders), one (When all products are ready)

added by PoS - Stock (pos_stock)

picking_type_idOperation Typemany2one
required

added by PoS - Stock (pos_stock)

pos_session_durationPos Session Durationchar
computed
pos_session_statePos Session Statechar
computed
pos_session_usernamePos Session Usernamechar
computed
pos_snooze_idsSnoozed Recordsone2many

inverse: pos_config_id

preparation_devicesPreparation devices

Connect preparation printers to print to the bar, kitchen,...

boolean
preparation_printer_idsPreparation Printersmany2many
pricelist_idDefault Pricelist

The pricelist used if no customer is selected or if the customer has no Sale Pricelist configured if any.

many2one
receipt_addressReceipt addresschar
computed, stored
receipt_headerReceipt Header

A short text that will be inserted as a header in the printed receipt.

text
receipt_printer_idsReceipt Printersmany2many
restrict_price_controlRestrict Price Modifications to Managers

Only users with Manager access rights for PoS app can modify the product prices on orders.

boolean
restrictive_employee_idsEmployees with restrictive level access

Can process sales and close payments, but not apply discounts, refunds, or cancel orders.

many2many

added by POS - HR (pos_hr)

rounding_methodRounding Methodmany2one
route_idSpecific route for products delivered later.many2one

added by PoS - Stock (pos_stock)

self_order_online_payment_method_idSelf Online Payment

The online payment method to use when a customer pays a self-order online.

many2one

added by POS Self-Order / Online Payment (pos_online_payment_self_order)

self_ordering_available_language_idsAvailable Languages

Languages available for the kiosk mode

many2many

added by POS Self Order (pos_self_order)

self_ordering_default_language_idDefault Language

Default language for the kiosk mode

many2one

added by POS Self Order (pos_self_order)

self_ordering_default_user_idDefault 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 (pos_self_order)

self_ordering_image_background_idsSet background image

Image to be displayed in the background

many2many

added by POS Self Order (pos_self_order)

self_ordering_image_brandSelf Order Kiosk Image Brand

Image to display on the self order screen

image

added by POS Self Order (pos_self_order)

self_ordering_image_brand_nameSelf Order Kiosk Image Brand Name

Name of the image to display on the self order screen

char

added by POS Self Order (pos_self_order)

self_ordering_image_home_idsAdd Media

Media items to display on the self order screen

many2many

added by POS Self Order (pos_self_order)

self_ordering_modeSelf Ordering Mode

Choose the self ordering mode

selection
required

Values: nothing (Disable), consultation (QR menu), mobile (QR menu + Ordering), kiosk (Kiosk)

added by POS Self Order (pos_self_order)

self_ordering_pay_afterPay After:

Choose when the customer will pay

selection
required

Values computed at runtime

added by POS Self Order (pos_self_order)

self_ordering_primary_colorColorchar

added by POS Self Order (pos_self_order)

self_ordering_service_modeSelf Ordering Service Mode

Choose the kiosk mode

selection
required

Values: counter (Pickup zone), table (Table), dynamic_qr (Dynamic QR)

added by POS Self Order (pos_self_order)

self_ordering_urlSelf Ordering Urlchar
computed

added by POS Self Order (pos_self_order)

session_closing_daily_hourDaily Closing Hour

The hour at which the session will be automatically closed when the closing mode is set to 'Daily'.

float
session_closing_modeClosing Modeselection
read-only

Values: daily (Daily), closing (At closing)

session_idsSessionsone2many

inverse: config_id

set_maximum_differenceSet Maximum Difference

Set a maximum difference allowed between the expected and counted money during the closing of the session.

boolean
set_tip_after_paymentSet 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
ship_laterShip Laterboolean

added by PoS - Stock (pos_stock)

show_category_imagesShow Category Images

Show category images in the Point of Sale interface.

boolean
show_product_imagesShow Product Images

Show product images in the Point of Sale interface.

boolean
sms_receipt_template_idSms Receipt template

SMS will be sent to the customer based on this template

many2one

added by POS - SMS (pos_sms)

statistics_for_current_sessionSession Statisticsjson
computed
statusStatusselection
computed

Values: inactive (Inactive), active (Active)

added by POS Self Order (pos_self_order)

supervised_employee_idsEmployees with supervised level access

Can process sales, but a higher level must approve before payment is closed

many2many

added by POS - HR (pos_hr)

tax_regime_selectionTax Regime Selection valueboolean
tip_percentage_1Tip Percentage 1integer
tip_percentage_2Tip Percentage 2integer
tip_percentage_3Tip Percentage 3integer
tip_product_idTip Product

This product is used as reference on customer receipts.

many2one
trusted_config_idsTrusted Point of Sale Configurationsmany2many
use_closing_entry_by_productClosing Entry by product

Display the breakdown of sales lines by product in the automatically generated closing entry.

boolean
use_course_allocationEnable Course Allocationboolean

added by Restaurant (pos_restaurant)

use_custom_receipt_infoCustomise info

Fill in if your shop does not have the same info as your company

boolean
use_download_invoiceDownload Invoice

Automatically download the invoice PDF when an order is invoiced.

boolean
use_fast_paymentFast Payment Validation

Enable fast payment methods to validate orders on the product screen.

boolean
use_order_printerOrder Printerboolean
use_presetsUse Presetsboolean
use_pricelistUse a pricelist.boolean
use_show_items_on_course_ticketShow Items on Fired Course Ticket

Show items again on the fired course ticket in preparation printer

boolean

added by Restaurant (pos_restaurant)

uuidUuid

A globally unique identifier for this pos configuration, used to prevent conflicts in client-generated data.

char
read-only
warehouse_idWarehousemany2one
computed, stored

added by PoS - Stock (pos_stock)

websiteReceipt websitechar
computed, stored
create_dateCreated ondatetime
read-onlyautomatic
create_uidCreated bymany2one
read-onlyautomatic
display_nameDisplay Namechar
read-onlycomputedautomatic
idIDinteger
read-onlyautomatic
write_dateLast Updated ondatetime
read-onlyautomatic
write_uidLast Updated bymany2one
read-onlyautomatic

Relations

Models linked from this model

Fields of other models pointing here

Reading this model through the API

Odoo 20 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
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","closing_journal_id","company_id","default_partner_id","default_product_id"],"limit":5}'
Python (requests)
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","closing_journal_id","company_id","default_partner_id","default_product_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 20.0)</a>

Sources

Data verified on September 25, 2026 · Odoo 20.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.