diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index fba1bd8736f..27aca6fb9fa 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -106,6 +106,7 @@ module named account_voucher. 'partner_view.xml', 'data/account_data.xml', 'data/data_account_type.xml', + 'data/configurable_account_chart.xml', 'account_invoice_workflow.xml', 'project/project_view.xml', 'project/project_report.xml', diff --git a/addons/account/account_analytic_line.py b/addons/account/account_analytic_line.py index da0bc96bda9..280b813380f 100644 --- a/addons/account/account_analytic_line.py +++ b/addons/account/account_analytic_line.py @@ -27,7 +27,7 @@ class account_analytic_line(osv.osv): _inherit = 'account.analytic.line' _description = 'Analytic Line' _columns = { - 'product_uom_id': fields.many2one('product.uom', 'UoM'), + 'product_uom_id': fields.many2one('product.uom', 'Unit of Measure'), 'product_id': fields.many2one('product.product', 'Product'), 'general_account_id': fields.many2one('account.account', 'General Account', required=True, ondelete='restrict'), 'move_id': fields.many2one('account.move.line', 'Move Line', ondelete='cascade', select=True), diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 17120ee265e..573b8f17524 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -474,7 +474,7 @@ class account_move_line(osv.osv): _columns = { 'name': fields.char('Name', size=64, required=True), 'quantity': fields.float('Quantity', digits=(16,2), help="The optional quantity expressed by this line, eg: number of product sold. The quantity is not a legal requirement but is very useful for some reports."), - 'product_uom_id': fields.many2one('product.uom', 'UoM'), + 'product_uom_id': fields.many2one('product.uom', 'Unit of Measure'), 'product_id': fields.many2one('product.product', 'Product'), 'debit': fields.float('Debit', digits_compute=dp.get_precision('Account')), 'credit': fields.float('Credit', digits_compute=dp.get_precision('Account')), diff --git a/addons/account/configurable_account_chart.xml b/addons/account/data/configurable_account_chart.xml similarity index 100% rename from addons/account/configurable_account_chart.xml rename to addons/account/data/configurable_account_chart.xml diff --git a/addons/account/installer.py b/addons/account/installer.py index f0111d6645a..dc072787f96 100644 --- a/addons/account/installer.py +++ b/addons/account/installer.py @@ -123,11 +123,6 @@ class account_installer(osv.osv_memory): context = {} fy_obj = self.pool.get('account.fiscalyear') for res in self.read(cr, uid, ids, context=context): - if 'charts' in res and res['charts'] == 'configurable': - #load generic chart of account - fp = tools.file_open(opj('account', 'configurable_account_chart.xml')) - tools.convert_xml_import(cr, 'account', fp, {}, 'init', True, None) - fp.close() if 'date_start' in res and 'date_stop' in res: f_ids = fy_obj.search(cr, uid, [('date_start', '<=', res['date_start']), ('date_stop', '>=', res['date_stop']), ('company_id', '=', res['company_id'][0])], context=context) if not f_ids: diff --git a/addons/account/report/account_analytic_entries_report.py b/addons/account/report/account_analytic_entries_report.py index 1b7e7f9a84b..02c1c508237 100644 --- a/addons/account/report/account_analytic_entries_report.py +++ b/addons/account/report/account_analytic_entries_report.py @@ -43,7 +43,7 @@ class analytic_entries_report(osv.osv): 'journal_id': fields.many2one('account.analytic.journal', 'Journal', required=True), 'move_id': fields.many2one('account.move.line', 'Move', required=True), 'product_id': fields.many2one('product.product', 'Product', required=True), - 'product_uom_id': fields.many2one('product.uom', 'Product UOM', required=True), + 'product_uom_id': fields.many2one('product.uom', 'Product Unit of Measure', required=True), 'amount': fields.float('Amount', readonly=True), 'unit_amount': fields.float('Quantity', readonly=True), 'nbr': fields.integer('#Entries', readonly=True), diff --git a/addons/account/report/account_analytic_entries_report_view.xml b/addons/account/report/account_analytic_entries_report_view.xml index 9f580e6fc4b..408e76fdcb9 100644 --- a/addons/account/report/account_analytic_entries_report_view.xml +++ b/addons/account/report/account_analytic_entries_report_view.xml @@ -76,7 +76,7 @@ - + diff --git a/addons/account/report/account_entries_report.py b/addons/account/report/account_entries_report.py index 29e40c7d5ad..56085b13453 100644 --- a/addons/account/report/account_entries_report.py +++ b/addons/account/report/account_entries_report.py @@ -50,7 +50,7 @@ class account_entries_report(osv.osv): 'journal_id': fields.many2one('account.journal', 'Journal', readonly=True), 'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year', readonly=True), 'product_id': fields.many2one('product.product', 'Product', readonly=True), - 'product_uom_id': fields.many2one('product.uom', 'Product UOM', readonly=True), + 'product_uom_id': fields.many2one('product.uom', 'Product Unit of Measure', readonly=True), 'move_state': fields.selection([('draft','Unposted'), ('posted','Posted')], 'State', readonly=True), 'move_line_state': fields.selection([('draft','Unbalanced'), ('valid','Valid')], 'State of Move Line', readonly=True), 'reconcile_id': fields.many2one('account.move.reconcile', readonly=True), diff --git a/addons/account/report/account_invoice_report.py b/addons/account/report/account_invoice_report.py index 2fbe641dba3..f50ee46d63e 100644 --- a/addons/account/report/account_invoice_report.py +++ b/addons/account/report/account_invoice_report.py @@ -36,7 +36,7 @@ class account_invoice_report(osv.osv): ('10','October'), ('11','November'), ('12','December')], 'Month', readonly=True), 'product_id': fields.many2one('product.product', 'Product', readonly=True), 'product_qty':fields.float('Qty', readonly=True), - 'uom_name': fields.char('Reference UoM', size=128, readonly=True), + 'uom_name': fields.char('Reference Unit of Measure', size=128, readonly=True), 'payment_term': fields.many2one('account.payment.term', 'Payment Term', readonly=True), 'period_id': fields.many2one('account.period', 'Force Period', domain=[('state','<>','done')], readonly=True), 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position', readonly=True), diff --git a/addons/account/res_config.py b/addons/account/res_config.py index 930655eb125..583b769d315 100644 --- a/addons/account/res_config.py +++ b/addons/account/res_config.py @@ -36,11 +36,11 @@ class account_config_settings(osv.osv_memory): _columns = { 'company_id': fields.many2one('res.company', 'Company', required=True), 'has_default_company': fields.boolean('Has default company', readonly=True), - 'expects_chart_of_accounts': fields.related('company_id', 'expects_chart_of_accounts', type='boolean', - string='Chart of Accounts for this Company'), + string='Chart of Accounts for this Company', + help="""Check this box if this company is a legal entity."""), 'currency_id': fields.related('company_id', 'currency_id', type='many2one', relation='res.currency', required=True, - string='Main currency', help="Main currency of the company."), + string='Default Company Currency', help="Main currency of the company."), 'paypal_account': fields.related('company_id', 'paypal_account', type='char', size=128, string='Paypal Account', help="Paypal account (email) for receiving online payments (credit card, etc.)"), 'company_footer': fields.related('company_id', 'rml_footer2', type='char', size=250, readonly=True, @@ -65,31 +65,31 @@ class account_config_settings(osv.osv_memory): 'sale_sequence_prefix': fields.related('sale_journal_id', 'sequence_id', 'prefix', type='char', string='Invoice Sequence'), 'sale_sequence_next': fields.related('sale_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Invoice Number'), 'sale_refund_journal_id': fields.many2one('account.journal', 'Sale Refund Journal'), - 'sale_refund_sequence_prefix': fields.related('sale_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Refund Sequence'), - 'sale_refund_sequence_next': fields.related('sale_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Refund Number'), + 'sale_refund_sequence_prefix': fields.related('sale_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Credit Note Sequence'), + 'sale_refund_sequence_next': fields.related('sale_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Credit Note Number'), 'purchase_journal_id': fields.many2one('account.journal', 'Purchase Journal'), 'purchase_sequence_prefix': fields.related('purchase_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier Invoice Sequence'), 'purchase_sequence_next': fields.related('purchase_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Supplier Invoice Number'), 'purchase_refund_journal_id': fields.many2one('account.journal', 'Purchase Refund Journal'), - 'purchase_refund_sequence_prefix': fields.related('purchase_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier Refund Sequence'), - 'purchase_refund_sequence_next': fields.related('purchase_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Supplier Refund Number'), + 'purchase_refund_sequence_prefix': fields.related('purchase_refund_journal_id', 'sequence_id', 'prefix', type='char', string='Supplier Credit Note Sequence'), + 'purchase_refund_sequence_next': fields.related('purchase_refund_journal_id', 'sequence_id', 'number_next', type='integer', string='Next Supplier Credit Note Number'), - 'module_account_check_writing': fields.boolean('Support Check Writings', + 'module_account_check_writing': fields.boolean('Check Writing', help="""This allows you to check writing and printing. This installs the module account_check_writing."""), 'module_account_accountant': fields.boolean('Accountant Features', - help="""This allows you to access all the accounting features, like the journal items and the chart of accounts. - This installs the module account_accountant."""), + help="""If you do not check this box, you will be able to do Invoicing & Payments, but not accounting (Journal Items, Chart of Accounts, ...)."""), 'module_account_asset': fields.boolean('Assets Management', help="""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. - This installs the module account_asset."""), - 'module_account_budget': fields.boolean('Budgets Management', + This installs the module account_asset. If you do not check this box, you will be able to do invoicing & payments, + but not accounting (Journal Items, Chart of Accounts, ...) """), + 'module_account_budget': fields.boolean('Budget Management', help="""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. This installs the module account_budget."""), - 'module_account_payment': fields.boolean('Supplier Payment Orders', + 'module_account_payment': fields.boolean('Manage Payment Orders', help="""This allows you to create and manage your payment orders, with purposes to * serve as base for an easy plug-in of various automated payment mechanisms, and * provide a more efficient way to manage invoice payments. @@ -97,17 +97,10 @@ class account_config_settings(osv.osv_memory): 'module_account_voucher': fields.boolean('Manage Customer Payments', help="""This includes all the basic requirements of voucher entries for bank, cash, sales, purchase, expense, contra, etc. This installs the module account_voucher."""), - 'module_account_followup': fields.boolean('Customer Follow-Ups', + 'module_account_followup': fields.boolean('Manage Customer Payment Follow-Ups', help="""This allows to automate letters for unpaid invoices, with multi-level recalls. This installs the module account_followup."""), - 'module_account_analytic_plans': fields.boolean('Support Multiple Analytic Plans', - help="""This allows to use several analytic plans, according to the general journal. - This installs the module account_analytic_plans."""), - 'module_account_analytic_default': fields.boolean('Rules for Analytic Assignation', - help="""Set default values for your analytic accounts. - Allows to automatically select analytic accounts based on criteria like product, partner, user, company, date. - This installs the module account_analytic_default."""), - 'module_account_invoice_layout': fields.boolean('Allow notes and subtotals', + 'module_account_invoice_layout': fields.boolean('Allow Notes and Subtotals', help="""This provides some features to improve the layout of invoices. It gives you the possibility to: * order all the lines of an invoice @@ -118,9 +111,10 @@ class account_config_settings(osv.osv_memory): 'group_proforma_invoices': fields.boolean('Allow Pro-forma Invoices', implied_group='account.group_proforma_invoices', help="Allows you to put invoices in pro-forma state."), - 'default_sale_tax': fields.many2one('account.tax', 'Default Sale Tax'), 'default_purchase_tax': fields.many2one('account.tax', 'Default Purchase Tax'), + 'decimal_precision': fields.integer('Decimal Precision', + help="""Set the decimal precision for rounding results in accounting."""), } def _default_company(self, cr, uid, context=None): @@ -279,4 +273,13 @@ class account_config_settings(osv.osv_memory): elif config.period == '3months': fiscalyear.create_period3(cr, uid, [fiscalyear_id]) + def get_default_dp(self, cr, uid, fields, context=None): + dp = self.pool.get('ir.model.data').get_object(cr, uid, 'product','decimal_account') + return {'decimal_precision': dp.digits} + + def set_default_dp(self, cr, uid, ids, context=None): + config = self.browse(cr, uid, ids[0], context) + dp = self.pool.get('ir.model.data').get_object(cr, uid, 'product','decimal_account') + dp.write({'digits': config.decimal_precision}) + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/account/res_config_view.xml b/addons/account/res_config_view.xml index e0b1b2fbd66..1cf1e40f02b 100644 --- a/addons/account/res_config_view.xml +++ b/addons/account/res_config_view.xml @@ -22,16 +22,17 @@ + -