Initial commit

This commit is contained in:
gsinghpal
2026-02-22 01:22:18 -05:00
commit 5200d5baf0
2394 changed files with 386834 additions and 0 deletions

View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="action_account_report_cs" model="ir.actions.client">
<field name="name">Cash Flow Statement</field>
<field name="tag">account_report</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.cash_flow_report')}"/>
</record>
<record id="action_account_report_bs" model="ir.actions.client">
<field name="name">Balance Sheet</field>
<field name="tag">account_report</field>
<field name="path">balance-sheet</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.balance_sheet')}"/>
</record>
<record id="action_account_report_exec_summary" model="ir.actions.client">
<field name="name">Executive Summary</field>
<field name="tag">account_report</field>
<field name="path">executive-summary</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.executive_summary')}"/>
</record>
<record id="action_account_report_pl" model="ir.actions.client">
<field name="name">Profit and Loss</field>
<field name="tag">account_report</field>
<field name="path">profit-and-loss</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.profit_and_loss')}"/>
</record>
<record id="action_account_report_gt" model="ir.actions.client">
<field name="name">Tax Return</field>
<field name="tag">account_report</field>
<field name="path">tax-report</field>
<field name="context" eval="{'report_id': ref('account.generic_tax_report')}"/>
</record>
<record id="action_account_report_ja" model="ir.actions.client">
<field name="name">Journal Audit</field>
<field name="tag">account_report</field>
<field name="path">journal-report</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.journal_report')}"/>
</record>
<record id="action_account_report_general_ledger" model="ir.actions.client">
<field name="name">General Ledger</field>
<field name="tag">account_report</field>
<field name="path">general-ledger</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.general_ledger_report')}"/>
</record>
<record id="action_account_report_multicurrency_revaluation" model="ir.actions.client">
<field name="name">Unrealized Currency Gains/Losses</field>
<field name="tag">account_report</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.multicurrency_revaluation_report')}"/>
</record>
<record id="action_account_report_ar" model="ir.actions.client">
<field name="name">Aged Receivable</field>
<field name="tag">account_report</field>
<field name="path">aged-receivable</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.aged_receivable_report')}"/>
</record>
<record id="action_account_report_ap" model="ir.actions.client">
<field name="name">Aged Payable</field>
<field name="tag">account_report</field>
<field name="path">aged-payable</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.aged_payable_report')}"/>
</record>
<record id="action_account_report_coa" model="ir.actions.client">
<field name="name">Trial Balance</field>
<field name="tag">account_report</field>
<field name="path">trial-balance</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.trial_balance_report')}"/>
</record>
<record id="action_account_report_partner_ledger" model="ir.actions.client">
<field name="name">Partner Ledger</field>
<field name="tag">account_report</field>
<field name="path">partner-ledger</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.partner_ledger_report')}"/>
</record>
<record id="action_account_report_sales" model="ir.actions.client">
<field name="name">EC Sales List</field>
<field name="tag">account_report</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.generic_ec_sales_report')}"/>
</record>
<record id="action_account_report_deferred_expense" model="ir.actions.client">
<field name="name">Deferred Expense</field>
<field name="tag">account_report</field>
<field name="path">deferred-expense</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.deferred_expense_report')}"/>
</record>
<record id="action_account_report_deferred_revenue" model="ir.actions.client">
<field name="name">Deferred Revenue</field>
<field name="tag">account_report</field>
<field name="path">deferred-revenue</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.deferred_revenue_report')}"/>
</record>
<record id="account_financial_current_year_earnings0" model="account.report.line">
<field name="action_id" ref="action_account_report_pl"/>
</record>
<record id="account_financial_report_executivesummary_profitability0" model="account.report.line">
<field name="action_id" ref="action_account_report_pl"/>
</record>
<record id="account_financial_report_executivesummary_balancesheet0" model="account.report.line">
<field name="action_id" ref="action_account_report_bs"/>
</record>
<record id="action_create_report_menu" model="ir.actions.server">
<field name="name">Create Menu Item</field>
<field name="model_id" ref="account.model_account_report"/>
<field name="binding_model_id" ref="account.model_account_report"/>
<field name="state">code</field>
<field name="binding_view_types">form</field>
<field name="code">
if records:
action = records._create_menu_item_for_report()
</field>
</record>
<record id="action_account_report_tree" model="ir.actions.act_window">
<field name="name">Accounting Reports</field>
<field name="res_model">account.report</field>
<field name="view_mode">list,form</field>
<field name="view_id" ref="account_report_tree"/>
<field name="search_view_id" ref="view_account_report_search"/>
</record>
<record id="action_account_report_horizontal_groups" model="ir.actions.act_window">
<field name="name">Horizontal Groups</field>
<field name="res_model">account.report.horizontal.group</field>
<field name="view_mode">list,form</field>
<field name="view_id" ref="account_report_horizontal_group_tree"/>
</record>
<record id="action_account_report_bank_reconciliation" model="ir.actions.client">
<field name="name">Bank Reconciliation</field>
<field name="tag">account_report</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.bank_reconciliation_report')}"/>
</record>
<record id="action_account_report_budget_tree" model="ir.actions.act_window">
<field name="name">Financial Budgets</field>
<field name="res_model">account.report.budget</field>
<field name="view_mode">list,form</field>
<field name="view_id" ref="account_report_budget_tree"/>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="action_account_report_assets" model="ir.actions.client">
<field name="name">Depreciation Schedule</field>
<field name="tag">account_report</field>
<field name="context" eval="{'report_id': ref('fusion_accounting.assets_report')}"/>
</record>
<menuitem id="menu_action_account_report_assets"
name="Depreciation Schedule"
action="action_account_report_assets"
parent="account.account_reports_management_menu"
groups="account.group_account_readonly"/>
</odoo>

View File

@@ -0,0 +1,326 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="aged_receivable_report" model="account.report">
<field name="name">Aged Receivable</field>
<field name="filter_date_range" eval="False"/>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_partner" eval="True"/>
<field name="filter_period_comparison" eval="False"/>
<field name="filter_account_type">receivable</field>
<field name="filter_hierarchy">never</field>
<field name="filter_show_draft" eval="False"/>
<field name="filter_multi_company">selector</field>
<field name="default_opening_date_filter">today</field>
<field name="custom_handler_model_id" ref="model_account_aged_receivable_report_handler"/>
<field name="column_ids">
<record id="aged_receivable_report_invoice_date" model="account.report.column">
<field name="name">Invoice Date</field>
<field name="expression_label">invoice_date</field>
<field name="figure_type">date</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_receivable_report_amount_currency" model="account.report.column">
<field name="name">Amount Currency</field>
<field name="expression_label">amount_currency</field>
</record>
<record id="aged_receivable_report_currency" model="account.report.column">
<field name="name">Currency</field>
<field name="expression_label">currency</field>
<field name="figure_type">string</field>
</record>
<record id="aged_receivable_report_account_name" model="account.report.column">
<field name="name">Account</field>
<field name="expression_label">account_name</field>
<field name="figure_type">string</field>
</record>
<record id="aged_receivable_report_period0" model="account.report.column">
<field name="name">At Date</field>
<field name="expression_label">period0</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_receivable_report_period1" model="account.report.column">
<field name="name">Period 1</field>
<field name="expression_label">period1</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_receivable_report_period2" model="account.report.column">
<field name="name">Period 2</field>
<field name="expression_label">period2</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_receivable_report_period3" model="account.report.column">
<field name="name">Period 3</field>
<field name="expression_label">period3</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_receivable_report_period4" model="account.report.column">
<field name="name">Period 4</field>
<field name="expression_label">period4</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_receivable_report_period5" model="account.report.column">
<field name="name">Older</field>
<field name="expression_label">period5</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_receivable_report_total" model="account.report.column">
<field name="name">Total</field>
<field name="expression_label">total</field>
<field name="sortable" eval="True"/>
</record>
</field>
<field name="line_ids">
<record id="aged_receivable_line" model="account.report.line">
<field name="name">Aged Receivable</field>
<field name="groupby">partner_id, id</field>
<field name="expression_ids">
<record id="aged_receivable_line_invoice_date" model="account.report.expression">
<field name="label">invoice_date</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">invoice_date</field>
<field name="auditable" eval="False"/>
</record>
<record id="aged_receivable_line_amount_currency" model="account.report.expression">
<field name="label">amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">amount_currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="aged_receivable_line_amount_currency_forced_currency" model="account.report.expression">
<field name="label">_currency_amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">currency_id</field>
</record>
<record id="aged_receivable_line_currency" model="account.report.expression">
<field name="label">currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="aged_receivable_line_account_name" model="account.report.expression">
<field name="label">account_name</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">account_name</field>
<field name="auditable" eval="False"/>
</record>
<record id="aged_receivable_line_period0" model="account.report.expression">
<field name="label">period0</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">period0</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_receivable_line_period1" model="account.report.expression">
<field name="label">period1</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">period1</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_receivable_line_period2" model="account.report.expression">
<field name="label">period2</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">period2</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_receivable_line_period3" model="account.report.expression">
<field name="label">period3</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">period3</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_receivable_line_period4" model="account.report.expression">
<field name="label">period4</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">period4</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_receivable_line_period5" model="account.report.expression">
<field name="label">period5</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">period5</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_receivable_line_total" model="account.report.expression">
<field name="label">total</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_receivable</field>
<field name="subformula">total</field>
<field name="auditable" eval="True"/>
</record>
</field>
</record>
</field>
</record>
<record id="aged_payable_report" model="account.report">
<field name="name">Aged Payable</field>
<field name="filter_date_range" eval="False"/>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_partner" eval="True"/>
<field name="filter_period_comparison" eval="False"/>
<field name="filter_account_type">payable</field>
<field name="filter_hierarchy">never</field>
<field name="filter_show_draft" eval="False"/>
<field name="filter_multi_company">selector</field>
<field name="default_opening_date_filter">today</field>
<field name="custom_handler_model_id" ref="model_account_aged_payable_report_handler"/>
<field name="column_ids">
<record id="aged_payable_report_invoice_date" model="account.report.column">
<field name="name">Invoice Date</field>
<field name="expression_label">invoice_date</field>
<field name="figure_type">date</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_payable_report_amount_currency" model="account.report.column">
<field name="name">Amount Currency</field>
<field name="expression_label">amount_currency</field>
</record>
<record id="aged_payable_report_currency" model="account.report.column">
<field name="name">Currency</field>
<field name="expression_label">currency</field>
<field name="figure_type">string</field>
</record>
<record id="aged_payable_report_account_name" model="account.report.column">
<field name="name">Account</field>
<field name="expression_label">account_name</field>
<field name="figure_type">string</field>
</record>
<record id="aged_payable_report_period0" model="account.report.column">
<field name="name">At Date</field>
<field name="expression_label">period0</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_payable_report_period1" model="account.report.column">
<field name="name">Period 1</field>
<field name="expression_label">period1</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_payable_report_period2" model="account.report.column">
<field name="name">Period 2</field>
<field name="expression_label">period2</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_payable_report_period3" model="account.report.column">
<field name="name">Period 3</field>
<field name="expression_label">period3</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_payable_report_period4" model="account.report.column">
<field name="name">Period 4</field>
<field name="expression_label">period4</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_payable_report_period5" model="account.report.column">
<field name="name">Older</field>
<field name="expression_label">period5</field>
<field name="sortable" eval="True"/>
</record>
<record id="aged_payable_report_total" model="account.report.column">
<field name="name">Total</field>
<field name="expression_label">total</field>
<field name="sortable" eval="True"/>
</record>
</field>
<field name="line_ids">
<record id="aged_payable_line" model="account.report.line">
<field name="name">Aged Payable</field>
<field name="groupby">partner_id, id</field>
<field name="expression_ids">
<record id="aged_payable_line_invoice_date" model="account.report.expression">
<field name="label">invoice_date</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">invoice_date</field>
<field name="auditable" eval="False"/>
</record>
<record id="aged_payable_line_amount_currency" model="account.report.expression">
<field name="label">amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">amount_currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="aged_payable_line_amount_currency_forced_currency" model="account.report.expression">
<field name="label">_currency_amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">currency_id</field>
</record>
<record id="aged_payable_line_currency" model="account.report.expression">
<field name="label">currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="aged_payable_line_account_name" model="account.report.expression">
<field name="label">account_name</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">account_name</field>
<field name="auditable" eval="False"/>
</record>
<record id="aged_payable_line_period0" model="account.report.expression">
<field name="label">period0</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">period0</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_payable_line_period1" model="account.report.expression">
<field name="label">period1</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">period1</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_payable_line_period2" model="account.report.expression">
<field name="label">period2</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">period2</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_payable_line_period3" model="account.report.expression">
<field name="label">period3</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">period3</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_payable_line_period4" model="account.report.expression">
<field name="label">period4</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">period4</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_payable_line_period5" model="account.report.expression">
<field name="label">period5</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">period5</field>
<field name="auditable" eval="True"/>
</record>
<record id="aged_payable_line_total" model="account.report.expression">
<field name="label">total</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_aged_payable</field>
<field name="subformula">total</field>
<field name="auditable" eval="True"/>
</record>
</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="assets_report" model="account.report">
<field name="name">Depreciation Schedule</field>
<field name="filter_hierarchy">optional</field>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_period_comparison" eval="False"/>
<field name="filter_journals" eval="True"/>
<field name="custom_handler_model_id" ref="model_account_asset_report_handler"/>
<field name="load_more_limit" eval="80"/>
<field name="column_ids">
<record id="assets_report_acquisition_date" model="account.report.column">
<field name="name">Acquisition Date</field>
<field name="expression_label">acquisition_date</field>
<field name="figure_type">date</field>
</record>
<record id="assets_report_first_depreciation" model="account.report.column">
<field name="name">First Depreciation</field>
<field name="expression_label">first_depreciation</field>
<field name="figure_type">date</field>
</record>
<record id="assets_report_first_method" model="account.report.column">
<field name="name">Method</field>
<field name="expression_label">method</field>
<field name="figure_type">string</field>
</record>
<record id="assets_report_duration_rate" model="account.report.column">
<field name="name">Duration / Rate</field>
<field name="expression_label">duration_rate</field>
<field name="figure_type">string</field>
</record>
<record id="assets_report_date_from" model="account.report.column">
<field name="name">date from</field>
<field name="expression_label">assets_date_from</field>
</record>
<record id="assets_report_assets_plus" model="account.report.column">
<field name="name">+</field>
<field name="expression_label">assets_plus</field>
</record>
<record id="assets_report_assets_minus" model="account.report.column">
<field name="name">-</field>
<field name="expression_label">assets_minus</field>
</record>
<record id="assets_report_assets_date_to" model="account.report.column">
<field name="name">date to</field>
<field name="expression_label">assets_date_to</field>
</record>
<record id="assets_report_depre_date_from" model="account.report.column">
<field name="name">date from</field>
<field name="expression_label">depre_date_from</field>
</record>
<record id="assets_report_depre_plus" model="account.report.column">
<field name="name">+</field>
<field name="expression_label">depre_plus</field>
</record>
<record id="assets_report_depre_minus" model="account.report.column">
<field name="name">-</field>
<field name="expression_label">depre_minus</field>
</record>
<record id="assets_report_depre_date_to" model="account.report.column">
<field name="name">date to</field>
<field name="expression_label">depre_date_to</field>
</record>
<record id="assets_report_balance" model="account.report.column">
<field name="name">book_value</field>
<field name="expression_label">balance</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,285 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="balance_sheet" model="account.report">
<field name="name">Balance Sheet</field>
<field name="filter_date_range" eval="False"/>
<field name="filter_analytic_groupby" eval="True"/>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_journals" eval="True"/>
<field name="filter_multi_company">selector</field>
<field name="default_opening_date_filter">today</field>
<field name="custom_handler_model_id" ref="model_account_balance_sheet_report_handler"/>
<field name="column_ids">
<record id="balance_sheet_balance" model="account.report.column">
<field name="name">Balance</field>
<field name="expression_label">balance</field>
</record>
</field>
<field name="line_ids">
<record id="account_financial_report_total_assets0" model="account.report.line">
<field name="name">ASSETS</field>
<field name="hierarchy_level">0</field>
<field name="code">TA</field>
<field name="horizontal_split_side">left</field>
<field name="aggregation_formula">CA.balance + FA.balance + PNCA.balance</field>
<field name="children_ids">
<record id="account_financial_report_current_assets_view0" model="account.report.line">
<field name="name">Current Assets</field>
<field name="code">CA</field>
<field name="aggregation_formula">BA.balance + REC.balance + CAS.balance + PRE.balance</field>
<field name="children_ids">
<record id="account_financial_report_bank_view0" model="account.report.line">
<field name="name">Bank and Cash Accounts</field>
<field name="code">BA</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="domain_formula">sum([('account_id.account_type', '=', 'asset_cash')])</field>
</record>
<record id="account_financial_report_receivable0" model="account.report.line">
<field name="name">Receivables</field>
<field name="code">REC</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="domain_formula">sum([('account_id.account_type', '=', 'asset_receivable'), ('account_id.non_trade', '=', False)])</field>
</record>
<record id="account_financial_report_current_assets0" model="account.report.line">
<field name="name">Current Assets</field>
<field name="code">CAS</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="domain_formula">sum(['|', ('account_id.account_type', '=', 'asset_current'), '&amp;', ('account_id.account_type', '=', 'asset_receivable'), ('account_id.non_trade', '=', True)])</field>
</record>
<record id="account_financial_report_prepayements0" model="account.report.line">
<field name="name">Prepayments</field>
<field name="code">PRE</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="domain_formula">sum([('account_id.account_type', '=', 'asset_prepayments')])</field>
</record>
</field>
</record>
<record id="account_financial_report_fixed_assets_view0" model="account.report.line">
<field name="name">Plus Fixed Assets</field>
<field name="code">FA</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="domain_formula">sum([('account_id.account_type', '=', 'asset_fixed')])</field>
</record>
<record id="account_financial_report_non_current_assets_view0" model="account.report.line">
<field name="name">Plus Non-current Assets</field>
<field name="code">PNCA</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="domain_formula">sum([('account_id.account_type', '=', 'asset_non_current')])</field>
</record>
</field>
</record>
<record id="account_financial_report_liabilities_view0" model="account.report.line">
<field name="name">LIABILITIES</field>
<field name="hierarchy_level">0</field>
<field name="code">L</field>
<field name="horizontal_split_side">right</field>
<field name="expression_ids">
<record id="account_financial_report_liabilities_view0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">CL.balance + NL.balance</field>
<field name="green_on_positive" eval="False"/>
</record>
</field>
<field name="children_ids">
<record id="account_financial_report_current_liabilities0" model="account.report.line">
<field name="name">Current Liabilities</field>
<field name="code">CL</field>
<field name="expression_ids">
<record id="account_financial_report_current_liabilities0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">CL1.balance + CL2.balance</field>
<field name="green_on_positive" eval="False"/>
</record>
</field>
<field name="children_ids">
<record id="account_financial_report_current_liabilities1" model="account.report.line">
<field name="name">Current Liabilities</field>
<field name="code">CL1</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="account_financial_report_current_liabilities1_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="['|', ('account_id.account_type', 'in', ('liability_current', 'liability_credit_card')), '&amp;', ('account_id.account_type', '=', 'liability_payable'), ('account_id.non_trade', '=', True)]"/>
<field name="subformula">-sum</field>
<field name="green_on_positive" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_current_liabilities_payable" model="account.report.line">
<field name="name">Payables</field>
<field name="code">CL2</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="account_financial_report_current_liabilities_payable_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'liability_payable'), ('account_id.non_trade', '=', False)]"/>
<field name="subformula">-sum</field>
<field name="green_on_positive" eval="False"/>
</record>
</field>
</record>
</field>
</record>
<record id="account_financial_report_non_current_liabilities0" model="account.report.line">
<field name="name">Plus Non-current Liabilities</field>
<field name="code">NL</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="account_financial_report_non_current_liabilities0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'liability_non_current')]"/>
<field name="subformula">-sum</field>
<field name="green_on_positive" eval="False"/>
</record>
</field>
</record>
</field>
</record>
<record id="account_financial_report_equity0" model="account.report.line">
<field name="name">EQUITY</field>
<field name="hierarchy_level">0</field>
<field name="code">EQ</field>
<field name="horizontal_split_side">right</field>
<field name="aggregation_formula">UNAFFECTED_EARNINGS.balance + RETAINED_EARNINGS.balance</field>
<field name="children_ids">
<record id="account_financial_unaffected_earnings0" model="account.report.line">
<field name="name">Unallocated Earnings</field>
<field name="code">UNAFFECTED_EARNINGS</field>
<field name="aggregation_formula">CURR_YEAR_EARNINGS.balance + PREV_YEAR_EARNINGS.balance</field>
<field name="children_ids">
<record id="account_financial_current_year_earnings0" model="account.report.line">
<field name="name">Current Year Unallocated Earnings</field>
<field name="code">CURR_YEAR_EARNINGS</field>
<field name="aggregation_formula"/>
<field name="expression_ids">
<record id="account_financial_current_year_earnings_pnl" model="account.report.expression">
<field name="label">pnl</field>
<field name="engine">aggregation</field>
<field name="formula">NEP.balance</field>
<field name="date_scope">from_fiscalyear</field>
<field name="subformula">cross_report</field>
</record>
<record id="account_financial_current_year_earnings_alloc" model="account.report.expression">
<field name="label">alloc</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'equity_unaffected')]"/>
<field name="date_scope">from_fiscalyear</field>
<field name="subformula">-sum</field>
</record>
<record id="account_financial_current_year_earnings_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">CURR_YEAR_EARNINGS.pnl + CURR_YEAR_EARNINGS.alloc</field>
</record>
</field>
</record>
<record id="account_financial_previous_year_earnings0" model="account.report.line">
<field name="name">Previous Years Unallocated Earnings</field>
<field name="code">PREV_YEAR_EARNINGS</field>
<field name="expression_ids">
<record id="account_financial_previous_year_earnings0_allocated_earnings" model="account.report.expression">
<field name="label">allocated_earnings</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'equity_unaffected')]"/>
<field name="subformula">-sum</field>
<field name="date_scope">from_beginning</field>
</record>
<record id="account_financial_previous_year_earnings0_balance_domain" model="account.report.expression">
<field name="label">balance_domain</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', 'in', ('income', 'income_other', 'expense_direct_cost', 'expense', 'expense_depreciation'))]"/>
<field name="subformula">-sum</field>
<field name="date_scope">from_beginning</field>
</record>
<record id="account_financial_previous_year_earnings0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">PREV_YEAR_EARNINGS.balance_domain + PREV_YEAR_EARNINGS.allocated_earnings - CURR_YEAR_EARNINGS.balance</field>
</record>
</field>
</record>
</field>
</record>
<record id="account_financial_retained_earnings0" model="account.report.line">
<field name="name">Retained Earnings</field>
<field name="code">RETAINED_EARNINGS</field>
<field name="aggregation_formula">CURR_RETAINED_EARNINGS.balance + PREV_RETAINED_EARNINGS.balance</field>
<field name="groupby" eval="False"/>
<field name="foldable" eval="False"/>
<field name="children_ids">
<record id="account_financial_retained_earnings_line_1" model="account.report.line">
<field name="name">Current Year Retained Earnings</field>
<field name="code">CURR_RETAINED_EARNINGS</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="account_financial_retained_earnings_current" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'equity')]"/>
<field name="subformula">-sum</field>
<field name="date_scope">from_fiscalyear</field>
</record>
</field>
</record>
<record id="account_financial_retained_earnings_line_2" model="account.report.line">
<field name="name">Previous Years Retained Earnings</field>
<field name="code">PREV_RETAINED_EARNINGS</field>
<field name="expression_ids">
<record id="account_financial_retained_earnings_total" model="account.report.expression">
<field name="label">total</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'equity')]"/>
<field name="subformula">-sum</field>
</record>
<record id="account_financial_retained_earnings_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">PREV_RETAINED_EARNINGS.total - CURR_RETAINED_EARNINGS.balance</field>
</record>
</field>
</record>
</field>
</record>
</field>
</record>
<record id="account_financial_report_liabilities_and_equity_view0" model="account.report.line">
<field name="name">LIABILITIES + EQUITY</field>
<field name="hierarchy_level">0</field>
<field name="code">LE</field>
<field name="horizontal_split_side">right</field>
<field name="expression_ids">
<record id="account_financial_report_liabilities_and_equity_view0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">L.balance + EQ.balance</field>
<field name="green_on_positive" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_off_sheet" model="account.report.line">
<field name="name">OFF BALANCE SHEET ACCOUNTS</field>
<field name="hierarchy_level">0</field>
<field name="code">OS</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="hide_if_zero" eval="1"/>
<field name="domain_formula">-sum([('account_id.account_type', '=', 'off_balance')])</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,474 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="bank_reconciliation_report" model="account.report">
<field name="name">Bank Reconciliation Report</field>
<field name="filter_show_draft" eval="True"/>
<field name="filter_date_range" eval="False"/>
<field name="filter_period_comparison" eval="False"/>
<field name="filter_hide_0_lines">by_default</field>
<field name="search_bar" eval="True"/>
<field name="default_opening_date_filter">today</field>
<field name="custom_handler_model_id" ref="model_account_bank_reconciliation_report_handler"/>
<field name="column_ids">
<record id="bank_reconciliation_report_date" model="account.report.column">
<field name="name">Date</field>
<field name="expression_label">date</field>
<field name="figure_type">date</field>
</record>
<record id="bank_reconciliation_report_label" model="account.report.column">
<field name="name">Label</field>
<field name="expression_label">label</field>
<field name="figure_type">string</field>
</record>
<record id="bank_reconciliation_report_amount_currency" model="account.report.column">
<field name="name">Amount Currency</field>
<field name="expression_label">amount_currency</field>
<field name="figure_type">monetary</field>
</record>
<record id="bank_reconciliation_report_currency" model="account.report.column">
<field name="name">Currency</field>
<field name="expression_label">currency</field>
<field name="figure_type">string</field>
</record>
<record id="bank_reconciliation_report_amount" model="account.report.column">
<field name="name">Amount</field>
<field name="expression_label">amount</field>
<field name="figure_type">monetary</field>
</record>
</field>
<field name="line_ids">
<record id="balance_bank" model="account.report.line">
<field name="name">Balance of Bank</field>
<field name="code">balance_bank</field>
<field name="hierarchy_level">0</field>
<field name="expression_ids">
<record id="balance_bank_expr" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">aggregation</field>
<field name="formula">last_statement_balance.amount + transaction_without_statement.amount + misc_operations.amount</field>
<field name="auditable" eval="True"/>
</record>
<record id="balance_bank_expr_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_forced_currency_amount</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
<field name="children_ids">
<record id="last_statement_balance" model="account.report.line">
<field name="name">Last statement balance</field>
<field name="code">last_statement_balance</field>
<field name="expression_ids">
<record id="last_statement_balance_amount" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_last_statement_balance_amount</field>
<field name="subformula">amount</field>
<field name="auditable" eval="False"/>
</record>
<record id="last_statement_balance_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_last_statement_balance_amount</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
<field name="children_ids">
<record id="unreconciled_last_statement_receipts" model="account.report.line">
<field name="name">Including Unreconciled Receipts</field>
<field name="code">last_statement_receipts</field>
<field name="groupby">id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="unreconciled_last_statement_receipts_date" model="account.report.expression">
<field name="label">date</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_receipts</field>
<field name="subformula">date</field>
<field name="auditable" eval="False"/>
</record>
<record id="unreconciled_last_statement_receipts_label" model="account.report.expression">
<field name="label">label</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_receipts</field>
<field name="subformula">label</field>
<field name="auditable" eval="False"/>
</record>
<record id="unreconciled_last_statement_receipts_amount_currency" model="account.report.expression">
<field name="label">amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_receipts</field>
<field name="subformula">amount_currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="unreconciled_last_statement_receipts_forced_currency_amount_currency" model="account.report.expression">
<field name="label">_currency_amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_receipts</field>
<field name="subformula">amount_currency_currency_id</field>
</record>
<record id="unreconciled_last_statement_receipts_currency" model="account.report.expression">
<field name="label">currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_receipts</field>
<field name="subformula">currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="unreconciled_last_statement_receipts_amount" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_receipts</field>
<field name="subformula">amount</field>
<field name="auditable" eval="False"/>
</record>
<record id="unreconciled_last_statement_receipts_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_receipts</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
</record>
<record id="unreconciled_last_statement_payments" model="account.report.line">
<field name="name">Including Unreconciled Payments</field>
<field name="code">last_statement_payments</field>
<field name="groupby">id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="unreconciled_last_statement_payments_date" model="account.report.expression">
<field name="label">date</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_payments</field>
<field name="subformula">date</field>
<field name="auditable" eval="False"/>
</record>
<record id="unreconciled_last_statement_payments_label" model="account.report.expression">
<field name="label">label</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_payments</field>
<field name="subformula">label</field>
<field name="auditable" eval="False"/>
</record>
<record id="unreconciled_last_statement_payments_amount_currency" model="account.report.expression">
<field name="label">amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_payments</field>
<field name="subformula">amount_currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="unreconciled_last_statement_payments_forced_currency_amount_currency" model="account.report.expression">
<field name="label">_currency_amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_payments</field>
<field name="subformula">amount_currency_currency_id</field>
</record>
<record id="unreconciled_last_statement_payments_currency" model="account.report.expression">
<field name="label">currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_payments</field>
<field name="subformula">currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="unreconciled_last_statement_payments_amount" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_payments</field>
<field name="subformula">amount</field>
<field name="auditable" eval="False"/>
</record>
<record id="unreconciled_last_statement_payments_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_last_statement_payments</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
</record>
</field>
</record>
<record id="transaction_without_statement" model="account.report.line">
<field name="name">Transactions without statement</field>
<field name="code">transaction_without_statement</field>
<field name="expression_ids">
<record id="transaction_without_statement_expr" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_transaction_without_statement_amount</field>
<field name="subformula">amount</field>
<field name="auditable" eval="False"/>
</record>
<record id="transaction_without_statement_expr_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_transaction_without_statement_amount</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
<field name="children_ids">
<record id="no_statement_unreconciled_receipt" model="account.report.line">
<field name="name">Including Unreconciled Receipts</field>
<field name="code">unreconciled_receipt</field>
<field name="groupby">id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="no_statement_unreconciled_receipt_date" model="account.report.expression">
<field name="label">date</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_receipts</field>
<field name="subformula">date</field>
<field name="auditable" eval="False"/>
</record>
<record id="no_statement_unreconciled_receipt_label" model="account.report.expression">
<field name="label">label</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_receipts</field>
<field name="subformula">label</field>
<field name="auditable" eval="False"/>
</record>
<record id="no_statement_unreconciled_receipt_amount_currency" model="account.report.expression">
<field name="label">amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_receipts</field>
<field name="subformula">amount_currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="no_statement_unreconciled_receipt_forced_currency_amount_currency" model="account.report.expression">
<field name="label">_currency_amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_receipts</field>
<field name="subformula">amount_currency_currency_id</field>
</record>
<record id="no_statement_unreconciled_receipt_currency" model="account.report.expression">
<field name="label">currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_receipts</field>
<field name="subformula">currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="no_statement_unreconciled_receipt_amount" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_receipts</field>
<field name="subformula">amount</field>
<field name="auditable" eval="False"/>
</record>
<record id="no_statement_unreconciled_receipt_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_receipts</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
</record>
<record id="no_statement_unreconciled_payments" model="account.report.line">
<field name="name">Including Unreconciled Payments</field>
<field name="code">unreconciled_payments</field>
<field name="groupby">id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="no_statement_unreconciled_payments_date" model="account.report.expression">
<field name="label">date</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_payments</field>
<field name="subformula">date</field>
<field name="auditable" eval="False"/>
</record>
<record id="no_statement_unreconciled_payments_label" model="account.report.expression">
<field name="label">label</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_payments</field>
<field name="subformula">label</field>
<field name="auditable" eval="False"/>
</record>
<record id="no_statement_unreconciled_payments_amount_currency" model="account.report.expression">
<field name="label">amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_payments</field>
<field name="subformula">amount_currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="no_statement_unreconciled_payments_forced_currency_amount_currency" model="account.report.expression">
<field name="label">_currency_amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_payments</field>
<field name="subformula">amount_currency_currency_id</field>
</record>
<record id="no_statement_unreconciled_payments_currency" model="account.report.expression">
<field name="label">currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_payments</field>
<field name="subformula">currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="no_statement_unreconciled_payments_amount" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_payments</field>
<field name="subformula">amount</field>
<field name="auditable" eval="False"/>
</record>
<record id="no_statement_unreconciled_payments_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_unreconciled_payments</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
</record>
</field>
</record>
<record id="misc_operations" model="account.report.line">
<field name="name">Misc. operations</field>
<field name="code">misc_operations</field>
<field name="expression_ids">
<record id="misc_operations_amount" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_misc_operations</field>
<field name="subformula">amount</field>
<field name="auditable" eval="True"/>
</record>
<record id="misc_operations_amount_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_misc_operations</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
</record>
</field>
</record>
<record id="outstanding" model="account.report.line">
<field name="name">Outstanding Receipts/Payments</field>
<field name="hierarchy_level">0</field>
<field name="expression_ids">
<record id="outstanding_expr" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">aggregation</field>
<field name="formula">outstanding_receipts.amount + outstanding_payments.amount</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_expr_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_forced_currency_amount</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
<field name="children_ids">
<record id="outstanding_receipts" model="account.report.line">
<field name="name">(+) Outstanding Receipts</field>
<field name="code">outstanding_receipts</field>
<field name="groupby">id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="outstanding_receipts_date" model="account.report.expression">
<field name="label">date</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_receipts</field>
<field name="subformula">date</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_receipts_label" model="account.report.expression">
<field name="label">label</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_receipts</field>
<field name="subformula">label</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_receipts_amount_currency" model="account.report.expression">
<field name="label">amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_receipts</field>
<field name="subformula">amount_currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_receipts_forced_currency_amount_currency" model="account.report.expression">
<field name="label">_currency_amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_receipts</field>
<field name="subformula">amount_currency_currency_id</field>
</record>
<record id="outstanding_receipts_currency" model="account.report.expression">
<field name="label">currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_receipts</field>
<field name="subformula">currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_receipts_amount" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_receipts</field>
<field name="subformula">amount</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_receipts_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_receipts</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
</record>
<record id="outstanding_payments" model="account.report.line">
<field name="name">(-) Outstanding Payments</field>
<field name="code">outstanding_payments</field>
<field name="groupby">id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="outstanding_payments_date" model="account.report.expression">
<field name="label">date</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_payments</field>
<field name="subformula">date</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_payments_label" model="account.report.expression">
<field name="label">label</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_payments</field>
<field name="subformula">label</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_payments_amount_currency" model="account.report.expression">
<field name="label">amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_payments</field>
<field name="subformula">amount_currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_payments_forced_currency_amount_currency" model="account.report.expression">
<field name="label">_currency_amount_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_payments</field>
<field name="subformula">amount_currency_currency_id</field>
</record>
<record id="outstanding_payments_currency" model="account.report.expression">
<field name="label">currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_payments</field>
<field name="subformula">currency</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_payments_amount" model="account.report.expression">
<field name="label">amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_payments</field>
<field name="subformula">amount</field>
<field name="auditable" eval="False"/>
</record>
<record id="outstanding_payments_forced_currency_amount" model="account.report.expression">
<field name="label">_currency_amount</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_outstanding_payments</field>
<field name="subformula">amount_currency_id</field>
</record>
</field>
</record>
</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="cash_flow_report" model="account.report">
<field name="name">Cash Flow Statement</field>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_date_range" eval="True"/>
<field name="filter_journals" eval="True"/>
<field name="filter_period_comparison" eval="False"/>
<field name="filter_multi_company">selector</field>
<field name="currency_translation">current</field>
<field name="custom_handler_model_id" ref="model_account_cash_flow_report_handler"/>
<field name="column_ids">
<record id="cash_flow_report_balance" model="account.report.column">
<field name="name">Balance</field>
<field name="expression_label">balance</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="deferred_expense_report" model="account.report">
<field name="name">Deferred Expense Report</field>
<field name="filter_journals" eval="True"/>
<field name="filter_analytic" eval="True"/>
<field name="filter_period_comparison" eval="True"/>
<field name="filter_growth_comparison" eval="False"/>
<field name="filter_multi_company">selector</field>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_hierarchy">by_default</field>
<field name="default_opening_date_filter">previous_month</field>
<field name="search_bar" eval="True"/>
<field name="custom_handler_model_id" ref="model_account_deferred_expense_report_handler"/>
<field name="column_ids">
<record id="deferred_expense_current" model="account.report.column">
<field name="name">Current</field>
<field name="expression_label">current</field>
</record>
</field>
</record>
<record id="deferred_revenue_report" model="account.report">
<field name="name">Deferred Revenue Report</field>
<field name="filter_journals" eval="True"/>
<field name="filter_analytic" eval="True"/>
<field name="filter_period_comparison" eval="True"/>
<field name="filter_growth_comparison" eval="False"/>
<field name="filter_multi_company">selector</field>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_hierarchy">by_default</field>
<field name="default_opening_date_filter">previous_month</field>
<field name="search_bar" eval="True"/>
<field name="custom_handler_model_id" ref="model_account_deferred_revenue_report_handler"/>
<field name="column_ids">
<record id="deferred_revenue_current" model="account.report.column">
<field name="name">Current</field>
<field name="expression_label">current</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,37 @@
<?xml version='1.0' encoding='utf-8'?>
<odoo>
<data noupdate="1">
<record id="digest.digest_digest_default" model="digest.digest">
<field name="kpi_account_bank_cash">True</field>
</record>
</data>
<data noupdate="0">
<record id="digest_tip_fusion_accounting_0" model="digest.tip">
<field name="name">Tip: Bulk update journal items</field>
<field name="sequence">900</field>
<field name="group_id" ref="account.group_account_user" />
<field name="tip_description" type="html">
<div>
<b class="tip_title">Tip: Bulk update journal items</b>
<p class="tip_content">From any list view, select multiple records and the list becomes editable. If you update a cell, selected records are updated all at once. Use this feature to update multiple journal entries from the General Ledger, or any Journal view.</p>
<img src="https://download.odoocdn.com/digests/fusion_accounting/static/src/img/milk-accounting-bulk.gif" width="540" class="illustration_border" />
</div>
</field>
</record>
<record id="digest_tip_fusion_accounting_1" model="digest.tip">
<field name="name">Tip: Find an Accountant or register your Accounting Firm</field>
<field name="sequence">1000</field>
<field name="group_id" ref="account.group_account_user" />
<field name="tip_description" type="html">
<div>
<b class="tip_title">Tip: Find an Accountant or register your Accounting Firm</b>
<p class="tip_content">Click here to find an accountant or if you want to list out your accounting services on Odoo</p>
<p class="mt-3">
<a class="tip_button" href="https://odoo.com/accounting-firms" target="_blank"><span class="tip_button_text">Find an Accountant</span></a>
<a class="tip_button" href="https://odoo.com/accounting-firms/register" target="_blank"><span class="tip_button_text">Register your Accounting Firm</span></a>
</p>
</div>
</field>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,395 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="executive_summary" model="account.report">
<field name="name">Executive Summary</field>
<field name="filter_multi_company">selector</field>
<field name="default_opening_date_filter">this_year</field>
<field name="column_ids">
<record id="executive_summary_column" model="account.report.column">
<field name="name">Balance</field>
<field name="expression_label">balance</field>
</record>
</field>
<field name="line_ids">
<record id="account_financial_report_executivesummary_cash0" model="account.report.line">
<field name="name">Cash</field>
<field name="hierarchy_level">0</field>
<field name="children_ids">
<record id="account_financial_report_executivesummary_cash_received0" model="account.report.line">
<field name="name">Cash received</field>
<field name="code">CR</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_cash_received0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', 'in', ('asset_cash', 'liability_credit_card')), ('debit', '&gt;', 0.0)]"/>
<field name="subformula">sum</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_cash_spent0" model="account.report.line">
<field name="name">Cash spent</field>
<field name="code">CS</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_cash_spent0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', 'in', ('asset_cash', 'liability_credit_card')), ('credit', '&gt;', 0.0)]"/>
<field name="subformula">sum</field>
<field name="green_on_positive" eval="False"/>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_cash_surplus0" model="account.report.line">
<field name="name">Cash surplus</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_cash_surplus0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">CR.balance + CS.balance</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_closing_bank_balance0" model="account.report.line">
<field name="name">Closing bank balance</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_closing_bank_balance0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', 'in', ('asset_cash', 'liability_credit_card'))]"/>
<field name="date_scope">from_beginning</field>
<field name="subformula">sum</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_profitability0" model="account.report.line">
<field name="name">Profitability</field>
<field name="hierarchy_level">0</field>
<field name="children_ids">
<record id="account_financial_report_executivesummary_income0" model="account.report.line">
<field name="name">Revenue</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_income0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">REV.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_direct_costs0" model="account.report.line">
<field name="name">Cost of Revenue</field>
<field name="code">EXEC_COS</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_direct_costs0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">COS.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
<field name="green_on_positive" eval="False"/>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_gross_profit0" model="account.report.line">
<field name="name">Gross profit</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_gross_profit0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">GRP.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_expenses0" model="account.report.line">
<field name="name">Expenses</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_expenses0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">EXP.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
<field name="green_on_positive" eval="False"/>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_profit0" model="account.report.line">
<field name="name">Net Profit</field>
<field name="code">EXEC_NEP</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_profit0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">NEP.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_balancesheet0" model="account.report.line">
<field name="name">Balance Sheet</field>
<field name="hierarchy_level">0</field>
<field name="children_ids">
<record id="account_financial_report_executivesummary_debtors0" model="account.report.line">
<field name="name">Receivables</field>
<field name="code">DEB</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_debtors0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'asset_receivable')]"/>
<field name="date_scope">from_beginning</field>
<field name="subformula">sum</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_creditors0" model="account.report.line">
<field name="name">Payables</field>
<field name="code">CRE</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_creditors0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'liability_payable')]"/>
<field name="date_scope">from_beginning</field>
<field name="subformula">sum</field>
<field name="green_on_positive" eval="False"/>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_net_assets0" model="account.report.line">
<field name="name">Net assets</field>
<field name="code">EXEC_SUMMARY_NA</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_net_assets0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">TA.balance - L.balance</field>
<field name="date_scope">from_beginning</field>
<field name="subformula">cross_report</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_performance0" model="account.report.line">
<field name="name">Performance</field>
<field name="hierarchy_level">0</field>
<field name="children_ids">
<record id="account_financial_report_executivesummary_gpmargin0" model="account.report.line">
<field name="name">Gross profit margin (gross profit / operating income)</field>
<field name="code">GPMARGIN0</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_gpmargin0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">GPMARGIN0.grp / GPMARGIN0.opinc * 100</field>
<field name="subformula">ignore_zero_division</field>
<field name="figure_type">percentage</field>
<field name="auditable" eval="False"/>
</record>
<record id="account_financial_report_executivesummary_gpmargin0_grp" model="account.report.expression">
<field name="label">grp</field>
<field name="engine">aggregation</field>
<field name="formula">GRP.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
</record>
<record id="account_financial_report_executivesummary_gpmargin0_opinc" model="account.report.expression">
<field name="label">opinc</field>
<field name="engine">aggregation</field>
<field name="formula">REV.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_npmargin0" model="account.report.line">
<field name="name">Net profit margin (net profit / income)</field>
<field name="code">NPMARGIN0</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_npmargin0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">NPMARGIN0.nep / NPMARGIN0.inc * 100</field>
<field name="subformula">ignore_zero_division</field>
<field name="figure_type">percentage</field>
<field name="auditable" eval="False"/>
</record>
<record id="account_financial_report_executivesummary_npmargin0_nep" model="account.report.expression">
<field name="label">nep</field>
<field name="engine">aggregation</field>
<field name="formula">NEP.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
</record>
<record id="account_financial_report_executivesummary_npmargin0_inc" model="account.report.expression">
<field name="label">inc</field>
<field name="engine">aggregation</field>
<field name="formula">INC.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_return_investment0" model="account.report.line">
<field name="name">Return on investments (net profit / assets)</field>
<field name="code">ROI</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_return_investment0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">ROI.nep / ROI.ta * 100</field>
<field name="subformula">ignore_zero_division</field>
<field name="figure_type">percentage</field>
<field name="auditable" eval="False"/>
</record>
<record id="account_financial_report_executivesummary_return_investment0_nep" model="account.report.expression">
<field name="label">nep</field>
<field name="engine">aggregation</field>
<field name="formula">NEP.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
</record>
<record id="account_financial_report_executivesummary_return_investment0_ta" model="account.report.expression">
<field name="label">ta</field>
<field name="engine">aggregation</field>
<field name="formula">TA.balance</field>
<field name="date_scope">from_beginning</field>
<field name="subformula">cross_report</field>
</record>
</field>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_position0" model="account.report.line">
<field name="name">Position</field>
<field name="hierarchy_level">0</field>
<field name="children_ids">
<record id="account_financial_report_executivesummary_avdebt0" model="account.report.line">
<field name="name">Average debtors days</field>
<field name="code">AVG_DEBT_DAYS</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_avdebt0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">DEB.balance / AVG_DEBT_DAYS.opinc * AVG_DEBT_DAYS.NDays</field>
<field name="subformula">ignore_zero_division</field>
<field name="green_on_positive" eval="False"/>
<field name="figure_type">float</field>
<field name="auditable" eval="False"/>
</record>
<record id="account_financial_report_executivesummary_avdebt0_opinc" model="account.report.expression">
<field name="label">opinc</field>
<field name="engine">aggregation</field>
<field name="formula">REV.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
</record>
<record id="account_financial_report_executivesummary_avdebt0_ndays" model="account.report.expression">
<field name="label">NDays</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_executive_summary_ndays</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_avgcre0" model="account.report.line">
<field name="name">Average creditors days</field>
<field name="code">AVG_CRED_DAYS</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_avgcre0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">-CRE.balance / (AVG_CRED_DAYS.cos + AVG_CRED_DAYS.exp) * AVG_CRED_DAYS.NDays</field>
<field name="subformula">ignore_zero_division</field>
<field name="green_on_positive" eval="False"/>
<field name="figure_type">float</field>
<field name="auditable" eval="False"/>
</record>
<record id="account_financial_report_executivesummary_avgcre0_cos" model="account.report.expression">
<field name="label">cos</field>
<field name="engine">aggregation</field>
<field name="formula">COS.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
</record>
<record id="account_financial_report_executivesummary_avgcre0_exp" model="account.report.expression">
<field name="label">exp</field>
<field name="engine">aggregation</field>
<field name="formula">EXP.balance</field>
<field name="date_scope">strict_range</field>
<field name="subformula">cross_report</field>
</record>
<record id="account_financial_report_executivesummary_avgcre0_ndays" model="account.report.expression">
<field name="label">NDays</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_executive_summary_ndays</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_st_cash_forecast0" model="account.report.line">
<field name="name">Short term cash forecast</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_st_cash_forecast0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">DEB.balance + CRE.balance</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_executivesummary_ca_to_l0" model="account.report.line">
<field name="name">Current assets to liabilities</field>
<field name="code">CATL</field>
<field name="expression_ids">
<record id="account_financial_report_executivesummary_ca_to_l0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">CATL.ca / CATL.cl</field>
<field name="subformula">ignore_zero_division</field>
<field name="figure_type">float</field>
<field name="auditable" eval="False"/>
</record>
<record id="account_financial_report_executivesummary_ca_to_l0_ca" model="account.report.expression">
<field name="label">ca</field>
<field name="engine">aggregation</field>
<field name="formula">CA.balance</field>
<field name="date_scope">from_beginning</field>
<field name="subformula">cross_report</field>
</record>
<record id="account_financial_report_executivesummary_ca_to_l0_cl" model="account.report.expression">
<field name="label">cl</field>
<field name="engine">aggregation</field>
<field name="formula">CL.balance</field>
<field name="date_scope">from_beginning</field>
<field name="subformula">cross_report</field>
</record>
</field>
</record>
</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
<!-- ============================================================ -->
<!-- DEFAULT FOLLOW-UP LEVELS -->
<!-- ============================================================ -->
<record id="fusion_followup_level_1" model="fusion.followup.level">
<field name="name">First Reminder</field>
<field name="sequence">10</field>
<field name="delay">15</field>
<field name="send_email" eval="True"/>
<field name="send_sms" eval="False"/>
<field name="send_letter" eval="False"/>
<field name="join_invoices" eval="True"/>
<field name="description" type="html">
<p>Dear Customer,</p>
<p>We notice that your account has an outstanding balance past the due date.
We kindly ask you to settle the amount at your earliest convenience.</p>
<p>If payment has already been made, please disregard this notice.</p>
<p>Best regards</p>
</field>
<field name="company_id" ref="base.main_company"/>
</record>
<record id="fusion_followup_level_2" model="fusion.followup.level">
<field name="name">Second Reminder</field>
<field name="sequence">20</field>
<field name="delay">30</field>
<field name="send_email" eval="True"/>
<field name="send_sms" eval="False"/>
<field name="send_letter" eval="True"/>
<field name="join_invoices" eval="True"/>
<field name="description" type="html">
<p>Dear Customer,</p>
<p>Despite our previous reminder, your account still has an overdue balance.
We urge you to arrange payment promptly to avoid further action.</p>
<p>Please contact us immediately if there is a dispute regarding the invoice.</p>
<p>Best regards</p>
</field>
<field name="company_id" ref="base.main_company"/>
</record>
<record id="fusion_followup_level_3" model="fusion.followup.level">
<field name="name">Final Notice</field>
<field name="sequence">30</field>
<field name="delay">45</field>
<field name="send_email" eval="True"/>
<field name="send_sms" eval="True"/>
<field name="send_letter" eval="True"/>
<field name="join_invoices" eval="True"/>
<field name="description" type="html">
<p>Dear Customer,</p>
<p>This is our final notice regarding your overdue account balance.
Immediate payment is required. Failure to remit payment may result
in suspension of services and further collection measures.</p>
<p>Please contact our accounting department without delay.</p>
<p>Best regards</p>
</field>
<field name="company_id" ref="base.main_company"/>
</record>
<!-- ============================================================ -->
<!-- DEFAULT EMAIL TEMPLATE -->
<!-- ============================================================ -->
<record id="email_template_fusion_followup_default" model="mail.template">
<field name="name">Fusion: Payment Follow-up</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="email_from">{{ (object.company_id.email or user.email_formatted) }}</field>
<field name="subject">{{ object.company_id.name }} - Payment Reminder for {{ object.name }}</field>
<field name="body_html" type="html">
<div style="margin: 0; padding: 0; font-family: Arial, sans-serif;">
<p style="margin: 0 0 12px 0;">
Dear <t t-out="object.name or 'Customer'"/>,
</p>
<p style="margin: 0 0 12px 0;">
We are writing to remind you that your account with
<strong><t t-out="object.company_id.name or ''"/></strong>
has an outstanding balance that is past due.
</p>
<p style="margin: 0 0 12px 0;">
Please arrange payment at your earliest convenience. If you have
already sent payment, please disregard this notice and accept
our thanks.
</p>
<p style="margin: 0 0 12px 0;">
Should you have any questions or wish to discuss payment
arrangements, please do not hesitate to contact us.
</p>
<p style="margin: 0 0 4px 0;">Best regards,</p>
<p style="margin: 0;">
<t t-out="user.name or ''"/><br/>
<t t-out="object.company_id.name or ''"/>
</p>
</div>
</field>
<field name="lang">{{ object.lang }}</field>
<field name="auto_delete" eval="False"/>
</record>
<!-- ============================================================ -->
<!-- SCHEDULED ACTION (ir.cron) -->
<!-- ============================================================ -->
<record id="cron_fusion_followup_check" model="ir.cron">
<field name="name">Fusion: Payment Follow-up Check</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="state">code</field>
<field name="code">model.compute_partners_needing_followup()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="active" eval="True"/>
</record>
</odoo>

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Switch root menu "Invoicing" to "Accounting" -->
<!-- Top menu item -->
<menuitem name="Accounting"
id="menu_accounting"
groups="account.group_account_readonly,account.group_account_invoice"
web_icon="fusion_accounting,static/description/icon.png"
sequence="60"/>
<!-- move existing submenus to point to the new parent -->
<record id="account.menu_finance_receivables" model="ir.ui.menu">
<field name="parent_id" ref="menu_accounting"/>
</record>
<record id="account.menu_finance_payables" model="ir.ui.menu">
<field name="parent_id" ref="menu_accounting"/>
</record>
<record id="account.menu_finance_entries" model="ir.ui.menu">
<field name="parent_id" ref="menu_accounting"/>
</record>
<record id="account.menu_finance_reports" model="ir.ui.menu">
<field name="parent_id" ref="menu_accounting"/>
</record>
<record id="account.menu_finance_configuration" model="ir.ui.menu">
<field name="parent_id" ref="menu_accounting"/>
</record>
<record id="account.menu_board_journal_1" model="ir.ui.menu">
<field name="parent_id" ref="menu_accounting"/>
</record>
<menuitem id="account.menu_account_config" name="Settings" parent="account.menu_finance_configuration" sequence="0" groups="base.group_system"/>
</odoo>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="fusion_accounting_tour" model="web_tour.tour">
<field name="name">fusion_accounting_tour</field>
<field name="sequence">50</field>
<field name="rainbow_man_message"><![CDATA[
<strong><b>Good job!</b> You went through all steps of this tour.</strong>
<br>See how to manage your customer invoices in the <b>Customers/Invoices</b> menu
]]></field>
</record>
</odoo>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="general_ledger_report" model="account.report">
<field name="name">General Ledger</field>
<field name="filter_journals" eval="True"/>
<field name="filter_analytic" eval="True"/>
<field name="filter_period_comparison" eval="False"/>
<field name="filter_multi_company">selector</field>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_hide_0_lines">never</field>
<field name="default_opening_date_filter">this_month</field>
<field name="search_bar" eval="True"/>
<field name="load_more_limit" eval="80"/>
<field name="custom_handler_model_id" ref="model_account_general_ledger_report_handler"/>
<field name="column_ids">
<record id="general_ledger_report_date" model="account.report.column">
<field name="name">Date</field>
<field name="expression_label">date</field>
<field name="figure_type">date</field>
</record>
<record id="general_ledger_report_communication" model="account.report.column">
<field name="name">Communication</field>
<field name="expression_label">communication</field>
<field name="figure_type">string</field>
</record>
<record id="general_ledger_report_partner_name" model="account.report.column">
<field name="name">Partner</field>
<field name="expression_label">partner_name</field>
<field name="figure_type">string</field>
</record>
<record id="general_ledger_report_amount_currency" model="account.report.column">
<field name="name">Currency</field>
<field name="expression_label">amount_currency</field>
</record>
<record id="general_ledger_report_debit" model="account.report.column">
<field name="name">Debit</field>
<field name="expression_label">debit</field>
</record>
<record id="general_ledger_report_credit" model="account.report.column">
<field name="name">Credit</field>
<field name="expression_label">credit</field>
</record>
<record id="general_ledger_report_balance" model="account.report.column">
<field name="name">Balance</field>
<field name="expression_label">balance</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="account.generic_tax_report" model="account.report">
<field name="custom_handler_model_id" ref="model_account_generic_tax_report_handler"/>
</record>
<record id="account.generic_tax_report_account_tax" model="account.report">
<field name="custom_handler_model_id" ref="model_account_generic_tax_report_handler_account_tax"/>
</record>
<record id="account.generic_tax_report_tax_account" model="account.report">
<field name="custom_handler_model_id" ref="model_account_generic_tax_report_handler_tax_account"/>
</record>
</odoo>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="auto_reconcile_bank_statement_line" model="ir.cron">
<field name="name">Try to reconcile automatically your statement lines</field>
<field name="model_id" ref="model_account_bank_statement_line"/>
<field name="state">code</field>
<field name="code">model._cron_try_auto_reconcile_statement_lines(batch_size=100)</field>
<field name='interval_number'>1</field>
<field name='interval_type'>days</field>
</record>
</odoo>

View File

@@ -0,0 +1,235 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="journal_report" model="account.report">
<field name="name">Journal Report</field>
<field name="filter_journals" eval="True"/>
<field name="filter_show_draft" eval="True"/>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_hierarchy">never</field>
<field name="filter_period_comparison" eval="False"/>
<field name="filter_unreconciled" eval="False"/>
<field name="filter_hide_0_lines">never</field>
<field name="default_opening_date_filter">this_year</field>
<field name="custom_handler_model_id" ref="model_account_journal_report_handler"/>
<field name="column_ids">
<record id="journal_report_code" model="account.report.column">
<field name="name">Code</field>
<field name="expression_label">code</field>
<field name="figure_type">string</field>
</record>
<record id="journal_report_debit" model="account.report.column">
<field name="name">Debit</field>
<field name="expression_label">debit</field>
</record>
<record id="journal_report_credit" model="account.report.column">
<field name="name">Credit</field>
<field name="expression_label">credit</field>
</record>
<record id="journal_report_balance" model="account.report.column">
<field name="name">Balance</field>
<field name="expression_label">balance</field>
</record>
</field>
<field name="line_ids">
<record id="journal_report_line" model="account.report.line">
<field name="name">Name</field>
<field name="groupby">journal_id, account_id</field>
<field name="hierarchy_level">0</field>
<field name="expression_ids">
<record id="journal_report_line_code" model="account.report.expression">
<field name="label">code</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_journal_report</field>
<field name="subformula">code</field>
</record>
<record id="journal_report_line_debit" model="account.report.expression">
<field name="label">debit</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_journal_report</field>
<field name="subformula">debit</field>
</record>
<record id="journal_report_line_credit" model="account.report.expression">
<field name="label">credit</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_journal_report</field>
<field name="subformula">credit</field>
</record>
<record id="journal_report_line_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_journal_report</field>
<field name="subformula">balance</field>
</record>
</field>
</record>
</field>
</record>
<template id="journal_report_pdf_export_main">
<html>
<head>
<base t-att-href="base_url"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<t t-call-assets="fusion_accounting.assets_pdf_export" t-js="False"/>
</head>
<body t-att-dir="env['res.lang']._get_data(code=lang or env.user.lang).direction or 'ltr'">
<div t-att-class="options['css_custom_class']">
<header>
<div class="row align-items-center">
<div class="col-4 o_header_font">
<t t-call="fusion_accounting.company_information"/>
</div>
<div class="col-4">
<div class="o_title">
<t t-if="report.filter_show_draft and options['all_entries']">[Draft]</t>
<t t-out="report.name"/>
</div>
<div class="o_subtitle">
<t t-out="options['date']['date_from']"/> - <t t-out="options['date']['date_to']"/>
</div>
</div>
</div>
</header>
<!-- Journal entries -->
<t t-foreach="document_data['journals_vals']" t-as="journal_vals">
<section style="page-break-after: always;">
<div class="o_section_title">
<t t-out="journal_vals.get('name')"/>
</div>
<div class="d-flex align-items-start">
<t t-call="fusion_accounting.journal_report_pdf_body_default"/>
</div>
<t t-if="journal_vals.get('tax_summary')">
<t t-call="fusion_accounting.pdf_journal_report_taxes_summary">
<t t-set="tax_summary" t-value="journal_vals['tax_summary']"/>
</t>
</t>
</section>
</t>
<section t-if="document_data.get('global_tax_summary')">
<div class="o_section_title">
Global Tax Summary
</div>
<t t-call="fusion_accounting.pdf_journal_report_taxes_summary">
<t t-set="tax_summary" t-value="document_data['global_tax_summary']"/>
</t>
</section>
</div>
</body>
</html>
</template>
<template id="journal_report_pdf_body_default">
<table class="o_table">
<thead>
<tr>
<t t-foreach="journal_vals['columns']" t-as="column">
<th t-att-class="column.get('class', '')">
<t t-out="column.get('name', '')"/>
</th>
</t>
</tr>
</thead>
<tbody>
<t t-foreach="journal_vals['lines']" t-as="line">
<tr t-att-class="line.get('line_class', '')">
<t t-foreach="journal_vals['columns']" t-as="column">
<t t-if="line.get(column['label'])">
<t t-set="cell_style" t-value="line[column['label']].get('class', '')"/>
<t t-set="column_style" t-value="column.get('class', '')"/>
<td t-att-class="cell_style + column_style">
<t t-out="line[column['label']]['data']"/>
</td>
</t>
<t t-else="">
<td/>
</t>
</t>
</tr>
</t>
</tbody>
</table>
</template>
<template id="pdf_journal_report_taxes_summary">
<div class="container tax_summary" style="page-break-inside: avoid;">
<t t-set="taxes" t-value="tax_summary.get('tax_report_lines')"/>
<t t-if="taxes">
<div class="row o_section_subtitle">
<p>Tax Applied</p>
</div>
<div class="row taxes">
<t t-set="extra_columns" t-value="tax_summary.get('extra_columns')"/>
<table class="o_table">
<thead>
<tr>
<th t-if="len(taxes) > 1">Country</th>
<th>Name</th>
<th class="o_right_alignment">Base Amount</th>
<th class="o_right_alignment">Tax Amount</th>
<th t-if="tax_summary.get('tax_non_deductible_column')" class="o_right_alignment">Non-Deductible</th>
<th t-if="tax_summary.get('tax_deductible_column')" class="o_right_alignment">Deductible</th>
<th t-if="tax_summary.get('tax_due_column')" class="o_right_alignment">Due</th>
</tr>
</thead>
<tbody>
<t t-foreach="taxes" t-as="country_name">
<tr t-foreach="taxes[country_name]" t-as="tax">
<t t-if="country_name_size > 1">
<td>
<t t-if="tax_index == 0" t-out="country_name"/>
</td>
</t>
<td t-out="tax['name']"/>
<td class="o_right_alignment" t-out="tax['base_amount']"/>
<td class="o_right_alignment" t-out="tax['tax_amount']"/>
<td t-if="tax_summary.get('tax_non_deductible_column')" class="o_right_alignment" t-out="tax['tax_non_deductible']"/>
<td t-if="tax_summary.get('tax_deductible_column')" class="o_right_alignment" t-out="tax['tax_deductible']"/>
<td t-if="tax_summary.get('tax_due_column')" class="o_right_alignment" t-out="tax['tax_due']"/>
</tr>
</t>
</tbody>
</table>
</div>
</t>
<t t-set="grids" t-value="tax_summary.get('tax_grid_summary_lines')"/>
<t t-if="grids">
<div class="row o_section_subtitle">
<p>Impacted Tax Grids</p>
</div>
<div class="row tax_grid">
<table class="o_table">
<thead>
<tr>
<th t-if="len(grids) > 1">Country</th>
<th>Grid</th>
<th class="o_right_alignment">+</th>
<th class="o_right_alignment">-</th>
<th class="o_right_alignment">Impact On Grid</th>
</tr>
</thead>
<tbody>
<t t-foreach="grids" t-as="country_name">
<tr t-foreach="grids[country_name]" t-as="grid_name">
<t t-if="country_name_size > 1">
<td>
<t t-if="grid_name_index == 0" t-out="country_name"/>
</td>
</t>
<td t-out="grid_name"/>
<td class="o_right_alignment" t-out="grids[country_name][grid_name].get('+', 0)"/>
<td class="o_right_alignment" t-out="grids[country_name][grid_name].get('-', 0)"/>
<td class="o_right_alignment" t-out="grids[country_name][grid_name]['impact']"/>
</tr>
</t>
</tbody>
</table>
</div>
</t>
</div>
</template>
</odoo>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
<!-- ============================================================ -->
<!-- SEQUENCE: Loan Reference -->
<!-- ============================================================ -->
<record id="seq_fusion_loan" model="ir.sequence">
<field name="name">Fusion Loan</field>
<field name="code">fusion.loan</field>
<field name="prefix">LOAN/%(year)s/</field>
<field name="padding">4</field>
<field name="company_id" eval="False"/>
</record>
<!-- ============================================================ -->
<!-- SCHEDULED ACTION: Auto-generate Loan Entries -->
<!-- ============================================================ -->
<record id="ir_cron_generate_loan_entries" model="ir.cron">
<field name="name">Generate Loan Installment Entries</field>
<field name="model_id" ref="model_fusion_loan"/>
<field name="state">code</field>
<field name="code">model._cron_generate_loan_entries()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="active">True</field>
</record>
</odoo>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="tax_closing_activity_type" model="mail.activity.type">
<field name="name">Tax Report</field>
<field name="summary">Tax Report</field>
<field name="category">tax_report</field>
<field name="res_model">account.journal</field>
<field name="chaining_type">suggest</field>
</record>
<record id="mail_activity_type_tax_report_to_pay" model="mail.activity.type">
<field name="name">Pay Tax</field>
<field name="summary">Tax is ready to be paid</field>
<field name="category">tax_report</field>
<field name="delay_count">0</field>
<field name="delay_unit">days</field>
<field name="delay_from">previous_activity</field>
<field name="res_model">account.move</field>
<field name="chaining_type">suggest</field>
</record>
<record id="mail_activity_type_tax_report_to_be_sent" model="mail.activity.type">
<field name="name">Tax Report Ready</field>
<field name="summary">Tax report is ready to be sent to the administration</field>
<field name="category">tax_report</field>
<field name="delay_count">0</field>
<field name="delay_unit">days</field>
<field name="delay_from">current_date</field>
<field name="res_model">account.move</field>
<field name="chaining_type">suggest</field>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,26 @@
<odoo>
<record id="email_template_customer_statement" model="mail.template">
<field name="name">Customer Statement</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="email_from">{{ object._get_followup_responsible().email_formatted }}</field>
<field name="subject">{{ (object.company_id or object._get_followup_responsible().company_id).name }} Statement - {{ object.commercial_company_name }}</field>
<field name="body_html" type="html">
<div style="margin: 0px; padding: 0px;">
<p style="margin: 0px; padding: 0px;">
<t t-if="object.id != object.commercial_partner_id.id">Dear <t t-out="object.name or ''"/> (<t t-out="object.commercial_partner_id.name or ''"/>),</t>
<t t-else="">Dear <t t-out="object.name or ''"/>,</t>
<br/>
Please find enclosed the statement of your account.
<br/>
Do not hesitate to contact us if you have any questions.
<br/>
Sincerely,
<br/>
<t t-out="object._get_followup_responsible().name if is_html_empty(object._get_followup_responsible().signature) else object._get_followup_responsible().signature"/>
</p>
</div>
</field>
<field name="lang">{{ object.lang }}</field>
<field name="auto_delete" eval="False"/>
</record>
</odoo>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<menuitem id="menu_action_account_report_partner_ledger" name="Partner Ledger"
action="action_account_report_partner_ledger" groups="account.group_account_readonly"
parent="account.account_reports_partners_reports_menu"/>
<menuitem id="menu_action_account_report_aged_receivable" name="Aged Receivable" action="action_account_report_ar"
groups="account.group_account_readonly" parent="account.account_reports_partners_reports_menu"/>
<menuitem id="menu_action_account_report_aged_payable" name="Aged Payable" action="action_account_report_ap"
groups="account.group_account_readonly" parent="account.account_reports_partners_reports_menu"/>
<menuitem id="account_reports_audit_reports_menu" name="Audit Reports" parent="account.menu_finance_reports"
sequence="2">
<menuitem id="menu_action_account_report_general_ledger" name="General Ledger"
action="action_account_report_general_ledger" groups="account.group_account_readonly"/>
<menuitem id="menu_action_account_report_coa" name="Trial Balance" action="action_account_report_coa"
groups="account.group_account_readonly"/>
<menuitem id="menu_action_account_report_ja" name="Journal Audit" action="action_account_report_ja"
groups="account.group_account_readonly"/>
</menuitem>
<menuitem id="menu_action_account_report_gt" name="Tax Return" action="action_account_report_gt"
parent="account.account_reports_legal_statements_menu" sequence="50"
groups="account.group_account_readonly,account.group_account_basic"/>
<menuitem id="menu_action_account_report_sales" action="action_account_report_sales"
parent="account.account_reports_legal_statements_menu" sequence="60"
groups="account.group_account_readonly" active="False"/>
<menuitem id="menu_action_account_report_multicurrency_revaluation" name="Unrealized Currency Gains/Losses"
action="action_account_report_multicurrency_revaluation" parent="account.account_reports_management_menu"
groups="base.group_multi_currency"/>
<menuitem id="menu_action_account_report_balance_sheet" name="Balance Sheet" action="action_account_report_bs"
parent="account.account_reports_legal_statements_menu" groups="account.group_account_readonly"/>
<menuitem id="menu_action_account_report_profit_and_loss" name="Profit and Loss" action="action_account_report_pl"
parent="account.account_reports_legal_statements_menu" groups="account.group_account_readonly"/>
<menuitem id="menu_action_account_report_cash_flow" name="Cash Flow Statement" action="action_account_report_cs"
parent="account.account_reports_legal_statements_menu" groups="account.group_account_readonly"/>
<menuitem id="menu_action_account_report_exec_summary" name="Executive Summary"
action="action_account_report_exec_summary" parent="account.account_reports_legal_statements_menu"
groups="account.group_account_readonly"/>
<menuitem id="menu_action_account_report_deferred_expense" name="Deferred Expense"
action="action_account_report_deferred_expense" parent="account.account_reports_management_menu"
groups="account.group_account_readonly"/>
<menuitem id="menu_action_account_report_deferred_revenue" name="Deferred Revenue"
action="action_account_report_deferred_revenue" parent="account.account_reports_management_menu"
groups="account.group_account_readonly"/>
<menuitem id="menu_action_account_report_tree" name="Accounting Reports" sequence="6"
parent="account.account_account_menu" action="action_account_report_tree" groups="base.group_no_one"/>
<menuitem id="menu_action_account_report_horizontal_groups" name="Horizontal Groups"
action="action_account_report_horizontal_groups" parent="account.account_account_menu" sequence="10"
groups="base.group_no_one"/>
<menuitem id="menu_action_account_report_budget_tree" name="Financial Budgets"
action="action_account_report_budget_tree" parent="account.account_account_menu" sequence="11"/>
</odoo>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<menuitem id="menu_action_account_report_assets"
name="Depreciation Schedule"
action="action_account_report_assets"
parent="account.account_reports_management_menu"
groups="account.group_account_readonly"/>
</odoo>

View File

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="multicurrency_revaluation_report" model="account.report">
<field name="name">Unrealized Currency Gains/Losses</field>
<field name="filter_date_range" eval="False"/>
<field name="filter_show_draft" eval="True"/>
<field name="default_opening_date_filter">previous_month</field>
<field name="custom_handler_model_id" ref="model_account_multicurrency_revaluation_report_handler"/>
<field name="column_ids">
<record id="multicurrency_revaluation_report_balance_currency" model="account.report.column">
<field name="name">Balance in Foreign Currency</field>
<field name="expression_label">balance_currency</field>
</record>
<record id="multicurrency_revaluation_report_balance_operation" model="account.report.column">
<field name="name">Balance at Operation Rate</field>
<field name="expression_label">balance_operation</field>
</record>
<record id="multicurrency_revaluation_report_balance_current" model="account.report.column">
<field name="name">Balance at Current Rate</field>
<field name="expression_label">balance_current</field>
</record>
<record id="multicurrency_revaluation_report_adjustment" model="account.report.column">
<field name="name">Adjustment</field>
<field name="expression_label">adjustment</field>
</record>
</field>
<field name="line_ids">
<record id="multicurrency_revaluation_to_adjust" model="account.report.line">
<field name="name">Accounts To Adjust</field>
<field name="code">multicurrency_included</field>
<field name="groupby">currency_id, account_id, id</field>
<field name="expression_ids">
<record id="multicurrency_revaluation_to_adjust_balance_currency" model="account.report.expression">
<field name="label">balance_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_multi_currency_revaluation_to_adjust</field>
<field name="subformula">balance_currency</field>
</record>
<record id="multicurrency_revaluation_to_adjust_balance_currency_forced_currency" model="account.report.expression">
<field name="label">_currency_balance_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_multi_currency_revaluation_to_adjust</field>
<field name="subformula">currency_id</field>
</record>
<record id="multicurrency_revaluation_to_adjust_balance_operation" model="account.report.expression">
<field name="label">balance_operation</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_multi_currency_revaluation_to_adjust</field>
<field name="subformula">balance_operation</field>
<field name="auditable" eval="False"/>
</record>
<record id="multicurrency_revaluation_to_adjust_balance_current" model="account.report.expression">
<field name="label">balance_current</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_multi_currency_revaluation_to_adjust</field>
<field name="subformula">balance_current</field>
<field name="auditable" eval="False"/>
</record>
<record id="multicurrency_revaluation_to_adjust_adjustment" model="account.report.expression">
<field name="label">adjustment</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_multi_currency_revaluation_to_adjust</field>
<field name="subformula">adjustment</field>
<field name="auditable" eval="False"/>
</record>
</field>
</record>
<record id="multicurrency_revaluation_excluded" model="account.report.line">
<field name="name">Excluded Accounts</field>
<field name="groupby">currency_id, account_id, id</field>
<field name="expression_ids">
<record id="multicurrency_revaluation_excluded_balance_currency" model="account.report.expression">
<field name="label">balance_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_multi_currency_revaluation_excluded</field>
<field name="subformula">balance_currency</field>
</record>
<record id="multicurrency_revaluation_excluded_balance_currency_forced_currency" model="account.report.expression">
<field name="label">_currency_balance_currency</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_multi_currency_revaluation_excluded</field>
<field name="subformula">currency_id</field>
</record>
<record id="multicurrency_revaluation_excluded_balance_operation" model="account.report.expression">
<field name="label">balance_operation</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_multi_currency_revaluation_excluded</field>
<field name="subformula">balance_operation</field>
</record>
<record id="multicurrency_revaluation_excluded_balance_current" model="account.report.expression">
<field name="label">balance_current</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_multi_currency_revaluation_excluded</field>
<field name="subformula">balance_current</field>
</record>
<record id="multicurrency_revaluation_excluded_adjustment" model="account.report.expression">
<field name="label">adjustment</field>
<field name="engine">custom</field>
<field name="formula">_report_custom_engine_multi_currency_revaluation_excluded</field>
<field name="subformula">adjustment</field>
</record>
</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="partner_ledger_report" model="account.report">
<field name="name">Partner Ledger</field>
<field name="filter_show_draft" eval="True"/>
<field name="filter_account_type">both</field>
<field name="filter_partner" eval="True"/>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_unreconciled" eval="True"/>
<field name="filter_period_comparison" eval="False"/>
<field name="filter_multi_company">selector</field>
<field name="filter_hide_0_lines">never</field>
<field name="default_opening_date_filter">this_year</field>
<field name="search_bar" eval="True"/>
<field name="load_more_limit" eval="80"/>
<field name="custom_handler_model_id" ref="model_account_partner_ledger_report_handler"/>
<field name="column_ids">
<record id="partner_ledger_report_journal_code" model="account.report.column">
<field name="name">Journal</field>
<field name="expression_label">journal_code</field>
<field name="figure_type">string</field>
</record>
<record id="partner_ledger_report_account_code" model="account.report.column">
<field name="name">Account</field>
<field name="expression_label">account_code</field>
<field name="figure_type">string</field>
</record>
<record id="partner_ledger_report_invoicing_date" model="account.report.column">
<field name="name">Invoice Date</field>
<field name="expression_label">invoice_date</field>
<field name="figure_type">date</field>
</record>
<record id="partner_ledger_report_date_maturity" model="account.report.column">
<field name="name">Due Date</field>
<field name="expression_label">date_maturity</field>
<field name="figure_type">date</field>
</record>
<record id="partner_ledger_report_matching_number" model="account.report.column">
<field name="name">Matching</field>
<field name="expression_label">matching_number</field>
<field name="figure_type">string</field>
</record>
<record id="partner_ledger_report_debit" model="account.report.column">
<field name="name">Debit</field>
<field name="expression_label">debit</field>
</record>
<record id="partner_ledger_report_credit" model="account.report.column">
<field name="name">Credit</field>
<field name="expression_label">credit</field>
</record>
<record id="partner_ledger_amount" model="account.report.column">
<field name="name">Amount</field>
<field name="expression_label">amount</field>
</record>
<record id="partner_ledger_report_amount_currency" model="account.report.column">
<field name="name">Amount Currency</field>
<field name="expression_label">amount_currency</field>
</record>
<record id="partner_ledger_report_balance" model="account.report.column">
<field name="name">Balance</field>
<field name="expression_label">balance</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,335 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="pdf_export_main">
<html>
<head>
<base t-att-href="base_url"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<t t-call-assets="fusion_accounting.assets_pdf_export" t-js="False"/>
</head>
<body t-att-dir="env['res.lang']._get_data(code=lang or env.user.lang).direction or 'ltr'">
<div t-att-class="'o_content ' + options['css_custom_class']">
<header>
<div class="o_title">
<t t-if="report.filter_show_draft and options['all_entries']">[Draft]</t>
<t t-out="report_title"/>
</div>
<div class="row o_header_font">
<div class="col-8">
<!-- All company information (name, address, vat, ...) -->
<t t-call="{{custom_templates.get('company_information', 'fusion_accounting.company_information')}}"/>
</div>
<div class="col-4">
<!-- All filters and options -->
<t t-call="{{custom_templates.get('pdf_export_filters', 'fusion_accounting.pdf_export_filters')}}"/>
</div>
</div>
</header>
<div class="d-flex align-items-start">
<t t-foreach="options.get('horizontal_split') and ['left', 'right'] or [None]" t-as="split_side">
<table t-attf-class="o_table #{options.get('horizontal_split') and 'horizontal_split_page'}">
<!-- Header -->
<t t-call="{{custom_templates.get('pdf_export_main_table_header', 'fusion_accounting.pdf_export_main_table_header')}}"/>
<!-- Body -->
<tbody>
<t t-if="lines">
<t t-call="{{custom_templates.get('pdf_export_main_table_body', 'fusion_accounting.pdf_export_main_table_body')}}">
<t t-set="lines" t-value="filter(lambda x: not split_side or split_side == x.get('horizontal_split_side', 'left'), lines)"/>
</t>
</t>
</tbody>
</table>
</t>
</div>
<!-- Annotations -->
<ol class="o_annotation">
<t t-foreach="annotations" t-as="annotation">
<li>
<t t-out="annotation.get('number')"/>.
<t t-if="annotation.get('date')"><t t-out="annotation['date']"/> -</t>
<t t-out="annotation.get('text')"/>
</li>
</t>
</ol>
</div>
</body>
</html>
</template>
<template id="company_information">
<t t-set="company_names" t-value="[company['name'] for company in options['companies']]"/>
<div class="row">
<div class="col-10" t-out="', '.join(company_names)"/>
</div>
<address class="mb-0 o_text_muted" t-field="env.company.partner_id" t-options='{"widget": "contact", "fields": ["address"], "no_marker": True}'/>
<t t-if="options.get('tax_unit', 'company_only') == 'company_only'">
<t t-if="env.company.account_fiscal_country_id.vat_label" t-out="env.company.account_fiscal_country_id.vat_label+':'"/>
<t t-else="">Tax ID:</t>
<t t-out="env.company.vat"/>
</t>
<t t-else="">
Tax ID: <t t-out="env['account.tax.unit'].browse(options.get('tax_unit')).vat"/>
</t>
</template>
<template id="pdf_export_filters">
<!-- Journals -->
<t t-if="options.get('journals')">
<div class="row" name="filter_info_template_journals">
<t t-set="journal_group_selected" t-value="options.get('selected_journal_groups')"/>
<t t-if="journal_group_selected">
<div class="col-3">Multi-Ledger: </div>
<div class="col-9 o_text_muted" t-out="journal_group_selected['title']"/>
</t>
<t t-else="">
<t t-set="journal_value" t-value="[journal.get('title') for journal in options['journals'] if journal.get('selected')]"/>
<t t-if="journal_value">
<div class="col-3">Journals: </div>
<div class="col-9 o_text_muted" t-out="', '.join(journal_value)"/>
</t>
</t>
</div>
</t>
<!-- Partners -->
<t t-if="options.get('partner_ids') != None">
<div class="row">
<t t-set="partner_value" t-value="[partner for partner in options['selected_partner_ids']]"/>
<t t-if="partner_value">
<div class="col-3">Partners:</div>
<div class="col-9 o_text_muted" t-out="', '.join(partner_value)"/>
</t>
</div>
</t>
<!-- Partners categories -->
<t t-if="options.get('partner_categories') != None">
<div class="row">
<t t-set="partner_category_value" t-value="[partner for partner in options['selected_partner_categories']]"/>
<t t-if="partner_category_value">
<div class="col-3">Partners Categories:</div>
<div class="col-9 o_text_muted" t-out="', '.join(partner_category_value)"/>
</t>
</div>
</t>
<!-- Horizontal -->
<t t-if="options.get('selected_horizontal_group_id')">
<div class="row">
<t t-set="horizontal_group" t-value="[hg['name'] for hg in options['available_horizontal_groups'] if hg['id'] == options.get('selected_horizontal_group_id')]"/>
<t t-if="horizontal_group">
<div class="col-3">Horizontal:</div>
<div class="col-9 o_text_muted" t-out="horizontal_group[0]"/>
</t>
</div>
</t>
<!-- Currency -->
<t t-if="options.get('company_currency')">
<div class="row">
<div class="col-3">Currency:</div>
<div class="col-9 o_text_muted" t-out="options['company_currency']['currency_name']"/>
</div>
</t>
<!-- Filters -->
<t t-if="options.get('aml_ir_filters') and any(opt['selected'] for opt in options['aml_ir_filters'])" name="aml_ir_filters">
<div class="row">
<t t-set="aml_ir_filters" t-value="opt['name'] for opt in options['aml_ir_filters'] if opt['selected']"/>
<t t-if="aml_ir_filters">
<div class="col-3">Filters:</div>
<div class="col-9 o_text_muted" t-out="', '.join(aml_ir_filters)"/>
</t>
</div>
</t>
<!-- Extra options -->
<div class="row" name="pdf_options_header">
<t t-call="{{custom_templates.get('pdf_export_filter_extra_options_template', 'fusion_accounting.pdf_export_filter_extra_options_template')}}"/>
</div>
</template>
<template id="pdf_export_filter_extra_options_template">
<t t-set="rounding_unit_display_names" t-value="{k: v[1] for k, v in options['rounding_unit_names'].items() if v[1]}"/>
<div class="col-3" t-if="(report.filter_show_draft and options['all_entries']) or
(report.filter_unreconciled and options['unreconciled']) or
options.get('include_analytic_without_aml') or
options['rounding_unit'] in rounding_unit_display_names">
Options:
</div>
<div class="col-9 o_text_muted">
<t t-set="extra_options" t-value="[]"/>
<!-- All entries -->
<t t-if="report.filter_show_draft and options['all_entries']" groups="account.group_account_readonly">
<t t-set="label_draft_entries">With Draft Entries</t>
<t t-set="extra_options" t-value="extra_options + [label_draft_entries]"/>
</t>
<!-- Unreconciled -->
<t t-if="report.filter_unreconciled and options['unreconciled']">
<t t-set="label_unreconciled_entries">Unreconciled Entries</t>
<t t-set="extra_options" t-value="extra_options + [label_unreconciled_entries]"/>
</t>
<!-- Analytic -->
<t t-if="options.get('include_analytic_without_aml')" name="include_analytic">
<t t-set="label_analytic_simulations">Including Analytic Simulations</t>
<t t-set="extra_options" t-value="extra_options + [label_analytic_simulations]"/>
</t>
<!-- Currency Unit Amount Text -->
<t t-if="options['rounding_unit'] in rounding_unit_display_names">
<t t-set="rounding_unit" t-value="options.get('rounding_unit')"/>
<t t-set="extra_options" t-value="extra_options + [rounding_unit_display_names[rounding_unit]]"/>
</t>
<t t-out="', '.join(extra_options)"/>
</div>
</template>
<template id="pdf_export_main_table_header">
<thead id="table_header">
<t t-foreach="options['column_headers']" t-as="column_header">
<tr>
<!-- First empty column -->
<th/>
<!-- Other columns -->
<t t-foreach="column_header * column_headers_render_data['level_repetitions'][column_header_index]" t-as="header">
<th t-att-colspan="header.get('colspan', column_headers_render_data['level_colspan'][column_header_index]) + (1 if options.get('show_horizontal_group_total') and column_header_first else 0)" class="o_overflow_name">
<t t-out="header.get('name')"/>
</th>
</t>
<th t-if="options.get('show_horizontal_group_total') and not column_header_first">
<t t-out="[group['name'] for group in options['available_horizontal_groups'] if group['id'] == options['selected_horizontal_group_id']][0]"/>
</th>
<th t-if="options.get('column_percent_comparison') == 'growth'">%</th>
</tr>
</t>
<!-- Custom subheaders -->
<t t-if="column_headers_render_data['custom_subheaders']">
<tr>
<!-- First empty column -->
<th/>
<!-- Other columns -->
<t t-foreach="column_headers_render_data['custom_subheaders']" t-as="subheader">
<th t-att-colspan="subheader.get('colspan', 1)">
<t t-out="subheader.get('name')"/>
</th>
</t>
</tr>
</t>
<tr>
<!-- First empty column -->
<th/>
<t t-foreach="options['columns']" t-as="subheader">
<th>
<t t-out="subheader.get('name')"/>
</th>
</t>
<th t-if="options.get('show_horizontal_group_total')">
<t t-out="options['columns'][0].get('name')"/>
</th>
<th t-if="options.get('column_percent_comparison') == 'growth'"/>
</tr>
</thead>
</template>
<template id="pdf_export_main_table_body">
<t t-foreach="lines" t-as="line">
<t t-set="o_line_level" t-value="'o_line_level_' + str(line['level'])"/>
<t t-if="line.get('page_break') and not options.get('horizontal_split')">
<!-- End current table -->
<t t-out="table_end"/>
<!-- Append table header -->
<t t-call="{{custom_templates.get('pdf_export_main_table_header', 'fusion_accounting.pdf_export_main_table_header')}}"/>
<!-- Start new table -->
<t t-out="table_start"/>
</t>
<!-- Adds an empty row above line with level 0 to add some spacing (it is the easiest and cleanest way) -->
<t t-if="line_index != 0 and line['level'] == 0">
<tr>
<td/>
<t t-foreach="line.get('columns')" t-as="cell">
<td/>
</t>
<t t-if="options.get('column_percent_comparison')">
<td/>
</t>
<t t-if="options.get('show_horizontal_group_total')">
<td/>
</t>
</tr>
</t>
<t t-set="o_bold" t-value="(' o_fw_bold' if line.get('unfolded') or 'total' in line.get('id') else '')"/>
<t t-set="o_overflow" t-value="(' o_overflow_name' if len(line.get('name') or '') > 42 else '')"/>
<tr t-att-class="o_line_level + o_bold + o_overflow" name="pdf_export_main_table_body_lines_tr">
<td t-att-colspan="line.get('colspan', '1')" class="o_line_name_level">
<t t-out="line.get('name')"/>
<t t-if="line.get('annotations')">
<t t-foreach="annotations" t-as="annotation">
<t t-if="annotation.get('number') and annotation['number'] in (line.get('annotations') or [])">
<sup t-out="annotation['number']"/>
</t>
</t>
</t>
</td>
<t t-foreach="line.get('columns')" t-as="cell">
<td class="o_cell_td">
<t t-if="not env.company.totals_below_sections or options.get('ignore_totals_below_sections') or not line.get('unfolded')">
<t t-call="{{custom_templates.get('pdf_export_cell', 'fusion_accounting.pdf_export_cell')}}"/>
</t>
</td>
</t>
<t t-if="options.get('column_percent_comparison')">
<td class="o_column_percent_comparison">
<t t-if="line.get('column_percent_comparison_data')">
<t t-out="line['column_percent_comparison_data'].get('name')"/>
</t>
</td>
</t>
<t t-if="options.get('show_horizontal_group_total')">
<td class="o_cell_td">
<t t-if="line.get('horizontal_group_total_data')">
<t t-set="o_classes" t-value="'o_line_cell_value_number' + (' o_muted' if line['horizontal_group_total_data'].get('no_format') == 0 else '')"/>
<span t-att-class="o_classes" t-out="line['horizontal_group_total_data'].get('name')"/>
</t>
</td>
</t>
</tr>
</t>
</template>
<template id="pdf_export_cell">
<t t-if="cell.get('figure_type', '') in ['float', 'integer', 'monetary', 'percentage']">
<t t-set="o_classes" t-value="'o_line_cell_value_number' + (' o_muted' if cell.get('is_zero') else '')"/>
</t>
<t t-else="">
<t t-set="o_classes" t-value="'o_overflow_value'"/>
</t>
<span t-att-class="o_classes" t-out="cell.get('name')"/>
</template>
</odoo>

View File

@@ -0,0 +1,134 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="profit_and_loss" model="account.report">
<field name="name">Profit and Loss</field>
<field name="filter_analytic_groupby" eval="True"/>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_journals" eval="True"/>
<field name="filter_multi_company">selector</field>
<field name="filter_budgets" eval="True"/>
<field name="default_opening_date_filter">this_year</field>
<field name="column_ids">
<record id="profit_and_loss_column" model="account.report.column">
<field name="name">Balance</field>
<field name="expression_label">balance</field>
</record>
</field>
<field name="line_ids">
<record id="account_financial_report_revenue0" model="account.report.line">
<field name="name">Revenue</field>
<field name="code">REV</field>
<field name="hierarchy_level">1</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="account_financial_report_revenue0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'income')]"/>
<field name="subformula">-sum</field>
</record>
</field>
</record>
<record id="account_financial_report_cost_sales0" model="account.report.line">
<field name="name">Less Costs of Revenue</field>
<field name="code">COS</field>
<field name="hierarchy_level">1</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="account_financial_report_cost_sales0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'expense_direct_cost')]"/>
<field name="subformula">sum</field>
<field name="green_on_positive" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_gross_profit0" model="account.report.line">
<field name="name">Gross Profit</field>
<field name="code">GRP</field>
<field name="hierarchy_level">0</field>
<field name="expression_ids">
<record id="account_financial_report_gross_profit0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">REV.balance - COS.balance</field>
</record>
</field>
</record>
<record id="account_financial_report_expense0" model="account.report.line">
<field name="name">Less Operating Expenses</field>
<field name="code">EXP</field>
<field name="hierarchy_level">1</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="account_financial_report_expense0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'expense')]"/>
<field name="subformula">sum</field>
<field name="green_on_positive" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_operating_income0" model="account.report.line">
<field name="name">Operating Income (or Loss)</field>
<field name="hierarchy_level">0</field>
<field name="code">INC</field>
<field name="expression_ids">
<record id="account_financial_report_operating_income0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">REV.balance - COS.balance - EXP.balance</field>
</record>
</field>
</record>
<record id="account_financial_report_other_income0" model="account.report.line">
<field name="name">Plus Other Income</field>
<field name="code">OIN</field>
<field name="hierarchy_level">1</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="account_financial_report_other_income0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'income_other')]"/>
<field name="subformula">-sum</field>
</record>
</field>
</record>
<record id="account_financial_report_depreciation0" model="account.report.line">
<field name="name">Less Other Expenses</field>
<field name="code">OEXP</field>
<field name="hierarchy_level">1</field>
<field name="groupby">account_id</field>
<field name="foldable" eval="True"/>
<field name="expression_ids">
<record id="account_financial_report_depreciation0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">domain</field>
<field name="formula" eval="[('account_id.account_type', '=', 'expense_depreciation')]"/>
<field name="subformula">sum</field>
<field name="green_on_positive" eval="False"/>
</record>
</field>
</record>
<record id="account_financial_report_net_profit0" model="account.report.line">
<field name="name">Net Profit</field>
<field name="hierarchy_level">0</field>
<field name="code">NEP</field>
<field name="expression_ids">
<record id="account_financial_report_net_profit0_balance" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">aggregation</field>
<field name="formula">REV.balance + OIN.balance - COS.balance - EXP.balance - OEXP.balance</field>
</record>
</field>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,11 @@
<odoo>
<record id="ir_cron_account_report_send" model="ir.cron">
<field name="name">Send account reports automatically</field>
<field name="model_id" ref="model_account_report"/>
<field name="state">code</field>
<field name="code">model._cron_account_report_send(job_count=20)</field>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
</record>
</odoo>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="generic_ec_sales_report" model="account.report">
<field name="name">Generic EC Sales List</field>
<field name="filter_show_draft" eval="True"/>
<field name="filter_period_comparison" eval="False"/>
<field name="filter_date_range" eval="True"/>
<field name="filter_journals" eval="True"/>
<field name="filter_show_draft" eval="False"/>
<field name="filter_unreconciled" eval="False"/>
<field name="filter_multi_company">selector</field>
<field name="default_opening_date_filter">previous_month</field>
<field name="load_more_limit" eval="80"/>
<field name="search_bar" eval="True"/>
<field name="custom_handler_model_id" ref="model_account_ec_sales_report_handler"/>
<field name="column_ids">
<record id="account_financial_report_ec_sales_country" model="account.report.column">
<field name="name">Country Code</field>
<field name="expression_label">country_code</field>
<field name="figure_type">string</field>
<field name="sortable" eval="True"/>
</record>
<record id="account_financial_report_ec_sales_vat" model="account.report.column">
<field name="name">VAT Number</field>
<field name="expression_label">vat_number</field>
<field name="figure_type">string</field>
<field name="sortable" eval="True"/>
</record>
<record id="account_financial_report_ec_sales_amount" model="account.report.column">
<field name="name">Amount</field>
<field name="expression_label">balance</field>
<field name="sortable" eval="True"/>
</record>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="trial_balance_report" model="account.report">
<field name="name">Trial Balance</field>
<field name="filter_journals" eval="True"/>
<field name="filter_analytic" eval="True"/>
<field name="filter_growth_comparison" eval="False"/>
<field name="filter_multi_company">selector</field>
<field name="filter_unfold_all" eval="True"/>
<field name="filter_hierarchy">by_default</field>
<field name="filter_hide_0_lines">never</field>
<field name="default_opening_date_filter">this_month</field>
<field name="search_bar" eval="True"/>
<field name="custom_handler_model_id" ref="model_account_trial_balance_report_handler"/>
<field name="column_ids">
<record id="trial_balance_report_debit" model="account.report.column">
<field name="name">Debit</field>
<field name="expression_label">debit</field>
</record>
<record id="trial_balance_report_credit" model="account.report.column">
<field name="name">Credit</field>
<field name="expression_label">credit</field>
</record>
</field>
</record>
</odoo>