account.payment.register: fields, relations and API
The account.payment.register model ("Pay") is a transient model declared by the Invoicing module, then extended by 2 other modules. It exposes 57 fields, 51 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
account.payment.register- Label
- Pay
- Type
- Transient (models.TransientModel)
- SQL table
account_payment_register- Origin module
- Invoicing (
account) - Extended by
- account_payment, hr_expense
Model fields
51 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.
57 of 57 fields shown
| Technical name | Label | Type | Details |
|---|---|---|---|
| actionable_errors | Actionable Errors | json | computed |
| amount | Amount | monetary | computed, stored |
| available_journal_ids | Available Journal | many2many | computed |
| available_partner_bank_ids | Available Partner Bank | many2many | computed |
| available_payment_method_line_ids | Available Payment Method Line | many2many | computed |
| batches | Batches | binary | computed |
| can_edit_wizard | Can Edit Wizard | boolean | computed, stored |
| can_group_payments | Can Group Payments | boolean | computed, stored |
| communication | Memo | char | computed, stored |
| company_currency_id | Company Currency | many2one | related: |
| company_id | Company | many2one | computed, stored |
| country_code | Country Code | char | read-only related: |
| currency_id | Currency The payment's currency. | many2one | computed, stored |
| custom_user_amount | Custom User Amount | monetary | |
| custom_user_currency_id | Custom User Currency | many2one | |
| duplicate_payment_ids | Duplicate Payment | many2many | computed |
| early_payment_discount_mode | Early Payment Discount Mode | boolean | computed |
| group_payment | Group Payments Only one payment will be created by partner (bank), instead of one per bill. | boolean | computed, stored |
| hide_writeoff_section | Hide Writeoff Section | boolean | computed |
| installments_mode | Installments Mode | selection | computed, stored Values: |
| installments_switch_amount | Installments Switch Amount | monetary | computed |
| installments_switch_html | Installments Switch Html | html | computed |
| is_register_payment_on_draft | Is Register Payment On Draft | boolean | computed |
| journal_id | Journal | many2one | computed, stored |
| line_ids | Journal items | many2many | read-only |
| missing_account_partners | Missing Account Partners | many2many | computed |
| partner_bank_id | Recipient Bank Account | many2one | computed, stored |
| partner_id | Customer/Vendor | many2one | computed, stored |
| partner_type | Partner Type | selection | computed, stored Values: |
| payment_date | Payment Date | date | required |
| payment_difference | Payment Difference | monetary | computed |
| payment_difference_handling | Payment Difference Handling | selection | computed, stored Values: |
| payment_method_code | Payment Method Code | char | related: |
| payment_method_line_id | Payment Method Manual: Pay or Get paid by any method outside of Odoo. Payment Providers: Each payment provider has its own Payment Method. Request a transaction on/to a card thanks to a payment token saved by the partner when buying or subscribing online. Check: Pay bills by check and print it from Odoo. Batch Deposit: Collect several customer checks at once generating and submitting a batch deposit to your bank. Module account_batch_payment is necessary. SEPA Credit Transfer: Pay in the SEPA zone by submitting a SEPA Credit Transfer file to your bank. Module account_sepa is necessary. SEPA Direct Debit: Get paid in the SEPA zone thanks to a mandate your partner will have granted to you. Module account_sepa is necessary. | many2one | computed, stored |
| payment_token_id | Saved payment token Note that tokens from providers set to only authorize transactions (instead of capturing the amount) are not available. | many2one | computed, stored added by Payment - Account ( |
| payment_type | Payment Type | selection | computed, stored Values: |
| qr_code | QR Code URL | html | computed |
| require_partner_bank_account | Require Partner Bank Account | boolean | computed |
| show_partner_bank_account | Show Partner Bank Account | boolean | computed |
| show_payment_difference | Show Payment Difference | boolean | computed |
| source_amount | Amount to Pay (company currency) | monetary | computed, stored |
| source_amount_currency | Amount to Pay (foreign currency) | monetary | computed, stored |
| source_currency_id | Source Currency | many2one | computed, stored |
| suitable_payment_token_ids | Suitable Payment Token | many2many | computed added by Payment - Account ( |
| total_payments_amount | Total Payments Amount | integer | computed |
| untrusted_bank_ids | Untrusted Bank | many2many | computed |
| untrusted_payments_count | Untrusted Payments Count | integer | computed |
| use_electronic_payment_method | Use Electronic Payment Method | boolean | computed added by Payment - Account ( |
| writeoff_account_id | Difference Account | many2one | |
| writeoff_is_exchange_account | Writeoff Is Exchange Account | boolean | computed |
| writeoff_label | Journal Item Label Change label of the counterpart that will hold the payment difference | char | |
| 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.account: writeoff_account_id
- account.journal: available_journal_ids, journal_id
- account.move.line: line_ids
- account.payment: duplicate_payment_ids
- account.payment.method.line: available_payment_method_line_ids, payment_method_line_id
- payment.token: payment_token_id, suitable_payment_token_ids
- res.company: company_id
- res.currency: company_currency_id, currency_id, custom_user_currency_id, source_currency_id
- res.partner: missing_account_partners, partner_id
- res.partner.bank: available_partner_bank_ids, partner_bank_id, untrusted_bank_ids
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/account.payment.register/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: your-db" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["payment_date","company_currency_id","company_id","currency_id","custom_user_currency_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}/account.payment.register/search_read",
headers=headers,
json={"domain": [], "fields": ["payment_date","company_currency_id","company_id","currency_id","custom_user_currency_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/account-payment-register">account.payment.register (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.