- Create journal entries as soon as bank/cash statement lines are created, temporary booked on a suspense account set on the journal.
- Simplify the management of "blue" lines in the reconciliation widget. A "blue" line is now a journal item using a temporary liquidity account (outstanding payment/receipt accounts, set on the journal).
- Adapt and simplify the bank reconciliation report.
- Remove the bank reconciliation threshold date. The reconciliation report will show the not already reconciled journal entries using a liquidity account and the not already reconciled journal entries using a temporary liquidity account. Without accounting, an account.payment will involve directly the liquidity account and then, will be considered as a statement line directly.
- Remove the post_at bank reconciliation feature. The "paid" state will be set on the invoices only if reconciled with a journal entry involving the journal's liquidity account.
With invoicing, the payment will do that so the "in_payment" state should never be shown up.
With accounting, only the statement lines have the power to move an invoice to the "paid" state.
- Fix various corner cases about the management of multi-currency in bank statement lines.
- Fix the conversion dates in multi-currency: Since the bank/cash is always used on the statement lines, it will use always the real "bank" date instead of the fictive payment one.
- Ensure the 'reconcile' method will raise an error if the involved moves are not posted.
related enterprise PR odoo/enterprise#7019
closes odoo/odoo#41301
--task: 2092096
Related: odoo/upgrade#1018
Signed-off-by: Quentin De Paoli (qdp) <qdp@openerp.com>
156 lines
7.6 KiB
XML
156 lines
7.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data noupdate="1">
|
|
|
|
<record forcecreate="True" id="decimal_payment" model="decimal.precision">
|
|
<field name="name">Payment Terms</field>
|
|
<field name="digits">6</field>
|
|
</record>
|
|
|
|
<!-- Open Settings from Purchase Journal to configure mail servers -->
|
|
<record id="action_open_settings" model="ir.actions.act_window">
|
|
<field name="name">Settings</field>
|
|
<field name="res_model">res.config.settings</field>
|
|
<field name="view_mode">form</field>
|
|
<field name="target">inline</field>
|
|
<field name="context" eval="{'module': 'general_settings'}"/>
|
|
</record>
|
|
|
|
<!-- TAGS FOR CASH FLOW STATEMENT DIRECT METHOD -->
|
|
|
|
<record id="account_tag_operating" model="account.account.tag">
|
|
<field name="name">Operating Activities</field>
|
|
<field name="applicability">accounts</field>
|
|
</record>
|
|
<record id="account_tag_financing" model="account.account.tag">
|
|
<field name="name">Financing Activities</field>
|
|
<field name="applicability">accounts</field>
|
|
</record>
|
|
<record id="account_tag_investing" model="account.account.tag">
|
|
<field name="name">Investing & Extraordinary Activities</field>
|
|
<field name="applicability">accounts</field>
|
|
</record>
|
|
|
|
<!--
|
|
Payment terms
|
|
-->
|
|
<record id="account_payment_term_immediate" model="account.payment.term">
|
|
<field name="name">Immediate Payment</field>
|
|
<field name="note">Payment terms: Immediate Payment</field>
|
|
</record>
|
|
|
|
<record id="account_payment_term_15days" model="account.payment.term">
|
|
<field name="name">15 Days</field>
|
|
<field name="note">Payment terms: 15 Days</field>
|
|
<field name="line_ids" eval="[(5, 0), (0, 0, {'value': 'balance', 'value_amount': 0.0, 'sequence': 500, 'days': 15, 'option': 'day_after_invoice_date'})]"/>
|
|
</record>
|
|
|
|
<record id="account_payment_term_21days" model="account.payment.term">
|
|
<field name="name">21 Days</field>
|
|
<field name="note">Payment terms: 21 Days</field>
|
|
<field name="line_ids" eval="[(5, 0), (0, 0, {'value': 'balance', 'value_amount': 0.0, 'sequence': 500, 'days': 21, 'option': 'day_after_invoice_date'})]"/>
|
|
</record>
|
|
|
|
<record id="account_payment_term_30days" model="account.payment.term">
|
|
<field name="name">30 Days</field>
|
|
<field name="note">Payment terms: 30 Days</field>
|
|
<field name="line_ids" eval="[(5, 0), (0, 0, {'value': 'balance', 'value_amount': 0.0, 'sequence': 500, 'days': 30, 'option': 'day_after_invoice_date'})]"/>
|
|
</record>
|
|
|
|
<record id="account_payment_term_45days" model="account.payment.term">
|
|
<field name="name">45 Days</field>
|
|
<field name="note">Payment terms: 45 Days</field>
|
|
<field name="line_ids" eval="[(5, 0), (0, 0, {'value': 'balance', 'value_amount': 0.0, 'sequence': 500, 'days': 45, 'option': 'day_after_invoice_date'})]"/>
|
|
</record>
|
|
|
|
<record id="account_payment_term_2months" model="account.payment.term">
|
|
<field name="name">2 Months</field>
|
|
<field name="note">Payment terms: 2 Months</field>
|
|
<field name="line_ids" eval="[(5, 0), (0, 0, {'value': 'balance', 'value_amount': 0.0, 'sequence': 500, 'days': 60, 'option': 'day_after_invoice_date'})]"/>
|
|
</record>
|
|
|
|
<record id="account_payment_term_end_following_month" model="account.payment.term">
|
|
<field name="name">End of Following Month</field>
|
|
<field name="note">Payment terms: End of Following Month</field>
|
|
<field name="line_ids" eval="[(5, 0), (0, 0, {'value': 'balance', 'value_amount': 0.0, 'sequence': 500, 'days': 31, 'option': 'day_following_month'})]"/>
|
|
</record>
|
|
|
|
<record id="account_payment_term_advance_60days" model="account.payment.term">
|
|
<field name="name">30% Now, Balance 60 Days</field>
|
|
<field name="note">Payment terms: 30% Now, Balance 60 Days</field>
|
|
<field name="line_ids" eval="[(5, 0), (0, 0, {'value': 'percent', 'value_amount': 30.0, 'sequence': 400, 'days': 0, 'option': 'day_after_invoice_date'}),
|
|
(0, 0, {'value': 'balance', 'value_amount': 0.0, 'sequence': 500, 'days': 60, 'option': 'day_after_invoice_date'})]"/>
|
|
</record>
|
|
|
|
<!--
|
|
Account Statement Sequences
|
|
-->
|
|
<record id="sequence_reconcile_seq" model="ir.sequence">
|
|
<field name="name">Account reconcile sequence</field>
|
|
<field name="code">account.reconcile</field>
|
|
<field name="prefix">A</field>
|
|
<field eval="1" name="number_next"/>
|
|
<field eval="1" name="number_increment"/>
|
|
<field eval="False" name="company_id"/>
|
|
</record>
|
|
|
|
<!-- Account-related subtypes for messaging / Chatter -->
|
|
<record id="mt_invoice_validated" model="mail.message.subtype">
|
|
<field name="name">Validated</field>
|
|
<field name="res_model">account.move</field>
|
|
<field name="default" eval="False"/>
|
|
<field name="description">Invoice validated</field>
|
|
</record>
|
|
<record id="mt_invoice_paid" model="mail.message.subtype">
|
|
<field name="name">Paid</field>
|
|
<field name="res_model">account.move</field>
|
|
<field name="default" eval="False"/>
|
|
<field name="description">Invoice paid</field>
|
|
</record>
|
|
<record id="mt_invoice_created" model="mail.message.subtype">
|
|
<field name="name">Invoice Created</field>
|
|
<field name="res_model">account.move</field>
|
|
<field name="default" eval="False"/>
|
|
<field name="hidden" eval="True"/>
|
|
<field name="description">Invoice Created</field>
|
|
</record>
|
|
|
|
<!-- Payment methods -->
|
|
<record id="account_payment_method_manual_in" model="account.payment.method">
|
|
<field name="name">Manual</field>
|
|
<field name="code">manual</field>
|
|
<field name="payment_type">inbound</field>
|
|
</record>
|
|
<record id="account_payment_method_manual_out" model="account.payment.method">
|
|
<field name="name">Manual</field>
|
|
<field name="code">manual</field>
|
|
<field name="payment_type">outbound</field>
|
|
</record>
|
|
|
|
<!-- Account Tax Group -->
|
|
<record id="tax_group_taxes" model="account.tax.group">
|
|
<field name="name">Taxes</field>
|
|
<field name="sequence">0</field>
|
|
</record>
|
|
|
|
<!-- Partner Trust Property -->
|
|
<record forcecreate="True" id="default_followup_trust" model="ir.property">
|
|
<field name="name">Followup Trust Property</field>
|
|
<field name="fields_id" search="[('model', '=', 'res.partner'), ('name', '=', 'trust')]"/>
|
|
<field name="value">normal</field>
|
|
<field name="type">selection</field>
|
|
</record>
|
|
|
|
<!-- Share Button in action menu -->
|
|
<record id="model_account_move_action_share" model="ir.actions.server">
|
|
<field name="name">Share</field>
|
|
<field name="model_id" ref="account.model_account_move"/>
|
|
<field name="binding_model_id" ref="account.model_account_move"/>
|
|
<field name="binding_view_types">form</field>
|
|
<field name="state">code</field>
|
|
<field name="code">action = records.action_share()</field>
|
|
</record>
|
|
|
|
</data>
|
|
</odoo>
|