[IMP] account: Split clearly the accounting & invoicing applications

PURPOSE
=======

1) Have a clear split between the invoicing and the accounting apps
2) Have a clear split between the community and the enterprise version (no accounting in community)

SPECIFICATION
=============

(1) When only invoicing installed, we shouldn't see accounts (for community and enterprise)
(a) Perpetual Inventory Valuation:
     - Hide the field inventory valuation from the product category
(b) Taxes
- No accounts
- No cash basis option
- No tax adjustment

(2) Remove from Community, modules:
- Accounting
- Budgets
- Assets

(3) No account_report in community, keep PDF reports for
- sale/purchase journal
- Aged partner balance
- Partner Ledger

(4) Clean split between invoicing and accounting in enterprise
(a) When installing invoicing, I shouldn't have access to accounting just by changing my access right to adviser
(b) Menus (when only invoicing installed)
- Sales
    - Customer Invoices
    - Customer Credit Notes
    - Payments
    - Customer Statements
    - Customers
    - Sellable Products
- Purchases
    - Vendor Bills
    - Vendor Credit Notes
    - Payments
    - Vendors
    - Purchasable Products
- Reporting
    - Partner Reports
        - Partner Ledger
        - Aged Receivable
        - Aged Payable
    - Audit Reports
        - Tax report
    - Management
        - Invoices
        - Product Margins
- Configuration
    - Settings
    - Products
        - Products
    - Accounting
        - Taxes
        - Fiscal Positions
        - Bank Accounts
        - Journals
    - Management
        - Payment Terms
        - Follow-up levels
    - Payments
        - Payment Acquirers
(c) Settings (when only invoicing installed)
- Fiscal Localization
- Taxes
    - Default Taxes
    - Rounding Method
    - TaxCloud connection
    - TaxCloud Categories
    - EU Digital Goods VAT
    - VIES VAT CHECK
- Currencies
    - Main currency
    - Multi-currencies
- Invoicing
    - Warnings
    - Docsaway
- Customer Payments
    - Follow-up levels
    - Payment Followup
- Bills Payment
- Bank & Cash
- Analytics
    - Margin
- Automated Entries

Remarks
- Test with the different access rights
This commit is contained in:
Yannick Tivisse
2017-08-11 13:57:30 +02:00
parent 2a45fbe3d2
commit 8cc216b659
37 changed files with 358 additions and 242 deletions
+1 -1
View File
@@ -35,7 +35,7 @@
</record>
<record id="base.user_demo" model="res.users">
<field name="groups_id" eval="[(4,ref('account.group_account_user'))]"/>
<field name="groups_id" eval="[(4,ref('account.group_account_invoice'))]"/>
</record>
<!-- Add Payment terms on some demo partners -->
+2
View File
@@ -193,6 +193,8 @@ class AccountInvoice(models.Model):
'position': currency_id.position,
'date': payment.date,
'payment_id': payment.id,
'account_payment_id': payment.payment_id.id,
'invoice_id': payment.invoice_id.id,
'move_id': payment.move_id.id,
'ref': payment_ref,
})
@@ -125,7 +125,7 @@
<act_window
id="act_account_invoice_partner_relation"
name="Monthly Turnover"
groups="group_account_manager"
groups="account.group_account_manager"
context="{'search_default_partner_id':[active_id], 'search_default_month':1,'search_default_user':1,'group_by_no_leaf':1,'group_by':[]}"
res_model="account.invoice.report"
src_model="res.partner"
@@ -68,6 +68,8 @@ var ShowPaymentLineWidget = AbstractField.extend({
payment_id: content.payment_id,
move_id: content.move_id,
ref: content.ref,
account_payment_id: content.account_payment_id,
invoice_id: content.invoice_id,
}));
$content.filter('.js_unreconcile_payment').on('click', self._onRemoveMoveReconcile.bind(self));
$content.filter('.js_open_payment').on('click', self._onOpenPayment.bind(self));
@@ -93,13 +95,27 @@ var ShowPaymentLineWidget = AbstractField.extend({
* @param {MouseEvent} event
*/
_onOpenPayment: function (event) {
var invoiceId = parseInt($(event.target).attr('invoice-id'));
var paymentId = parseInt($(event.target).attr('payment-id'));
var moveId = parseInt($(event.target).attr('move-id'));
if (moveId !== undefined && !isNaN(moveId)){
//Open form view of account.move with id = move_id
var res_model;
var id;
if (invoiceId !== undefined && !isNaN(invoiceId)){
res_model = "account.invoice";
id = invoiceId;
} else if (paymentId !== undefined && !isNaN(paymentId)){
res_model = "account.payment";
id = paymentId;
} else if (moveId !== undefined && !isNaN(moveId)){
res_model = "account.move";
id = moveId;
}
//Open form view of account.move with id = move_id
if (res_model && id) {
this.do_action({
type: 'ir.actions.act_window',
res_model: 'account.move',
res_id: moveId,
res_model: res_model,
res_id: id,
views: [[false, 'form']],
target: 'current'
});
@@ -79,7 +79,7 @@
</table>
</div>
<button class="btn btn-xs btn-primary js_unreconcile_payment pull-left" t-att-payment-id="payment_id" style="margin-top:5px; margin-bottom:5px;">Unreconcile</button>
<button class="btn btn-xs btn-default js_open_payment pull-right" t-att-move-id="move_id" style="margin-top:5px; margin-bottom:5px;">Open Payment</button>
<button class="btn btn-xs btn-default js_open_payment pull-right" t-att-payment-id="account_payment_id" t-att-invoice-id="invoice_id" t-att-move-id="move_id" style="margin-top:5px; margin-bottom:5px;">Open</button>
</t>
</templates>
+1 -1
View File
@@ -11,7 +11,7 @@ class AccountTestUsers(AccountingTestCase):
self.main_company = self.env.ref('base.main_company')
self.main_partner = self.env.ref('base.main_partner')
self.main_bank = self.env.ref('base.res_bank_1')
res_users_account_user = self.env.ref('account.group_account_user')
res_users_account_user = self.env.ref('account.group_account_invoice')
res_users_account_manager = self.env.ref('account.group_account_manager')
partner_manager = self.env.ref('base.group_partner_manager')
self.tax_model = self.env['account.tax']
@@ -22,40 +22,40 @@
<field name="company_id" invisible="1"/>
<field name="has_chart_of_accounts" invisible="1"/>
<field name="has_accounting_entries" invisible="1"/>
<h2>Fiscal Localization</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-6 o_setting_box" attrs="{'invisible': [('has_chart_of_accounts','!=',False)]}">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label string="Fiscal Localization"/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted">
Taxes, fiscal positions, chart of accounts &amp; legal statements for your country
</div>
<div class="content-group">
<div class="row mt16">
<label string="Package" class="col-md-3 o_light_label"/>
<field name="chart_template_id" widget="selection"/>
<h2>Fiscal Localization</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-6 o_setting_box" attrs="{'invisible': [('has_chart_of_accounts','!=',False)]}">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label string="Fiscal Localization"/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted">
Taxes, fiscal positions, chart of accounts &amp; legal statements for your country
</div>
<div>
<button name="%(account.open_account_charts_modules)d" icon="fa-arrow-right" type="action" string="Install More Packages" class="btn-link"/>
<div class="content-group">
<div class="row mt16">
<label string="Package" class="col-md-3 o_light_label"/>
<field name="chart_template_id" widget="selection"/>
</div>
<div>
<button name="%(account.open_account_charts_modules)d" icon="fa-arrow-right" type="action" string="Install More Packages" class="btn-link"/>
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" groups="account.group_account_user">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label string="Chart of Accounts"/>
<div class="content-group">
<div class="row mt16">
<label string="# of digits on accounts" class="col-md-4 o_light_label"/>
<field name="code_digits"/>
</div>
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane"/>
<div class="o_setting_right_pane">
<label string="Chart of Accounts"/>
<div class="content-group">
<div class="row mt16">
<label string="# of digits on accounts" class="col-md-4 o_light_label"/>
<field name="code_digits"/>
</div>
</div>
</div>
</div>
</div>
<h2>Taxes</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-6 o_setting_box" title="These taxes are set in any new product created.">
@@ -112,7 +112,7 @@
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="Select this if the taxes should use cash basis, which will create an entry for such taxes on a given account during reconciliation.">
<div class="col-xs-12 col-md-6 o_setting_box" title="Select this if the taxes should use cash basis, which will create an entry for such taxes on a given account during reconciliation." groups="account.group_account_user">
<div class="o_setting_left_pane">
<field name="use_cash_basis"/>
</div>
@@ -135,7 +135,7 @@
<div class="row mt16 o_settings_container" id="accounting_reports">
<div class="col-xs-12 col-md-6 o_setting_box" id="account_accountant" title="If you do not check this box, you will be able to do invoicing &amp; payments, but not accounting (Journal Items, Chart of Accounts, ...).">
<div class="o_setting_left_pane">
<field name="module_account_accountant"/>
<field name="module_account_accountant" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label for="module_account_accountant"/>
@@ -145,7 +145,7 @@
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" id="fiscalyear" invisible="1"/>
<div class="col-xs-12 col-md-6 o_setting_box" id="dynamic_report" invisible="1">
<div class="col-xs-12 col-md-6 o_setting_box" id="dynamic_report" invisible="1" groups="account.group_account_user">
<div class="o_setting_left_pane">
<field name="module_account_reports" widget="upgrade_boolean"/>
</div>
@@ -225,7 +225,7 @@
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="col-xs-12 col-md-6 o_setting_box" groups="account.group_account_user">
<div class="o_setting_left_pane">
<field name="module_account_batch_deposit" widget="upgrade_boolean"/>
</div>
@@ -238,94 +238,96 @@
</div>
</div>
<h2>Bills Payment</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="module_l10n_us_check_printing" widget="upgrade_boolean"/>
<t groups="account.group_account_user">
<h2>Bills Payment</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="module_l10n_us_check_printing" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="Checks" for="module_l10n_us_check_printing"/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted" id="print_bills_payment">
Print checks to pay your vendors
</div>
</div>
</div>
<div class="o_setting_right_pane">
<label string="Checks" for="module_l10n_us_check_printing"/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted" id="print_bills_payment">
Print checks to pay your vendors
<div class="col-xs-12 col-md-6 o_setting_box" title="If you check this box, you will be able to register your payment using SEPA.">
<div class="o_setting_left_pane">
<field name="module_account_sepa" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane" name="sepa_right_pane">
<label string="SEPA Payments" for="module_account_sepa"/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted">
Pay your bills in one-click, using Euro SEPA service
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="If you check this box, you will be able to register your payment using SEPA.">
<div class="o_setting_left_pane">
<field name="module_account_sepa" widget="upgrade_boolean"/>
<h2>Bank &amp; Cash</h2>
<div class="row mt16 o_settings_container" id="bank_cash">
<div class="col-xs-12 col-md-6 o_setting_box" id="account_yodlee" title="Get your bank statements automatically imported every 4 hours, or in one-click, using Yodlee and Plaid services. Once installed, set “Bank Feeds” to “Bank Synchronization” in bank account settings. Then, click “Configure” on the online account to enter your bank credentials.">
<div class="o_setting_left_pane">
<field name="module_account_yodlee" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="Automatic Import"/>
<div class="text-muted">
Import your bank statements automatically
</div>
</div>
</div>
<div class="o_setting_right_pane" name="sepa_right_pane">
<label string="SEPA Payments" for="module_account_sepa"/>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<div class="text-muted">
Pay your bills in one-click, using Euro SEPA service
<div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard.">
<div class="o_setting_left_pane">
<field name="module_account_bank_statement_import_csv" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="CSV Import"/>
<div class="text-muted">
Import your bank statements in CSV
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard.">
<div class="o_setting_left_pane">
<field name="module_account_bank_statement_import_qif" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="QIF Import"/>
<div class="text-muted">
Import your bank statements in QIF
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard.">
<div class="o_setting_left_pane">
<field name="module_account_bank_statement_import_ofx" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="OFX Import"/>
<div class="text-muted">
Import your bank statements in OFX
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard.">
<div class="o_setting_left_pane">
<field name="module_account_bank_statement_import_camt" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="CAMT Import"/>
<div class="text-muted">
Import your bank statements in CAMT.053
</div>
</div>
</div>
</div>
</div>
<h2>Bank &amp; Cash</h2>
<div class="row mt16 o_settings_container" id="bank_cash">
<div class="col-xs-12 col-md-6 o_setting_box" id="account_yodlee" title="Get your bank statements automatically imported every 4 hours, or in one-click, using Yodlee and Plaid services. Once installed, set “Bank Feeds” to “Bank Synchronization” in bank account settings. Then, click “Configure” on the online account to enter your bank credentials.">
<div class="o_setting_left_pane">
<field name="module_account_yodlee" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="Automatic Import"/>
<div class="text-muted">
Import your bank statements automatically
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard.">
<div class="o_setting_left_pane">
<field name="module_account_bank_statement_import_csv" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="CSV Import"/>
<div class="text-muted">
Import your bank statements in CSV
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard.">
<div class="o_setting_left_pane">
<field name="module_account_bank_statement_import_qif" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="QIF Import"/>
<div class="text-muted">
Import your bank statements in QIF
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard.">
<div class="o_setting_left_pane">
<field name="module_account_bank_statement_import_ofx" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="OFX Import"/>
<div class="text-muted">
Import your bank statements in OFX
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard.">
<div class="o_setting_left_pane">
<field name="module_account_bank_statement_import_camt" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label string="CAMT Import"/>
<div class="text-muted">
Import your bank statements in CAMT.053
</div>
</div>
</div>
</div>
</t>
<h2>Analytics</h2>
<div class="row mt16 o_settings_container" id="analytic">
<div class="col-xs-12 col-md-6 o_setting_box" title="Allows you to use the analytic accounting.">
<div class="col-xs-12 col-md-6 o_setting_box" title="Allows you to use the analytic accounting." groups="account.group_account_user">
<div class="o_setting_left_pane">
<field name="group_analytic_accounting"/>
</div>
@@ -344,7 +346,7 @@
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" id="account_budget" title="This allows accountants to manage analytic and crossovered budgets. Once the master budgets and the budgets are defined, the project managers can set the planned amount on each analytic account.">
<div class="col-xs-12 col-md-6 o_setting_box" id="account_budget" title="This allows accountants to manage analytic and crossovered budgets. Once the master budgets and the budgets are defined, the project managers can set the planned amount on each analytic account." groups="account.group_account_user">
<div class="o_setting_left_pane">
<field name="module_account_budget"/>
</div>
@@ -397,6 +399,41 @@
</div>
</div>
</div>
<h2 groups="account.group_account_user">Automated Entries</h2>
<div class="row mt16 o_settings_container" id="recommended_apps" groups="account.group_account_user">
<div class="col-xs-12 col-md-6 o_setting_box" id="asset_types" title="This allows you to manage the assets owned by a company or a person. It keeps track of the depreciation occurred on those assets, and creates account move for those depreciation lines.">
<div class="o_setting_left_pane">
<field name="module_account_asset"/>
</div>
<div class="o_setting_right_pane">
<label for="module_account_asset"/>
<div class="text-muted">
Use depreciation boards, automate amortization entries
</div>
<div id="msg_account_asset" class="content-group" attrs="{'invisible': [('module_account_asset', '=', False)]}">
<div class="text-warning mt16 mb4">
Save this page and come back here to set up the feature.
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="This allows you to manage the revenue recognition on selling products. It keeps track of the installments occurred on those revenue recognitions, and creates account moves for those installment lines.">
<div class="o_setting_left_pane">
<field name="module_account_deferred_revenue" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label for="module_account_deferred_revenue"/>
<div class="text-muted">
Automate deferred revenues entries for multi-year contracts
</div>
<div id="msg_automate_deferred_revenues" class="content-group" attrs="{'invisible': [('module_account_deferred_revenue', '=', False)]}">
<div class="text-warning mt16 mb4">
Save this page and come back here to set up the feature.
</div>
</div>
</div>
</div>
</div>
</sheet>
</form>
</field>
@@ -294,7 +294,7 @@
<field name="tax_id" invisible="1"/>
<field name="sequence" invisible="1"/>
<field name="manual" invisible="1"/>
<field name="account_id" groups="account.group_account_invoice"/>
<field name="account_id" groups="account.group_account_user"/>
<field name="account_analytic_id" domain="[('company_id', '=', parent.company_id)]" groups="analytic.group_analytic_accounting"/>
<field name="amount"/>
<field name="currency_id" invisible="1"/>
@@ -316,7 +316,7 @@
<field name="comment" placeholder="Additional notes..."/>
</div>
</page>
<page string="Other Info">
<page string="Other Info" name="other_info">
<group>
<group>
<field name="journal_id" groups="account.group_account_user" options="{'no_create': True}"
@@ -324,13 +324,13 @@
<field domain="[('partner_id', '=', partner_id)]" name="partner_bank_id" invisible="1"/>
<field name="user_id" string="Responsible"/>
<field domain="[('company_id', '=', company_id), ('internal_type', '=', 'payable'), ('deprecated', '=', False)]"
name="account_id" groups="account.group_account_manager"/>
name="account_id" groups="account.group_account_user"/>
<field name="name" invisible="1"/>
<field name="payment_term_id" options="{'no_create': True}"/>
</group>
<group>
<field name="fiscal_position_id" options="{'no_create': True}" placeholder="Auto-detect"/>
<field name="move_id" groups="account.group_account_manager" attrs="{'invisible': [('move_id', '=', False)]}"/>
<field name="move_id" groups="account.group_account_user" attrs="{'invisible': [('move_id', '=', False)]}"/>
<field name="date" domain="[('state', '=', 'draft'), ('company_id', '=', company_id)]" groups="account.group_account_user"/>
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
</group>
@@ -471,12 +471,12 @@
<field name="journal_id" groups="account.group_account_user"
options="{'no_create': True}" attrs="{'readonly':[('move_name','!=',False)]}"/>
<field domain="[('company_id', '=', company_id),('internal_type','=', 'receivable'), ('deprecated', '=', False)]"
name="account_id" groups="account.group_account_manager"/>
name="account_id" groups="account.group_account_user"/>
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
<field domain="[('partner_id.ref_company_ids', 'in', [company_id])]" name="partner_bank_id" invisible="1"/>
</group>
<group>
<field name="move_id" groups="account.group_account_manager" attrs="{'invisible': [('move_id', '=', False)]}"/>
<field name="move_id" groups="account.group_account_user" attrs="{'invisible': [('move_id', '=', False)]}"/>
<field name="origin" groups="base.group_user" attrs="{'invisible': [('origin', '=', False)]}"/>
<field name="name"/>
</group>
@@ -330,5 +330,5 @@
</field>
</record>
<menuitem id="menu_board_journal_1" name="Dashboard" action="open_account_journal_dashboard_kanban" parent="menu_finance" sequence="1" groups="group_account_user"/>
<menuitem id="menu_board_journal_1" name="Dashboard" action="open_account_journal_dashboard_kanban" parent="menu_finance" sequence="1" groups="account.group_account_user"/>
</odoo>
+10 -10
View File
@@ -5,7 +5,7 @@
<!-- Top menu item -->
<menuitem name="Invoicing"
id="menu_finance"
groups="group_account_user,group_account_manager,group_account_invoice"
groups="account.group_account_user,account.group_account_manager,account.group_account_invoice"
web_icon="account_invoicing,static/description/icon.png"
sequence="40"/>
@@ -15,21 +15,21 @@
<menuitem id="menu_finance_receivables" name="Sales" parent="menu_finance" sequence="2"/>
<menuitem id="menu_finance_payables" name="Purchases" parent="menu_finance" sequence="3"/>
<menuitem id="menu_finance_entries" name="Adviser" parent="menu_finance" sequence="4" groups="group_account_manager"/>
<menuitem id="menu_finance_reports" name="Reporting" parent="menu_finance" sequence="5" groups="group_account_invoice"/>
<menuitem id="menu_finance_entries" name="Adviser" parent="menu_finance" sequence="4" groups="account.group_account_user"/>
<menuitem id="menu_finance_reports" name="Reporting" parent="menu_finance" sequence="5" groups="account.group_account_manager"/>
<!-- Reporting sub-menus -->
<menuitem id="account_reports_management_menu" name="Management" parent="account.menu_finance_reports" sequence="4" groups="group_account_user"/>
<menuitem id="account_reports_management_menu" name="Management" parent="account.menu_finance_reports" sequence="4"/>
<menuitem id="account_reports_legal_statements_menu" name="US GAAP" parent="account.menu_finance_reports" sequence="1" groups="account.group_account_user"/>
<menuitem id="account_reports_business_intelligence_menu" name="Business Intelligence" parent="account.menu_finance_reports" sequence="5" groups="group_account_invoice"/>
<menuitem id="menu_finance_legal_statement" name="PDF Reports" parent="account.menu_finance_reports" groups="group_account_user"/>
<menuitem id="account_reports_business_intelligence_menu" name="Business Intelligence" parent="account.menu_finance_reports" sequence="5" groups="account.group_account_invoice"/>
<menuitem id="menu_finance_legal_statement" name="PDF Reports" parent="account.menu_finance_reports"/>
<menuitem id="menu_finance_configuration" name="Configuration" parent="menu_finance" sequence="15" groups="group_account_invoice"/>
<menuitem id="menu_finance_configuration" name="Configuration" parent="menu_finance" sequence="15" groups="account.group_account_manager"/>
<!-- Configuration Sub-Menu -->
<menuitem id="account_account_menu" name="Accounting" parent="account.menu_finance_configuration" sequence="2" groups="group_account_invoice"/>
<menuitem id="account_management_menu" name="Management" parent="account.menu_finance_configuration" sequence="3" groups="group_account_manager"/>
<menuitem id="account_account_menu" name="Accounting" parent="account.menu_finance_configuration" sequence="2" groups="account.group_account_invoice"/>
<menuitem id="account_management_menu" name="Management" parent="account.menu_finance_configuration" sequence="3" groups="account.group_account_manager"/>
<menuitem id="menu_analytic_accounting" name="Analytic Accounting" parent="menu_finance_configuration" groups="analytic.group_analytic_accounting" sequence="5"/>
<menuitem id="menu_action_currency_form" action="base.action_currency_form" name="Currencies" parent="account_account_menu" sequence="1" groups="base.group_multi_currency"/>
<menuitem id="menu_account_reports" name="Financial Reports" parent="menu_finance_configuration" groups="group_account_user"/>
<menuitem id="menu_account_reports" name="Financial Reports" parent="menu_finance_configuration" groups="account.group_account_user"/>
@@ -120,7 +120,7 @@
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" name="button_journal_entries"
string="Journal Items" type="object"
groups="account.group_account_manager"
groups="account.group_account_user"
attrs="{'invisible':[('move_line_ids','=',[])]}" icon="fa-bars"/>
<field name="move_line_ids" invisible="1"/>
<button class="oe_stat_button" name="button_invoices"
@@ -214,8 +214,8 @@
</field>
</record>
<menuitem action="action_account_payments" id="menu_action_account_payments_receivable" parent="menu_finance_receivables" sequence="20" groups="group_account_user"/>
<menuitem action="action_account_payments_payable" id="menu_action_account_payments_payable" parent="menu_finance_payables" sequence="20" groups="group_account_user"/>
<menuitem action="action_account_payments" id="menu_action_account_payments_receivable" parent="menu_finance_receivables" sequence="20"/>
<menuitem action="action_account_payments_payable" id="menu_action_account_payments_payable" parent="menu_finance_payables" sequence="20"/>
<record id="view_account_payment_invoice_form" model="ir.ui.view">
<field name="name">account.payment.invoice.form</field>
+2 -2
View File
@@ -89,7 +89,7 @@
<report
id="action_report_journal"
model="account.report.journal"
model="account.common.journal.report"
string="Sale/Purchase Journal"
report_type="qweb-pdf"
name="account.report_journal"
@@ -98,7 +98,7 @@
<report
id="action_report_partnerledger"
model="account.report_partnerledger"
model="account.report.partner.ledger"
string="Partner Ledger"
report_type="qweb-pdf"
name="account.report_partnerledger"
+41 -18
View File
@@ -165,7 +165,7 @@
</p>
</field>
</record>
<menuitem action="action_account_form" id="menu_action_account_form" parent="account_account_menu" groups="group_account_manager" sequence="0"/>
<menuitem action="action_account_form" id="menu_action_account_form" parent="account_account_menu" groups="account.group_account_user" sequence="0"/>
<act_window
id="account.action_all_partner_invoices"
@@ -294,8 +294,8 @@
</div>
</group>
<group>
<field name="default_debit_account_id" domain="[('deprecated', '=', False)]" />
<field name="default_credit_account_id" domain="[('deprecated', '=', False)]" />
<field name="default_debit_account_id" domain="[('deprecated', '=', False)]" groups="account.group_account_user"/>
<field name="default_credit_account_id" domain="[('deprecated', '=', False)]" groups="account.group_account_user"/>
<field name="currency_id" options="{'no_create': True}" groups="base.group_multi_currency"/>
</group>
</group>
@@ -307,7 +307,7 @@
<field name="type_control_ids" widget="many2many_tags"/>
<field name="account_control_ids" widget="many2many_tags"/>
</group>
<group string="Miscellaneous">
<group string="Miscellaneous" groups="account.group_account_user">
<field name="inbound_payment_method_ids" widget="many2many_checkboxes" attrs="{'invisible': [('type', 'not in', ['bank', 'cash'])]}"/>
<field name="outbound_payment_method_ids" widget="many2many_checkboxes" attrs="{'invisible': [('type', 'not in', ['bank', 'cash'])]}"/>
<field name="group_invoice_lines" attrs="{'invisible': [('type', 'not in', ['sale', 'purchase'])]}"/>
@@ -324,7 +324,7 @@
<field name="bank_id"/>
</group>
<group >
<field name="bank_statements_source" widget="radio" attrs="{'required': [('type', '=', 'bank')]}"/>
<field name="bank_statements_source" widget="radio" attrs="{'required': [('type', '=', 'bank')]}" groups="account.group_account_user"/>
</group>
</group>
</page>
@@ -342,6 +342,7 @@
<tree string="Account Journal">
<field name='sequence' widget='handle'/>
<field name="name"/>
<field name="bank_acc_number"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>
@@ -375,7 +376,7 @@
<group string="Payables">
<field name="outbound_payment_method_ids" widget="many2many_checkboxes"/>
</group>
<group name="bank_statement" string="Bank Statements">
<group name="bank_statement" string="Bank Statements" groups="account.group_account_user">
<label for="bank_statements_source"/>
<div name="bank_source">
<field name="bank_statements_source" widget="radio" attrs="{'required': [('type', '=', 'bank')]}"/>
@@ -401,7 +402,7 @@
</p>
</field>
</record>
<menuitem action="action_account_bank_journal_form" id="menu_action_account_bank_journal_form" parent="account_account_menu" groups="group_account_manager" sequence="8"/>
<menuitem action="action_account_bank_journal_form" id="menu_action_account_bank_journal_form" parent="account_account_menu" groups="account.group_account_manager" sequence="8"/>
<record id="action_account_journal_form" model="ir.actions.act_window">
<field name="name">Journals</field>
@@ -421,7 +422,7 @@
</p>
</field>
</record>
<menuitem action="action_account_journal_form" id="menu_action_account_journal_form" parent="account_account_menu" groups="group_account_manager"/>
<menuitem action="action_account_journal_form" id="menu_action_account_journal_form" parent="account_account_menu" groups="account.group_account_manager"/>
<act_window
id="act_account_journal_2_account_bank_statement"
@@ -1024,7 +1025,7 @@
<label string="%" class="oe_inline" attrs="{'invisible':[('amount_type','=','fixed')]}" />
</div>
</group>
<group attrs="{'invisible':[('amount_type','=', 'group')]}">
<group attrs="{'invisible':[('amount_type','=', 'group')]}" groups="account.group_account_user">
<field name="account_id"/>
<field name="refund_account_id"/>
</group>
@@ -1052,10 +1053,10 @@
<group name="advanced_booleans">
<field name="price_include" attrs="{'invisible':[('amount_type','=', 'group')]}" />
<field name="include_base_amount" attrs="{'invisible':[('amount_type','=', 'group')]}" />
<field name="tax_adjustment"/>
<field name="tax_adjustment" groups="account.group_account_user"/>
<field name="hide_use_cash_basis" invisible="1"/>
<field name="use_cash_basis" attrs="{'invisible':['|', ('amount_type','=', 'group'), ('hide_use_cash_basis', '=', False)]}"/>
<field name="cash_basis_account" attrs="{'invisible': [('use_cash_basis', '=', False)], 'required': [('use_cash_basis', '=', True)]}"/>
<field name="use_cash_basis" attrs="{'invisible':['|', ('amount_type','=', 'group'), ('hide_use_cash_basis', '=', False)]}" groups="account.group_account_user"/>
<field name="cash_basis_account" attrs="{'invisible': [('use_cash_basis', '=', False)], 'required': [('use_cash_basis', '=', True)]}" groups="account.group_account_user"/>
</group>
</group>
</page>
@@ -1215,14 +1216,14 @@
<field name="arch" type="xml">
<tree string="Journal Items" create="false">
<field name="date"/>
<field name="move_id" required="0"/>
<field name="move_id" required="0" groups="account.group_account_user"/>
<field name="journal_id" options='{"no_open":True}'/>
<field name="name"/>
<field name="ref"/>
<field name="statement_id" invisible="1"/>
<field name="partner_id"/>
<field name="account_id" options='{"no_open":True}' domain="[('company_id', '=', company_id)]"/>
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
<field name="account_id" options='{"no_open":True}' domain="[('company_id', '=', company_id)]" groups="account.group_account_user"/>
<field name="analytic_account_id" groups="account.group_account_user"/>
<field name="reconciled" invisible="1"/>
<field name="full_reconcile_id"/>
<field name="debit" sum="Total Debit"/>
@@ -1525,7 +1526,7 @@
action="action_move_journal_line"
id="menu_action_move_journal_line_form"
parent="account.menu_finance_entries"
groups="group_account_user"
groups="account.group_account_user"
sequence="2"/>
<record id="action_move_line_form" model="ir.actions.act_window">
@@ -2080,10 +2081,32 @@
<field name="view_id" ref="product_product_view_tree"/>
</record>
<record id="product_product_action_sellable" model="ir.actions.act_window">
<field name="name">Sellable Products</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.product</field>
<field name="view_mode">kanban,tree,form</field>
<field name="view_type">form</field>
<field name="context">{'search_default_filter_to_sell': 1}</field>
<field name="view_id" ref="product_product_view_tree"/>
</record>
<record id="product_product_action_purchasable" model="ir.actions.act_window">
<field name="name">Purchasable Products</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.product</field>
<field name="view_mode">kanban,tree,form</field>
<field name="view_type">form</field>
<field name="context">{'search_default_filter_to_purchase': 1}</field>
<field name="view_id" ref="product_product_view_tree"/>
</record>
<menuitem id="product_product_menu_sellable" name="Sellable Products" action="product_product_action_sellable" parent="account.menu_finance_receivables" sequence="100"/>
<menuitem id="product_product_menu_purchasable" name="Purchasable Products" action="product_product_action_purchasable" parent="account.menu_finance_payables" sequence="101"/>
<menuitem id="product_configuration_menu" name="Products" parent="account.menu_finance_configuration" sequence="1"/>
<menuitem id="menu_product_product_action" name="Products" action="product_product_action" parent="product_configuration_menu" sequence="1"/>
<menuitem id="menu_account_supplier" name="Vendors"
parent="menu_finance_payables"
action="base.action_partner_supplier_form" sequence="100"/>
+2 -2
View File
@@ -197,13 +197,13 @@
<group string="Fiscal Information" name="fiscal_information">
<field name="property_account_position_id" options="{'no_create': True, 'no_open': True}"/>
</group>
<group string="Accounting Entries" name="accounting_entries" groups="account.group_account_manager">
<group string="Accounting Entries" name="accounting_entries" groups="account.group_account_user">
<field name="property_account_receivable_id"/>
<field name="property_account_payable_id"/>
</group>
</group>
</page>
<page string="Accounting" name="accounting_disabled" attrs="{'invisible': ['|',('is_company','=',True),('parent_id','=',False)]}">
<page string="Invoicing" name="accounting_disabled" attrs="{'invisible': ['|',('is_company','=',True),('parent_id','=',False)]}">
<div>
<p>Accounting-related settings are managed on <button name="open_commercial_entity" type="object" string="the parent company" class="oe_link"/></p>
</div>
+2 -2
View File
@@ -36,8 +36,8 @@
<field name="inherit_id" ref="product.product_category_form_view"/>
<field name="arch" type="xml">
<group name="first" position="after">
<group name="account_property" groups="account.group_account_manager">
<group string="Accounts">
<group name="account_property" >
<group string="Account Properties" groups="account.group_account_user">
<field name="property_account_income_categ_id" domain="[('internal_type','=','other'),('deprecated', '=', False)]"/>
<field name="property_account_expense_categ_id" domain="[('internal_type','=','other'),('deprecated', '=', False)]"/>
</group>
@@ -42,7 +42,7 @@
<field name="context" eval="{'default_account_report_id':ref('account.account_financial_report_balancesheet0')}"/>
</record>
<menuitem id="menu_account_report_bs" name="Balance Sheet" action="action_account_report_bs" parent="menu_finance_legal_statement"/>
<menuitem id="menu_account_report_bs" name="Balance Sheet" action="action_account_report_bs" parent="menu_finance_legal_statement" groups="account.group_account_user"/>
<record id="action_account_report_pl" model="ir.actions.act_window">
<field name="name">Profit and Loss</field>
@@ -55,7 +55,7 @@
<field name="context" eval="{'default_account_report_id':ref('account.account_financial_report_profitandloss0')}"/>
</record>
<menuitem id="menu_account_report_pl" name="Profit and Loss" action="action_account_report_pl" parent="menu_finance_legal_statement"/>
<menuitem id="menu_account_report_pl" name="Profit and Loss" action="action_account_report_pl" parent="menu_finance_legal_statement" groups="account.group_account_user"/>
<record id="action_account_report" model="ir.actions.act_window">
<field name="name">Financial Reports</field>
@@ -67,6 +67,6 @@
<field name="target">new</field>
</record>
<menuitem id="menu_account_report" name="Financial Report" action="action_account_report" parent="menu_finance_legal_statement" sequence="100"/>
<menuitem id="menu_account_report" name="Financial Report" action="action_account_report" parent="menu_finance_legal_statement" sequence="100" groups="account.group_account_user"/>
</odoo>
@@ -41,7 +41,7 @@
name="General Ledger"
parent="account.menu_finance_legal_statement"
action="action_account_general_ledger_menu"
groups="group_account_manager,group_account_user"
groups="account.group_account_user"
/>
</odoo>
@@ -42,7 +42,7 @@
name="Partner Ledger"
parent="account.menu_finance_legal_statement"
action="action_account_partner_ledger_menu"
groups="account.group_account_manager,account.group_account_user"
groups="account.group_account_user"
/>
</odoo>
@@ -30,7 +30,8 @@
<menuitem id="menu_general_Balance_report"
name="Trial Balance"
parent="account.menu_finance_legal_statement"
action="action_account_balance_menu"/>
action="action_account_balance_menu"
groups="account.group_account_user"/>
<record id="action_account_balance_report_values1" model="ir.values">
<field name="model_id" ref="account.model_account_account" />
@@ -77,43 +77,6 @@
</div>
</div>
</div>
<div id="analytic" position="after">
<h2>Automated Entries</h2>
<div class="row mt16 o_settings_container" id="recommended_apps">
<div class="col-xs-12 col-md-6 o_setting_box" id="asset_types" title="This allows you to manage the assets owned by a company or a person. It keeps track of the depreciation occurred on those assets, and creates account move for those depreciation lines.">
<div class="o_setting_left_pane">
<field name="module_account_asset"/>
</div>
<div class="o_setting_right_pane">
<label for="module_account_asset"/>
<div class="text-muted">
Use depreciation boards, automate amortization entries
</div>
<div id="msg_account_asset" class="content-group" attrs="{'invisible': [('module_account_asset', '=', False)]}">
<div class="text-warning mt16 mb4">
Save this page and come back here to set up the feature.
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="This allows you to manage the revenue recognition on selling products. It keeps track of the installments occurred on those revenue recognitions, and creates account moves for those installment lines.">
<div class="o_setting_left_pane">
<field name="module_account_deferred_revenue" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label for="module_account_deferred_revenue"/>
<div class="text-muted">
Automate deferred revenues entries for multi-year contracts
</div>
<div id="msg_automate_deferred_revenues" class="content-group" attrs="{'invisible': [('module_account_deferred_revenue', '=', False)]}">
<div class="text-warning mt16 mb4">
Save this page and come back here to set up the feature.
</div>
</div>
</div>
</div>
</div>
</div>
</field>
</record>
</odoo>
@@ -3,4 +3,77 @@
<menuitem id="menu_product_product_categories"
action="product.product_category_action_form"
parent="account.product_configuration_menu" sequence="2"/>
<!--
The following menuitems and elements in views are hidden by the group_account_user.
Now that we want to show them, we set the correct group on them (example: group_account_manager)
-->
<record id="account.menu_finance_entries" model="ir.ui.menu">
<field name="groups_id" eval="[(3, ref('account.group_account_user')), (4, ref('account.group_account_manager'))]"/>
</record>
<record id="account.menu_finance_configuration" model="ir.ui.menu">
<field name="groups_id" eval="[(3, ref('account.group_account_manager')), (4, ref('account.group_account_user'))]"/>
</record>
<record id="account.menu_finance_reports" model="ir.ui.menu">
<field name="groups_id" eval="[(3, ref('account.group_account_manager')), (4, ref('account.group_account_user'))]"/>
</record>
<record id="res_partner_view_form" model="ir.ui.view">
<field name="name">res.partner.form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="account.view_partner_property_form"/>
<field name="arch" type="xml">
<xpath expr="//group[@name='accounting_entries']" position="attributes">
<attribute name="groups">account.group_account_manager</attribute>
</xpath>
<xpath expr="//page[@name='accounting_disabled']" position="attributes">
<attribute name="string">Accounting</attribute>
</xpath>
<xpath expr="//page[@name='accounting']" position="attributes">
<attribute name="string">Accounting</attribute>
</xpath>
</field>
</record>
<record id="account_payment_view_form" model="ir.ui.view">
<field name="name">account.payment.form</field>
<field name="model">account.payment</field>
<field name="inherit_id" ref="account.view_account_payment_form"/>
<field name="arch" type="xml">
<xpath expr="//button[@name='button_journal_entries']" position="attributes">
<attribute name="groups">account.group_account_manager</attribute>
</xpath>
</field>
</record>
<record id="account_invoice_view_form_supplier" model="ir.ui.view">
<field name="name">account.invoice.form.supplier</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_supplier_form"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='other_info']//field[@name='account_id']" position="attributes">
<attribute name="groups">account.group_account_manager</attribute>
</xpath>
<xpath expr="//page[@name='other_info']//field[@name='move_id']" position="attributes">
<attribute name="groups">account.group_account_manager</attribute>
</xpath>
<xpath expr="//field[@name='tax_line_ids']//tree//field[@name='account_id']" position="attributes">
<attribute name="groups">account.group_account_invoice</attribute>
</xpath>
</field>
</record>
<record id="account_invoice_view_form_customer" model="ir.ui.view">
<field name="name">account.invoice.form.customer</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_form"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='other_info']//field[@name='move_id']" position="attributes">
<attribute name="groups">account.group_account_manager</attribute>
</xpath>
</field>
</record>
</odoo>
+1 -1
View File
@@ -3,7 +3,7 @@
{
'name': 'Assets Management',
'depends': ['account_accountant'],
'depends': ['account'],
'description': """
Assets management
=================
@@ -3,7 +3,7 @@
'name': 'Account Bank Statement Import',
'category': 'Accounting',
'version': '1.0',
'depends': ['account_accountant'],
'depends': ['account'],
'description': """Generic Wizard to Import Bank Statements. Includes the import of files in .OFX format""",
'data': [
'account_bank_statement_import_view.xml',
@@ -12,7 +12,7 @@
!record {model: res.users, id: res_users_account_voucher_user}:
groups_id:
- base.group_partner_manager
- account.group_account_user
- account.group_account_invoice
-
Create a user as 'Financial Manager for account voucher'
-
@@ -233,12 +233,13 @@
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
<field name="partner_id" domain="[('customer','=',True)]" string="Customer" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": True}'/>
<field name="pay_now" required="1"/>
<field name="account_id"/>
<field name="account_id" groups="account.group_account_user"/>
</group>
<group>
<field name="journal_id" domain="[('type','=','sale')]" widget="selection" groups="account.group_account_user"/>
<field name="date"/>
<field name="date_due" attrs="{'invisible':[('pay_now','=','pay_now')]}"/>
<field name="account_date"/>
<field name="name" attrs="{'invisible': [('pay_now', '=', 'pay_later')]}"/>
<field name="paid" invisible="1"/>
</group>
@@ -249,7 +250,7 @@
<tree string="Voucher Lines" editable="bottom">
<field name="product_id"/>
<field name="name"/>
<field name="account_id"/>
<field name="account_id" groups="account.group_account_user"/>
<field name="account_analytic_id" domain="[('company_id', '=', parent.company_id)]" groups="analytic.group_analytic_accounting"/>
<field name="quantity"/>
<field name="price_unit"/>
@@ -259,17 +260,16 @@
<field name="company_id" invisible="1"/>
</tree>
</field>
<group>
<group>
<group class="oe_subtotal_footer oe_right">
<field name="tax_amount"/>
<field name="amount"/>
</group>
<field name="narration" placeholder="Internal Notes" nolabel="1"/>
</group>
</group>
</page>
<page string="Journal Items">
<page string="Journal Items" groups="account.group_account_user">
<group>
<field name="account_date"/>
<field name="move_id" readonly="1"/>
</group>
</page>
@@ -343,7 +343,7 @@
<group>
<field name="partner_id" domain="[('supplier','=',True)]" string="Vendor" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" />
<field name="pay_now" required="1"/>
<field name="account_id"/>
<field name="account_id" groups="account.group_account_user"/>
<field name="name" colspan="2" attrs="{'invisible': [('pay_now', '=', 'pay_later')]}"/>
<field name="reference"/>
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
@@ -351,6 +351,7 @@
<group>
<field name="date" string="Bill Date"/>
<field name="date_due" attrs="{'invisible': [('pay_now', '=', 'pay_now')]}"/>
<field name="account_date"/>
<field name="paid" invisible="1"/>
<field name="currency_id" invisible="1"/>
<field name="journal_id"
@@ -365,7 +366,7 @@
<tree string="Voucher Lines" editable="bottom">
<field name="product_id"/>
<field name="name"/>
<field name="account_id"/>
<field name="account_id" groups="account.group_account_user"/>
<field name="account_analytic_id" domain="[('company_id', '=', parent.company_id)]" groups="analytic.group_analytic_accounting"/>
<field name="quantity"/>
<field name="price_unit"/>
@@ -384,9 +385,8 @@
<field name="narration" placeholder="Internal Notes" nolabel="1"/>
</group>
</page>
<page string="Journal Items">
<page string="Journal Items" groups="account.group_account_user">
<group>
<field name="account_date"/>
<field name="move_id" readonly="1"/>
</group>
</page>
+1 -1
View File
@@ -26,7 +26,7 @@ The whole flow is implemented as:
This module also uses analytic accounting and is compatible with the invoice on timesheet module so that you are able to automatically re-invoice your customers' expenses if your work by project.
""",
'website': 'https://www.odoo.com/page/expenses',
'depends': ['hr_contract', 'account_accountant', 'web_tour'],
'depends': ['hr_contract', 'account', 'web_tour'],
'data': [
'security/hr_expense_security.xml',
'security/ir.model.access.csv',
+1 -1
View File
@@ -405,7 +405,7 @@ class HrExpenseSheet(models.Model):
default=lambda self: self.env['ir.model.data'].xmlid_to_object('hr_expense.hr_expense_account_journal') or self.env['account.journal'].search([('type', '=', 'purchase')], limit=1),
help="The journal used when the expense is done.")
bank_journal_id = fields.Many2one('account.journal', string='Bank Journal', states={'done': [('readonly', True)], 'post': [('readonly', True)]}, default=lambda self: self.env['account.journal'].search([('type', 'in', ['case', 'bank'])], limit=1), help="The payment method used when the expense is paid by the company.")
accounting_date = fields.Date(string="Accounting Date")
accounting_date = fields.Date(string="Date")
account_move_id = fields.Many2one('account.move', string='Journal Entry', ondelete='restrict', copy=False)
department_id = fields.Many2one('hr.department', string='Department', states={'post': [('readonly', True)], 'done': [('readonly', True)]})
@@ -83,7 +83,7 @@
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="col-xs-12 col-md-6 o_setting_box" groups="account.group_account_user">
<div class="o_setting_left_pane">
<field name="group_analytic_accounting"/>
</div>
+7 -7
View File
@@ -60,7 +60,7 @@
</group><group>
<field name="reference"/>
<field name="date"/>
<field name="account_id" domain="[('internal_type', '=', 'other')]"/>
<field name="account_id" domain="[('internal_type', '=', 'other')]" groups="account.group_account_user"/>
<field name="employee_id"/>
<field name="sheet_id" invisible="1"/>
<field name="currency_id" groups="base.group_multi_currency"/>
@@ -298,7 +298,7 @@
</div>
</group>
<group string="Accounting">
<field name="property_account_expense_id"/>
<field name="property_account_expense_id" groups="account.group_account_user"/>
<field name="supplier_taxes_id" widget="many2many_tags"/>
</group>
</group>
@@ -407,11 +407,11 @@
<form string="Expense Reports" class="o_expense_sheet">
<header>
<button name="approve_expense_sheets" states="submit" string="Approve" type="object" groups="hr_expense.group_hr_expense_user" class="oe_highlight o_expense_sheet_approve"/>
<button name="action_sheet_move_create" states="approve" string="Post Journal Entries" type="object" groups="account.group_account_user" class="oe_highlight o_expense_sheet_post"/>
<button name="%(hr_expense.hr_expense_register_payment_wizard_action)d" type="action" string="Register Payment" class="oe_highlight o_expense_sheet_pay" attrs="{'invisible': [('state', '!=', 'post')]}" context="{'default_amount': total_amount, 'partner_id': address_id}" groups="account.group_account_user"/>
<button name="action_sheet_move_create" states="approve" string="Validate" type="object" groups="account.group_account_manager" class="oe_highlight o_expense_sheet_post"/>
<button name="%(hr_expense.hr_expense_register_payment_wizard_action)d" type="action" string="Register Payment" class="oe_highlight o_expense_sheet_pay" attrs="{'invisible': [('state', '!=', 'post')]}" context="{'default_amount': total_amount, 'partner_id': address_id}" groups="account.group_account_manager"/>
<button name="reset_expense_sheets" states="cancel" string="Resubmit" type="object"/>
<button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="submit" string="Refuse" type="action" groups="hr_expense.group_hr_expense_user" />
<button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="approve" string="Refuse" type="action" groups="account.group_account_user"/>
<button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="approve" string="Refuse" type="action" groups="hr_expense.group_hr_expense_manager"/>
<field name="state" widget="statusbar" statusbar_visible="draft,submit,approve,post,done"/>
</header>
<sheet>
@@ -462,8 +462,8 @@
<group>
<group>
<field name="journal_id" domain="[('type', '=', 'purchase')]" groups="account.group_account_user" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('payment_mode', '!=', 'own_account')]}"/>
<field name="bank_journal_id" groups="account.group_account_user" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('payment_mode', '!=', 'company_account')]}" domain="[('type', 'in', ['cash', 'bank'])]"/>
<field name="accounting_date" groups="account.group_account_user" attrs="{'invisible': [('state', 'not in', ['approve', 'post', 'done'])]}"/>
<field name="bank_journal_id" groups="account.group_account_invoice" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('payment_mode', '!=', 'company_account')]}" domain="[('type', 'in', ['cash', 'bank'])]"/>
<field name="accounting_date" attrs="{'invisible': [('state', 'not in', ['approve', 'post', 'done'])]}"/>
</group>
<group>
<field name="account_move_id" groups="account.group_account_user" attrs="{'invisible': [('state', 'not in', ['post', 'done'])]}" readonly="1"/>
@@ -38,7 +38,7 @@
<div class="row mt16 o_settings_container" id="hr_payroll_accountant">
<div class="col-md-6 col-xs-12 o_setting_box">
<div class="o_setting_left_pane">
<field name="module_account_accountant"/>
<field name="module_account_accountant" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label for="module_account_accountant" string="Payroll Entries"/>
+1 -1
View File
@@ -8,7 +8,7 @@
Generates Intrastat XML report for declaration
Based on invoices.
""",
'depends': ['report_intrastat', 'sale_stock', 'account_accountant', 'l10n_be'],
'depends': ['report_intrastat', 'sale_stock', 'account', 'l10n_be'],
'data': [
'data/l10n_be_intrastat_chart_data.xml',
'data/report.intrastat.code.csv',
+1 -1
View File
@@ -52,7 +52,7 @@ References
- Council Implementing Regulation (EU) No 1042/2013
""",
'depends': ['account_accountant'],
'depends': ['account'],
'data': [
'security/ir.model.access.csv',
'wizard/wizard.xml',
+1 -1
View File
@@ -9,7 +9,7 @@
'summary': "Fichier d'Échange Informatisé (FEC) for France",
'author': "Akretion,Odoo Community Association (OCA)",
'website': 'http://www.akretion.com',
'depends': ['l10n_fr', 'account_accountant'],
'depends': ['l10n_fr', 'account'],
'data': [
'wizard/account_fr_fec_view.xml',
],
@@ -7,7 +7,7 @@
<field name="inherit_id" ref="account.account_config_settings_view_form"/>
<field name="arch" type="xml">
<div id="account_budget" position="before">
<div class="col-xs-12 col-md-6 o_setting_box" title="Allows you to specify an analytic account on purchase order lines.">
<div class="col-xs-12 col-md-6 o_setting_box" title="Allows you to specify an analytic account on purchase order lines." groups="account.group_account_user">
<div class="o_setting_left_pane">
<field name="group_analytic_account_for_purchases" class="oe_inline"/>
</div>
+4 -3
View File
@@ -610,8 +610,9 @@
<field name="model">product.template</field>
<field name="inherit_id" ref="account.product_template_form_view"/>
<field name="arch" type="xml">
<field name="property_account_expense_id" position="replace" >
<field name="property_account_expense_id" domain="[('deprecated','=',False)]" attrs="{'readonly': [('purchase_ok', '=', 0)]}"/>
<field name="property_account_expense_id" position="attributes">
<attribute name="domain">[('deprecated','=',False)]"</attribute>
<attribute name="attrs">{'readonly': [('purchase_ok', '=', 0)]}</attribute>
</field>
<field name='supplier_taxes_id' position="replace" >
<field name="supplier_taxes_id" colspan="2" widget="many2many_tags" attrs="{'readonly':[('purchase_ok','=',0)]}"/>
@@ -640,7 +641,7 @@
<field name="inherit_id" ref="account.product_template_form_view"/>
<field name="arch" type="xml">
<field name="property_account_expense_id" position="after">
<field name="property_account_creditor_price_difference" domain="[('deprecated','=',False)]" attrs="{'readonly':[('purchase_ok', '=', 0)]}" />
<field name="property_account_creditor_price_difference" domain="[('deprecated','=',False)]" attrs="{'readonly':[('purchase_ok', '=', 0)]}" groups="account.group_account_user"/>
</field>
</field>
</record>
+3 -3
View File
@@ -8,7 +8,7 @@
<field name="inherit_id" ref="account.view_category_property_form"/>
<field name="arch" type="xml">
<group name="account_property" position="inside">
<group name="account_stock_property" string="Account Stock Properties">
<group name="account_stock_property" string="Account Stock Properties" groups="account.group_account_user">
<field name="property_stock_account_input_categ_id" domain="[('deprecated', '=', False)]" attrs="{'required':[ ('property_valuation', '=', 'real_time')]}" />
<field name="property_stock_account_output_categ_id" domain="[('deprecated', '=', False)]" attrs="{'required':[ ('property_valuation', '=', 'real_time')]}" />
<field name="property_stock_valuation_account_id" domain="[('deprecated', '=', False)]" attrs="{'required':[ ('property_valuation', '=', 'real_time')]}"/>
@@ -19,7 +19,7 @@
<group>
<group string="Inventory Valuation">
<field name="property_cost_method"/>
<field name="property_valuation"/>
<field name="property_valuation" groups="account.group_account_user"/>
</group>
</group>
</group>
@@ -52,7 +52,7 @@
class="oe_link oe_read_only" colspan="2"/>
</div>
<group name="accounting" position="inside">
<group name="property_inventory_valuation" string="Stock Valuation" attrs="{'invisible': ['|', ('type','=','service'), ('valuation', '!=', 'real_time')]}">
<group name="property_inventory_valuation" string="Stock Valuation" attrs="{'invisible': ['|', ('type','=','service'), ('valuation', '!=', 'real_time')]}" groups="account.group_account_user">
<field name="property_valuation" invisible="1"/>
<field name="property_stock_account_input"
domain="[('deprecated', '=', False)]"/>
+1 -1
View File
@@ -8,7 +8,7 @@
This mobule will test the main workflow of Odoo.
It will install some main apps and will try to execute the most important actions.
""",
'depends': ['web_tour', 'crm', 'sale_timesheet', 'purchase', 'mrp', 'account_accountant'],
'depends': ['web_tour', 'crm', 'sale_timesheet', 'purchase', 'mrp', 'account'],
'data': [
'views/templates.xml',
],