Invoicing
account · odoo/odoo
Security findings
Migration considerations
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `update ir_model_data set noupdate = TRUE where id in %s` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `UPDATE ir_attachment SET res_id = NULL WHERE id IN %s` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `UPDATE res_partner SET invoice_edi_format_store = invoice_edi_format_store - res_company.id::char FROM res_company WHERE res_partner.invoice_edi_format_store ->> res_company.id::char IN %s` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
Migration review checklist, not a compatibility verdict. No target version is selected: apply version-specific advice only when migrating to that version or later.
- Repository
- odoo/odoo · module folder
- Module version
- 1.5
- Category
- Accounting/Accounting
- Folder size
- 58.48 MB
- License
- LGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- https://www.odoo.com/app/invoicing
- Last tracking update
- 2026-10-05 00:19:47
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Xavier Morel, Xavier ALT, Thibault Francois, Raphael Collet, Christophe Simonis, Thibault Delavallée, Alexis de Lattre, odoo, Florent Xicluna, Josse Colpaert, Odoo Translation Bot, Christophe Matthieu, Denis Ledoux, Joren Van Onder, Nicolas Martinelli, qdp-odoo, Aaron Bohy, Géry Debongnie, Lucas Perais (lpe), Yannick Tivisse, Odoo Online, Laurent Smet, Quentin De Paoli, Jorge Pinna Puissant, Arnold Moyaux, Julien Castiaux, Xavier-Do, Romeo Fragomeli, Victor Feyens, Andrea Grazioso (agr-odoo), Adrien Dieudonné, Paul Morelle, William Henrotin, Sébastien Theys, oco-odoo, Julien Mougenot, Anh Thao Pham (pta), svs-odoo, Achraf (abz), David Beguin, Brice bib Bartoletti, Prakash Prajapati, Rémy Voet (ryv), Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Pierre Paridans, Yenthe666, Arnaud Joset, Romain Estievenart, Miquel Raïch, william-andre, Louis Baudoux, John Laterre (jol), Thomas Beckers, Nicolas Bayet, Florian Gilbert, luvi, Hubert Van De Walle, adr, Florian(flg), Renaud Thiry, Pierrot (prro), jbw-odoo, François Honoré, Pedram (PEBR), Mylyna Hy, Maximilien (malb), Victor Piryns (pivi), Thomas Becquevort (thbe), Mahamadasif Ansari, amdi-odoo, Gauthier Wala (gawa), Ali Alfie (alal), Pierre-Yves Dufays, Andrew Gavgavian, Yosua Nicolaus, Robin Lejeune (role), Levi Siuzdak (sile), Naman Shah, hupo-odoo, Dylan Kiss (dyki), Carsten Wolff (cawo), Paolo Gatti, Antoine Boonen, Julien Alardot (jual), Chong Wang (cwg), Odoo, Vivek Pathak, tong-odoo, Xavier Bol (xbo), Brieuc-brd, Nguyễn Đại Dương, Harsh Modi, Zeel Patel, Sarah Bellefroid, Arnaud Sibille, Noe Antoine, omra-odoo, Zelong Lin, Andrzej(pian), guva-odoo, Walid (wasa), Jay Savaliya, Aurelien MARIE (auma), jorv-odoo, reka-odoo, Sven Fuehr, yosa-odoo, Mohamed GadAlrab, Ruben Gomes (rugo), Julien Carion (juca), kcv-odoo, odoostan, adsh-odoo, Alex Kühn, SaddemAmine, Ritika Rathore, Louis Gobert, Emilio Pascual, Agustin Castro Bugallo, Chrysanthe (chgo), sami odoo, mano-odoo, dijo-odoo, Harsh Shah, hatr-odoo, Victorien (viso), thle-odoo, Mathieu Coutant, Patricia Daloze (pda), Xavier Luyckx (xlu), Ahmad (alah), Stéphane Diez, Aungkokolin1997, Claire (clbr), Rocío Vega, gteboul, Antoine (anso), Abdo Mongy, unka-odoo, Léo Gizard, Antoine Dupuis, Hesham Saleh, Saif (segn), Ian, Victor Miguel Armenta Carrillo, Maira Salazar (srma), Logan Staelens, Smit Patel, Ricardo Gomes Rodrigues, AhmedElemary57, roto-odoo, elhayyany, Cuong, Nguyen Minh Tran Manh, pkgu-odoo, Mohammad Abdulmoneim (abdu), Lucas Lefèvre (lul), Pierre Lamotte (pila), Pierre Pulinckx, Anton Romanova (roan), Bastien PIERRE, Michaël Mattiello, Corentin Heinix (cohe), Allesio, Corentin Lombard, ppat-odoo, Valeriya (vchu), Shrey Mehta, Carmine, Sherif Gabr, pish-odoo, Mahdi Alijani (malj), Krzysztof Magusiak (krma), devp-odoo, nape-odoo, Florian Malfroid, Akash Pandey, dvsh-odoo, krip-odoo, Hazem Ibrahim, Robin Engels (roen), rida, Radu Macocian (admac), Guillaume V, utma-odoo, Hadi El Yakhni, Ester Andreetto, nsirjacobs, bhra-odoo, Earth Patel, mojem, pajo, bhna-odoo, Dirk Douglas, Giorgio Tocco (gito), thha-odoo, MAGREMENT, Ze Chen (zeche), mohannedah, Junqi, agbr-odoo, sawer, Yassien Ghoniem, Jugurtha, igbe, Lancelot Semal, Mongy (abmn), Jeanne Delneste, hisi-odoo, Laurent Smet (LAS), Julien Launois (jula), Laetitia (ldau), adip-odoo, macs-odoo, Nishant Jain (NIAI), pssh-odoo, Kai Chang (kacha), Jérôme Belpaire, suju-odoo, Martin Doyen, path-odoo, Waleed Elgamal, Jacob Was (jacw), steji, h4818, leclerc-leo, krge-odoo, Ashish Nirmal, Ayush Modi, Karna, Orrin Zhong, Manav Shah, malb, Saurabh, Victor Decleire, Amr Elkhatieb, jond-odoo, Yash Tiwari (Yatiw), Nisarg (nipl), assh-odoo, Robert Smith (rosm), Beekoan, Elliot ELCO, Leila Kerroum Balaguer, Jeremy Lawson (jelaw), hossamelgendy1, Quentin George, matd-odoo, Ai Lin Zuccarello (aizu), Aurélien Bertrand, rapa, Arnav Varshney, jand-odoo, Mohamed Barakat, Merlin Guillaume, Leonardo Medina, Luigys Toro, bepro@odoo, rugot-odoo, pkri-odoo, Nguyen Nguyen (ngtpn), assk-odoo, Eve Lin (evlin), Léo Gizard (legi), Atovange, Zachary (zavan), Jurgen Gjini, Youssef (abyo), Yosua Nicolaus (yoni), smjo-odoo, alan-odoo, Kadam Darji, Julien (jdeh), Abo Taha, Mauricio Rubio Haro, Maximilien, abmn-odoo, Andrii Kompaniiets, FWA-Amri.WICAHYO, Rebeca Ramírez (lare), soza-odoo, Farah (ahmfa), Julien Carion, ELCO, Kyrillos, Przemysław Duryło, Adham Abdeltawab, Moamen(msho), khaj-odoo, Camila Vives, stta-odoo, chpa-odoo, stefanorigano (sri), Krishna Patel, Joseph Nechleba (jonec), Dhrumit Parmar, vifu-odoo, Wajih-Wanis, Quách Thế Hào, metu-odoo, claireclan, Léo Leclerc, Julien Coppin (jucop), Laura (yanla), Himilsinh Sindha, Arbaaz-Khan-Tech, Julien Piron, Jean Schoenlaub, Corentin Deruyck, pusu-odoo, Lou !, Mahiv Ram, Mayur Barad, Amine, sasri-odoo, Juan I. Casareski
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- account_check_printing, account_debit_note, account_edi, account_edi_proxy_client, account_edi_ubl_cii, account_fleet, account_payment, account_qr_code_emv, account_qr_code_sepa, account_tax_python, account_test, account_update_tax_tags, companyweb_payment_info, event_product, hr_expense, l10n_account_withholding_tax, l10n_ae, l10n_ar, l10n_at, l10n_au, l10n_bd, l10n_be, l10n_be_pos, l10n_bf, l10n_bg, l10n_bh, l10n_bj, l10n_bo, l10n_br, l10n_ca, l10n_cd, l10n_cf, l10n_cg, l10n_ch, l10n_ci, l10n_cl, l10n_cm, l10n_cn, l10n_co, l10n_cr, l10n_cy, l10n_cz, l10n_de, l10n_din5008, l10n_dk, l10n_do, l10n_dz, l10n_ec, l10n_ee, l10n_eg, l10n_es, l10n_et, l10n_eu_account_vies, l10n_eu_oss, l10n_fi, l10n_fr_account, l10n_fr_facturx_chorus_pro, l10n_ga, l10n_gcc_invoice, l10n_ge, l10n_gf, l10n_gn, l10n_gp, l10n_gq, l10n_gr, l10n_gt, l10n_gw, l10n_hk, l10n_hn, l10n_hr, l10n_hr_kuna, l10n_hu, l10n_id, l10n_ie, l10n_il, l10n_in, l10n_iq, l10n_it, l10n_jo, l10n_jp, l10n_ke, l10n_km, l10n_kr, l10n_kw, l10n_kz, l10n_latam_check, l10n_latam_invoice_document, l10n_lb_account, l10n_lk, l10n_lt, l10n_lu, l10n_lv, l10n_ma, l10n_mc, l10n_mk, l10n_ml, l10n_mn, l10n_mq, l10n_mr, l10n_mt, l10n_mu_account, l10n_mx, l10n_my, l10n_mz, l10n_ne, l10n_ng, l10n_nl, l10n_no, l10n_nz, l10n_om, l10n_pa, l10n_pe, l10n_ph, l10n_pk, l10n_pl, l10n_pt, l10n_qa, l10n_re, l10n_ro, l10n_rs, l10n_rw, l10n_sa, l10n_se, l10n_sg, l10n_si, l10n_sk, l10n_sn, l10n_syscohada, l10n_td, l10n_tg, l10n_th, l10n_tn, l10n_tr, l10n_tw, l10n_tz_account, l10n_ua, l10n_ug, l10n_uk, l10n_us_account, l10n_uy, l10n_uz, l10n_ve, l10n_vn, l10n_yt, l10n_za, l10n_zm_account, loyalty, mis_builder, mis_builder_budget, point_of_sale, product_email_template, product_margin, product_matrix, project_account, purchase, snailmail_account, spreadsheet_account, stock_account, test_main_flows, website_crm_partner_assign
- Description
Invoicing & Payments ==================== The specific and easy-to-use Invoicing system in Odoo allows you to keep track of your accounting, even when you are not an accountant. It provides an easy way to follow up on your vendors and customers. You could use this simplified accounting in case you work with an (external) account to keep your books, and you still want to keep track of payments. This module also offers you an easy method of registering payments, without having to encode complete abstracts of account.
Code Analysis
Views touched (186)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
account.account_terms_conditions_setting_banner |
Account Terms and Conditions Setting Banner | ir.ui.view | qweb | New |
account_analytic_account_view_form_inherit |
account.analytic.account.form.inherit | account.analytic.account | form | Inherits analytic.view_account_analytic_account_form |
account_analytic_account_view_list_inherit |
account.analytic.account.list.inherit | account.analytic.account | list | Inherits analytic.view_account_analytic_account_list |
account_analytic_distribution_model_form_inherit |
account.analytic.distribution.model.inherit.form | account.analytic.distribution.model | form | Inherits analytic.account_analytic_distribution_model_form_view |
account_analytic_distribution_model_tree_inherit |
account.analytic.distribution.model.inherit.list | account.analytic.distribution.model | list | Inherits analytic.account_analytic_distribution_model_tree_view |
account_analytic_plan_form_view_inherit_account |
account.analytic.plan.inherit.form | account.analytic.plan | form | Inherits analytic.account_analytic_plan_form_view |
account_automatic_entry_wizard_form |
account.automatic.entry.wizard.form | account.automatic.entry.wizard | form | New |
account_bank_statement_graph |
account.bank.statement.graph | account.bank.statement | graph | New |
account_bank_statement_line_view_graph_cashflow |
account.bank.statement.line.graph.cashflow | account.bank.statement.line | graph | New |
account_bank_statement_line_view_pivot_cashflow |
account.bank.statement.line.pivot.cashflow | account.bank.statement.line | pivot | New |
account_bank_statement_line_view_search_cashflow |
account.bank.statement.line.cashflow.search | account.bank.statement.line | search | New |
account_bank_statement_pivot |
account.bank.statement.pivot | account.bank.statement | pivot | New |
account_default_terms_and_conditions |
account_default_terms_and_conditions | ir.ui.view | qweb | New |
account_incoterms_form |
account.incoterms.form | account.incoterms | form | New |
account_incoterms_view_search |
account.incoterms.search | account.incoterms | search | New |
account_invoice_report_view_tree |
account.invoice.report.view.list | account.invoice.report | list | New |
account_journal_dashboard_kanban_view |
account.journal.dashboard.kanban | account.journal | kanban | New |
account_journal_view_kanban |
account.journal.kanban | account.journal | kanban | New |
account_merge_wizard_form |
account.merge.wizard.form | account.merge.wizard | form | New |
account_move_line_graph_date |
account.move.line.graph | account.move.line | graph | New |
account_move_line_view_kanban |
account.move.line.kanban | account.move.line | kanban | New |
account_move_line_view_kanban_mobile |
account.move.line.kanban.mobile | account.move.line | kanban | Inherits account_move_line_view_kanban |
account_move_send_batch_wizard_form |
account.move.send.batch.wizard.form | account.move.send.batch.wizard | form | New |
account_move_send_wizard_form |
account.move.send.wizard.form | account.move.send.wizard | form | New |
account_move_view_activity |
account.move.view.activity | account.move | activity | New |
account_move_view_list_stock_closing |
account.move.view.list.stock.closing | account.move | list | New |
account_resequence_view |
Re-sequence Journal Entries | account.resequence.wizard | form | New |
account_tag_view_form |
Tags | account.account.tag | form | New |
account_tag_view_search |
account.tag.view.search | account.account.tag | search | New |
account_tag_view_tree |
Tags | account.account.tag | list | New |
account_tax_fiscal_position_view_tree |
account.fiscal.position.tax.list | account.tax | list | Inherits account.account_tax_view_tree |
account_tax_group_view_search |
account.tax.group.search.filters | account.tax.group | search | New |
account_tax_view_search |
account.tax.search.filters | account.tax | search | New |
account_tax_view_tree |
account.invoice.line.tax.search | account.tax | list | New |
account_terms_conditions_page |
Terms & Conditions | ir.ui.view | qweb | New |
address_form_additional_identifiers |
Address Form: Additional Identifiers | ir.ui.view | qweb | Inherits portal.address_form_fields |
autopost_bills_wizard |
Autopost Bills | account.autopost.bills.wizard | form | New |
bill_preview |
bill_preview | ir.ui.view | qweb | New |
country_group_form_inherit_account |
res.country.group.form.inherit.account | res.country.group | form | Inherits base.view_country_group_form |
digest_digest_view_form |
digest.digest.view.form.inherit.account.account | digest.digest | form | Inherits digest.digest_digest_view_form |
document_tax_totals |
document_tax_totals | ir.ui.view | qweb | Inherits account.document_tax_totals_template |
document_tax_totals_company_currency_template |
document_tax_totals_company_currency_template | ir.ui.view | qweb | New |
document_tax_totals_template |
document_tax_totals_template | ir.ui.view | qweb | New |
email_template_mail_gateway_failed |
email_template_mail_gateway_failed | ir.ui.view | qweb | New |
init_accounts_tree |
account.setup.opening.move.line.list | account.account | list | New |
ir_actions_report_form_inherit_account |
ir.actions.report.form.inherit.account | ir.actions.report | form | Inherits base.act_report_xml_view |
partner_missing_account_list_view |
res.partner.list | res.partner | list | New |
partner_view_buttons |
partner.view.buttons | res.partner | form | Inherits base.view_partner_form |
portal_invoice_error |
Invoice error/warning display | ir.ui.view | qweb | New |
portal_invoice_page |
Invoice/Bill | ir.ui.view | qweb | Inherits portal.portal_sidebar |
portal_invoice_required_fields_form |
portal_invoice_required_fields_form | ir.ui.view | qweb | New |
portal_invoice_success |
Invoice success display | ir.ui.view | qweb | New |
portal_my_details |
portal_my_details | ir.ui.view | qweb | Inherits portal.portal_my_details |
portal_my_home_menu_invoice |
Portal layout : invoice menu entries | ir.ui.view | qweb | Inherits portal.portal_breadcrumbs |
portal_my_invoices |
My Invoices and Payments | ir.ui.view | qweb | New |
portal_my_journal_mail_notifications |
My journal email notification settings | ir.ui.view | qweb | New |
product_product_view_form_normalized_account |
product.product.view.form.normalized.account.inherit | product.product | form | Inherits product.product_product_view_form_normalized |
product_template_form_view |
product.template.form.inherit | product.template | form | Inherits product.product_template_form_view |
product_template_list_view_purchasable_inherit |
product.template.list.purchasable.inherit | product.template | list | Inherits product.product_template_list_view_purchasable |
product_template_list_view_sellable_inherit |
product.template.list.sellable.inherit | product.template | list | Inherits product.product_template_list_view_sellable |
report_hash_integrity |
report_hash_integrity | ir.ui.view | qweb | New |
report_invoice |
report_invoice | ir.ui.view | qweb | New |
report_invoice_document |
report_invoice_document | ir.ui.view | qweb | New |
report_invoice_document_preview |
report_invoice_document_preview | ir.ui.view | qweb | Inherits account.report_invoice_document |
report_invoice_qr_code_preview |
report_invoice_qr_code_preview | ir.ui.view | qweb | New |
report_invoice_with_payments |
report_invoice_with_payments | ir.ui.view | qweb | New |
report_invoice_wizard_iframe |
report_invoice_wizard_iframe | ir.ui.view | qweb | New |
report_invoice_wizard_preview_inherit_account |
report_invoice_wizard_preview_inherit_account | ir.ui.view | qweb | Inherits web.report_invoice_wizard_preview |
report_original_vendor_bill |
report_original_vendor_bill | ir.ui.view | qweb | New |
report_payment_receipt |
report_payment_receipt | ir.ui.view | qweb | New |
report_payment_receipt_document |
report_payment_receipt_document | ir.ui.view | qweb | New |
report_statement |
report_statement | ir.ui.view | qweb | New |
report_statement_internal_layout |
report_statement_internal_layout | ir.ui.view | qweb | Inherits web.internal_layout |
res_company_form_view_onboarding |
res.company.form.view.onboarding | res.company | form | New |
res_company_form_view_onboarding_sale_tax |
res.company.form.view.onboarding.sale.tax | res.company | form | New |
res_company_view_form_terms |
res.company.view.form.terms | res.company | form | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.account | res.config.settings | form | Inherits base.res_config_settings_view_form |
res_config_settings_view_form_base_setup |
res.config.settings.view.form.inherit.base_setup | res.config.settings | form | Inherits base_setup.res_config_settings_view_form |
res_currency_form_inherit |
res.currency.form.inherit | res.currency | form | Inherits base.view_currency_form |
res_partner_view_search |
res.partner.search.inherit | res.partner | search | Inherits base.view_res_partner_filter |
res_partner_view_tree |
res.partner.list.inherit.account | res.partner | list | Inherits base.view_partner_tree |
rounding_form_view |
account.cash.rounding.form | account.cash.rounding | form | New |
rounding_search_view |
account.cash.rounding.search | account.cash.rounding | search | New |
rounding_tree_view |
account.cash.rounding.list | account.cash.rounding | list | New |
setup_bank_account_wizard |
account.online.sync.res.partner.bank.setup.form | account.setup.bank.manual.config | form | New |
setup_credit_card_account_wizard |
account.online.sync.res.partner.credit.card.setup.form | account.setup.bank.manual.config | form | New |
setup_financial_year_opening_form |
account.financial.year.op.setup.wizard.form | account.financial.year.op | form | New |
tax_repartition_line_form |
account.tax.repartition.line.form | account.tax.repartition.line | form | New |
tax_repartition_line_kanban |
account.tax.repartition.line.kanban | account.tax.repartition.line | kanban | New |
tax_repartition_line_tree |
account.tax.repartition.line.list | account.tax.repartition.line | list | New |
tests_shared_js_python |
tests_shared_js_python | ir.ui.view | qweb | New |
uom_uom_view_form |
uom.uom.view.form.inherit.account | uom.uom | form | Inherits uom.uom_uom_view_form |
validate_account_move_view |
Confirm Entries | validate.account.move | form | New |
view_account_account_kanban |
account.account.kanban | account.account | kanban | New |
view_account_accrued_orders_wizard |
account.accrued.orders.wizard.view | account.accrued.orders.wizard | form | New |
view_account_analytic_line_filter_inherit_account |
account.analytic.line.select.inherit.account | account.analytic.line | Inherits analytic.view_account_analytic_line_filter | |
view_account_analytic_line_form_inherit_account |
account.analytic.line.form.inherit.account | account.analytic.line | form | Inherits analytic.view_account_analytic_line_form |
view_account_analytic_line_pivot |
account.analytic.line.pivot | account.analytic.line | pivot | Inherits analytic.view_account_analytic_line_pivot |
view_account_analytic_line_tree_inherit_account |
account.analytic.line.list.inherit.account | account.analytic.line | list | Inherits analytic.view_account_analytic_line_tree |
view_account_bill_filter |
account.invoice.select | account.move | search | Inherits account.view_account_invoice_filter |
view_account_form |
account.account.form | account.account | form | New |
view_account_invoice_filter |
account.invoice.select | account.move | search | New |
view_account_invoice_report_graph |
account.invoice.report.graph | account.invoice.report | graph | New |
view_account_invoice_report_pivot |
account.invoice.report.pivot | account.invoice.report | pivot | New |
view_account_invoice_report_search |
account.invoice.report.search | account.invoice.report | search | New |
view_account_journal_form |
account.journal.form | account.journal | form | New |
view_account_journal_group_form |
account.journal.group.form | account.journal.group | form | New |
view_account_journal_group_tree |
account.journal.group.list | account.journal.group | list | New |
view_account_journal_search |
account.journal.search | account.journal | search | New |
view_account_journal_tree |
account.journal.list | account.journal | list | New |
view_account_list |
account.account.list | account.account | list | New |
view_account_list_from_entry |
account.account.list | account.account | list | New |
view_account_lock_exception_form |
account.lock_exception.form | account.lock_exception | form | New |
view_account_move_filter |
account.move.select | account.move | search | New |
view_account_move_graph_invoice |
account.move.graph | account.move | graph | New |
view_account_move_kanban |
account.move.kanban | account.move | kanban | New |
view_account_move_line_filter |
account.move.line.search | account.move.line | search | New |
view_account_move_line_payment_filter |
account.move.line.payment.search | account.move.line | search | New |
view_account_move_pivot_invoice |
account.move.pivot | account.move | pivot | New |
view_account_move_reversal |
account.move.reversal.form | account.move.reversal | form | New |
view_account_move_with_gaps_in_sequence_filter |
account.move.with.gaps.in.sequence.filter | account.move | search | Inherits account.view_account_invoice_filter |
view_account_payment_form |
account.payment.form | account.payment | form | New |
view_account_payment_graph |
account.payment.graph | account.payment | graph | New |
view_account_payment_kanban |
account.payment.kanban | account.payment | kanban | New |
view_account_payment_method_line_kanban_mobile |
account.payment.method.line.kanban | account.payment.method.line | kanban | New |
view_account_payment_method_line_tree |
account.payment.method.line.list | account.payment.method.line | list | New |
view_account_payment_register_form |
account.payment.register.form | account.payment.register | form | New |
view_account_payment_search |
account.payment.search | account.payment | search | New |
view_account_payment_term_kanban |
account.payment.term.kanban | account.payment.term | kanban | New |
view_account_payment_tree |
account.payment.list | account.payment | list | New |
view_account_position_filter |
account.fiscal.position.filter | account.fiscal.position | search | New |
view_account_position_form |
account.fiscal.position.form | account.fiscal.position | form | New |
view_account_position_tree |
account.fiscal.position.list | account.fiscal.position | list | New |
view_account_reconcile_model_form |
account.reconcile.model.form | account.reconcile.model | form | New |
view_account_reconcile_model_search |
account.reconcile.model.search | account.reconcile.model | search | New |
view_account_reconcile_model_tree |
account.reconcile.model.list | account.reconcile.model | list | New |
view_account_search |
account.account.search | account.account | search | New |
view_account_secure_entries_wizard |
account.secure.entries.wizard.form | account.secure.entries.wizard | form | New |
view_account_supplier_payment_tree |
account.supplier.payment.list | account.payment | list | Inherits account.view_account_payment_tree |
view_account_tax_search |
account.tax.search | account.tax | search | New |
view_account_various_payment_tree |
account.supplier.payment.list | account.payment | list | Inherits account.view_account_payment_tree |
view_bank_statement_kanban |
account.bank.statement.kanban | account.bank.statement | kanban | New |
view_bank_statement_search |
account.bank.statement.search | account.bank.statement | search | New |
view_bank_statement_tree |
account.bank.statement.list | account.bank.statement | list | New |
view_base_document_layout |
Document Layout | base.document.layout | Inherits web.view_base_document_layout | |
view_category_property_form |
product.category.property.form.inherit | product.category | form | Inherits product.product_category_form_view |
view_company_form |
res.company.form.inherit.account | res.company | form | Inherits base.view_company_form |
view_duplicated_moves_tree_js |
account.duplicated.moves.list.js | account.move | list | Inherits account.view_invoice_tree |
view_full_reconcile_form |
account.full.reconcile.form | account.full.reconcile | form | New |
view_in_invoice_bill_tree |
account.out.invoice.list | account.move | list | Inherits account.view_in_invoice_tree |
view_in_invoice_refund_tree |
account.out.invoice.list | account.move | list | Inherits account.view_in_invoice_tree |
view_in_invoice_tree |
account.out.invoice.list | account.move | list | Inherits account.view_invoice_tree |
view_incoterms_tree |
account.incoterms.list | account.incoterms | list | New |
view_invoice_tree |
account.invoice.list | account.move | list | New |
view_message_tree_audit_log |
mail.message.list.inherit.audit.log | mail.message | list | New |
view_message_tree_audit_log_search |
mail.message.search | mail.message | search | New |
view_module_filter_inherit_account |
ir.module.module.list.inherit.account | ir.module.module | list | Inherits base.view_module_filter |
view_move_form |
account.move.form | account.move | form | New |
view_move_line_form |
account.move.line.form | account.move.line | form | New |
view_move_line_payment_tree |
account.move.line.payment.list | account.move.line | list | New |
view_move_line_pivot |
account.move.line.pivot | account.move.line | pivot | New |
view_move_line_tax_audit_tree |
account.move.line.tax.audit.list | account.move.line | list | Inherits account.view_move_line_tree |
view_move_line_tree |
account.move.line.list | account.move.line | list | New |
view_move_line_tree_grouped_bank_cash |
account.move.line.list.grouped.bank.cash | account.move.line | list | Inherits account.view_move_line_tree |
view_move_line_tree_grouped_general |
account.move.line.list.grouped.misc | account.move.line | list | Inherits account.view_move_line_tree |
view_move_line_tree_grouped_misc |
account.move.line.list.grouped.misc | account.move.line | list | Inherits account.view_move_line_tree |
view_move_line_tree_grouped_partner |
account.move.line.list.grouped.partner | account.move.line | list | Inherits account.view_move_line_tree |
view_move_line_tree_grouped_sales_purchases |
account.move.line.list.grouped.sales.purchase | account.move.line | list | Inherits account.view_move_line_tree |
view_move_line_tree_open_on |
account.move.line.list.open | account.move.line | list | Inherits account.view_move_line_tree_grouped_partner |
view_move_tree |
account.move.list | account.move | list | New |
view_move_tree_multi_edit |
account.move.list.multi.edit | account.move | list | Inherits account.view_move_tree |
view_onboarding_tax_tree |
account.onboarding.tax.list | account.tax | list | Inherits account.view_tax_tree |
view_out_credit_note_tree |
account.out.invoice.list | account.move | list | Inherits account.view_invoice_tree |
view_out_invoice_tree |
account.out.invoice.list | account.move | list | Inherits account.view_invoice_tree |
view_partner_bank_form_inherit_account |
res.partner.bank.form.inherit.account | res.partner.bank | form | Inherits base.view_partner_bank_form |
view_partner_bank_kanban_account |
res.partner.bank.kanban.account | res.partner.bank | kanban | New |
view_partner_bank_search_inherit |
res.partner.bank.search.inherit | res.partner.bank | search | Inherits base.view_partner_bank_search |
view_partner_property_form |
res.partner.property.form.inherit | res.partner | form | Inherits product.view_partner_property_form |
view_payment_term_form |
account.payment.term.form | account.payment.term | form | New |
view_payment_term_search |
account.payment.term.search | account.payment.term | search | New |
view_payment_term_tree |
account.payment.term.list | account.payment.term | list | New |
view_tax_form |
account.tax.form | account.tax | form | New |
view_tax_group_form |
account.tax.group.form | account.tax.group | form | New |
view_tax_group_tree |
account.tax.group.list | account.tax.group | list | New |
view_tax_kanban |
account.tax.kanban | account.tax | kanban | New |
view_tax_tree |
account.tax.list | account.tax | list | New |
HTTP endpoints (10)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/account/download_invoice_attachments/<models("ir.attachment"):attachments> |
AccountDocumentDownloadController.download_invoice_attachments |
user | http | ALL | |
/account/download_invoice_documents/<models("account.move"):invoices>/<string:filetype> |
AccountDocumentDownloadController.download_invoice_documents_filetype |
user | http | ALL | |
/account/download_move_attachments/<models("account.move"):moves> |
AccountDocumentDownloadController.download_move_attachments |
user | http | ALL | |
| (inherited route override) | PortalAccount.portal_address_country_info |
inherited | http | ALL | |
/my/invoices/<int:invoice_id> |
PortalAccount.portal_my_invoice_detail |
public | http | ALL | website |
/my/invoices, /my/invoices/page/<int:page> |
PortalAccount.portal_my_invoices |
user | http | ALL | website |
/my/journal/<int:journal_id>/unsubscribe |
PortalAccount.portal_my_journal_unsubscribe |
public | http | GET, POST | sudo website |
/terms |
TermsController.terms_conditions |
public | http | ALL | sudo website |
/account/init_tests_shared_js_python |
TestsSharedJsPython.route_init_tests_shared_js_python |
user | http | ALL | website |
/account/post_tests_shared_js_python |
TestsSharedJsPython.route_post_tests_shared_js_python |
user | jsonrpc | ALL |
Models touched (96)
-
account_stock_expense_activeBooleanrelated='account_stock_expense_id.active'string='Expense Account Active' -
account_stock_expense_idMany2one → account.accounthelp='Counterpart used at closing for accounting adjustments to inventory valuation.'string='Expense Account' args: 'account.account' -
account_stock_variation_activeBooleanrelated='account_stock_variation_id.active'string='Variation Account Active' -
account_stock_variation_idMany2one → account.accounthelp='At closing, register the inventory variation of the period into a specific account'string='Variation Account' args: 'account.account' -
account_typeSelectioncompute='_compute_account_type'help='Account Type is used for information purpose, to generate country-specific legal reports, and set the rules to close a fiscal year and generate opening entries.'index=Trueprecompute=Truereadonly=Falserequired=Trueselection=[('asset_receivable', 'Receivable'), ('asset_cash', 'Bank and Cash'), ('asset_current', 'Current Assets'), ('asset_non_current', 'Non-current Assets'), ('asset_prepayments', 'Prepayments'), ('asset_fixed', 'Fixed Assets'), ('liability_payable', 'Payable'), ('liability_credit_card', 'Credit Card'), ('liability_current', 'Current Liabilities'), ('liability_non_current', 'Non-current Liabilities'), ('equity', 'Equity'), ('equity_unaffected', 'Current Year Earnings'), ('income', 'Income'), ('income_other', 'Other Income'), ('expense', 'Expenses'), ('expense_other', 'Other Expenses'), ('expense_depreciation', 'Depreciation'), ('expense_direct_cost', 'Cost of Revenue'), ('off_balance', 'Off-Balance Sheet')]store=Truestring='Type'tracking=True -
activeBooleandefault=Truetracking=True -
codeCharcompute='_compute_code'compute_sql='_compute_sql_code'compute_sudo=Trueinverse='_inverse_code'size=64string='Code'tracking=True -
code_mapping_idsOne2many → account.code.mappingcomodel_name='account.code.mapping'inverse_name='account_id' -
code_pathCharcompute=<expr>compute_sql=<expr>compute_sudo=Truedepends=['code', 'parent_ids']depends_context=('company')help='similar to parent path but with codes instead of ids, used to order accounts' -
code_storeCharcompany_dependent=True -
company_currency_idMany2one → res.currencycompute='_compute_company_currency_id'compute_sql='_compute_sql_company_currency_id'compute_sudo=True args: 'res.currency' -
company_fiscal_country_codeCharcompute='_compute_company_fiscal_country_code' -
company_idsMany2many → res.companydefault=<expr>readonly=Falserequired=Truestring='Companies' args: 'res.company' -
currency_idMany2one → res.currencyhelp='Forces all journal items in this account to have a specific currency (i.e. bank journals). If no currency is set, entries can use any currency.'string='Account Currency'tracking=True args: 'res.currency' -
current_balanceFloatcompute='_compute_current_balance' -
descriptionTexttranslate=True -
display_mapping_tabBooleandefault=<expr>store=False -
include_initial_balanceBooleancompute='_compute_include_initial_balance'help='Used in reports to know if we should consider journal items from the beginning of time instead of from the fiscal year only. Account types that should be reset to zero at each new fiscal year (like expenses, revenue..) should not have this option set.'search='_search_include_initial_balance'string='Bring Accounts Balance Forward' -
internal_groupSelectioncompute='_compute_internal_group'compute_sql='_compute_sql_internal_group'compute_sudo=Trueselection=[('equity', 'Equity'), ('asset', 'Asset'), ('liability', 'Liability'), ('income', 'Income'), ('expense', 'Expense'), ('off', 'Off Balance')]string='Internal Group' -
nameCharindex='trigram'required=Truestring='Account Name'tracking=Truetranslate=True -
name_pathCharcompute=<expr>compute_sql=<expr>compute_sudo=Truedepends=['name', 'parent_ids']help='similar to parent path but with names instead of ids, used to order and search accounts' -
non_tradeBooleandefault=Falsehelp='If set, this account will belong to Non Trade Receivable/Payable in reports and filters.\nIf not, this account will belong to Trade Receivable/Payable in reports and filters.' -
noteTexttracking=True args: 'Internal Notes' -
opening_balanceMonetarycompute='_compute_opening_debit_credit'currency_field='company_currency_id'inverse='_set_opening_balance'string='Opening Balance' -
opening_creditMonetarycompute='_compute_opening_debit_credit'currency_field='company_currency_id'inverse='_set_opening_credit'string='Opening Credit' -
opening_debitMonetarycompute='_compute_opening_debit_credit'currency_field='company_currency_id'inverse='_set_opening_debit'string='Opening Debit' -
parent_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'context={'active_test': False}domain="['!', ('id', 'child_of', id)]"ondelete='restrict'string='Parent Account' -
parent_idsMany2many → account.accountcompute='_compute_parent_ids'compute_sudo=Truecontext={'active_test': False} args: 'account.account' -
parent_pathCharindex=True -
placeholder_codeCharcompute='_compute_placeholder_code'compute_sql='_compute_sql_placeholder_code'compute_sudo=Truesearch='_search_placeholder_code'string='Display code' -
reconcileBooleancompute='_compute_reconcile'help='This account is used in bank reconciliation. Currency rate difference entries will be automatically created if needed.'precompute=Truereadonly=Falsestore=Truestring='Payment Reconciliation'tracking=True -
related_taxes_amountIntegercompute='_compute_related_taxes_amount' -
root_idMany2one → account.rootcompute='_compute_account_root'compute_sql='_compute_sql_account_root'compute_sudo=Truesearch='_search_account_root' args: 'account.root' -
tag_idsMany2many → account.account.tagcomodel_name='account.account.tag'compute='_compute_account_tags'help='Optional tags you may want to assign for custom reporting'ondelete='restrict'precompute=Truereadonly=Falserelation='account_account_account_tag'store=Truestring='Tags'tracking=True -
tax_idsMany2many → account.taxcheck_company=Truecontext={'append_fields': ['type_tax_use', 'company_id']}string='Default Taxes' args: 'account.tax', 'account_account_tax_default_rel', 'account_id', 'tax_id' -
usedBooleancompute='_compute_used'compute_sql='_compute_sql_used'compute_sudo=True
-
action_open_related_taxes(self) -
action_unmerge(self)Split the account `self` into several accounts, one per company. The original account's codes are assigned respectively to the account created in each company. From an accounting perspective, this does not change anything to the journal items, since their account codes will remain unchanged. -
action_validate_opening_move(self) -
copy_data(self, default=None) -
create(self, vals_list)@api.model_create_multi -
default_get(self, fields)@api.modelIf we're creating a new account through a many2one, there are chances that we typed the account code instead of its name. In that case, switch both fields values. -
get_import_templates(self)@api.model -
load(self, fields, data)@api.model -
name_create(self, name)@api.modelSplit the account name into account code and account name in import. When importing a file with accounts, the account code and name may be both entered in the name column. In this case, the name will be split into code and name. -
name_search(self, name='', domain=None, operator='ilike', limit=100)@api.model@api.readonly -
write(self, vals)
-
activeBooleandefault=Truehelp='Set active to false to hide the Account Tag without removing it.' -
applicabilitySelectiondefault='accounts'required=True args: [('accounts', 'Accounts'), ('taxes', 'Taxes'), ('products', 'Products')] -
balance_negateBooleancompute='_compute_report_expression_id'compute_sql='_compute_sql_balance_negate'compute_sudo=False -
colorIntegerargs: 'Color Index' -
country_idMany2one → res.countrycomodel_name='res.country'help='Country for which this tag is available, when applied on taxes.'string='Country' -
nameCharrequired=Truetranslate=True args: 'Tag Name' -
report_expression_idMany2one → account.report.expressioncompute='_compute_report_expression_id'compute_sql='_compute_sql_report_expression_id'compute_sudo=False args: 'account.report.expression'
-
create(self, vals_list)@api.model_create_multi
-
account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('account_type', '=', 'liability_current')] if context.get('active_model') in ['purchase.order', 'purchase.order.line'] else [('account_type', '=', 'asset_current')]"string='Accrual Account' -
accrual_typeSelectionrequired=Trueselection=[('bill_to_receive', 'Bills to receive'), ('billed_not_received', 'Billed not received'), ('invoice_to_be_issued', 'Invoices to be issued'), ('invoiced_not_delivered', 'Invoiced not delivered')]string='Accrual Type' -
amountMonetaryhelp='Specify an arbitrary value that will be accrued on a default account for the entire order, regardless of the products on the different lines.'string='Amount' -
company_idMany2one → res.companydefault=_get_default_company args: 'res.company' -
currency_idMany2onehelp='Utility field to express amount currency'readonly=Truerelated='company_id.currency_id'store=Truestring='Company Currency' -
dateDatedefault=_get_default_daterequired=True -
display_amountBooleancompute='_compute_display_amount' -
duplicate_entry_idMany2one → account.movecomodel_name='account.move'compute='_compute_duplicate_entry' -
duplicate_price_totalMonetaryrelated='duplicate_entry_id.amount_total' -
journal_idMany2one → account.journalcheck_company=Truecomodel_name='account.journal'compute='_compute_journal_id'domain="[('type', '=', 'general')]"precompute=Truereadonly=Falserequired=Truestore=Truestring='Journal' -
preview_dataTextcompute='_compute_preview_data' -
reversal_dateDatecompute='_compute_reversal_date'precompute=Truereadonly=Falserequired=Truestore=True
-
create_entries(self, auto_post=True) -
open_duplicate(self)
-
invoice_countIntegercompute='_compute_invoice_count' args: 'Invoice Count' -
vendor_bill_countIntegercompute='_compute_vendor_bill_count' args: 'Vendor Bill Count'
-
action_view_invoice(self) -
action_view_vendor_bill(self)
-
account_prefixCharhelp='Prefix that defines which accounts from the financial accounting this applicability should apply on.'string='Financial Accounts Prefixes' -
account_prefix_placeholderCharcompute='_compute_prefix_placeholder' -
business_domainSelectionondelete={'invoice': 'cascade', 'bill': 'cascade'}selection_add=[('invoice', 'Invoice'), ('bill', 'Vendor Bill')] -
display_account_prefixBooleancompute='_compute_display_account_prefix'help='Defines if the field account prefix should be displayed' -
product_categ_idMany2one → product.categorystring='Product Category' args: 'product.category'
No public methods.
-
account_prefixCharhelp='This analytic distribution will apply to all financial accounts sharing the prefix specified.'string='Accounts Prefix' -
prefix_placeholderCharcompute='_compute_prefix_placeholder' -
product_categ_idMany2one → product.categoryhelp='Select a product category which will use analytic account specified in analytic default (e.g. create new customer invoice or Sales order if we select this product, it will automatically take this as an analytic account)'ondelete='cascade'string='Product Category' args: 'product.category' -
product_idMany2one → product.productcheck_company=Truehelp='Select a product for which the analytic distribution will be used (e.g. create new customer invoice or Sales order if we select this product, it will automatically take this as an analytic account)'ondelete='cascade'string='Product' args: 'product.product'
No public methods.
-
allowed_uom_idsMany2many → uom.uomcompute='_compute_allowed_uom_ids' args: 'uom.uom' -
analytic_profitabilitySelectioncompute='_compute_analytic_profitability'compute_sql='_compute_sql_analytic_profitability'compute_sudo=Falseselection=[('uncategorized', 'Uncategorized'), ('revenue', 'Revenue'), ('loss', 'Loss')]string='Profitability' -
categorySelectionselection_add=[('invoice', 'Customer Invoice'), ('vendor_bill', 'Vendor Bill')] -
codeCharsize=8 -
general_account_idMany2one → account.accountcheck_company=Truecompute='_compute_general_account_id'index='btree_not_null'ondelete='restrict'readonly=Falsestore=Truestring='Financial Account' args: 'account.account' -
journal_idMany2one → account.journalcheck_company=Truereadonly=Truerelated='move_line_id.journal_id'store=Truestring='Financial Journal' args: 'account.journal' -
move_line_idMany2one → account.move.linecheck_company=Trueindex=Trueondelete='cascade'string='Journal Item' args: 'account.move.line' -
partner_idMany2onecompute='_compute_partner_id'readonly=Falsestore=True -
product_categoryMany2onerelated='product_id.categ_id' -
product_idMany2one → product.productcheck_company=Trueindex='btree_not_null'string='Product' args: 'product.product' -
refCharstring='Ref.'
-
create(self, vals_list)@api.model_create_multi -
on_change_unit_amount(self)@api.onchange('product_id', 'product_uom_id', 'unit_amount', 'currency_id') -
unlink(self) -
view_header_get(self, view_id, view_type)@api.model -
write(self, vals)
-
account_typeSelectioncompute='_compute_account_type'store=True args: [('income', 'Revenue'), ('expense', 'Expense')] -
actionSelectionrequired=True args: [('change_period', 'Change Period'), ('change_account', 'Change Account')] -
company_currency_idMany2one → res.currencyrelated='company_id.currency_id' args: 'res.currency' -
company_idMany2one → res.companyreadonly=Truerequired=True args: 'res.company' -
dateDatedefault=<expr>required=True -
destination_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'help='Account to transfer to.'string='To' -
display_currency_helperBooleancompute='_compute_display_currency_helper'string='Currency Conversion Helper' -
expense_accrual_accountMany2one → account.accountcheck_company=Truecompute='_compute_expense_accrual_account'domain="[('account_type', 'not in', ('asset_receivable', 'liability_payable', 'off_balance'))]"inverse='_inverse_expense_accrual_account'readonly=False args: 'account.account' -
journal_idMany2one → account.journalcheck_company=Truecompute='_compute_journal_id'domain="[('type', '=', 'general')]"help='Journal where to create the entry.'inverse='_inverse_journal_id'readonly=Falserequired=Truestring='Journal' args: 'account.journal' -
lock_date_messageCharcompute='_compute_lock_date_message'string='Lock Date Message' -
move_dataTextcompute='_compute_move_data' -
move_line_idsMany2many → account.move.lineargs: 'account.move.line' -
percentageFloatcompute='_compute_percentage'help='Percentage of each line to execute the action on.'readonly=Falsestore=True args: 'Percentage' -
preview_move_dataTextcompute='_compute_preview_move_data' -
revenue_accrual_accountMany2one → account.accountcheck_company=Truecompute='_compute_revenue_accrual_account'domain="[('account_type', 'not in', ('asset_receivable', 'liability_payable', 'off_balance'))]"inverse='_inverse_revenue_accrual_account'readonly=False args: 'account.account' -
total_amountMonetarycompute='_compute_total_amount'currency_field='company_currency_id'help='Total amount impacted by the automatic entry.'readonly=Falsestore=True
-
default_get(self, fields)@api.model -
do_action(self)
-
nb_unmodified_billsIntegerargs: 'Number of bills previously unmodified from this partner' -
partner_idMany2one → res.partnerargs: 'res.partner' -
partner_nameCharrelated='partner_id.name'
-
action_ask_later(self) -
action_automate_partner(self) -
action_never_automate_partner(self)
-
attachment_idsMany2many → ir.attachmentbypass_search_access=Truecomodel_name='ir.attachment'string='Attachments' -
balance_endMonetarycompute='_compute_balance_end'store=Truestring='Computed Balance' -
balance_end_realMonetarycompute='_compute_balance_end_real'readonly=Falsestore=Truestring='Ending Balance' -
balance_startMonetarycompute='_compute_balance_start'readonly=Falsestore=Truestring='Starting Balance' -
company_idMany2one → res.companycomodel_name='res.company'index=Truerelated='journal_id.company_id'store=True -
currency_idMany2one → res.currencycomodel_name='res.currency'compute='_compute_currency_id'store=True -
dateDatecompute='_compute_date'index=Truereadonly=Falsestore=True -
first_line_indexCharcompute='_compute_first_line_index'store=True -
is_completeBooleancompute='_compute_is_complete'store=True -
is_journal_hashBooleanrelated='journal_id.restrict_mode_hash_table' -
is_statement_postedBooleandefault=True -
is_validBooleancompute='_compute_is_valid'search='_search_is_valid' -
journal_has_invalid_statementsBooleanrelated='journal_id.has_invalid_statements' -
journal_idMany2one → account.journalcheck_company=Truecomodel_name='account.journal'compute='_compute_journal_id'store=True -
line_idsOne2many → account.bank.statement.linecomodel_name='account.bank.statement.line'inverse_name='statement_id'string='Statement lines' -
nameCharcompute='_compute_name'copy=Falsereadonly=Falsestore=Truestring='Reference' -
problem_descriptionTextcompute='_compute_problem_description' -
referenceCharcopy=Falsestring='External Reference'
-
action_draft(self) -
action_open_statements_to_review(self) -
action_post(self) -
create(self, vals_list)@api.model_create_multi -
default_get(self, fields)@api.model -
write(self, vals)
-
account_numberCharstring='Bank Account Number' -
amountMonetary -
amount_currencyMonetarycompute='_compute_amount_currency'currency_field='foreign_currency_id'help='The amount expressed in an optional other currency if it is a multi-currency entry.'readonly=Falsestore=Truestring='Amount in Currency' -
amount_residualFloatcompute='_compute_is_reconciled'store=Truestring='Residual Amount' -
company_idMany2one → res.companycomodel_name='res.company'index=Falseinherited=Trueprecompute=Truereadonly=Falserelated='move_id.company_id'required=Truestore=True -
country_codeCharrelated='company_id.account_fiscal_country_id.code' -
currency_idMany2one → res.currencycomodel_name='res.currency'compute='_compute_currency_id'store=Truestring='Journal Currency' -
foreign_currency_idMany2one → res.currencycomodel_name='res.currency'help='The optional other currency if it is a multi-currency entry.'string='Foreign Currency' -
internal_indexCharcompute='_compute_internal_index'store=Truestring='Internal Reference' -
is_reconciledBooleancompute='_compute_is_reconciled'store=Truestring='Is Reconciled' -
journal_idMany2one → account.journalcomodel_name='account.journal'index=Falseinherited=Trueprecompute=Truereadonly=Falserelated='move_id.journal_id'required=Truestore=True -
move_idMany2one → account.movebypass_search_access=Truecheck_company=Truecomodel_name='account.move'index=Trueondelete='cascade'readonly=Truerequired=Truestring='Journal Entry' -
partner_idMany2one → res.partnercheck_company=Truecomodel_name='res.partner'ondelete='restrict'string='Partner' -
partner_nameCharindex='btree_not_null' -
payment_idsMany2many → account.paymentcomodel_name='account.payment'relation='account_payment_account_bank_statement_line_rel'string='Auto-generated Payments' -
payment_refCharindex='trigram'string='Label' -
running_balanceMonetarycompute='_compute_running_balance' -
sequenceIntegerdefault=1 -
statement_balance_end_realMonetaryrelated='statement_id.balance_end_real' -
statement_completeBooleanrelated='statement_id.is_complete' -
statement_idMany2one → account.bank.statementcomodel_name='account.bank.statement'index=Truestring='Statement' -
statement_nameCharrelated='statement_id.name'string='Statement Name' -
statement_problem_descriptionTextrelated='statement_id.problem_description' -
statement_validBooleanrelated='statement_id.is_valid' -
transaction_detailsJsonreadonly=True -
transaction_typeChar
-
action_undo_reconciliation(self)Undo the reconciliation made on the statement line and reset their journal items to their original states. -
create(self, vals_list)@api.model_create_multi -
default_get(self, fields)@api.model -
formatted_read_group(self, domain, groupby=(), aggregates=(), having=(), offset=0, limit=None, order=None) -> <expr>@api.model -
new(self, values=None, origin=None, ref=None)@api.model -
unlink(self) -
write(self, vals)
-
activeBooleandefault=True -
company_idMany2one → res.companyondelete='cascade'string='Company' args: 'res.company' -
currency_idsMany2many → res.currencycomodel_name='res.currency'string='Currency' -
loss_account_idMany2one → account.accountcompany_dependent=Truedomain="[('internal_group', '=', 'expense')]"inverse='_inverse_loss_account_id'ondelete='restrict'string='Loss Account' args: 'account.account' -
nameCharinverse='_inverse_name'string='Name'translate=True -
name_placeholderCharcompute='_compute_name_placeholder' -
partner_category_idsMany2many → res.partner.categorycomodel_name='res.partner.category'string='Partner Category' -
payment_method_line_idsMany2many → account.payment.method.linecomodel_name='account.payment.method.line'string='Payment Method' -
profit_account_idMany2one → account.accountcompany_dependent=Truedomain="[('internal_group', '=', 'income')]"inverse='_inverse_profit_account_id'ondelete='restrict'string='Profit Account' args: 'account.account' -
roundingFloatdefault=1.0help='The smallest value used to round the total amount (e.g., 0.05 or 100).'required=Truestring='Precision' -
rounding_methodSelectiondefault='HALF-UP'help='The computation rule used to round values (e.g., UP, DOWN, or HALF-UP).'required=Trueselection=[('UP', 'Up'), ('DOWN', 'Down'), ('HALF-UP', 'Nearest')]string='Method' -
sequenceIntegerdefault=10required=True -
strategySelectiondefault='add_invoice_line'help='Specify how the rounding difference is applied: add a rounding line or adjust the highest tax amount.'required=Trueselection=[('biggest_tax', 'Modify tax amount'), ('add_invoice_line', 'Add a rounding line')]string='Strategy'
-
compute_difference(self, currency, amount)Compute the difference between the base_amount and the amount after rounding. For example, base_amount=23.91, after rounding=24.00, the result will be 0.09. :param currency: The currency. :param amount: The amount :return: round(difference) -
round(self, amount)Compute the rounding on the amount passed as parameter. :param amount: the amount to round :return: the rounded amount depending the rounding value and the rounding method -
validate_rounding(self)@api.constrains('rounding')
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (3)-
company_xmlid(self, xmlid, company=None) -
ref(self, xmlid, raise_if_not_found=True) -
try_loading(self, template_code, company, install_demo=False, force_create=True)Check if the chart template can be loaded then proceeds installing it. :param template_code: code of the chart template to be loaded. :type template_code: str :param company: the company we try to load the chart template on. If not provided, it is retrieved from the context. :type company: int, Model<res.company> :param install_demo: whether or not we should load demo data right after loading the chart template. :type install_demo: bool :param force_create: Determines the loading behavior. If True, forces the creation of new entries; if False, prevents new creations and performs updates on existing data where applicable. :type force_create: bool
No new fields.
Public methods (0)No public methods.
-
account_idMany2one → account.accountcomodel_name='account.account'compute='_compute_account_id'search='_search_account_id'string='Account' -
codeCharcompute='_compute_code'inverse='_inverse_code'string='Code' -
company_idMany2one → res.companycomodel_name='res.company'compute='_compute_company_id'readonly=Falsestring='Company'
-
create(self, vals_list)@api.model_create_multi
No new fields.
Public methods (0)No public methods.
-
company_idMany2one → res.companycomodel_name='res.company'required=True -
company_vat_disabledBooleanreadonly=Falserelated='company_id.vat_disabled' -
fiscalyear_last_dayIntegerhelp="The last day of the month will be used if the chosen day doesn't exist."readonly=Falserelated='company_id.fiscalyear_last_day'required=True -
fiscalyear_last_monthSelectionhelp="The last day of the month will be used if the chosen day doesn't exist."readonly=Falserelated='company_id.fiscalyear_last_month'required=True -
opening_dateDatehelp='Date from which the accounting is managed in Odoo. It is the date of the opening entry.'readonly=Falserelated='company_id.account_opening_date'required=Truestring='Opening Date' -
opening_move_postedBooleancompute='_compute_opening_move_posted'string='Opening Move Posted'
-
action_save_onboarding_fiscal_year(self) -
create(self, vals_list)@api.model_create_multi -
write(self, vals)
-
account_idsOne2many → account.fiscal.position.accountcopy=Truestring='Account Mapping' args: 'account.fiscal.position.account', 'position_id' -
account_mapJsoncompute='_compute_account_map' -
activeBooleandefault=Truehelp='By unchecking the active field, you may hide a fiscal position without deleting it.' -
auto_applyBooleanhelp='Apply tax & account mappings on invoices automatically if the matching criterias (Tax ID/Country) are met.'string='Detect Automatically' -
company_country_idMany2onerelated='company_id.account_fiscal_country_id'string='Company Country' -
company_idMany2one → res.companycomodel_name='res.company'default=<expr>index=Truereadonly=Truerequired=Truestring='Company' -
country_group_idMany2one → res.country.grouphelp='Apply only if delivery country matches the group.'inverse='_inverse_foreign_vat'string='Country Group' args: 'res.country.group' -
country_idMany2one → res.countryhelp='Apply only if delivery country matches.'inverse='_inverse_foreign_vat'string='Country' args: 'res.country' -
fiscal_country_codesCharrelated='company_country_id.code'string='Company Fiscal Country Code' -
foreign_vatCharhelp='The tax ID of your company in the region mapped by this fiscal position.'inverse='_inverse_foreign_vat'string='Foreign Tax ID' -
foreign_vat_header_modeSelectioncompute='_compute_foreign_vat_header_mode'selection=[('templates_found', 'Templates Found'), ('no_template', 'No Template')] -
is_domesticBooleancompute='_compute_is_domestic'store=True -
nameCharrequired=Truestring='Fiscal Position'translate=True -
noteHtmlhelp='Legal mentions that have to be printed on the invoices.'translate=True args: 'Notes' -
sequenceInteger -
state_idsMany2many → res.country.statestring='Federal States' args: 'res.country.state' -
states_countIntegercompute='_compute_states_count' -
tax_idsMany2many → account.taxcolumn1='account_fiscal_position_id'column2='account_tax_id'comodel_name='account.tax'relation='account_fiscal_position_account_tax_rel'string='Taxes' -
tax_mapJsoncompute='_compute_tax_map' -
vat_requiredBooleanhelp='Apply only if partner has a Tax ID.'string='Tax ID required' -
zip_fromCharstring='Zip Range From' -
zip_toCharstring='Zip Range To'
-
action_create_foreign_taxes(self) -
action_open_related_taxes(self) -
create(self, vals_list)@api.model_create_multi -
map_account(self, account) -
map_tax(self, taxes) -
write(self, vals)
-
account_dest_idMany2one → account.accountcheck_company=Truerequired=Truestring='Account to Use Instead' args: 'account.account' -
account_src_idMany2one → account.accountcheck_company=Truerequired=Truestring='Account on Product' args: 'account.account' -
company_idMany2one → res.companyrelated='position_id.company_id'store=Truestring='Company' args: 'res.company' -
position_idMany2one → account.fiscal.positionondelete='cascade'required=Truestring='Fiscal Position' args: 'account.fiscal.position'
No public methods.
-
partial_reconcile_idsOne2many → account.partial.reconcilestring='Reconciliation Parts' args: 'account.partial.reconcile', 'full_reconcile_id' -
reconciled_line_idsOne2many → account.move.linestring='Matched Journal Items' args: 'account.move.line', 'full_reconcile_id'
-
create(self, vals_list)@api.model_create_multi -
unlink(self)
-
activeBooleandefault=Truehelp='By unchecking the active field, you may hide an INCOTERM you will not use.' args: 'Active' -
codeCharhelp='Incoterm Standard Code'required=Truesize=3 args: 'Code' -
nameCharhelp='Incoterms are series of sales terms. They are used to divide transaction costs and responsibilities between buyer and seller and reflect state-of-the-art transportation practices.'required=Truetranslate=True args: 'Name'
No public methods.
-
account_idMany2one → account.accountreadonly=Truestring='Revenue/Expense Account' args: 'account.account' -
commercial_partner_idMany2one → res.partnerstring='Main Partner' args: 'res.partner' -
company_currency_idMany2one → res.currencyreadonly=Truestring='Company Currency' args: 'res.currency' -
company_idMany2one → res.companyreadonly=Truestring='Company' args: 'res.company' -
country_idMany2one → res.countrystring='Country' args: 'res.country' -
currency_idMany2one → res.currencyreadonly=Truestring='Currency' args: 'res.currency' -
fiscal_position_idMany2one → account.fiscal.positionreadonly=Truestring='Fiscal Position' args: 'account.fiscal.position' -
inventory_valueMonetaryaggregator='sum_currency'currency_field='company_currency_id'readonly=Truestring='Inventory Value' -
invoice_dateDatereadonly=Truestring='Invoice Date' -
invoice_date_dueDatereadonly=Truestring='Due Date' -
invoice_user_idMany2one → res.usersreadonly=Truestring='Salesperson' args: 'res.users' -
journal_idMany2one → account.journalreadonly=Truestring='Journal' args: 'account.journal' -
move_idMany2one → account.movereadonly=True args: 'account.move' -
move_typeSelectionreadonly=True args: [('out_invoice', 'Customer Invoice'), ('in_invoice', 'Vendor Bill'), ('out_refund', 'Customer Credit Note'), ('in_refund', 'Vendor Credit Note'), ('out_receipt', 'Sales Receipt'), ('in_receipt', 'Purchase Receipt')] -
partner_idMany2one → res.partnerreadonly=Truestring='Partner' args: 'res.partner' -
payment_stateSelectionreadonly=Trueselection=PAYMENT_STATE_SELECTIONstring='Payment Status' -
price_averageMonetaryaggregator='avg_currency'currency_field='company_currency_id'readonly=Truestring='Average Price' -
price_marginMonetaryaggregator='sum_currency'currency_field='company_currency_id'readonly=Truestring='Margin' -
price_subtotalMonetaryaggregator='sum_currency'currency_field='company_currency_id'readonly=Truestring='Untaxed Amount' -
price_subtotal_currencyMonetarycurrency_field='currency_id'readonly=Truestring='Untaxed Amount in Currency' -
price_totalMonetaryaggregator='sum_currency'currency_field='company_currency_id'readonly=Truestring='Total' -
price_total_currencyMonetarycurrency_field='currency_id'readonly=Truestring='Total in Currency' -
product_categ_idMany2one → product.categoryreadonly=Truestring='Product Category' args: 'product.category' -
product_idMany2one → product.productreadonly=Truestring='Product' args: 'product.product' -
product_uom_idMany2one → uom.uomreadonly=Truestring='Unit' args: 'uom.uom' -
quantityFloatreadonly=Truestring='Product Quantity' -
stateSelectionreadonly=Truestring='Invoice Status' args: [('draft', 'Draft'), ('posted', 'Open'), ('cancel', 'Cancelled')]
No public methods.
-
account_fiscal_country_group_codesJsonrelated='company_id.account_fiscal_country_group_codes' -
accounting_dateDatecompute='_compute_accounting_date' -
activeBooleandefault=Truehelp='Set active to false to hide the Journal without removing it.' -
alias_nameCharhelp='Send one separate email for each invoice.\nAny file extension will be accepted.\nOnly PDF and XML files will be interpreted by Odoo' -
available_invoice_template_pdf_report_idsOne2many → ir.actions.reportcomodel_name='ir.actions.report'compute='_compute_available_invoice_template_pdf_report_ids' -
available_payment_method_idsMany2many → account.payment.methodcomodel_name='account.payment.method'compute='_compute_available_payment_method_ids' -
bank_account_idMany2one → res.partner.bankcheck_company=Truecopy=Falsedomain="[('partner_id','=', company_partner_id)]"index='btree_not_null'ondelete='restrict'string='Bank Account' args: 'res.partner.bank' -
bank_account_numberCharreadonly=Falserelated='bank_account_id.account_number' -
bank_bicCharreadonly=Falserelated='bank_account_id.bank_bic' -
bank_nameCharreadonly=Falserelated='bank_account_id.bank_name' -
bank_statements_sourceSelectiondefault='undefined'help='Defines how the bank statements will be registered'selection='_get_bank_statements_available_sources'string='Bank Feeds' -
codeCharcompute='_compute_code'help='Shorter name used for display. The journal entries of this journal will also be named using this prefix by default.'precompute=Truereadonly=Falserequired=Truestore=Truestring='Sequence Prefix' -
company_idMany2one → res.companydefault=<expr>help='Company related to this journal'index=Truereadonly=Truerequired=Truestring='Company' args: 'res.company' -
company_partner_idMany2one → res.partnerreadonly=Truerelated='company_id.partner_id'store=Falsestring='Account Holder' args: 'res.partner' -
country_codeCharreadonly=Truerelated='company_id.account_fiscal_country_id.code' -
currency_idMany2one → res.currencyhelp='The currency used to enter statement'string='Currency' args: 'res.currency' -
default_account_activeBooleanrelated='default_account_id.active'string='Default Account Active' -
default_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'copy=Falsedomain=_get_default_account_domainindex='btree_not_null'ondelete='restrict'string='Default Account' -
default_account_typeCharcompute='_compute_default_account_type'string='Default Account Type' -
display_alias_fieldsBooleancompute='_compute_display_alias_fields' -
display_invoice_template_pdf_report_idBooleancompute='_compute_display_invoice_template_pdf_report_id' -
has_invalid_statementsBooleancompute='_compute_has_invalid_statements' -
has_ledgerBooleanrelated='company_id.has_ledger' -
inbound_payment_method_line_idsOne2many → account.payment.method.linecheck_company=Truecomodel_name='account.payment.method.line'compute='_compute_inbound_payment_method_line_ids'copy=Falsedomain=[('payment_type', '=', 'inbound')]help='Manual: Get paid by any method outside of Odoo.\nPayment 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.\nBatch Deposit: Collect several customer checks at once generating and submitting a batch deposit to your bank. Module account_batch_payment is necessary.\nSEPA Direct Debit: Get paid in the SEPA zone thanks to a mandate your partner will have granted to you. Module account_sepa is necessary.\n'inverse_name='journal_id'readonly=Falsestore=Truestring='Inbound Payment Methods' -
incoming_einvoice_notification_emailCharhelp="Email addresses that will receive copy for sent and received invoices. Separate entries with ';'."string='Send Copy To' -
invoice_reference_modelSelectiondefault=_default_invoice_reference_modelhelp='You can choose different models for each type of reference. The default one is the Odoo reference.'required=Trueselection=[('odoo', 'Full Reference (INV/2024/00001)'), ('euro', 'European (RF83INV202400001)'), ('number', 'Numbers only (202400001)')]string='Communication Standard' -
invoice_reference_typeSelectiondefault='invoice'help='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.'required=Trueselection=[('partner', 'Based on Customer'), ('invoice', 'Based on Invoice')]string='Communication Type' -
invoice_template_pdf_report_idMany2one → ir.actions.reportcomodel_name='ir.actions.report'domain="[('id', 'in', available_invoice_template_pdf_report_ids)]"readonly=Falsestring='Invoice report' -
is_self_billingBooleanhelp='This journal is for self-billing invoices. Invoices will be created using a different sequence per partner.'string='Self Billing' -
journal_group_idMany2one → account.journal.groupcomodel_name='account.journal.group'help='By default, all journals post to the Statutory Ledger (Local GAAP). \nSpecifying a ledger allows you to isolate IFRS, Tax, or Intercompany adjustments without affecting local statutory accounts.'index='btree_not_null'string='Ledger' -
loss_account_activeBooleanrelated='loss_account_id.active'string='Loss Account Active' -
loss_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('account_type', '=', 'expense')]"help='Used to register a loss when the ending balance of a cash register differs from what the system computes'index='btree_not_null'string='Loss Account' -
nameCharrequired=Truestring='Journal Name'translate=True -
name_placeholderCharcompute='_compute_name_placeholder' -
non_deductible_account_activeBooleanrelated='non_deductible_account_id.active'string='Private Share Account Active' -
non_deductible_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'help='Account used to register the private part of mixed expenses.'index='btree_not_null'readonly=Falsestore=Truestring='Private Share Account' -
outbound_payment_method_line_idsOne2many → account.payment.method.linecheck_company=Truecomodel_name='account.payment.method.line'compute='_compute_outbound_payment_method_line_ids'copy=Falsedomain=[('payment_type', '=', 'outbound')]help='Manual: Pay by any method outside of Odoo.\nCheck: Pay bills by check and print it from Odoo.\nSEPA Credit Transfer: Pay in the SEPA zone by submitting a SEPA Credit Transfer file to your bank. Module account_sepa is necessary.\n'inverse_name='journal_id'readonly=Falsestore=Truestring='Outbound Payment Methods' -
payment_sequenceBooleancompute='_compute_payment_sequence'help="Check this box if you don't want to share the same sequence on payments and bank transactions posted on this journal"precompute=Truereadonly=Falsestore=Truestring='Dedicated Payment Sequence' -
profit_account_activeBooleanrelated='profit_account_id.active'string='Profit Account Active' -
profit_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('account_type', 'in', ('income', 'income_other'))]"help='Used to register a profit when the ending balance of a cash register differs from what the system computes'index='btree_not_null'string='Profit Account' -
refund_sequenceBooleancompute='_compute_refund_sequence'help="Check this box if you don't want to share the same sequence for invoices and credit notes made from this journal"readonly=Falsestore=Truestring='Dedicated Credit Note Sequence' -
restrict_mode_hash_tableBooleanhelp='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.'string='Secure Posted Entries with Hash' -
selected_payment_method_codesCharcompute='_compute_selected_payment_method_codes' -
sequenceIntegerdefault=10help='Used to order Journals in the dashboard view' -
sequence_override_regexTexthelp='Technical field used to enforce complex sequence composition that the system would normally misunderstand.\nThis is a regex that can include all the following capture groups: prefix1, year, prefix2, month, prefix3, seq, suffix.\nThe prefix* groups are the separators between the year, month and the actual increasing sequence number (seq).\ne.g: ^(?P<prefix1>.*?)(?P<year>\\d{4})(?P<prefix2>\\D*?)(?P<month>\\d{2})(?P<prefix3>\\D+?)(?P<seq>\\d+)(?P<suffix>\\D*?)$' -
show_fetch_in_einvoices_buttonBooleancompute='_compute_show_fetch_in_einvoices_button'string='Show E-Invoice Buttons' -
show_refresh_out_einvoices_status_buttonBooleancompute='_compute_show_refresh_out_einvoices_status_button'string='Show E-Invoice Status Buttons' -
suspense_account_activeBooleanrelated='suspense_account_id.active'string='Suspense Account Active' -
suspense_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'compute='_compute_suspense_account_id'domain="[('account_type', '=', 'asset_current')]"help='Bank statements transactions will be posted on the suspense account until the final reconciliation allowing finding the right account.'index='btree_not_null'ondelete='restrict'readonly=Falsestore=Truestring='Suspense Account' -
typeSelectionhelp="\n Select 'Sale' for customer invoices journals.\n Select 'Purchase' for vendor bills journals.\n Select 'Cash', 'Bank' or 'Credit Card' for journals that are used in customer or vendor payments.\n Select 'General' for miscellaneous operations journals.\n "required=True args: [('sale', 'Sales'), ('purchase', 'Purchase'), ('cash', 'Cash'), ('bank', 'Bank'), ('credit', 'Credit Card'), ('general', 'Miscellaneous')]
-
action_configure_bank_journal(self)This function is called by the "configure" button of bank journals, visible on dashboard if no bank statement source has been defined yet -
button_fetch_in_einvoices(self)Abstract method to fetch e-invoices. Should fetch vendor bill invoices synchronously and doesn't return anything. -
button_refresh_out_einvoices_status(self)Abstract method to fetch e-invoice statuses. Should fetch customer invoices statuses synchronously and doesn't return anything. -
button_unsubscribe_from_invoice_notifications(self) -
copy_data(self, default=None) -
create(self, vals_list)@api.model_create_multi -
create_document_from_attachment(self, attachment_ids)Create the invoices from files. :return: A action redirecting to account.move list/form view. -
message_new(self, msg_dict, custom_values=None)@api.model -
set_bank_account(self, account_number, bank_bic=None)Create a res.partner.bank (if not exists) and set it as value of the field bank_account_id -
unlink(self) -
write(self, vals)
-
colorIntegerdefault=0 args: 'Color Index' -
current_statement_balanceMonetarycompute='_compute_current_statement_balance' -
disable_dashboard_graphBooleanstring='Disable chart to speed up dashboard' -
entries_countIntegercompute='_compute_entries_count' -
has_entriesBooleancompute='_compute_has_entries' -
has_posted_entriesBooleancompute='_compute_has_entries' -
has_sequence_holesBooleancompute='_compute_has_sequence_holes' -
has_statement_linesBooleancompute='_compute_current_statement_balance' -
has_unhashed_entriesBooleancompute='_compute_has_unhashed_entries'string='Unhashed Entries' -
json_activity_dataTextcompute='_get_json_activity_data' -
kanban_dashboardTextcompute='_kanban_dashboard' -
kanban_dashboard_graphTextcompute='_kanban_dashboard_graph' -
last_statement_idMany2one → account.bank.statementcomodel_name='account.bank.statement'compute='_compute_last_bank_statement' -
show_on_dashboardBooleandefault=Truehelp='Whether this journal should be displayed on the dashboard or not'string='Show journal on dashboard'
-
action_create_new(self) -
action_create_vendor_bill(self)This function is called by the "try our sample" button of Vendor Bills, visible on dashboard if no bill has been created yet. -
action_post_all_entries(self) -
create_bank_statement(self)return action to create a bank statements. This button should be called only on journals with type =='bank' -
create_customer_payment(self)return action to create a customer payment -
create_supplier_payment(self)return action to create a supplier payment -
get_account_dashboard_kpis(self)@api.model -
open_action(self)return action based on type for related journals -
open_action_with_context(self) -
open_bank_difference_action(self) -
open_invalid_statements_action(self) -
open_payments_action(self, payment_type=False, mode='list') -
show_sequence_holes(self) -
show_unhashed_entries(self) -
to_check_ids(self)
-
included_journal_idsOne2many → account.journalcontext={'active_test': False}string='Included Journals' args: 'account.journal', 'journal_group_id' -
nameCharrequired=Truetranslate=True args: 'Ledger group' -
sequenceIntegerdefault=10
No public methods.
-
activeBooleandefault=Truestring='Active' -
company_idMany2one → res.companydefault=<expr>readonly=Truerequired=Truestring='Company' args: 'res.company' -
company_lock_dateDatecopy=Falsehelp='Technical field giving the date the company lock date at the time the exception was created.'string='Original Lock Date' -
end_datetimeDatetimestring='End Date' -
fiscalyear_lock_dateDatecompute='_compute_lock_dates'help='The date the Global Lock Date is set to by this exception. If the lock date is not changed it is set to the maximal date.'search='_search_fiscalyear_lock_date'string='Global Lock Date' -
lock_dateDatehelp='Technical field giving the date the lock date was changed to.'string='Changed Lock Date' -
lock_date_fieldSelectionhelp='Technical field identifying the changed lock date'required=Trueselection=[('fiscalyear_lock_date', 'Global Lock Date'), ('tax_lock_date', 'Tax Return Lock Date'), ('sale_lock_date', 'Sales Lock Date'), ('purchase_lock_date', 'Purchase Lock Date')]string='Lock Date Field' -
purchase_lock_dateDatecompute='_compute_lock_dates'help='The date the Purchase Lock Date is set to by this exception. If the lock date is not changed it is set to the maximal date.'search='_search_purchase_lock_date'string='Purchase Lock Date' -
reasonCharstring='Reason' -
sale_lock_dateDatecompute='_compute_lock_dates'help='The date the Sale Lock Date is set to by this exception. If the lock date is not changed it is set to the maximal date.'search='_search_sale_lock_date'string='Sales Lock Date' -
stateSelectioncompute='_compute_state'search='_search_state'selection=[('active', 'Active'), ('revoked', 'Revoked'), ('expired', 'Expired')]string='State' -
tax_lock_dateDatecompute='_compute_lock_dates'help='The date the Tax Lock Date is set to by this exception. If the lock date is not changed it is set to the maximal date.'search='_search_tax_lock_date'string='Tax Return Lock Date' -
user_idMany2one → res.usersdefault=<expr>string='User' args: 'res.users'
-
action_revoke(self)Revokes an active exception. -
action_show_audit_trail_during_exception(self) -
copy(self, default=None) -
create(self, vals_list)@api.model_create_multi
-
account_idsMany2many → account.accountargs: 'account.account' -
disable_merge_buttonBooleancompute='_compute_disable_merge_button' -
is_group_by_nameBooleandefault=Falsehelp='Tick this checkbox if you want accounts to be grouped by name for merging.'string='Group by name?' -
wizard_line_idsOne2many → account.merge.wizard.linecomodel_name='account.merge.wizard.line'compute='_compute_wizard_line_ids'inverse_name='wizard_id'readonly=Falsestore=True
-
action_merge(self)Merge each group of accounts in `self.wizard_line_ids`. -
default_get(self, fields)@api.model
-
account_has_hashed_entriesBooleancompute='_compute_account_has_hashed_entries' -
account_idMany2one → account.accountcomodel_name='account.account'ondelete='cascade'readonly=Truestring='Account' -
company_idsMany2manyrelated='account_id.company_ids'string='Companies' -
display_typeSelectionrequired=Trueselection=[('line_section', 'Section'), ('line_subsection', 'Subsection'), ('account', 'Account')] -
grouping_keyChar -
infoCharcompute='_compute_info'help='Contains either the section name or error message, depending on the line type.'string='Info' -
is_selectedBoolean -
sequenceInteger -
wizard_idMany2one → account.merge.wizardcomodel_name='account.merge.wizard'ondelete='cascade'required=True
No public methods.
-
statement_line_idsOne2many → account.bank.statement.linestring='Statements' args: 'account.bank.statement.line', 'move_id'
No public methods.
-
payment_idsOne2many → account.paymentstring='Payments' args: 'account.payment', 'move_id'
No public methods.
-
abnormal_amount_warningTextcompute='_compute_abnormal_warnings' -
abnormal_date_warningTextcompute='_compute_abnormal_warnings' -
account_fiscal_country_group_codesJsonrelated='company_id.account_fiscal_country_group_codes' -
adjusting_entries_countIntegercompute='_compute_adjusting_entries_count'string='Adjusting Entries Count' -
adjusting_entries_move_idsMany2many → account.movecolumn1='adjusting_entry_move_id'column2='move_id'comodel_name='account.move'relation='adjusting_entries__account_move'string='Created Adjusting Entries' -
adjusting_entry_origin_labelCharcompute='_compute_adjusting_entry_origin_label' -
adjusting_entry_origin_move_idsMany2many → account.movecolumn1='move_id'column2='adjusting_entry_move_id'comodel_name='account.move'relation='adjusting_entries__account_move'string='Adjusting Entry Origin Moves' -
adjusting_entry_origin_moves_countIntegercompute='_compute_adjusting_entry_origin_moves_count'string='Adjusting Entry Origin Moves Count' -
alertsJsoncompute='_compute_alerts' -
always_tax_exigibleBooleancompute='_compute_always_tax_exigible'readonly=Falsestore=True -
amount_residualMonetarycompute='_compute_amount'store=Truestring='Amount Due' -
amount_residual_signedMonetarycompute='_compute_amount'currency_field='company_currency_id'store=Truestring='Amount Due Signed' -
amount_taxMonetarycompute='_compute_amount'readonly=Truestore=Truestring='Tax' -
amount_tax_signedMonetarycompute='_compute_amount'currency_field='company_currency_id'readonly=Truestore=Truestring='Tax Signed' -
amount_totalMonetarycompute='_compute_amount'inverse='_inverse_amount_total'readonly=Truestore=Truestring='Total' -
amount_total_in_currency_signedMonetarycompute='_compute_amount'currency_field='currency_id'readonly=Truestore=Truestring='Total in Currency Signed' -
amount_total_signedMonetarycompute='_compute_amount'currency_field='company_currency_id'readonly=Truestore=Truestring='Total Signed' -
amount_total_wordsCharcompute='_compute_amount_total_words'string='Amount total in words' -
amount_untaxedMonetarycompute='_compute_amount'readonly=Truestore=Truestring='Untaxed Amount'tracking=True -
amount_untaxed_in_currency_signedMonetarycompute='_compute_amount'currency_field='currency_id'readonly=Truestore=Truestring='Untaxed Amount Signed Currency' -
amount_untaxed_signedMonetarycompute='_compute_amount'currency_field='company_currency_id'readonly=Truestore=Truestring='Untaxed Amount Signed' -
attachment_idsOne2many → ir.attachmentdomain=[('res_model', '=', 'account.move')]string='Attachments' args: 'ir.attachment', 'res_id' -
audit_trail_message_idsOne2many → mail.messagedomain=[('model', '=', 'account.move'), ('message_type', '=', 'notification')]string='Audit Trail Messages' args: 'mail.message', 'res_id' -
auto_postSelectioncopy=Falsedefault='no'help='Specify whether this entry is posted automatically on its accounting date, and any similar recurring invoices.'required=Trueselection=[('no', 'No'), ('at_date', 'At Date'), ('monthly', 'Monthly'), ('quarterly', 'Quarterly'), ('yearly', 'Yearly')]string='Auto-post' -
auto_post_origin_idMany2one → account.movecomodel_name='account.move'copy=Falseindex='btree_not_null'readonly=Truestring='First recurring entry' -
auto_post_untilDatecompute='_compute_auto_post_until'copy=Falsehelp='This recurring move will be posted up to and including this date.'readonly=Falsestore=Truestring='Auto-post until' -
bank_partner_idMany2one → res.partnercomodel_name='res.partner'compute='_compute_bank_partner_id'help='Technical field to get the domain on the bank' -
commercial_partner_idMany2one → res.partnercheck_company=Truecompute='_compute_commercial_partner_id'index=Trueondelete='restrict'readonly=Truestore=Truestring='Commercial Entity' args: 'res.partner' -
company_currency_idMany2onereadonly=Truerelated='company_id.currency_id'string='Company Currency' -
company_idMany2one → res.companycomodel_name='res.company'compute='_compute_company_id'index=Trueinverse='_inverse_company_id'precompute=Truereadonly=Falsestore=Truestring='Company' -
company_price_includeSelectionreadonly=Truerelated='company_id.account_price_include' -
company_vat_disabledBooleanrelated='company_id.vat_disabled' -
country_codeChardepends=['company_id']readonly=Truerelated='company_id.account_fiscal_country_id.code' -
currency_idMany2one → res.currencycompute='_compute_currency_id'inverse='_inverse_currency_id'precompute=Truereadonly=Falserequired=Truestore=Truestring='Currency'tracking=True args: 'res.currency' -
dateDatecompute='_compute_date'copy=Falseindex=Trueprecompute=Truereadonly=Falserequired=Truestore=Truestring='Date'tracking=True -
delivery_dateDatecompute='_compute_delivery_date'copy=Falseinverse='_inverse_delivery_date'precompute=Truereadonly=Falsestore=Truestring='Delivery Date' -
direction_signIntegercompute='_compute_direction_sign'help='Multiplicator depending on the document type, to convert a price into a balance' -
display_inactive_currency_warningBooleancompute='_compute_display_inactive_currency_warning' -
display_link_qr_codeBooleancompute='_compute_display_link_qr_code'string='Display Link QR-code' -
display_qr_codeBooleancompute='_compute_display_qr_code'string='Display QR-code' -
display_send_buttonBooleancompute='_compute_display_send_button' -
document_sequence_editableBooleanrelated='company_id.document_sequence_editable' -
document_tax_modeSelectioncompute='_compute_document_tax_mode'precompute=Truereadonly=Falseselection=[('tax_excluded', 'Tax Excl.'), ('tax_included', 'Tax Incl.')]store=True -
duplicated_ref_idsMany2many → account.movecomodel_name='account.move'compute='_compute_duplicated_ref_ids' -
exchange_diff_partial_idsOne2many → account.partial.reconcilecomodel_name='account.partial.reconcile'inverse_name='exchange_move_id'string='Related reconciliation' -
expected_currency_rateFloatcompute='_compute_expected_currency_rate'digits=0 -
fiscal_position_idMany2one → account.fiscal.positioncheck_company=Truecompute='_compute_fiscal_position_id'help='Fiscal positions are used to adapt taxes and accounts for particular customers or sales orders/invoices. The default value comes from the customer.'index=Trueondelete='restrict'precompute=Truereadonly=Falsestore=Truestring='Fiscal Position' args: 'account.fiscal.position' -
has_draft_move_duplicateBooleancompute='_compute_duplicate_move_status' -
has_reconciled_entriesBooleancompute='_compute_has_reconciled_entries' -
hide_post_buttonBooleancompute='_compute_hide_post_button'readonly=True -
highest_nameCharcompute='_compute_highest_name' -
highlight_send_buttonBooleancompute='_compute_highlight_send_button' -
import_source_attachment_idMany2one → ir.attachmentcomodel_name='ir.attachment'copy=False -
inalterable_hashCharcopy=Falseindex='btree_not_null'readonly=Truestring='Inalterability Hash' -
incoterm_locationCharcompute='_compute_incoterm_location'readonly=Falsestore=Truestring='Incoterm Location' -
inventory_closingBooleandefault=Falsestring='Inventory Closing' -
invoice_cash_rounding_idMany2one → account.cash.roundingcomodel_name='account.cash.rounding'compute='_compute_invoice_cash_rounding_id'help='Defines the smallest coinage of the currency that can be used to pay by cash.'index=Truereadonly=Falsestore=Truestring='Cash Rounding Method' -
invoice_currency_rateFloatcompute='_compute_invoice_currency_rate'copy=Falsedigits=0help='Currency rate from company currency to document currency.'precompute=Truereadonly=Falsestore=Truestring='Currency Rate' -
invoice_dateDatecopy=Falseindex=Truestring='Invoice/Bill Date' -
invoice_date_dueDatecompute='_compute_invoice_date_due'copy=Falseindex=Truereadonly=Falsestore=Truestring='Due Date' -
invoice_filter_type_domainCharcompute='_compute_invoice_filter_type_domain' -
invoice_has_outstandingBooleancompute='_compute_invoice_has_outstanding'groups='account.group_account_invoice,account.group_account_readonly' -
invoice_incoterm_idMany2one → account.incotermscomodel_name='account.incoterms'compute='_compute_incoterm'help='International Commercial Terms are a series of predefined commercial terms used in international transactions.'readonly=Falsestore=Truestring='Incoterm' -
invoice_incoterm_placeholderCharcompute='_compute_invoice_incoterm_placeholder' -
invoice_line_idsOne2many → account.move.linecopy=Falsedomain=[('display_type', 'in', ('product', 'line_section', 'line_subsection', 'line_note'))]string='Invoice lines' args: 'account.move.line', 'move_id' -
invoice_originCharcopy=Falsehelp='The document(s) that generated the invoice.'readonly=Truestring='Origin'tracking=True -
invoice_outstanding_credits_debits_widgetJsoncompute='_compute_payments_widget_to_reconcile_info'exportable=Falsegroups='account.group_account_invoice,account.group_account_readonly' -
invoice_partner_display_nameCharcompute='_compute_invoice_partner_display_info'store=True -
invoice_payment_term_idMany2one → account.payment.termcheck_company=Truecomodel_name='account.payment.term'compute='_compute_invoice_payment_term_id'inverse='_inverse_invoice_payment_term_id'precompute=Truereadonly=Falsestore=Truestring='Payment Terms' -
invoice_payments_widgetJsoncompute='_compute_payments_widget_reconciled_info'exportable=Falsegroups='account.group_account_invoice,account.group_account_readonly' -
invoice_pdf_report_fileBinaryattachment=Truecopy=Falsestring='PDF File' -
invoice_pdf_report_idMany2one → ir.attachmentcomodel_name='ir.attachment'compute=<expr>depends=['invoice_pdf_report_file']string='PDF Attachment' -
invoice_source_emailCharstring='Source Email'tracking=True -
invoice_user_idMany2one → res.userscomodel_name='res.users'compute='_compute_invoice_default_sale_person'copy=Falsereadonly=Falsestore=Truestring='Salesperson'tracking=True -
invoice_vendor_bill_idMany2one → account.movecheck_company=Truehelp='Auto-complete from a previous bill or refund.'store=False args: 'account.move' -
is_being_sentBooleancompute='_compute_is_being_sent'help='Is the move being sent asynchronously' -
is_exact_move_duplicateBooleancompute='_compute_duplicate_move_status' -
is_manually_modifiedBoolean -
is_move_sentBooleancopy=Falsehelp='It indicates that the invoice/payment has been sent or the PDF has been generated.'readonly=True -
is_self_billingBooleanrelated='journal_id.is_self_billing' -
is_stornoBooleancompute='_compute_is_storno' -
journal_company_idMany2one → res.companyrelated='journal_id.company_id'string='Company of the Journal' args: 'res.company' -
journal_group_idMany2one → account.journal.grouprelated='journal_id.journal_group_id'store=Falsestring='Ledger' args: 'account.journal.group' -
journal_idMany2one → account.journalcheck_company=Truecompute='_compute_journal_id'domain="[('id', 'in', suitable_journal_ids)]"inverse='_inverse_journal_id'precompute=Truereadonly=Falserequired=Truestore=Truestring='Journal' args: 'account.journal' -
line_idsOne2many → account.move.linecopy=Truestring='Journal Items' args: 'account.move.line', 'move_id' -
made_sequence_gapBoolean -
matched_payment_idsMany2many → account.paymentcolumn1='invoice_id'column2='payment_id'comodel_name='account.payment'copy=Falserelation='account_move__account_payment'string='Matched Payments' -
move_sent_valuesSelectioncompute='_compute_move_sent_values'compute_sql='_compute_sql_move_sent_values'compute_sudo=Falseselection=[('sent', 'Sent'), ('not_sent', 'Not Sent')]string='Sent' -
move_typeSelectionchange_default=Truedefault='entry'index=Truerequired=Trueselection=[('entry', 'Journal Entry'), ('out_invoice', 'Customer Invoice'), ('out_refund', 'Customer Credit Note'), ('in_invoice', 'Vendor Bill'), ('in_refund', 'Vendor Credit Note'), ('out_receipt', 'Sales Receipt'), ('in_receipt', 'Purchase Receipt')]string='Type'tracking=True -
nameCharcompute='_compute_name'copy=Falseindex='trigram'inverse='_inverse_name'readonly=Falsestore=Truestring='Number'tracking=True -
name_placeholderCharcompute='_compute_name_placeholder' -
narrationHtmlcompute='_compute_narration'inverse='_inverse_narration'readonly=Falsestore=Truestring='Terms and Conditions' -
need_cancel_requestBooleancompute='_compute_need_cancel_request' -
needed_termsJsoncompute='_compute_needed_terms'exportable=False -
needed_terms_dirtyBooleancompute='_compute_needed_terms' -
next_payment_dateDatecompute='_compute_next_payment_date'search='_search_next_payment_date'string='Next Payment Date' -
no_followupBooleancompute='_compute_no_followup'help='Exclude this journal entry from Reminder reports.'inverse='_inverse_no_followup'readonly=Falsestring='No Reminder' -
origin_payment_idMany2one → account.paymentcheck_company=Truecomodel_name='account.payment'copy=Falseindex='btree_not_null'string='Payment' -
partner_bank_idMany2one → res.partner.bankcheck_company=Truecompute='_compute_partner_bank_id'help='Bank Account Number to which the invoice will be paid. A Company bank account if this is a Customer Invoice or Vendor Credit Note, otherwise a Partner bank account number.'index='btree_not_null'ondelete='restrict'readonly=Falsestore=Truestring='Recipient Bank'tracking=True args: 'res.partner.bank' -
partner_credit_warningTextcompute='_compute_partner_credit_warning'groups='account.group_account_invoice,account.group_account_readonly' -
partner_idMany2one → res.partnerchange_default=Truecheck_company=Trueindex=Trueinverse='_inverse_partner_id'ondelete='restrict'readonly=Falsestring='Partner'tracking=True args: 'res.partner' -
partner_shipping_idMany2one → res.partnercheck_company=Truecomodel_name='res.partner'compute='_compute_partner_shipping_id'help='The delivery address will be used in the computation of the fiscal position.'precompute=Truereadonly=Falsestore=Truestring='Delivery Address' -
payment_countIntegercompute='_compute_payment_count'compute_sudo=True -
payment_referenceCharcompute='_compute_payment_reference'copy=Falsehelp='The payment reference to set on journal items.'index='trigram'inverse='_inverse_payment_reference'readonly=Falsestore=Truestring='Payment Reference'tracking=True -
payment_stateSelectioncompute='_compute_payment_state'copy=Falsereadonly=Trueselection=PAYMENT_STATE_SELECTIONstore=Truestring='Payment Status'tracking=True -
payment_term_detailsJsoncompute='_compute_payment_term_details'exportable=False -
posted_beforeBooleancopy=False -
preferred_payment_method_line_idMany2one → account.payment.method.linecomodel_name='account.payment.method.line'compute='_compute_preferred_payment_method_line_id'readonly=Falsestore=Truestring='Preferred Payment Method Line' -
qr_code_methodSelectioncompute='_compute_qr_code_method'copy=Falsehelp='Type of QR-code to be generated for the payment of this invoice, when printing it. If left blank, the first available and usable method will be used.'readonly=Falseselection=<expr>store=Truestring='Payment QR-code' -
quick_edit_modeBooleancompute='_compute_quick_edit_mode' -
quick_edit_total_amountMonetaryhelp='Use this field to encode the total amount of the invoice.\nOdoo will automatically create one invoice line with default values to match it.'string='Total (Tax inc.)' -
quick_encoding_valsJsoncompute='_compute_quick_encoding_vals'exportable=False -
reconciled_payment_idsMany2many → account.paymentcompute='_compute_reconciled_payment_ids'help='Payments that have been reconciled with this invoice.'search='_search_reconciled_payment_ids'string='Reconciled Payments' args: 'account.payment' -
refCharcopy=Falseindex='trigram'string='Reference'tracking=True -
restrict_mode_hash_tableBooleanrelated='journal_id.restrict_mode_hash_table' -
reversal_move_countIntegercompute='_compute_reversal_move_count' -
reversal_move_idsOne2many → account.moveargs: 'account.move', 'reversed_entry_id' -
reversed_entry_idMany2one → account.movecheck_company=Truecomodel_name='account.move'copy=Falseindex='btree_not_null'readonly=Truestring='Reversal of' -
review_stateSelectioncopy=Falsedefault='no_review'required=Trueselection=[('no_review', 'No Review'), *REVIEW_STATE_SELECTION]string='Review'tracking=True -
sanitize_payment_referenceCharcompute='_compute_sanitize_payment_reference'compute_sql='_compute_sql_sanitize_payment_reference'compute_sudo=Falsestring='Label sanitize' -
secure_sequence_numberIntegercopy=Falseindex=Truereadonly=Truestring='Inalterability No Gap Sequence #' -
securedBooleancompute='_compute_secured'help='The entry is secured with an inalterable hash.'search='_search_secured' -
sending_dataJsoncopy=False -
set_to_review_documentsBooleanrelated='company_id.set_to_review_documents' -
show_delivery_dateBooleancompute='_compute_show_delivery_date' -
show_discount_detailsBooleancompute='_compute_show_payment_term_details' -
show_invoice_vendor_billBooleancompute='_compute_show_invoice_vendor_bill' -
show_journalBooleancompute='_compute_show_journal' -
show_name_warningBooleanstore=False -
show_payment_term_detailsBooleancompute='_compute_show_payment_term_details' -
show_reset_to_draft_buttonBooleancompute='_compute_show_reset_to_draft_button' -
show_taxable_supply_dateBooleancompute='_compute_show_taxable_supply_date' -
show_update_fposBooleanstore=Falsestring='Has Fiscal Position Changed' -
stateSelectioncopy=Falsedefault='draft'readonly=Truerequired=Trueselection=[('draft', 'Draft'), ('posted', 'Posted'), ('cancel', 'Cancelled')]string='Status'tracking=True -
statement_idMany2onerelated='statement_line_id.statement_id' -
statement_line_idMany2one → account.bank.statement.linecheck_company=Truecomodel_name='account.bank.statement.line'copy=Falseindex='btree_not_null'string='Statement Line' -
status_in_paymentSelectioncompute='_compute_status_in_payment'compute_sql='_compute_sql_status_in_payment'compute_sudo=Falseselection=<expr> -
suitable_journal_idsMany2many → account.journalcompute='_compute_suitable_journal_ids' args: 'account.journal' -
tax_calculation_rounding_methodSelectionreadonly=Truerelated='company_id.tax_calculation_rounding_method'string='Tax calculation rounding method' -
tax_cash_basis_created_move_idsOne2many → account.movecomodel_name='account.move'help='The cash basis entries created from the taxes on this entry, when reconciling its lines.'inverse_name='tax_cash_basis_origin_move_id'string='Cash Basis Entries' -
tax_cash_basis_origin_move_idMany2one → account.movecomodel_name='account.move'help='The journal entry from which this tax cash basis journal entry has been created.'index='btree_not_null'readonly=Truestring='Cash Basis Origin' -
tax_cash_basis_rec_idMany2one → account.partial.reconcilecomodel_name='account.partial.reconcile'index='btree_not_null'string='Tax Cash Basis Entry of' -
tax_country_codeCharcompute='_compute_tax_country_code' -
tax_country_idMany2one → res.countrycomodel_name='res.country'compute='_compute_tax_country_id' -
tax_lock_date_messageCharcompute='_compute_tax_lock_date_message' -
tax_totalsJsoncompute='_compute_tax_totals'exportable=Falsehelp='Edit Tax amounts if you encounter rounding issues.'inverse='_inverse_tax_totals'string='Invoice Totals' -
taxable_supply_dateDatecompute='_compute_taxable_supply_date'copy=Falseprecompute=Truereadonly=Falsestore=Truestring='Taxable Supply Date' -
taxable_supply_date_placeholderCharcompute='_compute_taxable_supply_date_placeholder' -
taxes_legal_notesHtmlcompute='_compute_taxes_legal_notes'string='Taxes Legal Notes' -
type_nameCharcompute='_compute_type_name' args: 'Type Name' -
user_idMany2onerelated='invoice_user_id'string='User'
-
action_activate_currency(self) -
action_delete_duplicates(self) -
action_duplicate(self) -
action_force_register_payment(self) -
action_invoice_download_pdf(self, target='download') -
action_invoice_sent(self)Open a window to compose an email, with the edi invoice template message loaded by default -
action_move_download_all(self) -
action_open_business_doc(self) -
action_open_exchange_items(self, line_ids)@api.model -
action_open_reversal_moves(self) -
action_open_reversed_entry(self) -
action_post(self) -
action_print_pdf(self) -
action_register_payment(self) -
action_reload_imported_data(self) -
action_reset_selected_to_draft(self) -
action_reverse(self) -
action_send_and_print(self) -
action_switch_move_type(self) -
action_toggle_block_payment(self) -
action_update_fpos_values(self) -
action_validate_moves_with_confirmation(self)If 'restrict_mode_hash_table' is enabled or future-dated moves, open a confirmation wizard; otherwise, validate moves directly. -
button_cancel(self) -
button_draft(self) -
button_hash(self) -
button_request_cancel(self)Hook allowing the localizations to request a cancellation from the government before cancelling the invoice. -
check_move_sequence_chain(self) -
copy(self, default=None) -
copy_data(self, default=None) -
create(self, vals_list)@api.model_create_multi -
get_cash_roundings(self, limit=5)returns the most relevant rounding methods to the current invoice (or active company if invoice not saved yet). -
get_currency_rate(self, company_id, to_currency_id, requested_date) -
get_extra_print_items(self)Helper to dynamically add items in the 'Print' menu of list and form of account.move. -
get_import_templates(self)@api.model -
get_inbound_types(self, include_receipts=True)@api.model -
get_invoice_localisation_fields_required_to_invoice(self, country_id)@api.modelReturns the list of fields that needs to be filled when creating an invoice for the selected country. This is required for some flows that would allow a user to request an invoice from the portal. Using these, we can get their information and dynamically create form inputs based for the fields required legally for the company country_id. The returned fields must be of type ir.model.fields in order to handle translations :param country_id: The country for which we want the fields. :return: an array of ir.model.fields for which the user should provide values. -
get_invoice_types(self, include_receipts=False)@api.model -
get_outbound_types(self, include_receipts=True)@api.model -
get_purchase_types(self, include_receipts=False)@api.model -
get_sale_types(self, include_receipts=False)@api.model -
is_entry(self) -
is_inbound(self, include_receipts=True) -
is_invoice(self, include_receipts=False) -
is_outbound(self, include_receipts=True) -
is_overdue_invoice(self) -
is_purchase_document(self, include_receipts=False, move_type=False) -
is_receipt(self) -
is_refund(self) -
is_sale_document(self, include_receipts=False, move_type=False) -
js_assign_outstanding_line(self, line_id)Called by the 'payment' widget to reconcile a suggested journal item to the present invoice. :param line_id: The id of the line to reconcile with the current invoice. -
js_remove_outstanding_partial(self, partial_id)Called by the 'payment' widget to remove a reconciled entry to the present invoice. :param partial_id: The id of an existing partial reconciled with the current invoice. -
message_new(self, msg_dict, custom_values=None)@api.model -
onchange(self, values, field_names, fields_spec) -
open_adjusting_entries(self) -
open_adjusting_entry_origin_moves(self) -
open_created_caba_entries(self) -
open_journal_items(self) -
open_payments(self) -
open_reconcile_view(self) -
preview_invoice(self) -
read(self, fields=None, load='_classic_read') -
refresh_invoice_currency_rate(self) -
search_read(self, domain=None, fields=None, offset=0, limit=None, order=None, **read_kwargs)@api.model -
set_moves_checked(self, is_checked=True) -
unlink(self) -
write(self, vals)
-
account_codeCharrelated='account_id.code' -
account_idMany2one → account.accountbypass_search_access=Truecheck_company=Truecomodel_name='account.account'compute='_compute_account_id'domain="[('account_type', '!=', 'off_balance')]"index=Falseinverse='_inverse_account_id'ondelete='restrict'precompute=Truereadonly=Falsestore=Truestring='Account'tracking=True -
account_internal_groupSelectionrelated='account_id.internal_group' -
account_nameCharrelated='account_id.name' -
account_root_idMany2onedepends_context='company'related='account_id.root_id'string='Account Root' -
account_typeSelectionrelated='account_id.account_type'string='Internal Type' -
allowed_uom_idsMany2many → uom.uomcompute='_compute_allowed_uom_ids' args: 'uom.uom' -
amount_currencyMonetarycompute='_compute_amount_currency'help='The amount expressed in an optional other currency if it is a multi-currency entry.'inverse='_inverse_amount_currency'precompute=Truereadonly=Falsestore=Truestring='Amount in Currency' -
amount_residualMonetarycompute='_compute_amount_residual'currency_field='company_currency_id'help='The residual amount on a journal item expressed in the company currency.'store=Truestring='Residual Amount' -
amount_residual_currencyMonetarycompute='_compute_amount_residual'help='The residual amount on a journal item expressed in its currency (possibly not the company currency).'store=Truestring='Residual Amount in Currency' -
analytic_distributionJsoninverse='_inverse_analytic_distribution' -
analytic_line_idsOne2many → account.analytic.linecomodel_name='account.analytic.line'inverse_name='move_line_id'string='Analytic lines' -
balanceMonetarycompute='_compute_balance'currency_field='company_currency_id'precompute=Truereadonly=Falsestore=Truestring='Balance'tracking=True -
cogs_origin_idMany2one → account.move.linecomodel_name='account.move.line'copy=Falseindex='btree_not_null' -
collapse_compositionBooleanhelp='If checked, the lines below this section will not be displayed in reports and portal.'string='Hide Composition' -
collapse_pricesBooleanhelp='If checked, the prices of the lines below this section will not be displayed in reports and portal.'string='Hide Prices' -
commercial_partner_countryMany2onerelated='move_id.commercial_partner_id.country_id'string='Commercial Partner Country' -
company_currency_idMany2oneprecompute=Truereadonly=Truerelated='move_id.company_currency_id'store=Truestring='Company Currency' -
company_idMany2oneindex=Trueprecompute=Truereadonly=Truerelated='move_id.company_id'store=True -
consolidation_balanceMonetarycompute='_compute_consolidation_rate'compute_sql='_compute_sql_balance_converted'compute_sudo=Truecurrency_field='consolidation_currency_id'string='Converted balance' -
consolidation_creditMonetarycompute='_compute_consolidation_rate'compute_sql='_compute_sql_credit_converted'compute_sudo=Truecurrency_field='consolidation_currency_id'string='Converted credit' -
consolidation_debitMonetarycompute='_compute_consolidation_rate'compute_sql='_compute_sql_debit_converted'compute_sudo=Truecurrency_field='consolidation_currency_id'string='Converted debit' -
count_reconciled_linesIntegercompute='_compute_reconciled_lines_ids' -
count_reconciled_lines_excluding_exchange_diffIntegercompute='_compute_reconciled_lines_excluding_exchange_diff_ids' -
creditMonetarycompute='_compute_debit_credit'currency_field='company_currency_id'inverse='_inverse_credit'precompute=Truestore=Truestring='Credit' -
cumulated_balanceMonetarycompute='_compute_cumulated_balance'currency_field='company_currency_id'exportable=Falsehelp='Cumulated balance for the account.'string='Cumulated Balance' -
currency_idMany2one → res.currencycomodel_name='res.currency'compute='_compute_currency_id'precompute=Truereadonly=Falserequired=Truestore=Truestring='Currency' -
currency_rateFloatcompute='_compute_currency_rate'help='Currency rate from company currency to document currency.' -
dateDateaggregator='min'copy=Falserelated='move_id.date'store=True -
date_maturityDatehelp='This field is used for payable and receivable journal entries. You can put the limit date for the payment of this line.'index=Truestring='Due Date'tracking=True -
debitMonetarycompute='_compute_debit_credit'currency_field='company_currency_id'inverse='_inverse_debit'precompute=Truestore=Truestring='Debit' -
deductible_percentageFloatdefault=1.0help='The share of this expense used for business purposes. VAT is only deductible on this portion; the rest is treated as a private expense. Use this for mixed-use costs (e.g. a home office, a car used partly for personal trips).'string='Professional Expense Deductibility Percentage' -
discountFloatdefault=0.0digits='Discount'string='Discount (%)' -
discount_allocation_dirtyBooleancompute='_compute_discount_allocation_needed' -
discount_allocation_keyJsoncompute='_compute_discount_allocation_key'exportable=False -
discount_allocation_neededJsoncompute='_compute_discount_allocation_needed'exportable=False -
discount_amount_currencyMonetarycurrency_field='currency_id'store=Truestring='Discount amount in Currency' -
discount_balanceMonetarycurrency_field='company_currency_id'store=Truestring='Discount Balance' -
discount_dateDatehelp='Last date at which the discounted amount must be paid in order for the Early Payment Discount to be granted'readonly=Truestore=Truestring='Discount Date' -
display_typeSelectioncompute='_compute_display_type'precompute=Truereadonly=Falserequired=Trueselection=[('product', 'Product'), ('cogs', 'Cost of Goods Sold'), ('tax', 'Tax'), ('discount', 'Discount'), ('rounding', 'Rounding'), ('payment_term', 'Payment Term'), ('line_section', 'Section'), ('line_subsection', 'Subsection'), ('line_note', 'Note'), ('epd', 'Early Payment Discount'), ('non_deductible_product_total', 'Non Deductible Products Total'), ('non_deductible_product', 'Non Deductible Products'), ('non_deductible_tax', 'Non Deductible Tax')]store=True -
document_tax_modeSelectionrelated='move_id.document_tax_mode' -
epd_dirtyBooleancompute='_compute_epd_needed' -
epd_keyJsoncompute='_compute_epd_key'exportable=False -
epd_neededJsoncompute='_compute_epd_needed'exportable=False -
exchange_move_idsMany2many → account.movecomodel_name='account.move'compute='_compute_exchange_move' -
extra_tax_dataJson -
first_reconciled_lines_excluding_exchange_diff_idMany2one → account.move.linecomodel_name='account.move.line'compute='_compute_reconciled_lines_excluding_exchange_diff_ids' -
first_reconciled_lines_idMany2one → account.move.linecomodel_name='account.move.line'compute='_compute_reconciled_lines_ids' -
fiscal_position_idMany2onerelated='move_id.fiscal_position_id' -
full_reconcile_idMany2one → account.full.reconcilecomodel_name='account.full.reconcile'copy=Falseindex='btree_not_null'readonly=Truestring='Matching' -
group_tax_idMany2one → account.taxcheck_company=Truecomodel_name='account.tax'index='btree_not_null'string='Originator Group of Taxes' -
has_invalid_analyticsBooleancompute='_compute_has_invalid_analytics' -
invoice_dateDateaggregator='min'copy=Falserelated='move_id.invoice_date'store=True -
is_account_reconcileBooleanrelated='account_id.reconcile' -
is_importedBoolean -
is_refundBooleancompute='_compute_is_refund' -
is_same_currencyBooleancompute='_compute_same_currency' -
is_stornoBooleancompute='_compute_is_storno'help='Utility field to express whether the journal item is subject to storno accounting'precompute=Truereadonly=Falsestore=Truestring='Company Storno Accounting' -
journal_group_idMany2one → account.journal.groupcomodel_name='account.journal.group'related='journal_id.journal_group_id'store=Falsestring='Ledger' -
journal_idMany2onecopy=Falseindex=Trueprecompute=Truerelated='move_id.journal_id'store=True -
labelTextcompute='_compute_label'inverse='_inverse_label'string='Label' -
matched_credit_idsOne2many → account.partial.reconcilecomodel_name='account.partial.reconcile'help='Credit journal items that are matched with this journal item.'inverse_name='debit_move_id'readonly=Truestring='Matched Credits' -
matched_debit_idsOne2many → account.partial.reconcilecomodel_name='account.partial.reconcile'help='Debit journal items that are matched with this journal item.'inverse_name='credit_move_id'readonly=Truestring='Matched Debits' -
matching_numberCharcopy=Falsehelp="Matching number for this line, 'P' if it is only partially reconcile, or the name of the full reconcile if it exists."index='btree'string='Matching #' -
move_idMany2one → account.movebypass_search_access=Truecheck_company=Truecomodel_name='account.move'index=Trueondelete='cascade'readonly=Truerequired=Truestring='Journal Entry' -
move_nameCharindex='btree'related='move_id.name'store=Truestring='Number' -
move_typeSelectionrelated='move_id.move_type' -
nameTextcompute='_compute_name'precompute=Truereadonly=Falsestore=Truestring='Description'tracking=True -
no_followupBooleancompute='_compute_no_followup'help='Exclude this journal item from Reminder reports.'inverse='_inverse_no_followup'readonly=Falsestore=Truestring='No Reminder' -
open_onDatehelp='Limit the date for the Residual (at date) fields.'search='_search_open_on_date'store=Falsestring='Unreconciled On' -
parent_idMany2one → account.move.linecompute='_compute_parent_id'compute_sudo=Truestring='Parent Section Line' args: 'account.move.line' -
parent_stateSelectionrelated='move_id.state'store=True -
partner_idMany2one → res.partnercomodel_name='res.partner'compute='_compute_partner_id'inverse='_inverse_partner_id'ondelete='restrict'precompute=Truereadonly=Falsestore=Truestring='Partner' -
payment_dateDatecompute='_compute_payment_date'compute_sql='_compute_sql_payment_date'compute_sudo=Truesearch='_search_payment_date'string='Next Payment Date' -
payment_idMany2one → account.paymentbypass_search_access=Truecomodel_name='account.payment'help='The payment that created this entry'index='btree_not_null'related='move_id.origin_payment_id'store=Truestring='Originator Payment' -
price_subtotalMonetarycompute='_compute_totals'currency_field='currency_id'store=Truestring='Subtotal' -
price_totalMonetarycompute='_compute_totals'currency_field='currency_id'store=Truestring='Total' -
price_unitFloatcompute='_compute_price_unit'min_display_digits='Product Price'precompute=Truereadonly=Falsestore=Truestring='Unit Price' -
product_category_idMany2onerelated='product_id.product_tmpl_id.categ_id' -
product_idMany2one → product.productcheck_company=Truecomodel_name='product.product'index=Trueinverse='_inverse_product_id'ondelete='restrict'string='Product' -
product_uom_idMany2one → uom.uomcomodel_name='uom.uom'compute='_compute_product_uom_id'domain="[('id', 'in', allowed_uom_ids)] if allowed_uom_ids else []"ondelete='restrict'precompute=Truereadonly=Falsestore=Truestring='Unit' -
quantityFloatcompute='_compute_quantity'digits='Product Unit'help='The optional quantity expressed by this line, eg: number of product sold. The quantity is not a legal requirement but is very useful for some reports.'precompute=Truereadonly=Falsestore=Truestring='Quantity' -
reconcile_model_idMany2one → account.reconcile.modelcheck_company=Truecomodel_name='account.reconcile.model'copy=Falsereadonly=Truestring='Reconciliation Model' -
reconciledBooleancompute='_compute_amount_residual'store=True -
reconciled_lines_excluding_exchange_diff_idsMany2many → account.move.linecomodel_name='account.move.line'compute='_compute_reconciled_lines_excluding_exchange_diff_ids' -
reconciled_lines_idsMany2many → account.move.linecomodel_name='account.move.line'compute='_compute_reconciled_lines_ids'inverse='_inverse_reconciled_lines_ids' -
refCharcopy=Falseindex='trigram'related='move_id.ref'store=True -
residual_at_dateMonetarycompute='_compute_residual_at_date'compute_sql='_compute_sql_residual_at_date'compute_sudo=Truecurrency_field='company_currency_id'help='The residual amount (at date) on a journal item expressed in the company currency.'string='Residual (at date)' -
residual_currency_at_dateMonetarycompute='_compute_residual_at_date'compute_sql='_compute_sql_residual_currency_at_date'compute_sudo=Truehelp='The residual amount (at date) on a journal item expressed in its currency.'string='Residual in currency (at date)' -
search_account_idMany2one → account.accountsearch='_search_account_id'store=False args: 'account.account' -
sequenceIntegercompute='_compute_sequence'precompute=Truereadonly=Falsestore=True -
statement_idMany2onebypass_search_access=Truecopy=Falsehelp='The bank statement used for bank reconciliation'index='btree_not_null'related='statement_line_id.statement_id'store=True -
statement_line_idMany2one → account.bank.statement.linebypass_search_access=Truecomodel_name='account.bank.statement.line'help='The statement line that created this entry'index='btree_not_null'related='move_id.statement_line_id'store=Truestring='Originator Statement Line' -
tax_base_amountMonetarycurrency_field='company_currency_id'readonly=Truestring='Base Amount' -
tax_calculation_rounding_methodSelectionreadonly=Truerelated='company_id.tax_calculation_rounding_method'string='Tax calculation rounding method' -
tax_group_idMany2oneprecompute=Truerelated='tax_line_id.tax_group_id'store=Truestring='Originator tax group' -
tax_idsMany2many → account.taxcheck_company=Truecolumn1='account_move_line_id'column2='account_tax_id'comodel_name='account.tax'compute='_compute_tax_ids'context={'active_test': False, 'hide_original_tax_ids': True}precompute=Truereadonly=Falserelation='account_move_line_account_tax_rel'store=Truestring='Taxes'tracking=True -
tax_line_idMany2one → account.taxcomodel_name='account.tax'help='Indicates that this journal item is a tax line'index='btree_not_null'ondelete='restrict'precompute=Truerelated='tax_repartition_line_id.tax_id'store=Truestring='Originator Tax' -
tax_repartition_line_idMany2one → account.tax.repartition.linecheck_company=Truecomodel_name='account.tax.repartition.line'help='Tax distribution line that caused the creation of this move line, if any'index='btree_not_null'ondelete='restrict'readonly=Truestring='Originator Tax Distribution Line' -
tax_tag_idsMany2many → account.account.tagcomodel_name='account.account.tag'context={'active_test': False}help='Tags assigned to this line by the tax creating it, if any. It determines its impact on financial reports.'ondelete='restrict'string='Tags'tracking=True -
term_keyJsoncompute='_compute_term_key'exportable=False
-
action_add_from_catalog(self)Will open the catalog view -
action_automatic_entry(self, default_action=None) -
action_open_business_doc(self) -
action_payment_items_register_payment(self) -
action_register_payment(self, ctx=None)Open the account.payment.register wizard to pay the selected journal items. :return: An action opening the account.payment.register wizard. -
action_unreconcile_match_entries(self)This method will do the unreconcile action in the list view of the moves -
copy_data(self, default=None) -
create(self, vals_list)@api.model_create_multi -
default_get(self, fields)@api.model -
flush_model(self, fnames=None) -
flush_recordset(self, fnames=None) -
formatted_read_group(self, domain, groupby=(), aggregates=(), having=(), offset=0, limit=None, order=None)@api.model -
get_import_templates(self)@api.model -
get_section_subtotal(self) -
get_section_total(self) -
get_views(self, views, options=None)@api.model -
invalidate_model(self, fnames=None, flush=True) -
invalidate_recordset(self, fnames=None, flush=True) -
is_payment(self, aml)@api.model -
open_reconcile_view(self) -
read(self, fields=None, load='_classic_read') -
reconcile(self)Reconcile the current move lines all together. -
remove_move_reconcile(self)Undo every reconciliation involving the lines in self, whatever the counterpart is. -
search_fetch(self, domain, field_names=None, offset=0, limit=None, order=None)@api.model -
search_read(self, domain=None, fields=None, offset=0, limit=None, order=None, **read_kwargs)@api.model -
unlink(self) -
write(self, vals)
No new fields.
Public methods (0)No public methods.
-
available_journal_idsMany2many → account.journalcompute='_compute_available_journal_ids' args: 'account.journal' -
company_idMany2one → res.companyreadonly=Truerequired=True args: 'res.company' -
country_codeCharrelated='company_id.country_id.code' -
currency_idMany2one → res.currencycompute='_compute_from_moves' args: 'res.currency' -
dateDatedefault=fields.Date.context_todaystring='Reversal date' -
journal_idMany2one → account.journalcheck_company=Truecomodel_name='account.journal'compute='_compute_journal_id'help='If empty, uses the journal of the journal entry to be reversed.'readonly=Falserequired=Truestore=Truestring='Journal' -
move_idsMany2many → account.movedomain=[('state', '=', 'posted')] args: 'account.move', 'account_move_reversal_move', 'reversal_id', 'move_id' -
move_typeCharcompute='_compute_from_moves' -
new_move_idsMany2many → account.moveargs: 'account.move', 'account_move_reversal_new_move', 'reversal_id', 'new_move_id' -
reasonCharstring='Reason displayed on Credit Note' -
residualMonetarycompute='_compute_from_moves'
-
default_get(self, fields)@api.model -
modify_moves(self) -
refund_moves(self) -
reverse_moves(self, is_modify=False)
No new fields.
Public methods (0)No public methods.
-
alertsJsoncompute='_compute_alerts' -
move_idsMany2many → account.movecomodel_name='account.move'required=True -
summary_dataJsoncompute='_compute_summary_data'
-
action_send_and_print(self, force_synchronous=False, allow_fallback_pdf=False)Launch asynchronously the generation and sending of invoices. -
default_get(self, fields)@api.model
-
alertsJsoncompute='_compute_alerts' -
attachments_not_supportedJsoncompute='_compute_attachments_not_supported' -
available_pdf_report_idsOne2many → ir.actions.reportcomodel_name='ir.actions.report'compute='_compute_available_pdf_report_ids' -
company_idMany2one → res.companycomodel_name='res.company'related='move_id.company_id' -
display_attachments_widgetBooleancompute='_compute_display_attachments_widget' -
display_pdf_report_idBooleancompute='_compute_display_pdf_report_id' -
extra_edi_checkboxesJsoncompute='_compute_extra_edi_checkboxes'precompute=Truereadonly=Falsestore=True -
extra_edisJsoncompute='_compute_extra_edis'inverse='_inverse_extra_edis' -
invoice_edi_formatSelectioncompute='_compute_invoice_edi_format'selection=<expr> -
langCharcompute='_compute_lang'compute_sudo=Trueprecompute=False -
mail_attachments_widgetJsoncompute='_compute_mail_attachments_widget'readonly=Falsestore=True -
mail_partner_idsMany2many → res.partnercomodel_name='res.partner'compute='_compute_mail_partners'readonly=Falsestore=Truestring='To' -
modelCharcompute='_compute_model'readonly=Falsestore=True args: 'Related Document Model' -
move_idMany2one → account.movecomodel_name='account.move'required=True -
pdf_report_idMany2one → ir.actions.reportcomodel_name='ir.actions.report'compute='_compute_pdf_report_id'domain="[('id', 'in', available_pdf_report_ids)]"readonly=Falsestore=Truestring='Invoice report' -
res_idsTextcompute='_compute_res_ids'readonly=Falsestore=True args: 'Related Document IDs' -
sending_method_checkboxesJsoncompute='_compute_sending_method_checkboxes'precompute=Truereadonly=Falsestore=True -
sending_methodsJsoncompute='_compute_sending_methods'inverse='_inverse_sending_methods' -
template_idMany2onecompute='_compute_template_id'compute_sudo=Truedomain="[('model', '=', 'account.move')]"readonly=Falsestore=True -
template_nameCharargs: 'Template Name'
-
action_send_and_print(self, allow_fallback_pdf=False)Create invoice documents and send them. -
cancel_save_template(self)Restore old subject when canceling the 'save as template' action as it was erased to let user give a more custom input. -
create_mail_template(self)Creates a mail template with the current mail composer's fields. -
default_get(self, fields)@api.model -
open_template_creation_wizard(self)Hit save as template button: opens a wizard that prompts for the template's subject. `create_mail_template` is called when saving the new wizard.
-
amountMonetarycurrency_field='company_currency_id'help='Always positive amount concerned by this matching expressed in the company currency.' -
company_currency_idMany2one → res.currencycomodel_name='res.currency'help='Utility field to express amount currency'related='company_id.currency_id'string='Company Currency' -
company_idMany2one → res.companycomodel_name='res.company'compute='_compute_company_id'index=Trueprecompute=Truereadonly=Falsestore=Truestring='Company' -
credit_amount_currencyMonetarycurrency_field='credit_currency_id'help='Always positive amount concerned by this matching expressed in the credit line foreign currency.' -
credit_currency_idMany2one → res.currencycomodel_name='res.currency'precompute=Truerelated='credit_move_id.currency_id'store=Truestring='Currency of the credit journal item.' -
credit_move_idMany2one → account.move.linecomodel_name='account.move.line'index=Truerequired=True -
debit_amount_currencyMonetarycurrency_field='debit_currency_id'help='Always positive amount concerned by this matching expressed in the debit line foreign currency.' -
debit_currency_idMany2one → res.currencycomodel_name='res.currency'precompute=Truerelated='debit_move_id.currency_id'store=Truestring='Currency of the debit journal item.' -
debit_move_idMany2one → account.move.linecomodel_name='account.move.line'index=Truerequired=True -
draft_caba_move_valsJsonstring='Values that created the draft cash-basis entry' -
exchange_move_idMany2one → account.movecomodel_name='account.move'index='btree_not_null' -
full_reconcile_idMany2one → account.full.reconcilecomodel_name='account.full.reconcile'copy=Falseindex='btree_not_null'string='Full Reconcile' -
max_dateDatecompute='_compute_max_date'precompute=Truestore=Truestring='Max Date of Matched Lines'
-
create(self, vals_list)@api.model_create_multi -
unlink(self)
-
alertsJsoncompute='_compute_alerts' -
amountMonetarycurrency_field='currency_id' -
amount_company_currency_signedMonetarycompute='_compute_amount_company_currency_signed'currency_field='company_currency_id'store=True -
amount_signedMonetarycompute='_compute_amount_signed'currency_field='currency_id'help='Negative value of amount field if payment_type is outbound'tracking=True -
attachment_idsOne2many → ir.attachmentstring='Attachments' args: 'ir.attachment', 'res_id' -
available_journal_idsMany2many → account.journalcomodel_name='account.journal'compute='_compute_available_journal_ids' -
available_partner_bank_idsMany2many → res.partner.bankcomodel_name='res.partner.bank'compute='_compute_available_partner_bank_ids' -
available_payment_method_line_idsMany2many → account.payment.method.linecompute='_compute_payment_method_line_fields' args: 'account.payment.method.line' -
available_return_partner_bank_idsMany2many → res.partner.bankcomodel_name='res.partner.bank'compute='_compute_available_partner_bank_ids' -
commercial_partner_idMany2one → res.partnercheck_company=Truecomodel_name='res.partner'compute='_compute_commercial_partner_id'index=Trueondelete='restrict'readonly=Truestore=Truestring='Commercial Entity' -
company_currency_idMany2onerelated='company_id.currency_id'string='Company Currency' -
company_idMany2one → res.companycomodel_name='res.company'compute='_compute_company_id'index=Trueprecompute=Truereadonly=Falserequired=Truestore=True -
country_codeCharrelated='company_id.account_fiscal_country_id.code' -
currency_idMany2one → res.currencycomodel_name='res.currency'compute='_compute_currency_id'help="The payment's currency."precompute=Truereadonly=Falsestore=Truestring='Currency' -
dateDatedefault=fields.Date.context_todayrequired=Truetracking=True -
destination_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'compute='_compute_destination_account_id'domain="[('account_type', 'in', ('asset_receivable', 'liability_payable'))]"index='btree_not_null'readonly=Falsestore=Truestring='Destination Account' -
duplicate_payment_idsMany2many → account.paymentcomodel_name='account.payment'compute='_compute_duplicate_payment_ids' -
invoice_idsMany2many → account.movecolumn1='payment_id'column2='invoice_id'comodel_name='account.move'copy=Falserelation='account_move__account_payment'string='Invoices' -
is_matchedBooleancompute='_compute_reconciliation_status'store=Truestring='Is Matched With a Bank Statement' -
is_reconciledBooleancompute='_compute_reconciliation_status'store=Truestring='Is Reconciled' -
is_sentBooleancopy=Falsereadonly=Truestring='Is Sent' -
journal_idMany2one → account.journalcheck_company=Truecomodel_name='account.journal'compute='_compute_journal_id'index=Falseprecompute=Truereadonly=Falserequired=Truestore=True -
memoCharinverse='_inverse_memo'string='Memo'tracking=True -
move_idMany2one → account.movecheck_company=Truecomodel_name='account.move'copy=Falseindex=Truestring='Journal Entry' -
nameCharcompute='_compute_name'store=Truestring='Number' -
need_cancel_requestBooleanrelated='move_id.need_cancel_request' -
outstanding_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'compute='_compute_outstanding_account_id'index='btree_not_null'store=Truestring='Outstanding Account' -
outstanding_account_typeSelectionrelated='outstanding_account_id.account_type' -
paired_internal_transfer_payment_idMany2one → account.paymentcopy=Falsehelp='When an internal transfer is posted, a paired payment is created. They are cross referenced through this field'index='btree_not_null' args: 'account.payment' -
partner_bank_idMany2one → res.partner.bankcheck_company=Truecompute='_compute_partner_bank_id'domain="[('id', 'in', available_partner_bank_ids)]"ondelete='restrict'readonly=Falsestore=Truestring='Recipient Bank Account'tracking=True args: 'res.partner.bank' -
partner_idMany2one → res.partnercheck_company=Truecomodel_name='res.partner'ondelete='restrict'string='Customer/Vendor'tracking=True -
partner_typeSelectiondefault='customer'required=Truetracking=True args: [('customer', 'Customer'), ('supplier', 'Vendor')] -
payment_method_codeCharrelated='payment_method_line_id.code' -
payment_method_idMany2oneindex=Truerelated='payment_method_line_id.payment_method_id'store=Truestring='Method'tracking=True -
payment_method_line_idMany2one → account.payment.method.linecompute='_compute_payment_method_line_id'copy=Falsedomain="[('id', 'in', available_payment_method_line_ids)]"help='Manual: Pay or Get paid by any method outside of Odoo.\nPayment 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.\nCheck: Pay bills by check and print it from Odoo.\nBatch Deposit: Collect several customer checks at once generating and submitting a batch deposit to your bank. Module account_batch_payment is necessary.\nSEPA Credit Transfer: Pay in the SEPA zone by submitting a SEPA Credit Transfer file to your bank. Module account_iso20022 is necessary.\nSEPA Direct Debit: Get paid in the SEPA zone thanks to a mandate your partner will have granted to you. Module account_iso20022 is necessary.\nU.S. ISO20022: Pay in the US by submitting an ISO20022 file to your bank. Module account_iso20022 is necessary.\n'readonly=Falsestore=Truestring='Payment Method' args: 'account.payment.method.line' -
payment_receipt_titleCharcompute='_compute_payment_receipt_title' -
payment_referenceCharcopy=Falsehelp='Reference of the document used to issue this payment. Eg. check number, file name, etc.'string='Payment Reference'tracking=True -
payment_typeSelectiondefault='inbound'required=Truestring='Payment Type'tracking=True args: [('outbound', 'Send'), ('inbound', 'Receive')] -
qr_codeHtmlcompute='_compute_qr_code'string='QR Code URL' -
reconciled_bill_idsMany2many → account.movecompute='_compute_stat_buttons_from_reconciliation'help='Invoices whose journal items have been reconciled with these payments.'search='_search_reconciled_invoice_ids'string='Reconciled Bills' args: 'account.move' -
reconciled_bills_countIntegercompute='_compute_stat_buttons_from_reconciliation'string='# Reconciled Bills' -
reconciled_invoice_idsMany2many → account.movecompute='_compute_stat_buttons_from_reconciliation'help='Invoices whose journal items have been reconciled with these payments.'search='_search_reconciled_invoice_ids'string='Reconciled Invoices' args: 'account.move' -
reconciled_invoices_countIntegercompute='_compute_stat_buttons_from_reconciliation'string='# Reconciled Invoices' -
reconciled_invoices_typeSelectioncompute='_compute_stat_buttons_from_reconciliation' args: [('credit_note', 'Credit Note'), ('invoice', 'Invoice')] -
reconciled_statement_line_idsMany2many → account.bank.statement.linecomodel_name='account.bank.statement.line'compute='_compute_stat_buttons_from_reconciliation'help='Statements lines matched to this payment'string='Reconciled Statement Lines' -
reconciled_statement_lines_countIntegercompute='_compute_stat_buttons_from_reconciliation'string='# Reconciled Statement Lines' -
require_partner_bank_accountBooleancompute='_compute_show_require_partner_bank' -
return_partner_bank_idMany2one → res.partner.bankcheck_company=Truecomodel_name='res.partner.bank'compute='_compute_return_partner_bank_id'domain="[('id', 'in', available_return_partner_bank_ids)]"ondelete='restrict'readonly=Falsestore=Truestring='Returns Bank Account' -
show_partner_bank_accountBooleancompute='_compute_show_require_partner_bank' -
stateSelectioncompute='_compute_state'copy=Falsedefault='draft'readonly=Falserequired=Trueselection=[('draft', 'Draft'), ('paid', 'Paid'), ('reconciled', 'Reconciled'), ('canceled', 'Canceled'), ('rejected', 'Rejected')]store=Truetracking=True -
transaction_uuidCharcompute='_compute_transaction_uuid'help='Unique transaction identifier assigned by the initiating party'index=Truestore=Truestring='Transaction ID'
-
action_cancel(self) -
action_draft(self) -
action_open_business_doc(self) -
action_post(self)draft -> posted -
action_print_receipt(self) -
action_reject(self) -
action_validate(self) -
button_open_bills(self)Redirect the user to the bill(s) paid by this payment. :return: An action on account.move. -
button_open_invoices(self)Redirect the user to the invoice(s) paid by this payment. :return: An action on account.move. -
button_open_journal_entry(self)Redirect the user to this payment journal. :return: An action on account.move. -
button_open_statement_lines(self)Redirect the user to the statement line(s) reconciled to this payment. :return: An action on account.move. -
button_request_cancel(self) -
copy_data(self, default=None) -
create(self, vals_list)@api.model_create_multi -
mark_as_sent(self) -
unlink(self) -
unmark_as_sent(self) -
write(self, vals)
-
codeCharrequired=True -
nameCharrequired=Truetranslate=True -
payment_typeSelectionrequired=Trueselection=[('inbound', 'Inbound'), ('outbound', 'Outbound')]
-
create(self, vals_list)@api.model_create_multi -
unlink(self)
-
available_payment_method_idsMany2manyrelated='journal_id.available_payment_method_ids' -
codeCharrelated='payment_method_id.code' -
company_idMany2onerelated='journal_id.company_id' -
default_account_idMany2onerelated='journal_id.default_account_id' -
journal_idMany2one → account.journalcheck_company=Truecomodel_name='account.journal'index='btree_not_null' -
nameCharcompute='_compute_name'readonly=Falsestore=True -
payment_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'copy=Falsedomain="['|', ('account_type', 'in', ('asset_current', 'liability_current')), ('id', '=', default_account_id)]"ondelete='restrict' -
payment_method_idMany2one → account.payment.methodcomodel_name='account.payment.method'domain="[('payment_type', '=?', payment_type), ('id', 'in', available_payment_method_ids)]"index=Truerequired=Truestring='Payment Method' -
payment_typeSelectionrelated='payment_method_id.payment_type' -
sequenceIntegerdefault=10
-
unlink(self)Payment method lines which are used in a payment should not be deleted from the database, only the link betweend them and the journals must be broken.
-
actionable_errorsJsoncompute='_compute_actionable_errors' -
allow_out_paymentBooleanrelated='partner_bank_id.allow_out_payment' -
amountMonetarycompute='_compute_amount'currency_field='currency_id'readonly=Falsestore=True -
available_journal_idsMany2many → account.journalcomodel_name='account.journal'compute='_compute_available_journal_ids' -
available_partner_bank_idsMany2many → res.partner.bankcomodel_name='res.partner.bank'compute='_compute_available_partner_bank_ids' -
available_payment_method_line_idsMany2many → account.payment.method.linecompute='_compute_payment_method_line_fields' args: 'account.payment.method.line' -
batchesJsoncompute='_compute_batches'export_string_translation=False -
can_edit_wizardBooleancompute='_compute_from_lines'copy=Falsestore=True -
can_group_paymentsBooleancompute='_compute_can_group_payments'copy=Falsestore=True -
communicationCharcompute='_compute_communication'readonly=Falsestore=Truestring='Memo' -
company_currency_idMany2one → res.currencyrelated='company_id.currency_id'string='Company Currency' args: 'res.currency' -
company_idMany2one → res.companycompute='_compute_from_lines'copy=Falsestore=True args: 'res.company' -
country_codeCharreadonly=Truerelated='company_id.account_fiscal_country_id.code' -
currency_idMany2one → res.currencycomodel_name='res.currency'compute='_compute_currency_id'help="The payment's currency."precompute=Truereadonly=Falsestore=Truestring='Currency' -
custom_user_amountMonetarycurrency_field='currency_id' -
custom_user_currency_idMany2one → res.currencycomodel_name='res.currency' -
duplicate_payment_idsMany2many → account.paymentcomodel_name='account.payment'compute='_compute_duplicate_moves' -
early_payment_discount_modeBooleancompute='_compute_early_payment_discount_mode' -
exchange_rateFloatcompute='_compute_exchange_rate'digits=(12, 6)readonly=Truestore=False -
group_paymentBooleancompute='_compute_group_payment'help='Only one payment will be created by partner (bank), instead of one per bill.'readonly=Falsestore=Truestring='Group Payments' -
hide_payment_methodBooleancompute='_compute_hide_payment_method' -
hide_writeoff_sectionBooleancompute='_compute_hide_writeoff_section' -
installments_modeSelectioncompute='_compute_installments_mode'export_string_translation=Falsereadonly=Falseselection=[('next', 'Next Installment'), ('overdue', 'Overdue Amount'), ('before_date', 'Before Next Payment Date'), ('full', 'Full Amount')]store=True -
installments_switch_amountMonetarycompute='_compute_installments_switch_values'currency_field='currency_id' -
installments_switch_htmlHtmlcompute='_compute_installments_switch_values' -
is_register_payment_on_draftBooleancompute='_compute_is_register_payment_on_draft' -
journal_idMany2one → account.journalcheck_company=Truecomodel_name='account.journal'compute='_compute_journal_id'domain="[('id', 'in', available_journal_ids)]"precompute=Truereadonly=Falsestore=True -
line_idsMany2many → account.move.linecopy=Falsereadonly=Truestring='Journal items' args: 'account.move.line', 'account_payment_register_move_line_rel', 'wizard_id', 'line_id' -
missing_account_partnersMany2many → res.partnercompute='_compute_trust_values' args: 'res.partner' -
partner_bank_idMany2one → res.partner.bankcomodel_name='res.partner.bank'compute='_compute_partner_bank_id'domain="[('id', 'in', available_partner_bank_ids)]"readonly=Falsestore=Truestring='Recipient Account' -
partner_idMany2one → res.partnercompute='_compute_from_lines'copy=Falseondelete='restrict'store=Truestring='Customer/Vendor' args: 'res.partner' -
partner_typeSelectioncompute='_compute_from_lines'copy=Falsestore=True args: [('customer', 'Customer'), ('supplier', 'Vendor')] -
payment_dateDatedefault=fields.Date.context_todayrequired=Truestring='Payment Date' -
payment_differenceMonetarycompute='_compute_payment_difference' -
payment_difference_handlingSelectioncompute='_compute_payment_difference_handling'readonly=Falseselection=[('open', 'Keep open'), ('reconcile', 'Mark as fully paid')]store=Truestring='Payment Difference Handling' -
payment_method_codeCharrelated='payment_method_line_id.code' -
payment_method_line_idMany2one → account.payment.method.linecompute='_compute_payment_method_line_id'domain="[('id', 'in', available_payment_method_line_ids)]"help='Manual: Pay or Get paid by any method outside of Odoo.\nPayment 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.\nCheck: Pay bills by check and print it from Odoo.\nBatch Deposit: Collect several customer checks at once generating and submitting a batch deposit to your bank. Module account_batch_payment is necessary.\nSEPA Credit Transfer: Pay in the SEPA zone by submitting a SEPA Credit Transfer file to your bank. Module account_sepa is necessary.\nSEPA Direct Debit: Get paid in the SEPA zone thanks to a mandate your partner will have granted to you. Module account_sepa is necessary.\n'readonly=Falsestore=Truestring='Payment Method' args: 'account.payment.method.line' -
payment_typeSelectioncompute='_compute_from_lines'copy=Falsestore=Truestring='Payment Type' args: [('outbound', 'Send Money'), ('inbound', 'Receive Money')] -
qr_codeHtmlcompute='_compute_qr_code'string='QR Code URL' -
require_partner_bank_accountBooleancompute='_compute_show_require_partner_bank' -
show_partner_bank_accountBooleancompute='_compute_show_require_partner_bank' -
show_payment_differenceBooleancompute='_compute_show_payment_difference' -
source_amountMonetarycompute='_compute_from_lines'copy=Falsecurrency_field='company_currency_id'store=Truestring='Amount to Pay (company currency)' -
source_amount_currencyMonetarycompute='_compute_from_lines'copy=Falsecurrency_field='source_currency_id'store=Truestring='Amount to Pay (foreign currency)' -
source_currency_idMany2one → res.currencycompute='_compute_from_lines'copy=Falsestore=Truestring='Source Currency' args: 'res.currency' -
total_payments_amountIntegercompute='_compute_trust_values' -
unreconciled_paid_amountMonetarycompute='_compute_unreconciled_paid_amount'currency_field='currency_id' -
untrusted_bank_idsMany2many → res.partner.bankcompute='_compute_trust_values' args: 'res.partner.bank' -
untrusted_payments_countIntegercompute='_compute_trust_values' -
writeoff_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'copy=Falsestring='Difference Account' -
writeoff_is_exchange_accountBooleancompute='_compute_writeoff_is_exchange_account' -
writeoff_labelChardefault='Write-Off'help='Change label of the counterpart that will hold the payment difference'string='Journal Item Label'
-
action_create_payments(self) -
action_open_missing_account_partners(self) -
action_open_untrusted_bank_accounts(self) -
default_get(self, fields)@api.model
-
activeBooleandefault=Truehelp='If the active field is set to False, it will allow you to hide the payment terms without removing it.' -
company_idMany2one → res.companystring='Company' args: 'res.company' -
currency_idMany2one → res.currencycompute='_compute_currency_id'compute_sql='_compute_sql_currency_id'compute_sudo=True args: 'res.currency' -
discount_daysIntegerdefault=10help='Number of days before the early payment proposition expires'string='Discount Days' -
discount_percentageFloatdefault=2.0help='Early Payment Discount granted for this payment term'string='Discount %' -
display_on_invoiceBooleandefault=Truestring='Show installment dates' -
early_discountBooleanstring='Early Discount' -
early_pay_discount_computationSelectioncompute='_compute_discount_computation'readonly=Falsestore=Truestring='Cash Discount Tax Reduction' args: [('included', 'On early payment'), ('excluded', 'Never'), ('mixed', 'Always (upon invoice)')] -
example_amountMonetarycurrency_field='currency_id'default=1000readonly=Truestore=False -
example_dateDatedefault=_default_example_datestore=Falsestring='Date example' -
example_invalidBooleancompute='_compute_example_invalid' -
example_previewHtmlcompute='_compute_example_preview' -
example_preview_discountHtmlcompute='_compute_example_preview' -
fiscal_country_codesCharcompute='_compute_fiscal_country_codes' -
line_idsOne2many → account.payment.term.linecopy=Truedefault=_default_line_idsstring='Terms' args: 'account.payment.term.line', 'payment_id' -
nameCharrequired=Truestring='Payment Terms'translate=True -
noteHtmlstring='Description on the Invoice'translate=True -
sequenceIntegerdefault=10required=True
No public methods.
-
days_next_monthChardefault='10'readonly=Falsesize=2string='Days on the next month' -
delay_typeSelectiondefault='days_after'required=True args: [('days_after', 'Days after invoice date'), ('days_after_end_of_month', 'Days after end of month'), ('days_after_end_of_next_month', 'Days after end of next month'), ('days_end_of_month_on_the', 'Days end of month on the')] -
display_days_next_monthBooleancompute='_compute_display_days_next_month' -
nb_daysIntegercompute='_compute_days'readonly=Falsestore=Truestring='Days' -
payment_idMany2one → account.payment.termindex=Trueondelete='cascade'required=Truestring='Payment Terms' args: 'account.payment.term' -
valueSelectiondefault='percent'help='Select here the kind of valuation related to this payment terms line.'required=True args: [('percent', 'Percent'), ('fixed', 'Fixed')] -
value_amountFloatcompute='_compute_value_amount'digits='Payment Terms'help='For percent enter a ratio between 0-100.'readonly=Falsestore=Truestring='Due'
No public methods.
-
activeBooleandefault=True -
can_be_proposedBooleancompute='_compute_can_be_proposed'copy=Falsestore=True -
company_idMany2one → res.companycomodel_name='res.company'default=<expr>readonly=Truerequired=Truestring='Company' -
line_idsOne2many → account.reconcile.model.linecopy=True args: 'account.reconcile.model.line', 'model_id' -
mapped_partner_idMany2one → res.partnercomodel_name='res.partner'compute='_compute_partner_mapping'copy=Falsestore=True -
match_amountSelectionhelp='The reconciliation model will only be applied when the amount being lower than, greater than or between specified amount(s).'selection=[('lower', 'Is lower than or equal to'), ('greater', 'Is greater than or equal to'), ('between', 'Is between')]string='Amount'tracking=True -
match_amount_maxFloatstring='Amount Max Parameter'tracking=True -
match_amount_minFloatstring='Amount Min Parameter'tracking=True -
match_journal_idsMany2many → account.journalcheck_company=Truedomain="[('type', 'in', ('bank', 'cash', 'credit'))]"help='The reconciliation model will only be available from the selected journals.'string='Journals' args: 'account.journal' -
match_labelSelectionhelp='The reconciliation model will only be applied when either the statement line label, the transaction details or the note matches the following:\n * Contains: The statement line must contains this string (case insensitive).\n * Not Contains: Negation of "Contains".\n * Match Regex: Define your own regular expression.'selection=[('contains', 'Contains'), ('not_contains', 'Not Contains'), ('match_regex', 'Match Regex')]string='Label'tracking=True -
match_label_paramCharstring='Label Parameter'tracking=True -
match_partner_idsMany2many → res.partnerhelp='The reconciliation model will only be applied to the selected customers/vendors.'string='Partners' args: 'res.partner' -
matching_orderSelectiondefault='old_first'required=Trueselection=[('new_first', 'Newest first'), ('old_first', 'Oldest first')]tracking=True -
nameCharrequired=Truestring='Name'translate=True -
next_activity_type_idMany2one → mail.activity.typecomodel_name='mail.activity.type'string='Next Activity' -
payment_toleranceFloatdefault=0.0required=Truestring='Payment Tolerance'tracking=True -
payment_tolerance_typeSelectiondefault='percentage'required=Trueselection=[('amount', 'In amount'), ('percentage', 'In percentage')]tracking=True -
rule_typeSelectiondefault='reco_model'selection=[('matching_rule', 'Matching rule'), ('reco_model', 'Reconciliation model')] -
sequenceIntegerdefault=10required=True -
triggerSelectioncompute='_compute_trigger'help='Validate the statement line automatically (reconciliation based on your rule).'precompute=Truereadonly=Falserequired=Trueselection=[('manual', 'Manual'), ('auto_reconcile', 'Automated')]store=Truetracking=True
-
action_reconcile_stat(self) -
action_set_auto_reconcile(self) -
action_set_manual(self)
-
account_idMany2one → account.accountcheck_company=Truedomain="[('account_type', '!=', 'off_balance')]"ondelete='cascade'string='Account' args: 'account.account' -
amountFloatcompute='_compute_float_amount'store=Truestring='Float Amount' -
amount_stringChardefault='100'help='Value for the amount of the writeoff line\n * Percentage: Percentage of the balance, between 0 and 100.\n * Fixed: The fixed value of the writeoff. The amount will count as a debit if it is negative, as a credit if it is positive.\n * From Label: There is no need for regex delimiter, only the regex is needed. For instance if you want to extract the amount from\nR:9672938 10/07 AX 9415126318 T:5L:NA BRT: 3358,07 C:\nYou could enter\nBRT: ([\\d,]+)\n If the label is "01870912 0009065 00115" and you need the amount in decimal\n format (e.g. 90.65), you can use a regex with capturing groups, for example:\n \\s+0*(\\d+?)(\\d{2})(?=\\s)\n In this case:\n • the first group captures the integer part\n • the second group captures the decimal part (last two digits)\n 'required=Truestring='Amount' -
amount_typeSelectiondefault='percentage'required=Trueselection=[('fixed', 'Fixed'), ('percentage', 'Percentage of balance'), ('percentage_st_line', 'Percentage of statement line'), ('regex', 'From label')] -
company_idMany2onerelated='model_id.company_id'store=True -
labelCharstring='Label'translate=True -
model_idMany2one → account.reconcile.modelindex='btree_not_null'ondelete='cascade'readonly=True args: 'account.reconcile.model' -
partner_idMany2one → res.partnercomodel_name='res.partner'string='Partner' -
sequenceIntegerdefault=10required=True -
tax_idsMany2many → account.taxcheck_company=Truecolumn1='account_reconcile_model_line_id'column2='account_tax_id'comodel_name='account.tax'ondelete='restrict'relation='account_reconcile_model_line_account_tax_rel'string='Taxes'
No public methods.
-
activeBooleancompute='_compute_active'compute_sql='_compute_sql_active'compute_sudo=Falseinverse='_inverse_active' -
active_fallbackBooleandefault=True -
active_selectionSelectioncompany_dependent=Trueselection=[('False', 'False'), ('True', 'True')] -
allow_foreign_vatBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Allow Foreign Tax ID' -
availability_conditionSelectioncompute='_compute_default_availability_condition'readonly=Falseselection=[('country', 'Country Matches'), ('coa', 'Chart of Accounts Matches'), ('always', 'Always'), ('consolidation', 'Consolidation')]store=Truestring='Availability' -
chart_templateSelectionselection=<expr>string='Chart of Accounts' -
column_idsOne2many → account.report.columncomodel_name='account.report.column'inverse_name='report_id'string='Columns' -
country_idMany2one → res.countrycomodel_name='res.country'string='Country' -
currency_translationSelectioncompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falseselection=[('current', 'Use the most recent rate at the date of the report'), ('cta', 'Use CTA')]store=Truestring='Currency Translation' -
default_opening_date_filterSelectioncompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falseselection=[('this_year', 'This Year'), ('this_quarter', 'This Quarter'), ('this_month', 'This Month'), ('today', 'Today'), ('previous_month', 'Last Month'), ('previous_quarter', 'Last Quarter'), ('previous_year', 'Last Year'), ('this_return_period', 'This Return Period'), ('previous_return_period', 'Last Return Period')]store=Truestring='Default Opening' -
enable_snapshotsBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Enable Snapshots' -
filter_account_typeSelectioncompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falseselection=[('both', 'Payable and receivable'), ('payable', 'Payable'), ('receivable', 'Receivable'), ('disabled', 'Disabled')]store=Truestring='Account Types' -
filter_aml_ir_filtersBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']help='If activated, user-defined filters on journal items can be selected on this report'precompute=Truereadonly=Falsestore=Truestring='Favorite Filters' -
filter_budgetsBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Budgets' -
filter_date_rangeBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Date Range' -
filter_growth_comparisonBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Growth Comparison' -
filter_hide_0_linesSelectioncompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falseselection=[('by_default', 'Enabled by Default'), ('optional', 'Optional'), ('never', 'Never')]store=Truestring='Hide lines at 0' -
filter_hierarchySelectioncompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falseselection=[('by_default', 'Enabled by Default'), ('optional', 'Optional'), ('never', 'Never')]store=Truestring='Account Parents' -
filter_journalsBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Journals' -
filter_line_comparisonBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Report Line Comparison' -
filter_multi_companySelectioncompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falseselection=[('selector', 'Use Company Selector'), ('tax_units', 'Use Tax Units')]store=Truestring='Multi-Company' -
filter_partnerBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Partners' -
filter_period_comparisonBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Period Comparison' -
filter_show_draftBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Draft Entries' -
filter_unfold_allBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Unfold All' -
filter_unreconciledBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Unreconciled Entries' -
groupbyCharhelp='Comma-separated list of fields from account.move.line (Journal Item). When set, this report will have report lines generating sublines grouped by those keys except when specified on the report line.'string='Group By' -
integer_roundingSelectionselection=[('HALF-UP', 'Nearest'), ('UP', 'Up'), ('DOWN', 'Down')]string='Integer Rounding' -
line_idsOne2many → account.report.linecomodel_name='account.report.line'inverse_name='report_id'string='Lines' -
load_more_limitIntegerdefault=500string='Load More Limit' -
nameCharrequired=Truestring='Name'translate=True -
only_tax_exigibleBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Only Tax Exigible Lines' -
root_report_idMany2one → account.reportcomodel_name='account.report'help='The report this report is a variant of.'index='btree_not_null'string='Root Report' -
search_barBooleanstring='Search Bar' -
section_main_report_idsMany2many → account.reportcolumn1='sub_report_id'column2='main_report_id'comodel_name='account.report'relation='account_report_section_rel'string='Section Of' -
section_report_idsMany2many → account.reportcolumn1='main_report_id'column2='sub_report_id'comodel_name='account.report'relation='account_report_section_rel'string='Sections' -
sequenceIntegerstring='Sequence' -
use_fiscal_periodsBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Fiscal Periods' -
use_sectionsBooleancompute='_compute_use_sections'help='Create a structured report with multiple sections for convenient navigation and simultaneous printing.'readonly=Falsestore=Truestring='Composite Report' -
user_groupbyCharcompute='_compute_user_groupby'help='Comma-separated list of fields from account.move.line (Journal Item). When set, the report lines will generate sublines grouped by those keys except when specified on the report line.'precompute=Truereadonly=Falsestore=Truestring='User Group By' -
variant_report_idsOne2many → account.reportcomodel_name='account.report'inverse_name='root_report_id'string='Variants'
-
copy(self, default=None)Copy the whole financial report hierarchy by duplicating each line recursively. :param default: Default values. :return: The copied account.report record. -
create(self, vals_list)@api.model_create_multi -
write(self, vals)
-
blank_if_zeroBooleanhelp='When checked, 0 values will not show in this column.'string='Blank if Zero' -
custom_audit_action_idMany2one → ir.actions.act_windowcomodel_name='ir.actions.act_window'string='Custom Audit Action' -
expression_labelCharrequired=Truestring='Expression Label' -
figure_typeSelectiondefault='monetary'required=Trueselection=FIGURE_TYPE_SELECTION_VALUESstring='Figure Type' -
nameCharrequired=Truestring='Name'translate=True -
report_idMany2one → account.reportcomodel_name='account.report'index='btree_not_null'ondelete='cascade'required=Truestring='Report' -
sequenceIntegerstring='Sequence' -
sortableBooleanstring='Sortable'
No public methods.
-
auditableBooleancompute='_compute_auditable'readonly=Falsestore=Truestring='Auditable' -
blank_if_zeroBooleanhelp="When checked, 0 values will not show when displaying this expression's value."string='Blank if Zero' -
carryover_targetCharhelp='Formula in the form line_code.expression_label. This allows setting the target of the carryover for this expression (on a _carryover_*-labeled expression), in case it is different from the parent line.'string='Carry Over To' -
date_scopeSelectiondefault='strict_range'required=Trueselection=[('from_beginning', 'From the very start'), ('from_fiscalyear', 'From the start of the fiscal year'), ('to_beginning_of_fiscalyear', 'At the beginning of the fiscal year'), ('to_beginning_of_period', 'At the beginning of the period'), ('strict_range', 'Strictly on the given dates'), ('previous_return_period', 'From previous return period')]string='Date Scope' -
engineSelectionrequired=Trueselection=[('domain', 'Odoo Domain'), ('tax_tags', 'Tax Tags'), ('aggregation', 'Aggregate Other Formulas'), ('account_codes', 'Prefix of Account Codes'), ('external', 'External Value'), ('custom', 'Custom Python Function'), ('text', 'Plain Text'), ('reference', 'Record Reference')]string='Computation Engine' -
figure_typeSelectionselection=FIGURE_TYPE_SELECTION_VALUESstring='Figure Type' -
formulaTextrequired=Truestring='Formula' -
green_on_positiveBooleandefault=Truestring='Is Growth Good when Positive' -
labelCharcopy=Truerequired=Truestring='Label' -
model_idMany2one → ir.modelcomodel_name='ir.model'compute='_compute_model_id'inverse='_inverse_model_id'string='Model' -
report_line_idMany2one → account.report.linecomodel_name='account.report.line'index=Trueondelete='cascade'required=Truestring='Report Line' -
report_line_nameCharrelated='report_line_id.name'string='Report Line Name' -
subformulaTextstring='Subformula'
-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
-
carryover_origin_expression_labelCharstring='Origin Expression Label' -
carryover_origin_report_line_idMany2one → account.report.linecomodel_name='account.report.line'string='Origin Line' -
company_idMany2one → res.companycomodel_name='res.company'default=<expr>required=Truestring='Company' -
dateDaterequired=True -
nameCharrequired=True -
report_country_idMany2onerelated='target_report_line_id.report_id.country_id'string='Country' -
target_report_expression_idMany2one → account.report.expressioncomodel_name='account.report.expression'ondelete='cascade'required=Truestring='Target Expression' -
target_report_expression_labelCharrelated='target_report_expression_id.label'string='Target Expression Label' -
target_report_line_idMany2onerelated='target_report_expression_id.report_line_id'string='Target Line' -
text_valueCharstring='Text Value' -
valueFloatstring='Numeric Value'
No public methods.
-
account_codes_formulaCharhelp='Internal field to shorten expression_ids creation for the account_codes engine'inverse='_inverse_account_codes_formula'store=Falsestring='Account Codes Formula Shortcut' -
action_idMany2one → ir.actions.actionscomodel_name='ir.actions.actions'help='Setting this field will turn the line into a link, executing the action when clicked.'string='Action' -
aggregation_formulaCharhelp='Internal field to shorten expression_ids creation for the aggregation engine'inverse='_inverse_aggregation_formula'store=Falsestring='Aggregation Formula Shortcut' -
children_idsOne2many → account.report.linecomodel_name='account.report.line'inverse_name='parent_id'string='Child Lines' -
codeCharhelp='Unique identifier for this line.'string='Code' -
domain_formulaCharhelp='Internal field to shorten expression_ids creation for the domain engine'inverse='_inverse_domain_formula'store=Falsestring='Domain Formula Shortcut' -
expression_idsOne2many → account.report.expressioncomodel_name='account.report.expression'inverse_name='report_line_id'string='Expressions' -
external_formulaCharhelp='Internal field to shorten expression_ids creation for the external engine'inverse='_inverse_external_formula'store=Falsestring='External Formula Shortcut' -
foldabilitySelectioncompute='_compute_foldability'readonly=Falseselection=[('always_unfolded', 'Always Unfolded'), ('never_unfolded', 'Never Unfolded'), ('foldable', 'Foldable')]store=True -
groupbyCharhelp='Comma-separated list of fields from account.move.line (Journal Item). When set, this line will generate sublines grouped by those keys.'string='Group By' -
hide_if_zeroBooleanhelp='This line and its children will be hidden when all of their columns are 0.'string='Hide if Zero' -
hierarchy_levelIntegercompute='_compute_hierarchy_level'precompute=Truereadonly=Falserecursive=Truerequired=Truestore=Truestring='Level' -
horizontal_split_sideSelectioncompute='_compute_horizontal_split_side'readonly=Falserecursive=Trueselection=[('left', 'Left'), ('right', 'Right')]store=Truestring='Horizontal Split Side' -
nameCharcopy=Truerequired=Truestring='Name'translate=True -
parent_idMany2one → account.report.linecomodel_name='account.report.line'index='btree_not_null'ondelete='set null'string='Parent Line' -
print_on_new_pageBooleanhelp='When checked this line and everything after it will be printed on a new page.' args: 'Print On New Page' -
report_idMany2one → account.reportcomodel_name='account.report'compute='_compute_report_id'index=Trueondelete='cascade'precompute=Truereadonly=Falserecursive=Truerequired=Truestore=Truestring='Parent Report' -
sequenceIntegerstring='Sequence' -
tax_tags_formulaCharhelp='Internal field to shorten expression_ids creation for the tax_tags engine'inverse='_inverse_aggregation_tax_formula'store=Falsestring='Tax Tags Formula Shortcut' -
user_groupbyCharcompute='_compute_user_groupby'help='Comma-separated list of fields from account.move.line (Journal Item). When set, this line will generate sublines grouped by those keys.'precompute=Truereadonly=Falsestore=Truestring='User Group By'
No public methods.
-
end_dateDatehelp='Date (inclusive) to which the numbers are resequenced. If not set, all Journal Entries up to the end of the period are resequenced.' -
first_dateDatehelp='Date (inclusive) from which the numbers are resequenced.' -
first_nameCharcompute='_compute_first_name'readonly=Falserequired=Truestore=Truestring='First New Sequence' -
move_idsMany2many → account.moveargs: 'account.move' -
new_valuesTextcompute='_compute_new_values' -
orderingSelectiondefault='keep'required=True args: [('keep', 'Keep current order'), ('date', 'Reorder by accounting date')] -
preview_movesTextcompute='_compute_preview_moves' -
sequence_number_resetCharcompute='_compute_sequence_number_reset'
-
default_get(self, fields)@api.model -
resequence(self)
-
nameCharcompute='_compute_root' -
parent_idMany2one → account.rootcompute='_compute_root' args: 'account.root'
-
browse(self, ids=())@api.private
-
chains_to_hash_with_gapsJsoncompute='_compute_data' -
company_idMany2one → res.companycomodel_name='res.company'default=<expr>readonly=Truerequired=True -
country_codeCharrelated='company_id.account_fiscal_country_id.code' -
hash_dateDatecompute='_compute_hash_date'help='The selected Date'readonly=Falserequired=Truestore=Truestring='Hash All Entries' -
max_hash_dateDatecompute='_compute_max_hash_date'help='Highest Date such that all posted journal entries prior to (including) the date are secured. Only journal entries after the hard lock date are considered.'string='Max Hash Date' -
move_to_hash_idsMany2many → account.movecomodel_name='account.move'compute='_compute_data'help='All moves that will be hashed' -
not_hashable_unlocked_move_idsMany2many → account.movecomodel_name='account.move'compute='_compute_data'help='All unhashable moves before the selected date that are not protected by the Hard Lock Date' -
unreconciled_bank_statement_line_idsMany2many → account.bank.statement.linecomodel_name='account.bank.statement.line'compute='_compute_data'help='All unreconciled bank statement lines before the selected date.' -
warningsJsoncompute='_compute_warnings'
-
action_secure_entries(self) -
action_show_draft_moves_in_hashed_period(self) -
action_show_moves(self, moves)
-
company_idMany2one → res.companycompute='_compute_company_id'required=True args: 'res.company' -
linked_journal_idMany2one → account.journalcheck_company=Truecomodel_name='account.journal'compute='_compute_linked_journal_id'inverse='set_linked_journal_id'string='Journal' -
new_journal_nameChardefault=<expr>help='Will be used to name the Journal related to this bank account'inverse='set_linked_journal_id'required=True -
num_journals_without_account_bankIntegerdefault=<expr> -
num_journals_without_account_creditIntegerdefault=<expr> -
res_partner_bank_idMany2one → res.partner.bankcomodel_name='res.partner.bank'ondelete='cascade'required=True
-
create(self, vals_list)@api.model_create_multiThis wizard is only used to setup an account for the current active company, so we always inject the corresponding partner when creating the model. -
default_linked_journal_id(self, journal_type) -
set_linked_journal_id(self)Called when saving the wizard. -
validate(self)Called by the validation button of this wizard. Serves as an extension hook in account_bank_statement_import.
No new fields.
Public methods (1)-
get_report_values(self, date=False)@api.model
-
account_move_line_idsMany2many → account.move.linecolumn1='account_tax_id'column2='account_move_line_id'comodel_name='account.move.line'copy=Falsereadonly=Truerelation='account_move_line_account_tax_rel' -
account_reconcile_model_line_idsMany2many → account.reconcile.model.linecolumn1='account_tax_id'column2='account_reconcile_model_line_id'comodel_name='account.reconcile.model.line'copy=Falsereadonly=Truerelation='account_reconcile_model_line_account_tax_rel' -
activeBooleandefault=Truehelp='Set active to false to hide the tax without removing it.' -
amountFloatdefault=0.0digits=(16, 4)required=Truetracking=True -
amount_typeSelectiondefault='percent'help='\n - Group of Taxes: The tax is a set of sub taxes.\n - Fixed: The tax amount stays the same whatever the price.\n - Percentage: The tax amount is a % of the price:\n e.g 100 * (1 + 10%) = 110 (not price included)\n e.g 110 / (1 + 10%) = 100 (price included)\n - Percentage Tax Included: The tax amount is a division of the price:\n e.g 180 / (1 - 10%) = 200 (not price included)\n e.g 200 * (1 - 10%) = 180 (price included)\n 'required=Trueselection=[('group', 'Group of Taxes'), ('fixed', 'Fixed'), ('percent', 'Percentage'), ('division', 'Percentage Tax Included')]string='Tax Computation'tracking=True -
analyticBooleanhelp='If set, the amount computed by this tax will be assigned to the same analytic account as the invoice line (if any)'string='Include in Analytic Cost' -
cash_basis_transition_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('account_type', 'not in', ('asset_receivable', 'liability_payable'))]"help='Account used to transition the tax amount for cash basis taxes. It will contain the tax amount as long as the original invoice has not been reconciled ; at reconciliation, this amount cancelled on this account and put on the regular tax account.'string='Cash Basis Transition Account' -
children_tax_idsMany2many → account.taxcheck_company=Truestring='Children Taxes' args: 'account.tax', 'account_tax_filiation_rel', 'parent_tax', 'child_tax' -
company_country_codeCharrelated='company_id.account_fiscal_country_id.code'string='Fiscal Country Code of the Company' -
company_idMany2one → res.companydefault=<expr>readonly=Truerequired=Truestring='Company' args: 'res.company' -
company_price_includeSelectionrelated='company_id.account_price_include' -
country_codeCharreadonly=Truerelated='country_id.code' -
country_idMany2one → res.countrycomodel_name='res.country'compute='_compute_country_id'help='The country for which this tax is applicable.'precompute=Truereadonly=Falserequired=Truestore=Truestring='Country' -
descriptionHtmlstring='Description'translate=html_translate -
display_alternative_taxes_fieldBooleancompute='_compute_display_alternative_taxes_field' -
fiscal_position_idsMany2many → account.fiscal.positioncolumn1='account_tax_id'column2='account_fiscal_position_id'comodel_name='account.fiscal.position'relation='account_fiscal_position_account_tax_rel' -
has_negative_factorBooleancompute='_compute_has_negative_factor' -
hide_tax_exigibilityBooleanreadonly=Truerelated='company_id.tax_exigibility'string='Hide Use Cash Basis Option' -
include_base_amountBooleandefault=Falsehelp='If set, taxes with a higher sequence than this one will be affected by it, provided they accept it.'string='Affect Base of Subsequent Taxes'tracking=True -
invoice_labelCharstring='Label on Invoices'translate=True -
invoice_legal_notesHtmlhelp='Legal mentions that have to be printed on the invoices.'string='Legal Notes'translate=True -
invoice_repartition_line_idsOne2many → account.tax.repartition.linecomodel_name='account.tax.repartition.line'compute='_compute_invoice_repartition_line_ids'domain=[('document_type', '=', 'invoice')]help='Distribution when the tax is used on an invoice'inverse_name='tax_id'readonly=Falsestore=Truestring='Distribution for Invoices' -
is_base_affectedBooleandefault=Truehelp='If set, taxes with a lower sequence might affect this one, provided they try to do it.'string='Base Affected by Previous Taxes'tracking=True -
is_domesticBooleancompute='_compute_is_domestic'precompute=Truestore=True -
is_usedBooleancompute='_compute_is_used'string='Tax used' -
nameCharrequired=Truestring='Tax Name'tracking=Truetranslate=True -
non_deductible_amountFloatcompute='_compute_non_deductible_amount' -
original_tax_idsMany2many → account.taxcolumn1='dest_tax_id'column2='src_tax_id'comodel_name='account.tax'domain="[\n ('type_tax_use', '=', type_tax_use),\n ('is_domestic', '=', True),\n ]"help='List of taxes to replace when applying any of the stipulated fiscal positions.'ondelete='cascade'relation='account_tax_alternatives'string='Replaces' -
price_includeBooleancompute='_compute_price_include'help='Determines whether the price you use on the product and invoices includes this tax.'search='_search_price_include' -
price_include_overrideSelectionhelp="Overrides the Company's default on whether the price you use on the product and invoices includes this tax."selection=[('tax_included', 'Tax Included'), ('tax_excluded', 'Tax Excluded')]string='Included in Price'tracking=True -
refund_repartition_line_idsOne2many → account.tax.repartition.linecomodel_name='account.tax.repartition.line'compute='_compute_refund_repartition_line_ids'domain=[('document_type', '=', 'refund')]help='Distribution when the tax is used on a refund'inverse_name='tax_id'readonly=Falsestore=Truestring='Distribution for Refund Invoices' -
repartition_line_idsOne2many → account.tax.repartition.linecomodel_name='account.tax.repartition.line'copy=Trueinverse_name='tax_id'string='Distribution' -
repartition_lines_strCharcompute='_compute_repartition_lines_str'string='Repartition Lines'tracking=True -
replacing_tax_idsMany2many → account.taxcolumn1='src_tax_id'column2='dest_tax_id'comodel_name='account.tax'readonly=Truerelation='account_tax_alternatives'string='Replaced by' -
sequenceIntegerdefault=1help='The sequence field is used to define order in which the tax lines are applied.'required=True -
tax_exigibilitySelectiondefault='on_invoice'help='Based on Invoice: the tax is due as soon as the invoice is validated.\nBased on Payment: the tax is due as soon as the payment of the invoice is received.'string='Tax Exigibility' args: [('on_invoice', 'Based on Invoice'), ('on_payment', 'Based on Payment')] -
tax_group_idMany2one → account.tax.groupcomodel_name='account.tax.group'compute='_compute_tax_group_id'domain="[('country_id', 'in', (country_id, False))]"precompute=Truereadonly=Falserequired=Truestore=Truestring='Tax Group' -
tax_labelCharcompute='_compute_tax_label' -
tax_scopeSelectionstring='Tax Scope' args: [('service', 'Services'), ('consu', 'Goods')] -
type_tax_useSelectiondefault='sale'help="Determines where the tax is selectable. Note: 'None' means a tax can't be used by itself, however it can still be used in a group. 'adjustment' is used to perform tax adjustment."required=Truestring='Tax Type'tracking=True args: TYPE_TAX_USE
-
compute_all(self, price_unit, currency=None, quantity=1.0, product=None, partner=None, is_refund=False, handle_price_include=True, include_caba_tags=False, rounding_method=None, document_tax_mode=None)Compute all information required to apply taxes (in self + their children in case of a tax group). We consider the sequence of the parent for group of taxes. Eg. considering letters as taxes and alphabetic order as sequence:: [G, B([A, D, F]), E, C] will be computed as [A, D, F, C, E, G] :param price_unit: The unit price of the line to compute taxes on. :param currency: The optional currency in which the price_unit is expressed. :param quantity: The optional quantity of the product to compute taxes on. :param product: The optional product to compute taxes on. Used to get the tags to apply on the lines. :param partner: The optional partner compute taxes on. Used to retrieve the lang to build strings and for potential extensions. :param is_refund: The optional boolean indicating if this is a refund. :param handle_price_include: Used when we need to ignore all tax included in price. If False, it means the amount passed to this method will be considered as the base of all computations. :param include_caba_tags: The optional boolean indicating if CABA tags need to be taken into account. :returns: :: { 'total_excluded': 0.0, # Total without taxes 'total_included': 0.0, # Total with taxes 'total_void' : 0.0, # Total with those taxes, that don't have an account set 'base_tags: : list<int>, # Tags to apply on the base line 'taxes': [{ # One dict for each tax in self and their children 'id': int, 'name': str, 'amount': float, 'base': float, 'sequence': int, 'account_id': int, 'refund_account_id': int, 'analytic': bool, 'price_include': bool, 'tax_exigibility': str, 'tax_repartition_line_id': int, 'group': recordset, 'tag_ids': list<int>, 'tax_ids': list<int>, }], } -
create(self, vals_list)@api.model_create_multi -
flatten_taxes_hierarchy(self) -
get_tax_tags(self, is_refund, repartition_type) -
name_search(self, name='', domain=None, operator='ilike', limit=100)@api.model@api.readonly -
onchange_amount_type(self)@api.onchange('amount_type') -
onchange_price_include(self)@api.onchange('price_include') -
unlink_except_tax_used(self)@api.ondelete(at_uninstall=False) -
validate_tax_group_id(self)@api.constrains('tax_group_id') -
write(self, vals)
-
company_idMany2one → res.companydefault=<expr>required=True args: 'res.company' -
country_codeCharrelated='country_id.code' -
country_idMany2one → res.countrycomodel_name='res.country'compute='_compute_country_id'help='The country for which this tax group is applicable.'precompute=Truereadonly=Falsestore=Truestring='Country' -
nameCharrequired=Truetranslate=True -
pos_receipt_labelCharstring='PoS receipt label' -
preceding_subtotalCharhelp="If set, this value will be used on documents as the label of a subtotal excluding this tax group before displaying it. If not set, the tax group will be displayed after the 'Untaxed amount' subtotal."string='Preceding Subtotal'translate=True -
sequenceIntegerdefault=10
No public methods.
-
account_activeBooleanrelated='account_id.active'string='Account Active' -
account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('account_type', 'not in', ('asset_receivable', 'liability_payable', 'off_balance'))]"help='Account on which to post the tax amount'index='btree_not_null'string='Account' -
company_idMany2one → res.companycomodel_name='res.company'help='The company this distribution line belongs to.'related='tax_id.company_id'store=Truestring='Company' -
document_typeSelectionrequired=Trueselection=[('invoice', 'Invoice'), ('refund', 'Refund')]string='Related to' -
factorFloatcompute='_compute_factor'help='Factor to apply on the journal items generated from this distribution line'string='Factor Ratio' -
factor_percentFloatdefault=100digits=(16, 12)help='Factor to apply on the journal items generated from this distribution line, in percents'required=Truestring='%' -
repartition_typeSelectiondefault='tax'help='Base on which the factor will be applied.'required=Trueselection=[('base', 'Base'), ('tax', 'of tax')]string='Based On' -
sequenceIntegerdefault=1help='The order in which distribution lines are displayed and matched. For refunds to work properly, invoice distribution lines should be arranged in the same order as the credit note distribution lines they correspond to.'string='Sequence' -
tag_idsMany2many → account.account.tagcomodel_name='account.account.tag'copy=Truedomain=[('applicability', '=', 'taxes')]ondelete='restrict'string='Tax Grids' -
tag_ids_domainJsoncompute='_compute_tag_ids_domain'help='Dynamic domain used for the tag that can be set on tax'string='tag domain' -
tax_idMany2one → account.taxcheck_company=Truecomodel_name='account.tax'index='btree_not_null'ondelete='cascade' -
use_in_tax_closingBooleancompute='_compute_use_in_tax_closing'precompute=Truereadonly=Falsestore=Truestring='Tax Closing Entry'
No public methods.
-
account_numberCharcompute='_compute_account_number'inverse='_inverse_account_number' -
can_configure_laterBooleancompute='_compute_can_configure_later' -
country_codeCharrelated='company_id.account_fiscal_country_id.code' -
from_invoiceBoolean -
qr_codeBooleanreadonly=Falserelated='company_id.qr_code' -
vatCharreadonly=Falserelated='company_id.vat'
-
action_configure_later(self) -
create(self, vals_list)@api.model_create_multi -
document_layout_save(self)Save layout and onboarding step progress, return super() result -
write(self, vals)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)-
precision_get(self, application)@api.model
-
kpi_account_total_revenueBooleanargs: 'Revenue' -
kpi_account_total_revenue_valueMonetarycompute='_compute_kpi_account_total_revenue_value'
No public methods.
-
is_invoice_reportBooleancopy=Truestring='Invoice report'
No public methods.
No new fields.
Public methods (2)-
unlink(self) -
write(self, vals)
No new fields.
Public methods (1)-
lazy_session_info(self)@api.model
-
account_templatesJsoncompute='_compute_account_templates'exportable=False
-
module_uninstall(self) -
write(self, vals)
No new fields.
Public methods (2)-
get_account_kpi_summary(self)@api.model -
get_kpi_summary(self)@api.model
No new fields.
Public methods (0)No public methods.
-
account_audit_log_account_idMany2one → account.accountcomodel_name='account.account'compute='_compute_account_audit_log_account_id'search='_search_account_audit_log_account_id'string='Account' -
account_audit_log_company_idMany2one → res.companycomodel_name='res.company'compute='_compute_account_audit_log_company_id'search='_search_account_audit_log_company_id'string='Company ' -
account_audit_log_move_idMany2one → account.movecomodel_name='account.move'compute='_compute_account_audit_log_move_id'search='_search_account_audit_log_move_id'string='Journal Entry' -
account_audit_log_partner_idMany2one → res.partnercomodel_name='res.partner'compute='_compute_account_audit_log_partner_id'search='_search_account_audit_log_partner_id'string='Partner' -
account_audit_log_restrictedBooleancompute='_compute_account_audit_log_restricted'search='_search_account_audit_log_restricted'string='Protected by restricted Audit Logs' -
account_audit_log_tax_idMany2one → account.taxcomodel_name='account.tax'compute='_compute_account_audit_log_tax_id'search='_search_account_audit_log_tax_id'string='Tax'
-
write(self, vals)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (2)-
action_close_panel_account_dashboard(self)@api.model -
action_close_panel_account_invoice(self)@api.model
No new fields.
Public methods (8)-
action_open_step_bank_account(self)@api.model -
action_open_step_base_document_layout(self)@api.model -
action_open_step_chart_of_accounts(self)@api.modelCalled by the 'Chart of Accounts' button of the dashboard onboarding panel. -
action_open_step_company_data(self)@api.modelSet company's basic information. -
action_open_step_create_invoice(self)@api.model -
action_open_step_fiscal_year(self)@api.model -
action_open_step_sales_tax(self)@api.model -
action_validate_step_base_document_layout(self)@api.modelSet the onboarding(s) step as done only if layout is set.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (6)-
create_section(self, child_field, name, parent_id=None) -> dictCreate a new section in order. :param str child_field: Field name of the order's lines (e.g., 'order_line'). :param str name: The name of the section to create. :param int parent_id: The id of the parent section. :return: A dictionary with newly created section's details. -
delete_section(self, child_field, section_id)Delete the given section with all its children. :param string child_field: The field name of the lines in the order model. :param int section_id: The section id. -
duplicate_section(self, child_field, section_id) -> dictDuplicate the given section with all its children. :param string child_field: The field name of the lines in the order model. :param int section_id: The section id. :return: A dictionary with the list of sections and the id of the duplicated section. -
get_catalog_section_data(self, child_field) -> dictReturn order information and sections for the product catalog. :param str child_field: Field name of the order's lines (e.g., 'order_line'). :return: A dictionary containing order information and sections data. -
rename_section(self, child_field, section_id, new_name)Rename the given section. :param string child_field: The field name of the lines in the order model. :param int section_id: The section id. :param string new_name: The new name for the section. -
resequence_sections(self, child_field, moved_section_id, new_parent_section_id=None, previous_section_id=None)Resequence the order content based on the new sequence order. 1) move a section after a section (or no section) 2) move a subsection after subsection (same or other parent) 3) move a subsection into another section (without subsections, or on first place) :param str child_field: name of the one2many field holding the catalog lines. :param int moved_section_id: id of the moved section line :param int new_parent_section_id: id of the new parent line (for subsections) :param int previous_section_id: id of the previous (sub)section if any.
-
account_stock_variation_activeBooleanrelated='account_stock_variation_id.active'string='Stock Variation Account Active' -
account_stock_variation_idMany2one → account.accountreadonly=Falserelated='property_stock_valuation_account_id.account_stock_variation_id'string='Stock Variation Account' args: 'account.account' -
property_account_expense_categ_idMany2one → account.accountcompany_dependent=Truedomain=ACCOUNT_DOMAINhelp='The expense is accounted for when a vendor bill is validated, except in anglo-saxon accounting with perpetual inventory valuation in which case the expense (Cost of Goods Sold account) is recognized at the customer invoice validation.'ondelete='restrict'string='Expense Account'tracking=True args: 'account.account' -
property_account_income_categ_idMany2one → account.accountcompany_dependent=Truedomain=ACCOUNT_DOMAINhelp='This account will be used when validating a customer invoice.'ondelete='restrict'string='Income Account'tracking=True args: 'account.account' -
property_cost_methodSelectioncompany_dependent=Truecopy=Truedefault=<expr>help='Standard Price: The products are valued at their standard cost defined on the product.\n Average Cost (AVCO): The products are valued at weighted average cost.\n 'selection=[('standard', 'Standard Price'), ('average', 'Average Cost (AVCO)')]string='Costing Method'tracking=True -
property_price_difference_account_activeBooleanrelated='property_price_difference_account_id.active'string='Price Difference Account Active' -
property_price_difference_account_idMany2one → account.accountcheck_company=Truecompany_dependent=Truehelp='With perpetual valuation, this account will hold the price difference between the standard price and the bill price.'ondelete='restrict' args: 'account.account', 'Price Difference Account' -
property_stock_journalMany2one → account.journalcompany_dependent=Truehelp='When doing automated inventory valuation, this is the Accounting Journal in which entries will be automatically posted when stock moves are processed.' args: 'account.journal', 'Stock Journal' -
property_stock_valuation_account_activeBooleanrelated='property_stock_valuation_account_id.active'string='Stock Valuation Account Active' -
property_stock_valuation_account_idMany2one → account.accountcheck_company=Truecompany_dependent=Truehelp='When automated inventory valuation is enabled on a product, this account will hold the current value of the products.'ondelete='restrict' args: 'account.account', 'Stock Valuation Account' -
property_valuationSelectioncompany_dependent=Truecopy=Truehelp='Periodic: The accounting entries are suggested manually in the inventory valuation report.\n Perpetual: An accounting entry is automatically created to value the inventory when a product is billed or invoiced.\n 'selection=[('periodic', 'Periodic (at closing)'), ('real_time', 'Perpetual (at invoicing)')]string='Inventory Valuation'tracking=True
No public methods.
-
catalog_is_in_selected_sectionBooleansearch='_search_is_in_selected_catalog_section'store=False -
tax_stringCharcompute='_compute_tax_string'
No public methods.
-
account_tag_idsMany2many → account.account.tagcomodel_name='account.account.tag'domain="[('applicability', '=', 'products')]"help='Tags to be set on the base and tax journal items created for this product.'string='Account Tags' -
cost_methodSelectioncompute='_compute_cost_method'selection=[('standard', 'Standard Price'), ('average', 'Average Cost (AVCO)')]string='Cost Method' -
fiscal_country_codesCharcompute='_compute_fiscal_country_codes' -
property_account_expense_activeBooleanrelated='property_account_expense_id.active'string='Expense Account Active' -
property_account_expense_idMany2one → account.accountcompany_dependent=Truedomain=ACCOUNT_DOMAINhelp='Keep this field empty to use the default value from the product category. If anglo-saxon accounting with automated valuation method is configured, the expense account on the product category will be used.'ondelete='restrict'string='Expense Account' args: 'account.account' -
property_account_income_activeBooleanrelated='property_account_income_id.active'string='Income Account Active' -
property_account_income_idMany2one → account.accountcompany_dependent=Truedomain=ACCOUNT_DOMAINhelp='Keep this field empty to use the default value from the product category.'ondelete='restrict'string='Income Account' args: 'account.account' -
supplier_taxes_idMany2many → account.taxdefault=<expr>domain=[('type_tax_use', '=', 'purchase')]help='Default taxes used when buying the product'string='Purchase Taxes' args: 'account.tax', 'product_supplier_taxes_rel', 'prod_id', 'tax_id' -
tax_stringCharcompute='_compute_tax_string' -
taxes_idMany2many → account.taxdefault=<expr>domain=[('type_tax_use', '=', 'sale')]help='Default taxes used when selling the product'string='Sales Taxes' args: 'account.tax', 'product_taxes_rel', 'prod_id', 'tax_id' -
valuationSelectioncompute='_compute_valuation'search='_search_valuation'selection=[('periodic', 'Periodic (at closing)'), ('real_time', 'Perpetual (at invoicing)')]string='Valuation'
-
create(self, vals_list)@api.model_create_multi -
get_product_accounts(self, fiscal_pos=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
-
account_cash_basis_base_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'help='Account that will be set on lines created in cash basis journal entry and used to keep track of the tax base amount.'string='Base Tax Received Account' -
account_credit_limitFloatstring='Default Credit Limit' -
account_default_pos_receivable_account_idMany2one → account.accountcheck_company=Truestring='Default PoS Receivable Account' args: 'account.account' -
account_discount_expense_allocation_idMany2one → account.accountcomodel_name='account.account'string='Separate account for expense discount' -
account_discount_income_allocation_idMany2one → account.accountcomodel_name='account.account'string='Separate account for income discount' -
account_enabled_tax_country_idsMany2many → res.countrycomodel_name='res.country'compute='_compute_account_enabled_tax_country_ids'help='Technical field containing the countries for which this company is using tax-related features(hence the ones for which l10n modules need to show tax-related fields).'string='l10n-used countries' -
account_fiscal_country_group_codesJsoncompute='_compute_account_fiscal_country_group_codes' -
account_fiscal_country_idMany2one → res.countrycomodel_name='res.country'compute='_compute_account_tax_fiscal_country'help='The country to use the tax reports from for this company'readonly=Falsestore=Truestring='Fiscal Country' -
account_journal_early_pay_discount_gain_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'string='Cash Discount Write-Off Gain Account' -
account_journal_early_pay_discount_loss_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'string='Cash Discount Write-Off Loss Account' -
account_journal_suspense_account_idMany2one → account.accountcheck_company=Truestring='Journal Suspense Account' args: 'account.account' -
account_opening_dateDatedefault=<expr>help='That is the date of the opening entry.'string='Opening Entry' -
account_opening_journal_idMany2one → account.journalcomodel_name='account.journal'help="Journal where the opening entry of this company's accounting has been posted."readonly=Falserelated='account_opening_move_id.journal_id'string='Opening Journal' -
account_opening_move_idMany2one → account.movecomodel_name='account.move'help="The journal entry containing the initial balance of all this company's accounts."string='Opening Journal Entry' -
account_price_includeSelectiondefault='tax_excluded'help='Default on whether the sales price used on the product and invoices with this Company includes its taxes.'required=Trueselection=[('tax_included', 'Tax Included'), ('tax_excluded', 'Tax Excluded')]string='Default Sales Price Include' -
account_purchase_receipt_fiscal_position_idMany2one → account.fiscal.positioncheck_company=Truestring='Default Purchase Receipt Fiscal Position' args: 'account.fiscal.position' -
account_purchase_tax_idMany2one → account.taxcheck_company=Truestring='Default Purchase Tax' args: 'account.tax' -
account_sale_tax_idMany2one → account.taxcheck_company=Truestring='Default Sale Tax' args: 'account.tax' -
account_stock_journal_idMany2one → account.journalcheck_company=Truestring='Stock Journal' args: 'account.journal' -
account_stock_valuation_idMany2one → account.accountcheck_company=Truestring='Stock Valuation Account' args: 'account.account' -
account_stornoBooleancompute='_compute_account_storno'readonly=Falsestore=Truestring='Storno accounting' -
account_use_credit_limitBooleanhelp='Enable the use of credit limit on partners.'string='Sales Credit Limit' -
anglo_saxon_accountingBooleanstring='Use anglo-saxon accounting' -
automatic_entry_default_journal_idMany2one → account.journalcheck_company=Truedomain="[('type', '=', 'general')]"help='Journal used by default for moving the period of an entry' args: 'account.journal' -
autopost_billsBooleandefault=Truestring='Auto-validate bills' -
bank_account_code_prefixCharstring='Prefix of the bank accounts' -
bank_journal_idsOne2many → account.journaldomain=[('type', '=', 'bank')]string='Bank Journals' args: 'account.journal', 'company_id' -
batch_payment_sequence_idMany2one → ir.sequencecomodel_name='ir.sequence'copy=Falsereadonly=True -
cash_account_code_prefixCharstring='Prefix of the cash accounts' -
cash_rounding_loss_account_idMany2one → account.accountcomodel_name='account.account' -
cash_rounding_profit_account_idMany2one → account.accountcomodel_name='account.account' -
chart_templateSelectionselection='_chart_template_selection' -
company_vat_placeholderCharcompute='_compute_company_vat_placeholder' -
cost_methodSelectiondefault='standard'required=Trueselection=[('standard', 'Standard Price'), ('average', 'Average Cost (AVCO)')]string='Cost Method' -
currency_exchange_journal_idMany2one → account.journaldomain=[('type', '=', 'general')]string='Exchange Gain or Loss Journal' args: 'account.journal' -
default_cash_difference_expense_account_idMany2one → account.accountcheck_company=Truestring='Cash Difference Expense' args: 'account.account' -
default_cash_difference_income_account_idMany2one → account.accountcheck_company=Truestring='Cash Difference Income' args: 'account.account' -
display_account_stornoBooleancompute='_compute_display_account_storno' -
display_invoice_amount_total_wordsBooleanstring='Total amount of invoice in words' -
display_invoice_tax_company_currencyBooleandefault=Truestring='Taxes in company currency' -
document_sequence_editableBooleanstring="Document's sequence editable" -
domestic_fiscal_position_idMany2one → account.fiscal.positioncomodel_name='account.fiscal.position'compute='_compute_domestic_fiscal_position_id'store=True -
expects_chart_of_accountsBooleandefault=Truestring='Expects a Chart of Accounts' -
expense_account_idMany2one → account.accountcomodel_name='account.account'domain=ACCOUNT_DOMAINhelp='The expense is accounted for when a vendor bill is validated, except in anglo-saxon accounting with perpetual inventory valuation in which case the expense (Cost of Goods Sold account) is recognized at the customer invoice validation.'string='Expense Account' -
expense_accrual_account_idMany2one → account.accountcheck_company=Truedomain="[('internal_group', '=', 'liability'), ('account_type', 'not in', ('asset_receivable', 'liability_payable'))]"help='Account used to move the period of an expense' args: 'account.account' -
expense_currency_exchange_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('account_type', 'in', ('expense', 'expense_other'))]"string='Loss Exchange Rate Account' -
fiscal_position_idsOne2many → account.fiscal.positioncomodel_name='account.fiscal.position'inverse_name='company_id' -
fiscalyear_last_dayIntegerdefault=31required=True -
fiscalyear_last_monthSelectiondefault='12'required=True args: MONTH_SELECTION -
fiscalyear_lock_dateDatehelp="Any entry up to and including that date will be postponed to a later time, in accordance with its journal's sequence."string='Global Lock Date'tracking=True -
force_restrictive_audit_trailBooleancompute='_compute_force_restrictive_audit_trail'string='Force Audit Trail' -
hard_lock_dateDatehelp='Any entry up to and including that date will be postponed to a later time, in accordance with its journal sequence. This lock date is irreversible and does not allow any exception.'string='Hard Lock Date'tracking=True -
has_ledgerBooleancompute='_compute_has_ledger' -
income_account_idMany2one → account.accountcomodel_name='account.account'domain=ACCOUNT_DOMAINhelp='This account will be used when validating a customer invoice.'string='Income Account' -
income_currency_exchange_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('internal_group', '=', 'income')]"string='Gain Exchange Rate Account' -
incoterm_idMany2one → account.incotermshelp='International Commercial Terms are a series of predefined commercial terms used in international transactions.'string='Default incoterm' args: 'account.incoterms' -
inventory_periodSelectiondefault='manual'required=Trueselection=[('manual', 'Manual'), ('daily', 'Daily'), ('monthly', 'Monthly')]string='Inventory Period' -
inventory_valuationSelectiondefault='periodic'selection=[('periodic', 'Periodic (at closing)'), ('real_time', 'Perpetual (at invoicing)')]string='Valuation' -
invoice_termsHtmlstring='Default Terms and Conditions'translate=True -
invoice_terms_htmlHtmlcompute='_compute_invoice_terms_html'readonly=Falsesanitize_attributes=Falsesanitize_form=Falsestore=Truestring='Default Terms and Conditions as a Web page'translate=True -
link_qr_codeBooleanstring='Display Link QR-code' -
multi_vat_foreign_country_idsMany2many → res.countrycomodel_name='res.country'compute='_compute_multi_vat_foreign_country'help='Countries for which the company has a Tax ID'string='Foreign Tax ID countries' -
payable_account_idMany2one → account.accountcomodel_name='account.account'domain=[('account_type', '=', 'liability_payable')]string='Payable Account' -
price_difference_account_idMany2one → account.accountcomodel_name='account.account'domain=ACCOUNT_DOMAINhelp='During perpetual valuation, this account will hold the price difference between the standard price and the bill price.'string='Price Difference Account' -
purchase_lock_dateDatehelp="Any purchase entry prior to and including this date will be postponed to a later date, in accordance with its journal's sequence."string='Purchase Lock date'tracking=True -
qr_codeBooleancompute='_compute_qr_code'readonly=Falsestore=Truestring='Display QR-code on invoices' -
quick_edit_modeSelectiondefault='out_and_in_invoices'selection=[('out_invoices', 'Customer Invoices'), ('in_invoices', 'Vendor Bills'), ('out_and_in_invoices', 'Customer Invoices and Vendor Bills')] -
quick_edit_mode_enabledBooleanstring='Quick encoding' -
receivable_account_idMany2one → account.accountcomodel_name='account.account'domain=[('account_type', '=', 'asset_receivable')]string='Receivable Account' -
restrictive_audit_trailBooleanhelp='Enable this option to prevent deletion of journal item related logs'string='Restrictive Audit Trail'tracking=True -
revenue_accrual_account_idMany2one → account.accountcheck_company=Truedomain="[('internal_group', '=', 'asset'), ('account_type', 'not in', ('asset_receivable', 'liability_payable'))]"help='Account used to move the period of a revenue' args: 'account.account' -
sale_lock_dateDatehelp="Any sales entry prior to and including this date will be postponed to a later date, in accordance with its journal's sequence."string='Sales Lock Date'tracking=True -
set_to_review_documentsBooleanstring='Review data' -
tax_calculation_rounding_methodSelectiondefault='round_globally'string='Tax Calculation Rounding Method' args: [('round_globally', 'Round per Tax'), ('round_per_line', 'Round per Line')] -
tax_cash_basis_journal_idMany2one → account.journalcheck_company=Truecomodel_name='account.journal'string='Cash Basis Journal' -
tax_exigibilityBooleanstring='Use Cash Basis' -
tax_lock_dateDatehelp="Any entry with taxes up to and including that date will be postponed to a later time, in accordance with its journal's sequence. The tax lock date is automatically set when the tax closing entry is posted."string='Tax Return Lock Date'tracking=True -
terms_typeSelectiondefault='plain'string='Terms & Conditions format' args: [('plain', 'Add a Note'), ('html', 'Add a link to a Web Page')] -
transfer_account_code_prefixCharstring='Prefix of the transfer accounts' -
transfer_account_idMany2one → account.accountcheck_company=Truedomain="[('reconcile', '=', True), ('account_type', '=', 'asset_current')]"help='Intermediary account used when moving money from a liquidity account to another'string='Inter-Banks Transfer Account' args: 'account.account' -
user_fiscalyear_lock_dateDatecompute='_compute_user_fiscalyear_lock_date' -
user_hard_lock_dateDatecompute='_compute_user_hard_lock_date' -
user_purchase_lock_dateDatecompute='_compute_user_purchase_lock_date' -
user_sale_lock_dateDatecompute='_compute_user_sale_lock_date' -
user_tax_lock_dateDatecompute='_compute_user_tax_lock_date' -
vat_check_viesBooleanstring='Verify VAT Numbers with VIES' -
vat_disabledBooleancompute='_compute_vat_disabled'inverse='_inverse_vat_disabled'store=Truestring='Not Subject to VAT' -
vat_disabled_availableBooleancompute='_compute_vat_disabled_available'string="'Not Subject to VAT' Available"
-
action_close_stock_valuation(self, at_date=None, auto_post=False, raise_error_if_closed=True, include_accruals=False) -
action_save_onboarding_company_data(self) -
action_save_onboarding_sale_tax(self)Set the onboarding step as done -
compute_fiscalyear_dates(self, current_date)Returns the dates of the fiscal year containing the provided date for this company. :return: ``{'date_from': ..., 'date_to': ...}`` -
create(self, vals_list)@api.model_create_multi -
get_chart_of_accounts_or_fail(self) -
get_inventory_accounting_value(self, at_date=None) -
get_inventory_value(self, at_date=None)Current inventory value, i.e. what the products physically on hand are worth. Simple approximation used when the stock module isn't installed: quantity on hand times current (moving average) cost. When `at_date` is given, the quantity is reconstructed by undoing, from the current `qty_available`, the effect of every posted invoice/bill line dated after `at_date`. Overridden by `stock_account` to use the real valuation computed from stock moves/quants. -
get_new_account_code(self, current_code, old_prefix, new_prefix) -
get_next_batch_payment_communication(self)When in need of a batch payment communication reference (several invoices paid at the same time) use batch_payment_sequence_id to get it (eventually create it first): e.g BATCH/2024/00001 -
get_unaffected_earnings_account(self)Returns the unaffected earnings account for this company, creating one if none has yet been defined. -
install_l10n_modules(self) -
opening_move_posted(self)Returns true if this company has an opening account move and this move is posted. -
reflect_code_prefix_change(self, old_code, new_code) -
setting_init_bank_account_action(self)@api.modelCalled by the 'Bank Accounts' button of the setup bar or from the Financial configuration menu. -
setting_init_credit_card_account_action(self)@api.modelCalled by the Financial configuration menu 'Add a credit card account' -
use_stock_account(self)Whether real/physical stock valuation is available (independent of the accounting data). Not applicable without the stock module. Overridden by `stock_account`. -
write(self, vals)
-
account_cash_basis_base_account_activeBooleanrelated='account_cash_basis_base_account_id.active'string='Base Tax Received Account Active' -
account_cash_basis_base_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'readonly=Falserelated='company_id.account_cash_basis_base_account_id'string='Base Tax Received Account' -
account_default_credit_limitFloathelp='This is the default credit limit that will be used on partners that do not have a specific limit on them.'readonly=Falserelated='company_id.account_credit_limit'string='Default Credit Limit' -
account_discount_expense_allocation_activeBooleanrelated='account_discount_expense_allocation_id.active'string='Customer Invoices Discounts Account Active' -
account_discount_expense_allocation_idMany2one → account.accountcomodel_name='account.account'domain="[('account_type', 'in', ('income', 'income_other', 'expense', 'expense_other'))]"readonly=Falserelated='company_id.account_discount_expense_allocation_id'string='Customer Invoices Discounts Account' -
account_discount_income_allocation_activeBooleanrelated='account_discount_income_allocation_id.active'string='Vendor Bills Discounts Account Active' -
account_discount_income_allocation_idMany2one → account.accountcomodel_name='account.account'domain="[('account_type', 'in', ('income', 'income_other', 'expense', 'expense_other'))]"readonly=Falserelated='company_id.account_discount_income_allocation_id'string='Vendor Bills Discounts Account' -
account_fiscal_country_idMany2onereadonly=Falserelated='company_id.account_fiscal_country_id'store=Falsestring='Fiscal Country Code' -
account_journal_early_pay_discount_gain_account_activeBooleanrelated='account_journal_early_pay_discount_gain_account_id.active'string='Early Discount Gain Account Active' -
account_journal_early_pay_discount_gain_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('account_type', 'in', ('income', 'income_other', 'expense', 'expense_other'))]"help='Account for the difference amount after the income discount has been granted'readonly=Falserelated='company_id.account_journal_early_pay_discount_gain_account_id'string='Early Discount Gain' -
account_journal_early_pay_discount_loss_account_activeBooleanrelated='account_journal_early_pay_discount_loss_account_id.active'string='Early Discount Loss Account Active' -
account_journal_early_pay_discount_loss_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('account_type', 'in', ('expense', 'expense_other', 'income', 'income_other'))]"help='Account for the difference amount after the expense discount has been granted'readonly=Falserelated='company_id.account_journal_early_pay_discount_loss_account_id'string='Early Discount Loss' -
account_journal_suspense_account_activeBooleanrelated='account_journal_suspense_account_id.active'string='Bank Suspense Account Active' -
account_journal_suspense_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('account_type', 'in', ('asset_current', 'liability_current'))]"help='Bank Transactions are posted immediately after import or synchronization. Their counterparty is the bank suspense account.\nReconciliation replaces the latter by the definitive account(s).'readonly=Falserelated='company_id.account_journal_suspense_account_id'string='Bank Suspense' -
account_price_includeSelectionhelp='Default on whether the sales price used on the product and invoices with this Company includes its taxes.'readonly=Falserelated='company_id.account_price_include'required=Truestring='Default Sales Price Include' -
account_stornoBooleanreadonly=Falserelated='company_id.account_storno'string='Storno accounting' -
account_use_credit_limitBooleanhelp='Enable the use of credit limit on partners.'readonly=Falserelated='company_id.account_use_credit_limit'string='Sales Credit Limit' -
autopost_billsBooleanreadonly=Falserelated='company_id.autopost_bills' -
cash_rounding_loss_account_idMany2onecheck_company=Truedomain="[('internal_group', '=', 'expense')]"readonly=Falserelated='company_id.cash_rounding_loss_account_id' -
cash_rounding_profit_account_idMany2onecheck_company=Truedomain="[('internal_group', '=', 'income')]"readonly=Falserelated='company_id.cash_rounding_profit_account_id' -
chart_templateSelectiondefault=<expr>selection=<expr> -
country_codeCharreadonly=Truerelated='company_id.account_fiscal_country_id.code' -
currency_exchange_journal_idMany2one → account.journalcheck_company=Truecomodel_name='account.journal'domain="[('type', '=', 'general')]"help='The accounting journal where automatic exchange differences will be registered'readonly=Falserelated='company_id.currency_exchange_journal_id'string='Currency Exchange Journal' -
currency_idMany2one → res.currencyhelp='Main currency of the company.'readonly=Falserelated='company_id.currency_id'required=Truestring='Currency' args: 'res.currency' -
display_account_stornoBooleanrelated='company_id.display_account_storno' -
display_invoice_amount_total_wordsBooleanreadonly=Falserelated='company_id.display_invoice_amount_total_words'string='Total amount of invoice in words' -
display_invoice_tax_company_currencyBooleanreadonly=Falserelated='company_id.display_invoice_tax_company_currency'string='Taxes in company currency' -
document_sequence_editableBooleanreadonly=Falserelated='company_id.document_sequence_editable'string="Document's sequence editable" -
expense_account_activeBooleanrelated='expense_account_id.active'string='Expense Account Active' -
expense_account_idMany2onecheck_company=Truereadonly=Falserelated='company_id.expense_account_id' -
expense_currency_exchange_account_activeBooleanrelated='expense_currency_exchange_account_id.active'string='Loss Exchange Rate Account Active' -
expense_currency_exchange_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('account_type', 'in', ('expense', 'expense_other'))]"readonly=Falserelated='company_id.expense_currency_exchange_account_id'string='Loss Exchange Rate Account' -
force_restrictive_audit_trailBooleanreadonly=Falserelated='company_id.force_restrictive_audit_trail'string='Forced Audit Trail' -
group_cash_roundingBooleanimplied_group='account.group_cash_rounding'string='Total Rounding' -
group_sale_delivery_addressBooleanimplied_group='account.group_delivery_invoice_address' args: 'Customer Addresses' -
has_accounting_entriesBooleancompute='_compute_has_chart_of_accounts' -
has_chart_of_accountsBooleancompute='_compute_has_chart_of_accounts'string='Company has a chart of accounts' -
income_account_activeBooleanrelated='income_account_id.active'string='Income Account Active' -
income_account_idMany2onecheck_company=Truereadonly=Falserelated='company_id.income_account_id' -
income_currency_exchange_account_activeBooleanrelated='income_currency_exchange_account_id.active'string='Gain Exchange Rate Account Active' -
income_currency_exchange_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'domain="[('internal_group', '=', 'income')]"readonly=Falserelated='company_id.income_currency_exchange_account_id'string='Gain Exchange Rate Account' -
incoterm_idMany2one → account.incotermshelp='International Commercial Terms are a series of predefined commercial terms used in international transactions.'readonly=Falserelated='company_id.incoterm_id'string='Default incoterm' args: 'account.incoterms' -
invoice_termsHtmlreadonly=Falserelated='company_id.invoice_terms'string='Terms & Conditions' -
invoice_terms_htmlHtmlreadonly=Falserelated='company_id.invoice_terms_html'string='Terms & Conditions as a Web page' -
is_account_peppol_eligibleBooleancompute='_compute_is_account_peppol_eligible'string='PEPPOL eligible' -
link_qr_codeBooleanreadonly=Falserelated='company_id.link_qr_code'string='Display Link QR-code' -
module_account_accountantBooleanstring='Accounting' -
module_account_avataxBooleanstring='AvaTax' -
module_account_bank_statement_extractBooleancompute='_compute_module_account_bank_statement_extract'readonly=Falsestore=True args: 'Bank Statement Digitization' -
module_account_bank_statement_import_qifBooleanargs: 'Import .qif files' -
module_account_batch_paymentBooleanhelp='This allows you grouping payments into a single batch and eases the reconciliation process.\n-This installs the account_batch_payment module.'string='Use batch payments' -
module_account_budgetBooleanstring='Budget Management' -
module_account_check_printingBooleanargs: 'Allow check printing and deposits' -
module_account_extractBooleanstring='Document Digitization' -
module_account_intrastatBooleanstring='Intrastat' -
module_account_invoice_extractBooleancompute='_compute_module_account_invoice_extract'readonly=Falsestore=True args: 'Invoice Digitization' -
module_account_iso20022Booleanstring='SEPA Credit Transfer / ISO20022' -
module_account_loan_extractBooleancompute='_compute_module_account_loan_extract'readonly=Falsestore=True args: 'Loans Digitization' -
module_account_paymentBooleanstring='Invoice Online Payment' -
module_account_peppolBooleanstring='PEPPOL Invoicing' -
module_account_sepa_direct_debitBooleanstring='Use SEPA Direct Debit' -
module_currency_rate_liveBooleanstring='Automatic Currency Rates' -
module_l10n_eu_account_viesBooleanstring='VAT number validation with VIES' -
module_product_marginBooleanstring='Allow Product Margin' -
module_snailmail_accountBooleanstring='Snailmail' -
preview_readyBooleancompute='_compute_terms_preview'string='Display preview button' -
purchase_tax_idMany2one → account.taxcheck_company=Truereadonly=Falserelated='company_id.account_purchase_tax_id'string='Default Purchase Tax' args: 'account.tax' -
qr_codeBooleanreadonly=Falserelated='company_id.qr_code'string='Display SEPA QR-code' -
quick_edit_modeSelectionreadonly=Falserelated='company_id.quick_edit_mode' -
quick_edit_mode_enabledBooleanreadonly=Falserelated='company_id.quick_edit_mode_enabled'string='Quick encoding' -
restrictive_audit_trailBooleanreadonly=Falserelated='company_id.restrictive_audit_trail'string='Restricted Audit Trail' -
sale_tax_idMany2one → account.taxcheck_company=Truereadonly=Falserelated='company_id.account_sale_tax_id'string='Default Sale Tax' args: 'account.tax' -
set_to_review_documentsBooleanreadonly=Falserelated='company_id.set_to_review_documents'string='Review data' -
show_sale_receiptsBooleanconfig_parameter='account.show_sale_receipts'string='Sale Receipt' -
tax_calculation_rounding_methodSelectionreadonly=Falserelated='company_id.tax_calculation_rounding_method'string='Tax calculation rounding method' -
tax_cash_basis_journal_idMany2one → account.journalcheck_company=Truereadonly=Falserelated='company_id.tax_cash_basis_journal_id'string='Tax Cash Basis Journal' args: 'account.journal' -
tax_exigibilityBooleanreadonly=Falserelated='company_id.tax_exigibility'string='Cash Basis' -
terms_typeSelectionreadonly=Falserelated='company_id.terms_type' -
transfer_account_activeBooleanrelated='transfer_account_id.active'string='Internal Transfer Account Active' -
transfer_account_idMany2one → account.accountcheck_company=Truedomain=[('reconcile', '=', True), ('account_type', '=', 'asset_current')]help='Intermediary account used when moving from a liquidity account to another.'readonly=Falserelated='company_id.transfer_account_id'string='Internal Transfer' args: 'account.account' -
use_invoice_termsBooleanconfig_parameter='account.use_invoice_terms'string='Default Terms & Conditions' -
vat_check_viesBooleanreadonly=Falserelated='company_id.vat_check_vies'string='Verify VAT Numbers' -
vat_disabledBooleanreadonly=Falserelated='company_id.vat_disabled'string='Not Subject to VAT' -
vat_disabled_availableBooleanrelated='company_id.vat_disabled_available'string='Not Subject to VAT Available'
-
action_eu_oss_tax_mapping(self) -
action_update_terms(self) -
onchange_analytic_accounting(self)@api.onchange('group_analytic_accounting') -
onchange_module_account_budget(self)@api.onchange('module_account_budget') -
reload_template(self) -
set_values(self)
-
exclude_state_idsMany2many → res.country.statecomodel_name='res.country.state'help='Those states are ignored by the fiscal positions'string='Fiscal Exceptions'
No public methods.
-
display_rounding_warningBooleancompute='_compute_display_rounding_warning'help="The warning informs a rounding factor change might be dangerous on res.currency's form view."string='Display Rounding Warning' -
fiscal_country_codesChardefault=_get_fiscal_country_codesstore=False
-
write(self, vals)
No new fields.
Public methods (2)-
create(self, vals_list)@api.model_create_multi -
write(self, vals)
-
consolidation_currency_idMany2one → res.currencycomodel_name='res.currency'compute='_compute_consolidation_currency_id'compute_sql='_compute_sql_consolidation_currency_id'compute_sudo=True -
consolidation_rateFloataggregator=Nonecompute='_compute_consolidation_rate'compute_sql='_compute_sql_consolidation_rate'compute_sudo=Truedigits=0string='Rate'
No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
-
account_move_countIntegercompute='_compute_account_move_count'groups='account.group_account_invoice,account.group_account_readonly' -
autopost_billsSelectiondefault='ask'help='Automatically post bills for this trusted partner'required=Trueselection=[('always', 'Always'), ('ask', 'Ask after 3 validations without edits'), ('never', 'Never')]string='Auto-post bills' -
available_invoice_template_pdf_report_idsOne2many → ir.actions.reportcomodel_name='ir.actions.report'compute='_compute_available_invoice_template_pdf_report_ids' -
bank_account_countIntegercompute='_compute_bank_count'string='Bank' -
contract_idsOne2many → account.analytic.accountreadonly=Truestring='Partner Contracts' args: 'account.analytic.account', 'partner_id' -
creditMonetarycompute='_credit_debit_get'groups='account.group_account_invoice,account.group_account_readonly'help='Total amount this customer owes you.'search=_credit_searchstring='Total Receivable' -
credit_limitFloatcompany_dependent=Truecopy=Falsegroups='account.group_account_invoice,account.group_account_readonly'help='Credit limit specific to this partner.'readonly=Falsestring='Credit Limit' -
credit_to_invoiceMonetarycompute='_compute_credit_to_invoice'groups='account.group_account_invoice,account.group_account_readonly' -
currency_idMany2one → res.currencycompute='_get_company_currency'compute_sql='_get_company_currency_sql'compute_sudo=Truereadonly=Truestring='Currency' args: 'res.currency' -
customer_rankIntegercopy=Falsedefault=0 -
days_sales_outstandingFloatcompute='_compute_days_sales_outstanding'help='[(Total Receivable/Total Revenue) * number of days since the first invoice] for this customer'string='Days Sales Outstanding (DSO)' -
debitMonetarycompute='_credit_debit_get'groups='account.group_account_invoice,account.group_account_readonly'help='Total amount you have to pay to this vendor.'search=_debit_searchstring='Total Payable' -
display_invoice_edi_formatBooleandefault=<expr>store=False -
display_invoice_template_pdf_report_idBooleancompute='_compute_display_invoice_template_pdf_report_id' -
duplicate_bank_partner_idsMany2many → res.partnercompute='_compute_duplicate_bank_partner_ids' args: 'res.partner' -
fiscal_country_codesCharcompute='_compute_fiscal_country_codes' -
fiscal_country_group_codesJsoncompute='_compute_fiscal_country_group_codes' -
global_location_numberCharcompute='_compute_global_location_number'help='Global Location Number'inverse='_inverse_global_location_number'string='GLN' -
ignore_abnormal_invoice_amountBooleancompany_dependent=True -
ignore_abnormal_invoice_dateBooleancompany_dependent=True -
invoice_edi_formatSelectioncompute='_compute_invoice_edi_format'compute_sudo=Trueinverse='_inverse_invoice_edi_format'selection=[]string='eInvoice format' -
invoice_edi_format_storeCharcompany_dependent=True -
invoice_idsOne2many → account.movecopy=Falsereadonly=Truestring='Invoices' args: 'account.move', 'partner_id' -
invoice_sending_methodSelectioncompany_dependent=Trueselection=[('manual', 'Manual'), ('email', 'by Email')]string='Invoice sending' -
invoice_template_pdf_report_idMany2one → ir.actions.reportcomodel_name='ir.actions.report'domain="[('id', 'in', available_invoice_template_pdf_report_ids)]"readonly=Falsestore=Truestring='Invoice report' -
nameChartracking=True -
partner_vat_placeholderCharcompute='_compute_partner_vat_placeholder' -
property_account_payable_activeBooleanrelated='property_account_payable_id.active'string='Account Payable Active' -
property_account_payable_idMany2one → account.accountcheck_company=Truecompany_dependent=Truedomain="[('account_type', '=', 'liability_payable')]"ondelete='restrict'string='Account Payable' args: 'account.account' -
property_account_position_idMany2one → account.fiscal.positioncheck_company=Truecompany_dependent=Truehelp='The fiscal position determines the taxes/accounts used for this contact.'string='Fiscal Position' args: 'account.fiscal.position' -
property_account_receivable_activeBooleanrelated='property_account_receivable_id.active'string='Account Receivable Active' -
property_account_receivable_idMany2one → account.accountcheck_company=Truecompany_dependent=Truedomain="[('account_type', '=', 'asset_receivable')]"ondelete='restrict'string='Account Receivable' args: 'account.account' -
property_inbound_payment_method_line_idMany2one → account.payment.method.linecheck_company=Truecomodel_name='account.payment.method.line'company_dependent=Truedomain=<expr> -
property_outbound_payment_method_line_idMany2one → account.payment.method.linecheck_company=Truecomodel_name='account.payment.method.line'company_dependent=Truedomain=<expr> -
property_payment_term_idMany2one → account.payment.termcheck_company=Truecompany_dependent=Trueondelete='restrict'string='Customer Payment Terms' args: 'account.payment.term' -
property_supplier_payment_term_idMany2one → account.payment.termcheck_company=Truecompany_dependent=Truestring='Vendor Payment Terms' args: 'account.payment.term' -
qr_code_methodSelectioncompany_dependent=Truecopy=Falseselection=<expr>string='Payment QR-code' -
ref_company_idsOne2many → res.companystring='Companies that refers to partner' args: 'res.company', 'partner_id' -
show_credit_limitBooleancompute='_compute_show_credit_limit'groups='account.group_account_invoice,account.group_account_readonly' -
supplier_invoice_countIntegercompute='_compute_supplier_invoice_count'string='# Vendor Bills' -
supplier_rankIntegercopy=Falsedefault=0 -
total_invoicedMonetarycompute='_invoice_total'groups='account.group_account_invoice,account.group_account_readonly'string='Total Invoiced' -
trustSelectioncompany_dependent=Truestring='Degree of trust you have in this debtor' args: [('good', 'Good Debtor'), ('normal', 'Normal Debtor'), ('bad', 'Bad Debtor')] -
use_partner_credit_limitBooleancompute='_compute_use_partner_credit_limit'groups='account.group_account_invoice,account.group_account_readonly'help='Set a value greater than 0.0 to activate a credit limit check'inverse='_inverse_use_partner_credit_limit'string='Partner Limit'
-
action_open_business_doc(self) -
action_view_partner_invoices(self) -
create(self, vals_list)@api.model_create_multi -
get_partner_localisation_fields_required_to_invoice(self, country_id)@api.modelReturns the list of fields that needs to be filled when creating an invoice for the selected country. This is required for some flows that would allow a user to request an invoice from the portal. Using these, we can get their information and dynamically create form inputs based for the fields required legally for the company country_id. The returned fields must be of type ir.model.fields in order to handle translations :param country_id: The country for which we want the fields. :return: an array of ir.model.fields for which the user should provide values. -
write(self, vals)
-
account_numberChartracking=True -
account_typeSelectionselection_add=[('iban', 'IBAN'), ('clabe', 'CLABE')] -
activeBooleantracking=True -
allow_out_paymentBooleanhelp='Sending fake invoices with a fraudulent account number is a common phishing practice. To protect yourself, always verify new bank account numbers, preferably by calling the vendor, as phishing usually happens when their emails are compromised. Once verified, you can activate the ability to send money.'tracking=True -
bank_bicChartracking=True -
clearing_numberChartracking=True -
duplicate_bank_partner_idsMany2many → res.partnercompute='_compute_duplicate_bank_partner_ids' args: 'res.partner' -
has_phishing_warningsBooleancompute='_compute_has_phishing_warnings'store=True -
holder_nameChartracking=True -
journal_idOne2many → account.journalcheck_company=Truedomain=[('type', '=', 'bank')]help='The accounting journal corresponding to this bank account.'readonly=Truestring='Account Journal' args: 'account.journal', 'bank_account_id' -
lock_trust_fieldsBooleancompute='_compute_lock_trust_fields' -
partner_customer_rankIntegerrelated='partner_id.customer_rank' -
partner_idMany2onetracking=True -
partner_supplier_rankIntegerrelated='partner_id.supplier_rank' -
phishing_warningsJsoncompute='_compute_phishing_warnings'help="Technical field used to display warnings if there's a potential phishing risk" -
related_movesOne2many → account.moveinverse_name='partner_bank_id' args: 'account.move' -
user_has_group_validate_bank_accountBooleancompute='_compute_user_has_group_validate_bank_account'
-
action_open_business_doc(self) -
build_qr_code_base64(self, amount, free_communication, structured_communication, currency, debtor_partner, qr_method=None, silent_errors=True) -
build_qr_code_url(self, amount, free_communication, structured_communication, currency, debtor_partner, qr_method=None, silent_errors=True) -
build_qr_code_value(self, amount, free_communication, structured_communication, currency, debtor_partner, qr_method=None, silent_errors=True) -
create(self, vals_list)@api.model_create_multi -
default_get(self, fields)@api.model -
get_available_qr_methods_in_sequence(self)@api.modelSame as _get_available_qr_methods but without returning the sequence, and using it directly to order the returned list. -
retrieve_account_type(self, account_number)@api.model -
write(self, vals)
-
sequence_numberIntegercompute='_compute_split_sequence'store=True -
sequence_prefixCharcompute='_compute_split_sequence'store=True
-
init(self) -
write(self, vals)
-
fiscal_country_codesCharcompute='_compute_fiscal_country_codes'
No public methods.
-
abnormal_amount_partner_idsOne2many → res.partnercompute='_compute_abnormal_amount_partner_ids' args: 'res.partner' -
abnormal_date_partner_idsOne2many → res.partnercompute='_compute_abnormal_date_partner_ids' args: 'res.partner' -
display_force_hashBooleancompute='_compute_display_force_hash' -
display_force_postBooleancompute='_compute_display_force_post' -
force_hashBooleanstring='Force Hash' -
force_postBooleanhelp='Entries in the future are set to be auto-posted by default. Check this checkbox to post them now.'string='Force' -
ignore_abnormal_amountBoolean -
ignore_abnormal_dateBoolean -
is_entriesBooleancompute='_compute_is_entries' -
move_idsMany2many → account.moveargs: 'account.move'
-
default_get(self, fields)@api.model -
validate_move(self)
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…