Odoo 19.0 Community · Persistent

pos.order: fields, relations and API

The pos.order model ("Point of Sale Orders") is a persistent model declared by the Point of Sale module, then extended by 12 other modules. It exposes 101 fields, 79 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.order
Label
Point of Sale Orders
Type
Persistent (models.Model)
SQL table
pos_order
Origin module
Point of Sale (point_of_sale)
Extended by
l10n_fr_pos_cert, pos_event, pos_sale, pos_hr, pos_restaurant, pos_loyalty, pos_mrp, pos_online_payment, pos_self_order, pos_online_payment_self_order, pos_restaurant_adyen, pos_sms
Default order (_order)
date_order desc, name desc, id desc
Inherits from (mixins)
portal.mixinpos.bus.mixinpos.load.mixinmail.thread

Model fields

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

101 of 101 fields shown

Technical nameLabelTypeDetails
account_moveInvoicemany2one
read-only
amount_differenceDifferencemonetary
read-only
amount_paidPaidmonetary
required
amount_returnReturnedmonetary
requiredread-only
amount_taxTaxesmonetary
requiredread-only
amount_totalTotalmonetary
requiredread-only
attendee_countAttendee Countinteger
computed

added by POS - Event (pos_event)

available_payment_method_idsAvailable Payment Methodsmany2many
read-only

related: config_id.payment_method_ids

cashierCashier namechar
computed, stored

added by POS - HR (pos_hr)

company_idCompanymany2one
requiredread-only
config_idPoint of Salemany2one
computed, stored
country_codeCountry Codechar

related: company_id.account_fiscal_country_id.code

course_idsCoursesone2many

inverse: order_id

added by Restaurant (pos_restaurant)

crm_team_idSales Teammany2one

added by POS - Sales (pos_sale)

currency_idCurrencymany2one

related: config_id.currency_id

currency_rateCurrency Rate

The rate of the currency to the currency of rate applicable at the date of the order

float
read-onlycomputed, stored
customer_countGuests

The amount of customers that have been served by this order.

integer
read-only

added by Restaurant (pos_restaurant)

date_orderDatedatetime
read-only
emailEmailchar
computed, stored
employee_idCashier

The employee who uses the cash register.

many2one

added by POS - HR (pos_hr)

failed_pickingsFailed Pickingsboolean
computed
fiscal_position_idFiscal Positionmany2one
floating_order_nameOrder Namechar
general_customer_noteGeneral Customer Notetext
has_deleted_lineHas Deleted Lineboolean
has_refundable_linesHas Refundable Linesboolean
computed
internal_noteInternal Notetext
invoice_statusInvoice Statusselection
computed

Values: invoiced (Fully Invoiced), to_invoice (To Invoice)

is_editedEditedboolean
computed
is_invoicedIs Invoicedboolean
computed
is_refundIs Refundboolean
read-only
is_tippedIs this already tipped?boolean
read-only
is_total_cost_computedIs Total Cost Computed

Allows to know if all the total cost of the order lines have already been computed

boolean
computed
l10n_fr_hashInalteralbility Hashchar
read-only

added by France - VAT Anti-Fraud Certification for Point of Sale (CGI 286 I-3 bis) (l10n_fr_pos_cert)

l10n_fr_secure_sequence_numberInalteralbility No Gap Sequence #integer
read-only

added by France - VAT Anti-Fraud Certification for Point of Sale (CGI 286 I-3 bis) (l10n_fr_pos_cert)

l10n_fr_string_to_hashL10N Fr String To Hashchar
read-onlycomputed

added by France - VAT Anti-Fraud Certification for Point of Sale (CGI 286 I-3 bis) (l10n_fr_pos_cert)

last_order_preparation_changeLast preparation change

Last printed state of the order

char
linesOrder Linesone2many

inverse: order_id

marginMarginmonetary
computed
margin_percentMargin (%)float
computed
mobileMobilechar
computed, stored
nameOrder Refchar
requiredread-only
nb_printNumber of Printinteger
read-only
next_online_payment_amountNext online payment amount to payfloat

added by Point of Sale online payment (pos_online_payment)

online_payment_method_idOnline Payment Methodmany2one
computed

added by Point of Sale online payment (pos_online_payment)

order_edit_trackingOrder Edit Trackingboolean
read-only

related: config_id.order_edit_tracking

partner_idCustomermany2one
payment_idsPaymentsone2many

inverse: pos_order_id

picking_countPicking Countinteger
computed
picking_idsPickingone2many

inverse: pos_order_id

picking_type_idOperation Typemany2one

related: session_id.config_id.picking_type_id

pos_referenceReceipt Numberchar
read-only
pos_versionPos Version

Version of Odoo that created the order

char
read-only

added by France - VAT Anti-Fraud Certification for Point of Sale (CGI 286 I-3 bis) (l10n_fr_pos_cert)

preset_idPresetmany2one
preset_timeHour

Hour of the day for the order

datetime
previous_order_idPrevious Ordermany2one
read-onlycomputed, stored

added by France - VAT Anti-Fraud Certification for Point of Sale (CGI 286 I-3 bis) (l10n_fr_pos_cert)

pricelist_idPricelistmany2one
refund_orders_countNumber of Refund Orders

Number of orders where items from this order were refunded

integer
computed
refunded_order_idRefunded Order

Order from which items were refunded in this order

many2one
computed
reversed_move_idsReversal Account Moves

List of account moves created when this POS order was reversed and invoiced after session close.

one2many

inverse: reversed_pos_order_id

sale_journalSales Journalmany2one
read-only

related: session_id.config_id.journal_id

sale_order_countSale Order Countinteger
read-onlycomputed

added by POS - Sales (pos_sale)

self_ordering_table_idTable referencemany2one
read-only

added by POS Self Order (pos_self_order)

sequence_numberSequence Number

A session-unique sequence number for the order. Negative if generated from the client

integer
session_idSessionmany2one
session_move_idSession Journal Entrymany2one
read-only

related: session_id.move_id

shipping_dateShipping Datedate
sourceOriginselection

Values: pos (Point of Sale)

stateStatusselection
read-only

Values: draft (New), cancel (Cancelled), paid (Paid), done (Posted)

stock_reference_idsReferencemany2many
table_idTable

The table where this order was served

many2one
read-only

added by Restaurant (pos_restaurant)

table_stand_numberTable Stand Numberchar

added by POS Self Order (pos_self_order)

ticket_codeTicket Code

5 digits alphanumeric code to be used by portal user to request an invoice

char
tip_amountTip Amountmonetary
read-only
to_invoiceTo invoiceboolean
tracking_numberOrder Numberchar
read-only
use_self_order_online_paymentUse Self Order Online Paymentboolean
read-onlycomputed, stored

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

user_idEmployee

Employee who uses the cash register.

many2one
uuidUuidchar
read-only
access_tokenSecurity Tokenchar

inherited from portal.mixin

access_urlPortal Access URL

Customer Portal URL

char
computed

inherited from portal.mixin

access_warningAccess warningtext
computed

inherited from portal.mixin

has_messageHas Messageboolean
computed

inherited from mail.thread

message_attachment_countAttachment Countinteger
computed

inherited from mail.thread

message_follower_idsFollowersone2many

inverse: res_id

inherited from mail.thread

message_has_errorMessage Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_has_error_counterNumber of errors

Number of messages with delivery error

integer
computed

inherited from mail.thread

message_has_sms_errorSMS Delivery error

If checked, some messages have a delivery error.

boolean
computed

inherited from mail.thread

message_idsMessagesone2many

inverse: res_id

inherited from mail.thread

message_is_followerIs Followerboolean
computed

inherited from mail.thread

message_needactionAction Needed

If checked, new messages require your attention.

boolean
computed

inherited from mail.thread

message_needaction_counterNumber of Actions

Number of messages requiring action

integer
computed

inherited from mail.thread

message_partner_idsFollowers (Partners)many2many
computed

inherited from mail.thread

rating_idsRatingsone2many

inverse: res_id

inherited from mail.thread

website_message_idsWebsite Messages

Website communication history

one2many

inverse: res_id

inherited from mail.thread

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 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
curl -X POST "https://your-instance.odoo.com/json/2/pos.order/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","amount_paid","amount_return","amount_tax","amount_total"],"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.order/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","amount_paid","amount_return","amount_tax","amount_total"], "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-order">pos.order (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.