account
This page combines editorial guidance with evidence extracted from the selected official branch. Always test the flow with your own permissions and configuration.
Purpose
The Account Module defines the fundamentals needed for basic double entry accounting. It also includes templates for a basic chart of accounts, balance sheet and income statement.
The analysis found 15 Python files, 131 XML files, 110 views, 156 actions, 52 menus, and 5 reports.
Functional user guide
Who should use it
This module is relevant to people responsible for account processes, company configuration, and result review. Administrators should participate whenever dependencies, permissions, or sequences are introduced.
What you will be able to do
After configuration, you will be able to identify the records added by account, execute actions in the correct state, produce its reports, and understand the information shared with other modules.
Requirements and preparation
Before activation, verify company, currency, users, and groups. Install and configure required dependencies first. When real data exists, rehearse activation and upgrades on a restored copy.
Activate dependencies first, review company configuration, and rehearse the complete workflow before production use.
Required dependencies
company— must be installed and configured before testing this module.currency— must be installed and configured before testing this module.ir— must be installed and configured before testing this module.party— must be installed and configured before testing this module.res— must be installed and configured before testing this module.
Optional integrations
- —
Recommended initial configuration
- Activate the module and sign in again to load menus and permissions.
- Review new company configuration options and defaults.
- Assign groups to test users using least privilege.
- Create small, verifiable master data before bulk imports.
- Run one complete scenario from draft to final state and inspect related records.
Module objects and concepts
- account.account: groups 9 model(s), including
account.account,account.account.deferral,account.account.open_type,account.account.party,account.account.template. These records form the information users inspect or modify during the process. - account.account-account: groups 1 model(s), including
account.account-account.tax. These records form the information users inspect or modify during the process. - account.aged_balance: groups 2 model(s), including
account.aged_balance,account.aged_balance.context. These records form the information users inspect or modify during the process. - account.balance_sheet: groups 2 model(s), including
account.balance_sheet.comparision.context,account.balance_sheet.context. These records form the information users inspect or modify during the process. - account.configuration: groups 5 model(s), including
account.configuration,account.configuration.default_account,account.configuration.default_tax_rule,account.configuration.sequence,account.configuration.tax_rounding. These records form the information users inspect or modify during the process. - account.create_chart: groups 4 model(s), including
account.create_chart,account.create_chart.account,account.create_chart.properties,account.create_chart.start. These records form the information users inspect or modify during the process. - account.fiscalyear: groups 7 model(s), including
account.fiscalyear,account.fiscalyear.balance_non_deferral,account.fiscalyear.balance_non_deferral.start,account.fiscalyear.create_periods,account.fiscalyear.create_periods.start. These records form the information users inspect or modify during the process. - account.general_ledger: groups 7 model(s), including
account.general_ledger,account.general_ledger.account,account.general_ledger.account.context,account.general_ledger.account.party,account.general_ledger.account.party.open. These records form the information users inspect or modify during the process. - account.income_statement: groups 1 model(s), including
account.income_statement.context. These records form the information users inspect or modify during the process. - account.journal: groups 4 model(s), including
account.journal,account.journal.open_cash.context,account.journal.period,account.journal.sequence. These records form the information users inspect or modify during the process. - account.move: groups 21 model(s), including
account.move,account.move.cancel,account.move.cancel.default,account.move.general_journal,account.move.line. These records form the information users inspect or modify during the process. - account.open_chart: groups 2 model(s), including
account.open_chart,account.open_chart.start. These records form the information users inspect or modify during the process. - account.period: groups 1 model(s), including
account.period. These records form the information users inspect or modify during the process. - account.reconcile: groups 2 model(s), including
account.reconcile,account.reconcile.show. These records form the information users inspect or modify during the process. - account.tax: groups 18 model(s), including
account.tax,account.tax.code,account.tax.code.line,account.tax.code.line.template,account.tax.code.open_chart. These records form the information users inspect or modify during the process. - account.trial_balance: groups 1 model(s), including
account.trial_balance. These records form the information users inspect or modify during the process. - account.update_chart: groups 3 model(s), including
account.update_chart,account.update_chart.start,account.update_chart.succeed. These records form the information users inspect or modify during the process. - company.company: groups 1 model(s), including
company.company. These records form the information users inspect or modify during the process. - party.erase: groups 1 model(s), including
party.erase. These records form the information users inspect or modify during the process. - party.party: groups 2 model(s), including
party.party,party.party.account. These records form the information users inspect or modify during the process. - party.replace: groups 1 model(s), including
party.replace. These records form the information users inspect or modify during the process.
Typical workflow
- Select the correct company and date before creating a document.
- Complete master data before lines or details.
- Use form buttons for state changes; saving is not the same as validating or posting.
- Review warnings, totals, related documents, and traceability.
- Generate the report and compare it with the record before delivery.
Actions, states, and wizards
close— action or transition that starts close. Check permissions, current state, and related records before running it.create_periods— action or transition that starts create periods. Check permissions, current state, and related records before running it.lock— action or transition that starts lock. Check permissions, current state, and related records before running it.post— action or transition that starts post. Check permissions, current state, and related records before running it.reopen— action or transition that starts reopen. Check permissions, current state, and related records before running it.locked— action or transition that starts locked. Check permissions, current state, and related records before running it.open— action or transition that starts open. Check permissions, current state, and related records before running it.account.account.open_type— wizard that collects data and performs account › account › open type. Check permissions, current state, and related records before running it.account.create_chart— wizard that collects data and performs account › create chart. Check permissions, current state, and related records before running it.account.fiscalyear.balance_non_deferral— wizard that collects data and performs account › fiscalyear › balance non deferral. Check permissions, current state, and related records before running it.account.fiscalyear.create_periods— wizard that collects data and performs account › fiscalyear › create periods. Check permissions, current state, and related records before running it.account.fiscalyear.renew— wizard that collects data and performs account › fiscalyear › renew. Check permissions, current state, and related records before running it.account.general_ledger.account.party.open— wizard that collects data and performs account › general ledger › account › party › open. Check permissions, current state, and related records before running it.account.move.cancel— wizard that collects data and performs account › move › cancel. Check permissions, current state, and related records before running it.account.move.cancel.default— wizard that collects data and performs account › move › cancel › default. Check permissions, current state, and related records before running it.account.move.open_account— wizard that collects data and performs account › move › open account. Check permissions, current state, and related records before running it.account.move.open_journal— wizard that collects data and performs account › move › open journal. Check permissions, current state, and related records before running it.account.move.reconcile_lines— wizard that collects data and performs account › move › reconcile lines. Check permissions, current state, and related records before running it.account.move.template.create— wizard that collects data and performs account › move › template › create. Check permissions, current state, and related records before running it.account.move.unreconcile_lines— wizard that collects data and performs account › move › unreconcile lines. Check permissions, current state, and related records before running it.account.open_chart.start— wizard that collects data and performs account › open chart › start. Check permissions, current state, and related records before running it.account.reconcile— wizard that collects data and performs account › reconcile. Check permissions, current state, and related records before running it.account.tax.code.open_chart— wizard that collects data and performs account › tax › code › open chart. Check permissions, current state, and related records before running it.account.tax.open_code— wizard that collects data and performs account › tax › open code. Check permissions, current state, and related records before running it.account.tax.test— wizard that collects data and performs account › tax › test. Check permissions, current state, and related records before running it.account.update_chart.start— wizard that collects data and performs account › update chart › start. Check permissions, current state, and related records before running it.
Controls before production
- Define who creates, reviews, confirms, cancels, and reads.
- Test closed periods, unauthorized users, and incomplete data.
- Verify numbering, currency, rounding, and time zone where applicable.
- Document error correction without direct database edits.
- Include its tables and files in backup and restore procedures.
Troubleshooting
- If a menu is missing, verify activation, module-list update, groups, and a new login session.
- If a field rejects a value, inspect its domain, company, state, and configured dependencies.
- If a button is hidden or disabled, check permissions and valid transitions; never change state with SQL.
- If results differ, reproduce a minimal case and compare related records before and after.
- Keep the full traceback, version, active modules, and minimal data needed to diagnose an error.
Developer guide
Architecture and extension points
The package contains 124 Python classes and declares or extends 95 models. It uses Boolean, Char, Date, Function, Integer, Many2Many, Many2One, MultiValue, Numeric, One2Many, Reference, Selection, Text. Developers should first determine whether a class creates a model or uses PoolMeta to extend one, preserve super() calls, and avoid duplicating dependency rules.
Registered or extended models
account.accountaccount.account-account.taxaccount.account.deferralaccount.account.open_typeaccount.account.partyaccount.account.templateaccount.account.template-account.tax.templateaccount.account.typeaccount.account.type.statementaccount.account.type.templateaccount.aged_balanceaccount.aged_balance.contextaccount.balance_sheet.comparision.contextaccount.balance_sheet.contextaccount.configurationaccount.configuration.default_accountaccount.configuration.default_tax_ruleaccount.configuration.sequenceaccount.configuration.tax_roundingaccount.create_chartaccount.create_chart.accountaccount.create_chart.propertiesaccount.create_chart.startaccount.fiscalyearaccount.fiscalyear.balance_non_deferralaccount.fiscalyear.balance_non_deferral.startaccount.fiscalyear.create_periodsaccount.fiscalyear.create_periods.startaccount.fiscalyear.renewaccount.fiscalyear.renew.startaccount.general_ledgeraccount.general_ledger.accountaccount.general_ledger.account.contextaccount.general_ledger.account.partyaccount.general_ledger.account.party.openaccount.general_ledger.lineaccount.general_ledger.line.contextaccount.income_statement.contextaccount.journalaccount.journal.open_cash.contextaccount.journal.periodaccount.journal.sequenceaccount.moveaccount.move.cancelaccount.move.cancel.defaultaccount.move.general_journalaccount.move.lineaccount.move.line.groupaccount.move.line.group.startaccount.move.line.templateaccount.move.open_accountaccount.move.open_journalaccount.move.open_journal.askaccount.move.reconcile.write_offaccount.move.reconcile_linesaccount.move.reconcile_lines.writeoffaccount.move.reconciliationaccount.move.templateaccount.move.template.createaccount.move.template.create.keywordsaccount.move.template.create.templateaccount.move.template.keywordaccount.move.unreconcile_linesaccount.open_chartaccount.open_chart.startaccount.periodaccount.reconcileaccount.reconcile.showaccount.taxaccount.tax.codeaccount.tax.code.lineaccount.tax.code.line.templateaccount.tax.code.open_chartaccount.tax.code.open_chart.startaccount.tax.code.templateaccount.tax.groupaccount.tax.lineaccount.tax.line.templateaccount.tax.open_codeaccount.tax.ruleaccount.tax.rule.lineaccount.tax.rule.line.templateaccount.tax.rule.templateaccount.tax.templateaccount.tax.testaccount.tax.test.resultaccount.trial_balanceaccount.update_chartaccount.update_chart.startaccount.update_chart.succeedcompany.companyparty.eraseparty.partyparty.party.accountparty.replace
Field types used
BooleanCharDateFunctionIntegerMany2ManyMany2OneMultiValueNumericOne2ManyReferenceSelectionText
Detected classes and public methods
Classes: Account, AccountDeferral, AccountMissing, AccountParty, AccountTax, AccountTemplate, AccountTemplateTaxTemplate, AccountTypeStatement, ActivePeriodMixin, AgedBalance, AgedBalanceContext, AgedBalanceReport, BalanceNonDeferral, BalanceNonDeferralStart, BalanceSheetComparisionContext, BalanceSheetContext, CancelDelegatedWarning, CancelMoves, CancelMovesDefault, CancelWarning, ChartWarning, ClosePeriodError, Company, Configuration, ConfigurationDefaultAccount, ConfigurationTaxRounding, CreateChart, CreateChartAccount, CreateChartProperties, CreateChartStart, CreateMove, CreateMoveKeywords, CreateMoveTemplate, CreatePeriods, CreatePeriodsStart, DefaultTaxRule, DeleteDelegatedWarning, FiscalYear, FiscalYearCloseError, FiscalYearDatesError, FiscalYearNotFoundError, FiscalYearReOpenError, FiscalYearSequenceError, FiscalYearValidationError, GeneralJournal, GeneralLedger, GeneralLedgerAccount, GeneralLedgerAccountContext, GeneralLedgerAccountParty, GeneralLedgerLine, GeneralLedgerLineContext, GroupLineError, GroupLines, GroupLinesStart, IncomeStatementContext, Journal, JournalCashContext, JournalPeriod, JournalSequence, KeywordStateView, Line, Move, MoveDatesError, MoveLineTemplate, MoveTemplate, MoveTemplateKeyword, OpenAccount, OpenChartAccount, OpenChartAccountStart, OpenChartTaxCode, OpenChartTaxCodeStart, OpenGeneralLedgerAccountParty, OpenJournal, OpenJournalAsk, OpenTaxCode, OpenType, Party, PartyAccount, PartyErase, PartyReplace
Methods: account_payable_used(), account_receivable_used(), allow_grouping(), apply(), cancel(), check_account(), check_date(), check_dates(), check_erase_company(), check_fiscalyear_dates(), check_journal_period_modify(), check_lines(), check_modify(), check_post_move_sequence(), check_reconciliation(), check_second_currency(), check_update_unit_price(), close(), compute(), copy(), create(), create_account(), create_fiscalyear(), create_move(), create_period(), create_periods(), create_rule(), create_rule_line(), create_tax(), create_tax_code(), create_tax_code_line(), create_type(), current(), default_amount_second_currency(), default_ask(), default_cancel(), default_company(), default_comparison(), default_credit(), default_currency(), default_currency_digits(), default_customer_tax_rule(), default_date(), default_debit(), default_end_day(), default_end_period(), default_fiscalyear(), default_frequency(), default_from_date(), default_journal(), default_kind(), default_left(), default_method(), default_move(), default_operator(), default_party_cumulate(), default_period(), default_posted(), default_previous_fiscalyear(), default_properties(), default_quantity(), default_reconciliation_sequence(), default_required(), default_reset_sequences(), default_right(), default_sequence(), default_show(), default_start(), default_start_date(), default_start_period(), default_state(), default_supplier_tax_rule(), default_tax_date(), default_tax_rounding(), default_template_override(), default_term1(), default_term2(), default_term3(), default_test(), default_to_date(), default_type(), default_unit(), default_update_unit_price(), default_writeoff(), delete(), do_balance(), do_create_(), do_group(), do_open(), do_open_(), end(), fields_to_replace(), find(), fiscalyear_defaults(), format_values(), frequency_intervals(), get_account(), get_account_party(), get_accounts(), get_active()
Code map
Detected 15 Python files, 131 XML files, and 0 explicit access files. XML connects models to views, menus, actions, and reports; access CSV files establish initial permissions.
__init__.pyaccount.pyaccount.xmlcommon.pycompany.pyconfiguration.pyconfiguration.xmldoc/conf.pyexceptions.pyfiscalyear.pyfiscalyear.xmljournal.pyjournal.xmlmessage.xmlminimal_chart.xmlminimal_chart_bg.xmlminimal_chart_ca.xmlminimal_chart_de.xmlminimal_chart_en.xmlminimal_chart_es.xmlminimal_chart_fr.xmlminimal_chart_nl.xmlminimal_chart_pt.xmlminimal_chart_ru.xmlminimal_chart_sl.xmlmove.pymove.xmlmove_template.pymove_template.xmlparty.pyparty.xmlperiod.pyperiod.xmlsetup.pytax.pytax.xmlview/account_balance_sheet_tree.xmlview/account_deferral_form.xmlview/account_deferral_tree.xmlview/account_form.xmlview/account_income_statement_tree.xmlview/account_list.xmlview/account_list_balance_sheet.xmlview/account_template_form.xmlview/account_template_list.xmlview/account_template_tree.xmlview/account_tree.xmlview/account_tree2.xmlview/account_type_form.xmlview/account_type_list.xml
Test plan
- Activation on an empty database and upgrade from the previous revision.
- Create, update, copy, and delete according to state and access rights.
- Every button, transition, and wizard with valid and invalid scenarios.
- Applicable multi-company rules, translations, time zones, and currencies.
- Combined installation with required and optional dependencies.
- Backup and restore of records, attachments, and generated reports.
Compatibility and upgrades
Keep server and modules on series 6.0. Before upgrading, compare tryton.cfg, __register__ migrations, state changes, XML IDs, and permissions. A successful build does not replace a rehearsed migration or functional data reconciliation.
Official documentation evidence
Topics found: Configuration · reconciliation_chunk · Account · Wizards · Open Chart of Accounts · Account Type · Reports · Statement · Account Party · Account Deferral · General Ledger Account · General Ledger · Trial Balance · General Ledger Account Party · Aged Balance · Fiscal Year · Create Periods · Renew Fiscal Year · Balance Non-Deferral · Period · Design · Journal · Open Journal · Journal Period · Account Move · General Journal · Cancel Moves · Account Move Line · Group Lines · Reconcile Lines · Unreconcile Lines · Reconciliation · Reconcile Accounts · Reconcile Write Off · Tax · Test Tax · Tax Line · Tax Group · Tax Rule · Tax Code
-
- doc/configuration.rst: The Account Module uses values from settings in the
[account]section of theconfiguration file <trytond:topics/configuration>.
- doc/configuration.rst: The Account Module uses values from settings in the
-
- doc/design/account.rst: In Tryton the Account concept is used to represent the different accounts that make up the
Company's <company:model-company.company>chart of accounts. These accounts are commonly organised into a structure, with each account having a single parent and zero or more sub accounts.
- doc/design/account.rst: In Tryton the Account concept is used to represent the different accounts that make up the
-
- doc/design/configuration.rst: The Account Configuration contains the settings used to configure the general behaviour and default values for accounting related activities.
-
- doc/design/fiscal-year.rst: In accounting the concept of a Fiscal Year is used when generating a
Company's <company:model-company.company>financial reports. In Tryton it groups together a set ofPeriods <model-account.period>.
- doc/design/fiscal-year.rst: In accounting the concept of a Fiscal Year is used when generating a
-
- doc/design/index.rst: The Account Module introduces the following concepts:
-
- doc/design/journal.rst: A Journal represents a book of original entry from traditional manual accounting. In Tryton it allows
Account Moves <model-account.move>of the same class to be grouped together. Every account move gets associated with a journal, and the journal defines what sequence is then used to number the account move.
- doc/design/journal.rst: A Journal represents a book of original entry from traditional manual accounting. In Tryton it allows
-
- doc/design/move.rst: The Account Move concept is used to record transactions in a
Company's <company:model-company.company>accounts. In Tryton each account move is made up from severalAccount Move Lines <model-account.move.line>. These lines form the separate parts of the transaction as required bydouble-entry bookkeeping_ principles.
- doc/design/move.rst: The Account Move concept is used to record transactions in a
-
- doc/design/tax.rst: The Tax concept allows the taxes a
Company <company:model-company.company>uses to be represented in Tryton. Taxes can be for a fixed amount, or a percentage of an item's price. The tax can also be setup to be included as part of an item's price for any later taxes that get applied, resulting in it being compounded by these later taxes.
- doc/design/tax.rst: The Tax concept allows the taxes a
-
- doc/design/template.rst: The Templates are used to predefine a set of basic accounting structures and rules. The templates have the same properties as their non-template equivalents except they are not linked to a
Company <company:model-company.company>.
- doc/design/template.rst: The Templates are used to predefine a set of basic accounting structures and rules. The templates have the same properties as their non-template equivalents except they are not linked to a
-
- doc/index.rst: The Account Module defines the fundamentals needed for basic double entry accounting. It also includes templates for a basic chart of accounts, balance sheet and income statement.