Odoo 19.0 Community · Persistent

account.journal: fields, relations and API

The account.journal model ("Journal") is a persistent model declared by the Invoicing module, then extended by 7 other modules. It exposes 104 fields, 66 of them declared directly on the model; 54 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
account.journal
Label
Journal
Type
Persistent (models.Model)
SQL table
account_journal
Origin module
Invoicing (account)
Extended by
account_check_printing, account_debit_note, account_edi, account_payment, account_peppol, l10n_fr_pdp, point_of_sale
Default order (_order)
sequence, type, code
Inherits from (mixins)
portal.mixinmail.alias.mixin.optionalmail.threadmail.activity.mixin

Model fields

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

104 of 104 fields shown

Technical nameLabelTypeDetails
account_fiscal_country_group_codesAccount Fiscal Country Group Codesjson

related: company_id.account_fiscal_country_group_codes

account_peppol_proxy_stateAccount Peppol Proxy Stateselection

related: company_id.account_peppol_proxy_state

added by Peppol (account_peppol)

accounting_dateAccounting Datedate
computed
activeActive

Set active to false to hide the Journal without removing it.

boolean
alias_nameAlias Name

Send one separate email for each invoice. Any file extension will be accepted. Only PDF and XML files will be interpreted by Odoo

char
available_invoice_template_pdf_report_idsAvailable Invoice Template Pdf Reportone2many
computed
available_payment_method_idsAvailable Payment Methodmany2many
computed
bank_acc_numberBank Acc Numberchar

related: bank_account_id.acc_number

bank_account_idBank Accountmany2one
bank_check_printing_layoutCheck Layoutselection

Values computed at runtime

added by Check Printing Base (account_check_printing)

bank_idBankmany2one

related: bank_account_id.bank_id

bank_statements_sourceBank Feeds

Defines how the bank statements will be registered

selection

Values computed at runtime

check_manual_sequencingManual Numbering

Check this option if your pre-printed checks are not numbered.

boolean

added by Check Printing Base (account_check_printing)

check_next_numberNext Check Number

Sequence number of the next printed check.

char
computed

added by Check Printing Base (account_check_printing)

check_sequence_idCheck Sequence

Checks numbering sequence.

many2one
read-only

added by Check Printing Base (account_check_printing)

codeSequence Prefix

Shorter name used for display. The journal entries of this journal will also be named using this prefix by default.

char
requiredcomputed, stored
colorColor Indexinteger
company_idCompany

Company related to this journal

many2one
requiredread-only
company_partner_idAccount Holdermany2one
read-only

related: company_id.partner_id

compatible_edi_idsCompatible Edi

EDI format that support moves in this journal

many2many
computed

added by Import/Export Invoices From XML/PDF (account_edi)

country_codeCountry Codechar
read-only

related: company_id.account_fiscal_country_id.code

currency_idCurrency

The currency used to enter statement

many2one
current_statement_balanceCurrent Statement Balancemonetary
computed
debit_sequenceDedicated Debit Note Sequence

Check this box if you don't want to share the same sequence for invoices and debit notes made from this journal

boolean
computed, stored

added by Debit Notes (account_debit_note)

default_account_idDefault Accountmany2one
default_account_typeDefault Account Typechar
computed
display_alias_fieldsDisplay Alias Fieldsboolean
computed
display_invoice_template_pdf_report_idDisplay Invoice Template Pdf Reportboolean
edi_format_idsElectronic invoicing

Send XML/EDI invoices

many2many
computed, stored

added by Import/Export Invoices From XML/PDF (account_edi)

entries_countEntries Countinteger
computed
has_entriesHas Entriesboolean
computed
has_invalid_statementsHas Invalid Statementsboolean
computed
has_posted_entriesHas Posted Entriesboolean
computed
has_sequence_holesHas Sequence Holesboolean
computed
has_statement_linesHas Statement Linesboolean
computed
has_unhashed_entriesUnhashed Entriesboolean
computed
inbound_payment_method_line_idsInbound Payment Methods

Manual: 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. Batch Deposit: Collect several customer checks at once generating and submitting a batch deposit to your bank. Module account_batch_payment 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.

one2many
computed, stored

inverse: journal_id

incoming_einvoice_notification_emailSend Copy To

Email addresses that will receive copy for sent and received invoices. Separate entries with ';'.

char
invoice_reference_modelCommunication Standard

You can choose different models for each type of reference. The default one is the Odoo reference.

selection
required

Values: odoo (Full Reference (INV/2024/00001)), euro (European (RF83INV202400001)), number (Numbers only (202400001))

invoice_reference_typeCommunication Type

You can set here the default communication that will appear on customer invoices, once validated, to help the customer to refer to that particular invoice when making the payment.

selection
required

Values: partner (Based on Customer), invoice (Based on Invoice)

invoice_template_pdf_report_idInvoice reportmany2one
is_peppol_journalAccount used for Peppolboolean

added by Peppol (account_peppol)

is_self_billingSelf Billing

This journal is for self-billing invoices. Invoices will be created using a different sequence per partner.

boolean
journal_group_idsLedger Groupmany2many
json_activity_dataJson Activity Datatext
computed
kanban_dashboardKanban Dashboardtext
computed
kanban_dashboard_graphKanban Dashboard Graphtext
computed
last_statement_idLast Statementmany2one
computed
loss_account_idLoss Account

Used to register a loss when the ending balance of a cash register differs from what the system computes

many2one
nameJournal Namechar
requiredtranslatable
name_placeholderName Placeholderchar
computed
non_deductible_account_idPrivate Share Account

Account used to register the private part of mixed expenses.

many2one
outbound_payment_method_line_idsOutbound Payment Methods

Manual: Pay by any method outside of Odoo. Check: Pay bills by check and print it from Odoo. SEPA Credit Transfer: Pay in the SEPA zone by submitting a SEPA Credit Transfer file to your bank. Module account_sepa is necessary.

one2many
computed, stored

inverse: journal_id

payment_sequenceDedicated Payment Sequence

Check this box if you don't want to share the same sequence on payments and bank transactions posted on this journal

boolean
computed, stored
pos_payment_method_idsPoint of Sale Payment Methodsone2many

inverse: journal_id

added by Point of Sale (point_of_sale)

profit_account_idProfit Account

Used to register a profit when the ending balance of a cash register differs from what the system computes

many2one
refund_sequenceDedicated Credit Note Sequence

Check this box if you don't want to share the same sequence for invoices and credit notes made from this journal

boolean
computed, stored
restrict_mode_hash_tableSecure Posted Entries with Hash

If ticked, when an entry is posted, we retroactively hash all moves in the sequence from the entry back to the last hashed entry. The hash can also be performed on demand by the Secure Entries wizard.

boolean
selected_payment_method_codesSelected Payment Method Codeschar
computed
sequenceSequence

Used to order Journals in the dashboard view

integer
sequence_override_regexSequence Override Regex

Technical field used to enforce complex sequence composition that the system would normally misunderstand. This is a regex that can include all the following capture groups: prefix1, year, prefix2, month, prefix3, seq, suffix. The prefix* groups are the separators between the year, month and the actual increasing sequence number (seq). e.g: ^(?P<prefix1>.*?)(?P<year>\d{4})(?P<prefix2>\D*?)(?P<month>\d{2})(?P<prefix3>\D+?)(?P<seq>\d+)(?P<suffix>\D*?)$

text
show_fetch_in_einvoices_buttonShow E-Invoice Buttonsboolean
computed
show_on_dashboardShow journal on dashboard

Whether this journal should be displayed on the dashboard or not

boolean
show_refresh_out_einvoices_status_buttonShow E-Invoice Status Buttonsboolean
computed
suspense_account_idSuspense Account

Bank statements transactions will be posted on the suspense account until the final reconciliation allowing finding the right account.

many2one
computed, stored
typeType

Select 'Sale' for customer invoices journals. Select 'Purchase' for vendor bills journals. Select 'Cash', 'Bank' or 'Credit Card' for journals that are used in customer or vendor payments. Select 'General' for miscellaneous operations journals.

selection
required

Values: sale (Sales), purchase (Purchase), cash (Cash), bank (Bank), credit (Credit Card), general (Miscellaneous)

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

activity_calendar_event_idNext Activity Calendar Eventmany2one
computed

inherited from mail.activity.mixin

activity_date_deadlineNext Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

activity_exception_decorationActivity Exception Decoration

Type of the exception activity on record.

selection
computed

Values: warning (Alert), danger (Error)

inherited from mail.activity.mixin

activity_exception_iconIcon

Icon to indicate an exception activity.

char
computed

inherited from mail.activity.mixin

activity_idsActivitiesone2many

inverse: res_id

inherited from mail.activity.mixin

activity_stateActivity State

Status based on activities Overdue: Due date is already passed Today: Activity date is today Planned: Future activities.

selection
computed

Values: overdue (Overdue), today (Today), planned (Planned)

inherited from mail.activity.mixin

activity_summaryNext Activity Summarychar

related: activity_ids.summary

inherited from mail.activity.mixin

activity_type_iconActivity Type Iconchar

related: activity_ids.icon

inherited from mail.activity.mixin

activity_type_idNext Activity Typemany2one

related: activity_ids.activity_type_id

inherited from mail.activity.mixin

activity_user_idResponsible Usermany2one
read-onlycomputed

inherited from mail.activity.mixin

alias_defaultsAlias Defaultstext

related: alias_id.alias_defaults

inherited from mail.alias.mixin.optional

alias_domainAlias Domain Namechar

related: alias_id.alias_domain

inherited from mail.alias.mixin.optional

alias_domain_idAlias Domainmany2one

related: alias_id.alias_domain_id

inherited from mail.alias.mixin.optional

alias_emailEmail Aliaschar
computed

inherited from mail.alias.mixin.optional

alias_idAliasmany2one

inherited from mail.alias.mixin.optional

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

my_activity_date_deadlineMy Activity Deadlinedate
read-onlycomputed

inherited from mail.activity.mixin

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/account.journal/search_read" \
  -H "Authorization: bearer $ODOO_API_KEY" \
  -H "X-Odoo-Database: your-db" \
  -H "Content-Type: application/json" \
  -d '{"domain":[],"fields":["name","code","company_id","invoice_reference_model","invoice_reference_type"],"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}/account.journal/search_read",
    headers=headers,
    json={"domain": [], "fields": ["name","code","company_id","invoice_reference_model","invoice_reference_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/account-journal">account.journal (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.