Invoicing
account · odoo/odoo
🛠 Migration considerations
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `update ir_model_data set noupdate = 't' 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
Found by automated static analysis: patterns worth a look before/after upgrading this module to a newer Odoo version.
- Repository
- odoo/odoo · module folder
- Module version
- 1.4
- Category
- Accounting/Accounting
- Folder size
- 58.37 MB
- License
- LGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- https://www.odoo.com/app/invoicing
- Last tracking update
- 2026-08-20 10:12:45
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Xavier Morel, Xavier ALT, Thibault Francois, Fabien Pinckaers, Raphael Collet, Christophe Simonis, Thibault Delavallée, Alexis de Lattre, odoo, Florent Xicluna, Josse Colpaert, Odoo Translation Bot, Joren Van Onder, Nicolas Martinelli, Nicolas Lempereur, qdp-odoo, Aaron Bohy, Géry Debongnie, Damien Bouvy, Laurent Smet, Quentin De Paoli, Christophe Monniez, Jorge Pinna Puissant, Arnold Moyaux, Julien Castiaux, Denis Roussel, Romeo Fragomeli, Victor Feyens, Andrea Grazioso (agr-odoo), Paul Morelle, Sébastien Theys, oco-odoo, Julien Mougenot, Anh Thao Pham (pta), svs-odoo, Alvaro Fuentes, Achraf (abz), Brice bib Bartoletti, Prakash Prajapati, Rémy Voet (ryv), Tiffany Chang (tic), fja-odoo, Gorash, Mathieu Duckerts-Antoine, Pierre Paridans, Yenthe666, William Braeckman, roen-odoo, Benoit Socias, Jigar Vaghela, william-andre, Florian Charlier, Louis Baudoux, John Laterre (jol), Thomas Beckers, Abdelouahab (abla), Ruben Gomes, assellalou, Florian Gilbert, Aurelien van Delft (avd), luvi, Hubert Van De Walle, Florian(flg), Valentin Chevalier, Renaud Thiry, Julien Banken, Pierrot (prro), jbw-odoo, Habib (ayh), François Honoré, Louis Wicket (wil), alsh-odoo, Pedram (PEBR), Mylyna Hy, Adrien Widart (awt), Maximilien (malb), Victor Piryns (pivi), Thomas Becquevort (thbe), Mahamadasif Ansari, Gauthier Wala (gawa), Ali Alfie (alal), Pierre-Yves Dufays, Andrew Gavgavian, Claire Bretton (clbr), Yosua Nicolaus, Robin Lejeune (role), Levi Siuzdak (sile), Naman Shah, hupo-odoo, Dylan Kiss (dyki), Carsten Wolff (cawo), Paolo Gatti, Antoine Boonen, Jinane Maksoud, Antoine Dupuis (andu), Julien Alardot (jual), Chong Wang (cwg), Odoo, Vivek Pathak, Brieuc-brd, Nguyễn Đại Dương, Harsh Modi, Zeel Patel, Sarah Bellefroid, Arnaud Sibille, adda-odoo, omra-odoo, Joris Makauskis, kdeb@odoo.com, sesn-odoo, Nicolas Viseur (vin), guva-odoo, Jay Savaliya, maad-odoo, Paul Stroobant, Aurelien MARIE (auma), Ethan Vincent, Maryam Kia, Louis (loti), jorv-odoo, reka-odoo, Sven Fuehr, AMZIL Ayoub, yosa-odoo, Seif (segn), Mohamed GadAlrab, vava-odoo, Julien Carion (juca), jobl, Bastien Fafchamps (bafa), kcv-odoo, odoostan, mega, SaddemAmine, Martin Trigaux (mat), Louis Gobert, Agustin Castro Bugallo, Rodolpho Lima, Chrysanthe (chgo), asno-odoo, mano-odoo, dijo-odoo, Harsh Shah, hatr-odoo, manv-afk, Hussein Ebrahim(hyhe), aamo-odoo, Joseph (jcb), Victorien (viso), thle-odoo, Mathieu Coutant, Khumam Alzagim, guce, yagp-odoo, Ahmad (alah), Sanchit Gupta, komugi-al, Stéphane Diez, Aungkokolin1997, Ryan Cen, casp-odoo, Claire (clbr), Rocío Vega, gteboul, Antoine (anso), Abdo Mongy, unka-odoo, Hammad Arif, prep-odoo, Léo Gizard, Antoine Dupuis, Hesham Saleh, Julien Schwanen, Saif (segn), Ian, Victor Miguel Armenta Carrillo, dija-odoo, Maira Salazar (srma), Kawtar Drissi El Bouzaidi (kdeb), Ezzuldin Zaky (ezza), sben-odoo, Logan Staelens, Smit Patel, Ahmed Abdelaziz Hasaneen, Arthur Nanson, Ricardo Gomes Rodrigues, st-yes, aizu-odoo, Emeka Ubakanma, AhmedElemary57, roto-odoo, gvar-odoo, Trinh Ngoc Hung, elhayyany, Cuong, Nguyen Minh Tran Manh, pkgu-odoo, Mohammad Abdulmoneim (abdu), Iván Todorovich, khsr-odoo, Pierre Lamotte (pila), Pierre Pulinckx, Anton Romanova (roan), Bastien PIERRE, nikj-odoo, Michaël Mattiello, masm-odoo, Corentin Heinix (cohe), Allesio, Corentin Lombard, ppat-odoo, Shrey Mehta, Carmine, Sherif Gabr, pish-odoo, Mahdi Alijani (malj), Panagiotis Kyriakou, MaximeNoirhomme, bona-odoo, plha-odoo, Thomas Josse (THJO), Krzysztof Magusiak (krma), devp-odoo, nape-odoo, Omar (OSAH), Ajit Singh, Akash Pandey, dvsh-odoo, AllePilli, krip-odoo, Hazem Ibrahim, Robin Engels (roen), Basioni (basm), sagu-odoo, rida, utma-odoo, Hadi El Yakhni, Ester Andreetto, nsirjacobs, ijja-odoo, bhra-odoo, Earth Patel, mojem, pajo, bhna-odoo, Dirk Douglas, thha-odoo, MAGREMENT, aksi-odoo, mohannedah, Junqi, agbr-odoo, Lulu Grimalkin (lugr), Yash Pathak, rare-odoo, sawer, Yassien Ghoniem, Jugurtha, igbe, Lancelot Semal, Mongy (abmn), Jeanne Delneste, hisi-odoo, Laurent Smet (LAS), aans-odoo, adip-odoo, macs-odoo, shka-odoo, Jérôme Belpaire, suju-odoo, josv-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, Amr Elkhatieb, jond-odoo, Nisarg (nipl), assh-odoo, Robert Smith (rosm), Elliot ELCO, Felipe Garcia Suez, Lionel Piraux (lipi), suma-odoo, Kevin Gerard (kege), hossamelgendy1, Quentin George, matd-odoo, YoussefM890, rapa, jand-odoo, Mohamed Barakat, Merlin Guillaume, Leonardo Medina, Luigys Toro, saurabh, rugot-odoo, pkri-odoo, Nguyen Nguyen (ngtpn), Stephane Vanmeerhaeghe (stva), Eve Lin (evlin), Léo Gizard (legi), shzi-odoo, Romain (roto), Zachary (zavan), Yosua Nicolaus (yoni), smjo-odoo, Kadam Darji, Abo Taha, Mauricio Rubio Haro, Maximilien, Nils Coenen, abmn-odoo, Andrii Kompaniiets, baje-odoo, FWA-Amri.WICAHYO, Akash, odootechatamas, Rebeca Ramírez (lare), soza-odoo, Suresh Badikala, Farah (ahmfa), ELCO, Adham Abdeltawab, Camila Vives, chpa-odoo, 3amo-magdy, Romain ROSANO (rros), Dhrumit Parmar, vifu-odoo, Wajih-Wanis, Quách Thế Hào, jeanschoenlaub, apan-odoo, metu-odoo, Hembert Iregui, Himilsinh Sindha
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- account_account_tag_code, account_add_gln, account_analytic_distribution_model_recalculate, account_analytic_required, account_analytic_tag, account_asset_management, account_budget_oca, account_chart_update, account_check_deposit, account_check_printing, account_comment_template, account_commission_oca, account_credit_control, account_debit_note, account_due_list, account_edi, account_edi_finvoice, account_edi_proxy_client, account_edi_ubl_cii, account_financial_report, account_financial_risk, account_fiscal_position_allowed_journal, account_fiscal_position_vat_check, account_fiscal_year, account_fiscal_year_closing, account_fleet, account_global_discount, account_invoice_clearing, account_invoice_constraint_chronology, account_invoice_export, account_invoice_fixed_discount, account_invoice_import, account_invoice_inter_company, account_invoice_line_report, account_invoice_margin, account_invoice_overdue_warn, account_invoice_pricelist, account_invoice_production_lot, account_invoice_refund_code, account_invoice_refund_link, account_invoice_section_sale_order, account_invoice_show_currency_rate, account_invoice_start_end_dates, account_invoice_tax_note, account_invoice_transmit_method, account_invoice_tree_currency, account_invoice_triple_discount, account_journal_general_sequence, account_journal_lock_date, account_journal_restrict_mode, account_lock_date_update, account_move_cancel_confirm, account_move_line_payment, account_move_name_sequence, account_move_pivot_view, account_move_post_date_user, account_move_print, account_move_substate, account_move_template, account_move_tier_validation, account_move_total_by_account_internal_group, account_move_update_analytic, account_netting, account_operating_unit, account_partner_company_group, account_payment, account_payment_method_base, account_payment_mode, account_payment_notification, account_payment_return, account_payment_term_cutoff_day, account_payment_term_extension, account_payroll_sheet_import, account_peppol_advanced_fields, account_qr_code_emv, account_qr_code_sepa, account_receipt_journal, account_statement_base, account_tax_balance, account_tax_fixed_amount_currency, account_tax_fixed_amount_multiplier, account_tax_python, account_tax_unece, account_test, account_update_tax_tags, account_usability, base_iban, base_vat, companyweb_payment_info, contract, currency_rate_update, date_range_account, datev_export, datev_export_dtvf, datev_import_csv_dtvf, ebill_postfinance, event_product, fieldservice_account, hotel, hr_expense, intrastat_base, l10n_account_withholding_tax, l10n_ae, l10n_ar, l10n_at, l10n_au, l10n_bd, l10n_be, l10n_bf, l10n_bg, l10n_bh, l10n_bj, l10n_bo, l10n_br, l10n_br_coa, l10n_ca, l10n_cd, l10n_cf, l10n_cg, l10n_ch, l10n_ci, l10n_cl, l10n_cm, l10n_cn, l10n_co, l10n_co_electronic_invoice, l10n_co_withholding_advance, 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_es_partner, l10n_et, l10n_eu_oss, l10n_fi, l10n_fi_edicode, l10n_fi_sale_refund_payment_reference, l10n_fr_account, l10n_fr_facturx_chorus_pro, l10n_ga, l10n_gcc_invoice, l10n_ge, l10n_gn, 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_ir_account, l10n_it, l10n_it_abicab, 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_ml, l10n_mn, l10n_mr, l10n_mt, l10n_mu_account, l10n_mx, l10n_mx_cfdi_comex, l10n_mx_sat_vendor_bill, l10n_my, l10n_mz, l10n_ne, l10n_ng, l10n_nl, l10n_nl_tax_statement, l10n_no, l10n_nz, l10n_om, l10n_pa, l10n_pe, l10n_ph, l10n_pk, l10n_pl, l10n_pt, l10n_pt_account_invoicexpress, l10n_pt_vat, l10n_qa, l10n_ro, l10n_ro_account, l10n_ro_account_edit_currency_rate, l10n_ro_payment_to_statement, 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_th_account_tax, 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_za, l10n_zm_account, lims, loyalty, mail_attach_existing_attachment_account, membership, mis_builder, mis_builder_budget, partner_invoicing_mode, partner_invoicing_mode_at_shipping, partner_manual_rank, partner_statement, pms_account, portal_account_personal_data_only, product_email_template, product_form_account_move_line_link, product_margin, product_matrix, product_standard_margin, product_tax_multicompany_default, product_variant_attribute_tax, product_variant_sale_price, project_account, purchase, purchase_partner_incoterm, sale_invoice_frequency, sale_order_type, shopify_connector, shopify_connector_account, snailmail_account, spreadsheet_account, spreadsheet_dashboard_account, srm, stock_account, stock_picking_invoicing, subscription_oca, test_auditlog, test_main_flows, web_widget_product_label_section_and_note_full_label, web_widget_product_label_section_and_note_name_visibility, web_widget_section_and_note_text_scrollable, 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 (178)
| 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_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_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 |
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_invoice |
Invoices / Bills | ir.ui.view | qweb | Inherits portal.portal_my_home |
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 |
product_uom_form_view_inherit |
product_uom_form_view_inherit | uom.uom | form | Inherits uom.product_uom_form_view |
product_view_search_catalog |
product.view.search.catalog.inherit.account | product.product | search | Inherits product.product_view_search_catalog |
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_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 |
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_group_form |
account.group.form | account.group | form | New |
view_account_group_search |
account.group.search | account.group | search | New |
view_account_group_tree |
account.group.list | account.group | list | 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_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_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_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_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_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_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 base.view_partner_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 (12)
| 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 | |
/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 |
/product/catalog/create_section |
ProductCatalogAccountController.product_catalog_create_section |
user | jsonrpc | ALL | |
/product/catalog/get_sections |
ProductCatalogAccountController.product_catalog_get_sections |
user | jsonrpc | ALL | |
/product/catalog/resequence_sections |
ProductCatalogAccountController.product_catalog_resequence_sections |
user | jsonrpc | ALL | |
/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 (92)
-
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'inverse='_inverse_code'search='_search_code'size=64string='Code'tracking=True -
code_mapping_idsOne2many → account.code.mappingcomodel_name='account.code.mapping'inverse_name='account_id' -
code_storeCharcompany_dependent=True -
company_currency_idMany2one → res.currencycompute='_compute_company_currency_id' args: 'res.currency' -
company_fiscal_country_codeCharcompute='_compute_company_fiscal_country_code' -
company_idsMany2many → res.companydefault=<expr>depends_context=('uid')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 -
group_idMany2one → account.groupcompute='_compute_account_group'help='Account prefixes can determine account groups.' args: 'account.group' -
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'search='_search_internal_group'selection=[('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 -
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' -
placeholder_codeCharcompute='_compute_placeholder_code'search='_search_placeholder_code'string='Display code' -
reconcileBooleancompute='_compute_reconcile'help='Check this box if this account allows invoices & payments matching of journal items.'precompute=Truereadonly=Falsestore=Truestring='Allow Reconciliation'tracking=True -
related_taxes_amountIntegercompute='_compute_related_taxes_amount' -
root_idMany2one → account.rootcompute='_compute_account_root'search='_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'search='_search_used'
-
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. -
copy_data(self, default=None) -
copy_translations(self, new, excluded=()) -
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' -
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' 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')]"required=Truestring='Accrual Account' -
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' -
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)
-
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.
-
analytic_profitabilitySelectioncompute='_compute_analytic_profitability'search='_search_analytic_profitability'selection=[('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'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'related='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_indexChar → account.bank.statement.linecomodel_name='account.bank.statement.line'compute='_compute_first_line_index'store=True -
is_completeBooleancompute='_compute_is_complete'store=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'
-
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'domain="['|', ('parent_id','=', False), ('is_company','=',True)]"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_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)
-
loss_account_idMany2one → account.accountcheck_company=Truecompany_dependent=Truedomain="[('account_type', 'not in', ('asset_receivable', 'liability_payable'))]"ondelete='restrict'string='Loss Account' args: 'account.account' -
nameCharrequired=Truestring='Name'translate=True -
profit_account_idMany2one → account.accountcheck_company=Truecompany_dependent=Truedomain="[('account_type', 'not in', ('asset_receivable', 'liability_payable'))]"ondelete='restrict'string='Profit Account' args: 'account.account' -
roundingFloatdefault=0.01help='Represent the non-zero value smallest coinage (for example, 0.05).'required=Truestring='Rounding Precision' -
rounding_methodSelectiondefault='HALF-UP'help='The tie-breaking rule used for float rounding operations'required=Trueselection=[('UP', 'Up'), ('DOWN', 'Down'), ('HALF-UP', 'Nearest')]string='Rounding Method' -
strategySelectiondefault='add_invoice_line'help='Specify which way will be used to round the invoice amount to the rounding precision'required=Truestring='Rounding Strategy' args: [('biggest_tax', 'Modify tax amount'), ('add_invoice_line', 'Add a rounding line')]
-
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=Truestring='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 -
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_mapBinarycompute='_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 (VAT/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_mapBinarycompute='_compute_tax_map' -
vat_requiredBooleanhelp='Apply only if partner has a VAT number.'string='VAT 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)
-
code_prefix_endCharcompute='_compute_code_prefix_end'precompute=Truereadonly=Falsestore=True -
code_prefix_startCharcompute='_compute_code_prefix_start'precompute=Truereadonly=Falsestore=True -
company_idMany2one → res.companydefault=<expr>readonly=Truerequired=True args: 'res.company' -
nameCharrequired=Truetranslate=True -
parent_idMany2one → account.groupcheck_company=Trueindex=Trueondelete='cascade'readonly=True args: 'account.group'
-
create(self, vals_list)@api.model_create_multi -
unlink(self) -
write(self, vals)
-
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_valueFloatreadonly=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')] -
partner_idMany2one → res.partnerreadonly=Truestring='Partner' args: 'res.partner' -
payment_stateSelectionreadonly=Trueselection=PAYMENT_STATE_SELECTIONstring='Payment Status' -
price_averageFloataggregator='avg'readonly=Truestring='Average Price' -
price_marginFloatreadonly=Truestring='Margin' -
price_subtotalFloatreadonly=Truestring='Untaxed Amount' -
price_subtotal_currencyFloatreadonly=Truestring='Untaxed Amount in Currency' -
price_totalFloatreadonly=Truestring='Total' -
price_total_currencyFloatreadonly=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_acc_numberCharreadonly=Falserelated='bank_account_id.acc_number' -
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_idMany2one → res.bankreadonly=Falserelated='bank_account_id.bank_id' args: 'res.bank' -
bank_statements_sourceSelectiondefault='undefined'help='Defines how the bank statements will be registered'selection=_get_bank_statements_available_sourcesstring='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=Truesize=5store=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_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'copy=Falsedomain=_get_default_account_domainondelete='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_idBooleandefault=_default_display_invoice_template_pdf_report_idstore=False -
has_invalid_statementsBooleancompute='_compute_has_invalid_statements' -
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_idsMany2many → account.journal.groupcheck_company=Truestring='Ledger Group' args: 'account.journal.group' -
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'string='Loss Account' -
nameCharrequired=Truestring='Journal Name'translate=True -
name_placeholderCharcompute='_compute_name_placeholder' -
non_deductible_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'help='Account used to register the private part of mixed expenses.'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_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'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_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.'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. -
set_bank_account(self, acc_number, bank_id=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' -
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 -
is_sample_action_available(self)@api.modelUsed to hide 'try our sample' when demo data is not installed. -
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)
-
company_idMany2one → res.companycomodel_name='res.company'default=<expr>help='Define which company can select the multi-ledger in report filters. If none is provided, available for all companies' -
excluded_journal_idsMany2many → account.journalcomodel_name='account.journal'context={'active_test': False}domain='company_id and [("company_id", "parent_of", company_id)] or []'string='Excluded Journals' -
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' -
checkedBooleancompute='_compute_checked'copy=Falsereadonly=Falsestore=Truestring='Reviewed'tracking=True -
commercial_partner_idMany2one → res.partnercheck_company=Truecompute='_compute_commercial_partner_id'ondelete='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' -
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' -
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.'ondelete='restrict'precompute=Truereadonly=Falsestore=Truestring='Fiscal Position' args: 'account.fiscal.position' -
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' -
inalterable_hashCharcopy=Falseindex='btree_not_null'readonly=Truestring='Inalterability Hash' -
incoterm_locationCharcompute='_compute_incoterm_location'readonly=Falsestore=Truestring='Incoterm Location' -
invoice_cash_rounding_idMany2one → account.cash.roundingcomodel_name='account.cash.rounding'help='Defines the smallest coinage of the currency that can be used to pay by cash.'string='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_widgetBinarycompute='_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_widgetBinarycompute='_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=Falsestring='Vendor Bill' args: 'account.move' -
is_being_sentBooleancompute='_compute_is_being_sent'help='Is the move being sent asynchronously' -
is_draft_duplicated_ref_idsBooleancompute='_compute_is_draft_duplicated_ref_ids' -
is_exact_move_duplicateBooleancompute='_compute_is_draft_duplicated_ref_ids' -
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_sale_installedBooleancompute='_compute_is_sale_installed' -
is_stornoBooleancompute='_compute_is_storno' -
journal_group_idMany2one → account.journal.groupsearch='_search_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' -
journal_line_idsOne2many → account.move.linecomodel_name='account.move.line'copy=Falsedomain=[('display_type', 'not in', ('line_section', 'line_subsection', 'line_note'))]exportable=Falseinverse_name='move_id'string='Journal Items (DEPRECATED)' -
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'search='_search_move_sent_values'selection=[('sent', 'Sent'), ('not_sent', 'Not Sent')]string='Sent' -
move_typeSelectionchange_default=Truedefault='entry'index=Truereadonly=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'readonly=Falsestore=Truestring='Terms and Conditions' -
need_cancel_requestBooleancompute='_compute_need_cancel_request' -
needed_termsBinarycompute='_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 follow-up reports.'inverse='_inverse_no_followup'readonly=Falsestring='No Follow-Up' -
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_detailsBinarycompute='_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_methodSelectioncopy=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.'selection=<expr>string='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_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' -
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 -
show_delivery_dateBooleancompute='_compute_show_delivery_date' -
show_discount_detailsBooleancompute='_compute_show_payment_term_details' -
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'copy=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_totalsBinarycompute='_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_add_from_catalog(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_post(self) -
action_print_pdf(self) -
action_register_payment(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. -
button_set_checked(self) -
check_field_access_rights(self, operation, field_names)@api.model@api.deprecated('Override of a deprecated method') -
check_move_sequence_chain(self) -
check_selected_moves(self) -
compute_move_sent_values(self)@api.depends('is_move_sent') -
copy(self, default=None) -
copy_data(self, default=None) -
create(self, vals_list)@api.model_create_multi -
get_currency_rate(self, company_id, to_currency_id, 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_purchase_document(self, include_receipts=False, move_type=False) -
is_receipt(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_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 -
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 -
count_reconciled_linesIntegercompute='_compute_reconciled_lines_ids' -
count_reconciled_lines_excluding_exchange_diffBooleancompute='_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 depending on the domain and the order chosen in the view.'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_amountFloatdefault=100 args: 'Deductibility' -
discountFloatdefault=0.0digits='Discount'string='Discount (%)' -
discount_allocation_dirtyBooleancompute='_compute_discount_allocation_needed' -
discount_allocation_keyBinarycompute='_compute_discount_allocation_key'exportable=False -
discount_allocation_neededBinarycompute='_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 -
epd_dirtyBooleancompute='_compute_epd_needed' -
epd_keyBinarycompute='_compute_epd_key'exportable=False -
epd_neededBinarycompute='_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' -
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'string='Account 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'search='_search_journal_group_id'store=Falsestring='Ledger' -
journal_idMany2onecopy=Falseindex=Trueprecompute=Truerelated='move_id.journal_id'store=True -
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' -
nameCharcompute='_compute_name'precompute=Truereadonly=Falsestore=Truestring='Label'tracking=True -
no_followupBooleancompute='_compute_no_followup'help='Exclude this journal item from follow-up reports.'inverse='_inverse_no_followup'readonly=Falsestore=Truestring='No Follow-Up' -
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'search='_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)]"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 -
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=Truecomodel_name='account.tax'compute='_compute_tax_ids'context={'active_test': False, 'hide_original_tax_ids': True}precompute=Truereadonly=Falsestore=Truestring='Taxes'tracking=True -
tax_line_idMany2one → account.taxcomodel_name='account.tax'help='Indicates that this journal item is a tax line'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'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_keyBinarycompute='_compute_term_key'exportable=False -
translated_product_nameTextcompute='_compute_translated_product_name'
-
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 -
check_field_access_rights(self, operation, field_names)@api.model@api.deprecated('Override of a deprecated method') -
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) -
get_column_to_exclude_for_colspan_calculation(self, taxes=None) -
get_import_templates(self)@api.model -
get_parent_section_line(self) -
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) -
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 a reconciliation -
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'precompute=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)
-
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' -
company_currency_idMany2onerelated='company_id.currency_id'string='Company Currency' -
company_idMany2one → res.companycomodel_name='res.company'compute='_compute_company_id'index=Falseprecompute=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'))]"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' -
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'domain="['|', ('parent_id','=', False), ('is_company','=', True)]"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_idMany2onerelated='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' -
show_partner_bank_accountBooleancompute='_compute_show_require_partner_bank' -
stateSelectioncompute='_compute_state'copy=Falsedefault='draft'readonly=Falserequired=Trueselection=[('draft', 'Draft'), ('in_process', 'In Process'), ('paid', 'Paid'), ('canceled', 'Canceled'), ('rejected', 'Rejected')]store=Truetracking=True
-
action_cancel(self) -
action_draft(self) -
action_open_business_doc(self) -
action_post(self)draft -> posted -
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)]"required=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' -
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' -
batchesBinarycompute='_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' -
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_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 Bank 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' -
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' 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
-
copy_data(self, default=None)
-
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' -
nameCharrequired=Truestring='Name'translate=True -
next_activity_type_idMany2one → mail.activity.typecomodel_name='mail.activity.type'string='Next Activity' -
sequenceIntegerdefault=10required=True -
triggerSelectiondefault='manual'help='Validate the statement line automatically (reconciliation based on your rule).'required=Truetracking=True args: [('manual', 'Manual'), ('auto_reconcile', 'Automated')]
-
action_reconcile_stat(self) -
action_set_auto_reconcile(self) -
action_set_manual(self) -
copy_data(self, default=None)
-
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=Truecomodel_name='account.tax'ondelete='restrict'string='Taxes'
No public methods.
-
activeBooleandefault=Truestring='Active' -
allow_foreign_vatBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Allow Foreign VAT' -
availability_conditionSelectioncompute='_compute_default_availability_condition'readonly=Falseselection=[('country', 'Country Matches'), ('coa', 'Chart of Accounts Matches'), ('always', 'Always')]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' -
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_analyticBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Analytic Filter' -
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 Groups' -
filter_journalsBooleancompute=<expr>depends=['root_report_id', 'section_main_report_ids']precompute=Truereadonly=Falsestore=Truestring='Journals' -
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' -
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_limitIntegerstring='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' -
prefix_groups_thresholdIntegerdefault=4000string='Prefix Groups Threshold' -
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_sectionsBooleancompute='_compute_use_sections'help='Create a structured report with multiple sections for convenient navigation and simultaneous printing.'readonly=Falsestore=Truestring='Composite Report' -
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. -
copy_data(self, default=None) -
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'string='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')]string='Computation Engine' -
figure_typeSelectionselection=FIGURE_TYPE_SELECTION_VALUESstring='Figure Type' -
formulaCharrequired=Truestring='Formula' -
green_on_positiveBooleandefault=Truestring='Is Growth Good when Positive' -
labelCharcopy=Truerequired=Truestring='Label' -
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' -
subformulaCharstring='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' -
foldableBooleanhelp="By default, we always unfold the lines that can be. If this is checked, the line won't be unfolded by default, and a folding button will be displayed."string='Foldable' -
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' -
nameCharrequired=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)
-
bank_bicCharreadonly=Falserelated='bank_id.bic'string='Bic' -
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.
-
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 -
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)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>, }], } -
copy_data(self, default=None) -
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(self)@api.onchange('amount') -
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)
-
advance_tax_payment_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'help='Downpayments posted on this account will be considered by the Tax Closing Entry.'string='Tax Advance Account' -
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 -
tax_payable_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'help='Tax current account used as a counterpart to the Tax Closing Entry when in favor of the authorities.'string='Tax Payable Account' -
tax_receivable_account_idMany2one → account.accountcheck_company=Truecomodel_name='account.account'help='Tax current account used as a counterpart to the Tax Closing Entry when in favor of the company.'string='Tax Receivable Account'
No public methods.
-
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'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 account move lines generated from this distribution line'string='Factor Ratio' -
factor_percentFloatdefault=100digits=(16, 12)help='Factor to apply on the account move lines 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_domainBinarycompute='_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' -
from_invoiceBoolean -
qr_codeBooleanreadonly=Falserelated='company_id.qr_code' -
vatCharreadonly=Falserelated='company_id.vat'
-
document_layout_save(self)Save layout and onboarding step progress, return super() result
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_templatesBinarycompute='_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
-
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_previewTextcompute='_compute_account_audit_log_preview'search='_search_account_audit_log_preview'string='Description' -
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 (1)-
write(self, vals)
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.
-
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'
No public methods.
-
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' -
fiscal_country_codesCharcompute='_compute_fiscal_country_codes' -
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_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'
-
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_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_dateDatehelp='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_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' -
chart_templateSelectionselection='_chart_template_selection' -
company_registry_placeholderCharcompute='_compute_company_registry_placeholder' -
company_vat_placeholderCharcompute='_compute_company_vat_placeholder' -
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 letters' -
display_invoice_tax_company_currencyBooleandefault=Truestring='Taxes in company currency' -
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 -
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' -
invoice_termsHtmlstring='Default Terms and Conditions'translate=True -
invoice_terms_htmlHtmlcompute='_compute_invoice_terms_html'readonly=Falsesanitize_attributes=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 VAT number'string='Foreign VAT countries' -
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_codeBooleanstring='Display QR-code on invoices' -
quick_edit_modeSelectionselection=[('out_invoices', 'Customer Invoices'), ('in_invoices', 'Vendor Bills'), ('out_and_in_invoices', 'Customer Invoices and Vendor Bills')]string='Quick encoding' -
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 -
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'
-
action_save_onboarding_company_data(self) -
action_save_onboarding_sale_tax(self)Set the onboarding step as done -
compute_account_tax_fiscal_country(self)@api.depends('country_id') -
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_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' -
write(self, vals)
-
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_limitMonetarycompute='_compute_account_default_credit_limit'help='This is the default credit limit that will be used on partners that do not have a specific limit on them.'inverse='_inverse_account_default_credit_limit'readonly=Falsestring='Default Credit Limit' -
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_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_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_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_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' -
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 letters' -
display_invoice_tax_company_currencyBooleanreadonly=Falserelated='company_id.display_invoice_tax_company_currency'string='Taxes in company currency' -
expense_account_idMany2onecheck_company=Truereadonly=Falserelated='company_id.expense_account_id' -
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='Cash 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_idMany2onecheck_company=Truereadonly=Falserelated='company_id.income_account_id' -
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_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_paymentBooleanstring='Invoice Online Payment' -
module_account_peppolBooleanstring='PEPPOL Invoicing' -
module_account_reportsBooleanargs: 'Dynamic Reports' -
module_account_sepa_direct_debitBooleanstring='Use SEPA Direct Debit' -
module_currency_rate_liveBooleanstring='Automatic Currency Rates' -
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'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' -
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_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'
-
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 (1)-
get_application_groups(self, domain)@api.model
-
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'readonly=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_idBooleandefault=_default_display_invoice_template_pdf_report_idstore=False -
duplicate_bank_partner_idsMany2manyrelated='bank_ids.duplicate_bank_partner_ids' -
fiscal_country_codesCharcompute='_compute_fiscal_country_codes' -
fiscal_country_group_codesJsoncompute='_compute_fiscal_country_group_codes' -
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_company_registry_placeholderCharcompute='_compute_partner_company_registry_placeholder' -
partner_vat_placeholderCharcompute='_compute_partner_vat_placeholder' -
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_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' -
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) -
can_edit_vat(self)Can't edit `vat` if there is (non draft) issued invoices. -
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)
-
acc_holder_nameChartracking=True -
acc_numberChartracking=True -
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_idMany2onetracking=True -
clearing_numberChartracking=True -
currency_idMany2onetracking=True -
duplicate_bank_partner_idsMany2many → res.partnercompute='_compute_duplicate_bank_partner_ids' args: 'res.partner' -
has_iban_warningBooleancompute='_compute_display_account_warning'help='Technical field used to display a warning if the IBAN country is different than the holder country.'store=True -
has_money_transfer_warningBooleancompute='_compute_display_account_warning'help='Technical field used to display a warning if the account is a transfer service account.'store=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' -
money_transfer_serviceCharcompute='_compute_money_transfer_service_name' -
partner_country_nameCharrelated='partner_id.country_id.name' -
partner_customer_rankIntegerrelated='partner_id.customer_rank' -
partner_idMany2onetracking=True -
partner_supplier_rankIntegerrelated='partner_id.supplier_rank' -
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) -
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. -
unlink(self) -
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…