pos.printer: fields, relations and API
The pos.printer model ("Point of Sale Printer") is a persistent model declared by the Point of Sale module, then extended by 1 other module. It exposes 18 fields, 12 of them declared directly on the model; 4 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.printer- Label
- Point of Sale Printer
- Type
- Persistent (models.Model)
- SQL table
pos_printer- Origin module
- Point of Sale (
point_of_sale) - Extended by
- pos_imin
- Inherits from (mixins)
- pos.load.mixin
Model fields
12 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.
18 of 18 fields shown
| Technical name | Label | Type | Details |
|---|---|---|---|
| is_split_per_product | Split per product Print one ticket for each product instead of one ticket grouping all products of the order. | boolean | |
| name | Printer Name An internal identification of the printer | char | required |
| paper_size | Paper Size | selection | required Values computed at runtime |
| paper_size_keys | Paper Size Keys | char | computed |
| pos_config_ids | Point of Sale | many2many | |
| printer_ip | Printer IP Address Local IP address of an Epson receipt printer, or its serial number if the 'Automatic Certificate Update' option is enabled in the printer settings. It can also be the IP address of a Zebra network printer. | char | |
| printer_type | Printer Type | selection | Values: |
| product_categories_ids | Printed Product Categories | many2many | |
| timeout | Connection Timeout (ms) Time in milliseconds before considering that the printer is not responding. | integer | |
| use_cashdrawer | Link Cashdrawer Automatically open the cashdrawer. | boolean | |
| use_lna | Use Local Network Access | boolean | |
| use_type | Type | selection | Values: |
| 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
- pos.category: product_categories_ids
- pos.config: pos_config_ids
Fields of other models pointing here
- pos.config: preparation_printer_ids, receipt_printer_ids
- res.config.settings: pos_preparation_printer_ids, pos_receipt_printer_ids
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 -X POST "https://your-instance.odoo.com/json/2/pos.printer/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: your-db" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","paper_size","is_split_per_product","printer_ip","printer_type"],"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.printer/search_read",
headers=headers,
json={"domain": [], "fields": ["name","paper_size","is_split_per_product","printer_ip","printer_type"], "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-printer">pos.printer (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.