pos.payment: fields, relations and API
The pos.payment model ("Point of Sale Payments") is a persistent model declared by the Point of Sale module, then extended by 8 other modules. It exposes 40 fields, 34 of them declared directly on the model. 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.payment- Label
- Point of Sale Payments
- Type
- Persistent (models.Model)
- SQL table
pos_payment- Origin module
- Point of Sale (
point_of_sale) - Extended by
- pos_dpopay, pos_hr, pos_restaurant, pos_online_payment, pos_pine_labs, pos_razorpay, pos_restaurant_adyen, pos_viva_com
- Default order (_order)
id desc- Inherits from (mixins)
- pos.load.mixin
Model fields
34 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.
40 of 40 fields shown
| Technical name | Label | Type | Details |
|---|---|---|---|
| account_move_id | Account Move | many2one | |
| amount | Amount Total amount of the payment. | monetary | required |
| card_brand | Brand of card The brand of the payment card (e.g. Visa, AMEX, ...) | char | |
| card_no | Card Number(Last 4 Digit) | char | |
| card_type | Type of card used The type of the payment card (e.g. CREDIT CARD OR DEBIT CARD) | char | |
| cardholder_name | Card Owner name | char | |
| company_id | Company | many2one | related: |
| currency_id | Currency | many2one | related: |
| currency_rate | Conversion Rate Conversion rate from company currency to order currency. | float | related: |
| dpopay_mobile_money_phone | Mobile Money Phone Number(Last 4 Digit) Customer's phone number used to complete the Mobile Money payment. | char | added by PoS DPO Pay ( |
| dpopay_rrn | RRN Retrieval Reference Number generated for the DPO Pay transaction. | char | added by PoS DPO Pay ( |
| dpopay_transaction_ref | Transaction Reference Reference number required for Mobile Money refund transactions. | char | added by PoS DPO Pay ( |
| employee_id | Cashier | many2one | related: added by POS - HR ( |
| is_change | Is this payment change? | boolean | |
| name | Label | char | read-only |
| online_account_payment_id | Online accounting payment | many2one | read-only added by Point of Sale online payment ( |
| partner_id | Customer | many2one | related: |
| payment_date | Date | datetime | requiredread-only |
| payment_method_authcode | Payment APPR Code | char | |
| payment_method_id | Payment Method | many2one | required |
| payment_method_issuer_bank | Payment Issuer Bank | char | |
| payment_method_payment_mode | Payment Mode | char | |
| payment_ref_no | Payment reference number Payment reference number from payment provider terminal | char | |
| payment_status | Payment Status | char | |
| pine_labs_plutus_transaction_ref | PineLabs Transaction ID Required during the refund order process: https://developer.pinelabs.com/in/instore/cloud-integration#Example-JSON-request-for-Void-ICB-on-UPI-transaction | char | added by POS Pine Labs ( |
| pos_order_id | Order | many2one | required |
| razorpay_p2p_request_id | Razorpay p2pRequestId Required to fetch payment status during the refund order process | char | added by POS Razorpay ( |
| razorpay_reverse_ref_no | Razorpay Reverse Reference No. | char | added by POS Razorpay ( |
| session_id | Session | many2one | related: |
| ticket | Payment Receipt Info | char | |
| transaction_id | Payment Transaction ID | char | |
| user_id | Employee | many2one | related: |
| uuid | Uuid | char | read-only |
| viva_com_session_id | Viva Com Session Session ID of the transaction, stored so that it can be used to refund the payment. | char | added by PoS Viva.com ( |
| 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.move: account_move_id
- account.payment: online_account_payment_id
- hr.employee: employee_id
- pos.order: pos_order_id
- pos.payment.method: payment_method_id
- pos.session: session_id
- res.company: company_id
- res.currency: currency_id
- res.partner: partner_id
- res.users: user_id
Fields of other models pointing here
No Many2one or Many2many field of another model points to this model.
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.payment/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: your-db" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","amount","payment_date","payment_method_id","pos_order_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.payment/search_read",
headers=headers,
json={"domain": [], "fields": ["name","amount","payment_date","payment_method_id","pos_order_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-payment">pos.payment (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.