diff --git a/addons/account/demo/account_bank_statement.yml b/addons/account/demo/account_bank_statement.yml index 2275b3b9bd3..ec1d97b411f 100644 --- a/addons/account/demo/account_bank_statement.yml +++ b/addons/account/demo/account_bank_statement.yml @@ -2,7 +2,8 @@ Create demo bank statement - !python {model: ir.model.data, id: False} : | - journal = self.env['account.journal'].search([('type', '=', 'bank')], limit=1) + default_company = self.env['res.company']._company_default_get('account.journal') + journal = self.env['account.journal'].search([('type', '=', 'bank'), ('company_id', '=', default_company.id)], limit=1) import time if journal: vals = { @@ -11,7 +12,6 @@ 'date': time.strftime('%Y')+'-01-01', 'name': "BNK/2014/001", 'balance_end_real': '8998.2', - 'company_id': ref('base.main_company'), 'balance_start': 5103.0 } self._update('account.bank.statement', 'account', vals, 'demo_bank_statement_1') @@ -19,7 +19,6 @@ 'ref': '', 'statement_id': ref('account.demo_bank_statement_1'), 'sequence': 1, - 'company_id': ref('base.main_company'), 'name': "SAJ/2014/002 and SAJ/2014/003", 'journal_id': journal.id, 'amount': 1175.0, @@ -31,7 +30,6 @@ 'ref': '', 'statement_id': ref('account.demo_bank_statement_1'), 'sequence': 2, - 'company_id': ref('base.main_company'), 'name': "Bank fees", 'journal_id': journal.id, 'amount': -32.58, @@ -42,7 +40,6 @@ 'ref': '', 'statement_id': ref('account.demo_bank_statement_1'), 'sequence': 3, - 'company_id': ref('base.main_company'), 'name': "Prepayment", 'journal_id': journal.id, 'amount': 650.0, @@ -54,7 +51,6 @@ 'ref': '', 'statement_id': ref('account.demo_bank_statement_1'), 'sequence': 4, - 'company_id': ref('base.main_company'), 'name': "First 2000 € of SAJ/2014/001", 'journal_id': journal.id, 'amount': 2000.0, @@ -66,7 +62,6 @@ 'ref': '', 'statement_id': ref('account.demo_bank_statement_1'), 'sequence': 5, - 'company_id': ref('base.main_company'), 'name': "Last Year Interests", 'journal_id': journal.id, 'amount': 102.78, diff --git a/addons/account/demo/account_invoice_demo.yml b/addons/account/demo/account_invoice_demo.yml index e131aec2292..262c35e3666 100644 --- a/addons/account/demo/account_invoice_demo.yml +++ b/addons/account/demo/account_invoice_demo.yml @@ -2,7 +2,6 @@ Set the context for customer invoices because the 'type' field is readonly in invoice form views, so it value won't be considered by the yaml import - !record {model: account.invoice, id: demo_invoice_1}: - company_id: base.main_company partner_id: base.res_partner_12 user_id: base.user_demo reference_type: none @@ -21,7 +20,6 @@ self.action_invoice_open() - !record {model: account.invoice, id: demo_invoice_2}: - company_id: base.main_company partner_id: base.res_partner_2 type: 'out_invoice' date_invoice: !eval time.strftime('%Y-%m')+'-08' @@ -37,7 +35,6 @@ self.action_invoice_open() - !record {model: account.invoice, id: demo_invoice_3}: - company_id: base.main_company partner_id: base.res_partner_2 type: 'out_invoice' date_invoice: !eval time.strftime('%Y-%m')+'-08' @@ -79,7 +76,6 @@ type: 'in_invoice' - !record {model: account.invoice, id: demo_invoice_0}: - company_id: base.main_company partner_id: base.res_partner_12 user_id: base.user_demo reference_type: none @@ -97,7 +93,6 @@ uom_id: product.product_uom_unit - !record {model: account.invoice, id: demo_invoice_january_wages}: - company_id: base.main_company partner_id: base.res_partner_12 type: 'in_invoice' date_invoice: !eval time.strftime('%Y-%m')+'-01' @@ -108,16 +103,16 @@ 'name': "CEO wages", 'price_unit': 10000, } - account = self.env['account.account'].search([('tag_ids', 'in', [ref('account.demo_ceo_wages_account')])], limit=1) + default_company = self.env['res.company']._company_default_get('account.account') + account = self.env['account.account'].search([('tag_ids', 'in', [ref('account.demo_ceo_wages_account')]), ('company_id', '=', default_company.id)], limit=1) if not account: - account = self.env['account.account'].search([('user_type_id', '=', ref('account.data_account_type_expenses'))], limit=1) + account = self.env['account.account'].search([('user_type_id', '=', ref('account.data_account_type_expenses')), ('company_id', '=', default_company.id)], limit=1) if account: line_vals['account_id'] = account.id self._update('account.invoice.line', 'account', line_vals, 'ceo_wages_line') self.env['account.invoice'].browse(ref('demo_invoice_january_wages')).action_invoice_open() - !record {model: account.invoice, id: demo_invoice_equipment_purchase}: - company_id: base.main_company partner_id: base.res_partner_1 type: 'in_invoice' date_invoice: !eval time.strftime('%Y-%m')+'-15' @@ -128,22 +123,27 @@ 'name': "Coffee Machine with huge 'employee\'s performances boosting perk'", 'price_unit': 4999.99, } - account_id = self.env['account.account'].search([('tag_ids', 'in', [ref('account.demo_coffee_machine_account')])], limit=1).id + account_default_company = self.env['res.company']._company_default_get('account.account') + account_id = self.env['account.account'].search([('tag_ids', 'in', [ref('account.demo_coffee_machine_account')]), ('company_id', '=', account_default_company.id)], limit=1).id if not account_id: - account_id = self.env['account.account'].search([('user_type_id', '=', ref('account.data_account_type_expenses'))], limit=1).id + account_id = self.env['account.account'].search([('user_type_id', '=', ref('account.data_account_type_expenses')), ('company_id', '=', account_default_company.id)], limit=1).id if account_id: line_vals['account_id'] = account_id - tax_id = self.env['account.tax'].search([('type_tax_use', '=', 'purchase'), ('amount', '>', 0)], limit=1).id + tax_default_company = self.env['res.company']._company_default_get('account.tax') + tax_id = self.env['account.tax'].search([('type_tax_use', '=', 'purchase'), ('amount', '>', 0), ('company_id', '=', tax_default_company.id)], limit=1).id if tax_id: line_vals['invoice_line_tax_ids'] = [(6, 0, [tax_id])] self._update('account.invoice.line', 'account', line_vals, 'coffee_machine_line') self.env['account.invoice'].browse(ref('demo_invoice_equipment_purchase'))._onchange_invoice_line_ids() self.env['account.invoice'].browse(ref('demo_invoice_equipment_purchase')).action_invoice_open() + - !python {model: account.bank.statement.line, id: False} : | + default_company = self.env['res.company']._company_default_get('account.account') account = self.env['account.account'].search([ ('user_type_id', '=', ref('account.data_account_type_revenue')), - ('tag_ids', 'in', [ref('account.account_tag_financing')])], limit=1) + ('tag_ids', 'in', [ref('account.account_tag_financing')]), + ('company_id', '=', default_company.id)], limit=1) line = self.env.ref('account.demo_bank_statement_line_5') if not line.journal_entry_ids and account: line.write({'account_id': account.id}) @@ -152,20 +152,22 @@ !python {model: ir.model.data, id: False} : | from datetime import datetime from dateutil.relativedelta import relativedelta + default_company = self.env['res.company']._company_default_get('account.journal') vals = { - 'company_id': ref('base.main_company'), - 'journal_id': self.env['account.journal'].search([('type', '=', 'general')], limit=1).id, + 'journal_id': self.env['account.journal'].search([('type', '=', 'general'), ('company_id', '=', default_company.id)], limit=1).id, 'date': datetime.now().replace(day=1,month=1) - relativedelta(days=1), 'ref': 'Company Creation', } self._update('account.move', 'account', vals, 'demo_opening_move') - !python {model: ir.model.data, id: False} : | - bank_journal = self.env['account.journal'].search([('type', '=', 'bank')], limit=1) + journal_default_company = self.env['res.company']._company_default_get('account.journal') + bank_journal = self.env['account.journal'].search([('type', '=', 'bank'), ('company_id', '=', journal_default_company.id)], limit=1) if bank_journal: bank_account_id = bank_journal.default_debit_account_id.id - fixed_asset_account_id = self.env['account.account'].search([('user_type_id', 'in', (ref('account.data_account_type_fixed_assets'),ref('account.data_account_type_current_assets')))], limit=1).id - equity_account_id = self.env['account.account'].search([('user_type_id', '=', ref('account.data_account_type_equity')), ('tag_ids', 'in', [ref('account.demo_capital_account')])], limit=1).id + account_default_company = self.env['res.company']._company_default_get('account.account') + fixed_asset_account_id = self.env['account.account'].search([('user_type_id', 'in', (ref('account.data_account_type_fixed_assets'),ref('account.data_account_type_current_assets'))), ('company_id', '=', account_default_company.id)], limit=1).id + equity_account_id = self.env['account.account'].search([('user_type_id', '=', ref('account.data_account_type_equity')), ('tag_ids', 'in', [ref('account.demo_capital_account')]), ('company_id', '=', account_default_company.id)], limit=1).id if bank_account_id and fixed_asset_account_id and equity_account_id: self.with_context({'check_move_validity': False})._update('account.move.line', 'account', { 'move_id': ref('account.demo_opening_move'), diff --git a/addons/account/models/account.py b/addons/account/models/account.py index 454837119b9..1c16f0fe497 100644 --- a/addons/account/models/account.py +++ b/addons/account/models/account.py @@ -327,6 +327,15 @@ class AccountJournal(models.Model): if 'bank_acc_number' in vals: for journal in self.filtered(lambda r: r.type == 'bank' and not r.bank_account_id): journal.set_bank_account(vals.get('bank_acc_number'), vals.get('bank_id')) + # create the relevant refund sequence + if vals.get('refund_sequence'): + for journal in self.filtered(lambda j: j.type in ('sale', 'purchase') and not j.refund_sequence_id): + journal_vals = { + 'name': journal.name, + 'company_id': journal.company_id.id, + 'code': journal.code + } + journal.refund_sequence_id = self.sudo()._create_sequence(journal_vals, refund=True).id return result @@ -342,7 +351,7 @@ class AccountJournal(models.Model): """ Create new no_gap entry sequence for every new Journal""" prefix = self._get_sequence_prefix(vals['code'], refund) seq = { - 'name': vals['name'], + 'name': refund and vals['name'] + _(': Refund') or vals['name'], 'implementation': 'no_gap', 'prefix': prefix, 'padding': 4, diff --git a/addons/account/models/account_bank_statement.py b/addons/account/models/account_bank_statement.py index 2b3b9a83e60..0915e4c9f90 100644 --- a/addons/account/models/account_bank_statement.py +++ b/addons/account/models/account_bank_statement.py @@ -560,7 +560,7 @@ class AccountBankStatementLine(models.Model): domain_reconciliation = ['&', '&', ('statement_line_id', '=', False), ('account_id', 'in', reconciliation_aml_accounts), ('payment_id','<>', False)] # Black lines = unreconciled & (not linked to a payment or open balance created by statement - domain_matching = ['&', ('reconciled', '=', False), '|', ('payment_id','=',False), ('statement_id', '<>', False)] + domain_matching = [('reconciled', '=', False)] if self.partner_id.id or overlook_partner: domain_matching = expression.AND([domain_matching, [('account_id.internal_type', 'in', ['payable', 'receivable'])]]) else: diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index 26577eaade2..fadd4a6028c 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -314,7 +314,7 @@ class AccountInvoice(models.Model): default=lambda self: self.env.user) fiscal_position_id = fields.Many2one('account.fiscal.position', string='Fiscal Position', oldname='fiscal_position', readonly=True, states={'draft': [('readonly', False)]}) - commercial_partner_id = fields.Many2one('res.partner', string='Commercial Entity', + commercial_partner_id = fields.Many2one('res.partner', string='Commercial Entity', compute_sudo=True, related='partner_id.commercial_partner_id', store=True, readonly=True, help="The commercial entity that will be used on Journal Entries for this invoice") diff --git a/addons/account/models/account_journal_dashboard.py b/addons/account/models/account_journal_dashboard.py index d70eaa807bb..e0df2075a29 100644 --- a/addons/account/models/account_journal_dashboard.py +++ b/addons/account/models/account_journal_dashboard.py @@ -307,6 +307,8 @@ class account_journal(models.Model): [action] = self.env.ref('account.%s' % action_name).read() action['context'] = ctx action['domain'] = self._context.get('use_domain', []) + action['views'] = False + action['view_id'] = False return action @api.multi diff --git a/addons/account/models/company.py b/addons/account/models/company.py index 6d49b37728e..a87e906c074 100644 --- a/addons/account/models/company.py +++ b/addons/account/models/company.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from odoo import fields, models, api, _ +from odoo.exceptions import ValidationError from datetime import timedelta @@ -79,6 +80,14 @@ Best Regards,''') @api.multi def write(self, values): + #restrict the closing of FY if there are still unposted entries + if values.get('fiscalyear_lock_date'): + nb_draft_entries = self.env['account.move'].search([ + ('company_id', 'in', [c.id for c in self]), + ('state', '=', 'draft'), + ('date', '<=', values['fiscalyear_lock_date'])]) + if nb_draft_entries: + raise ValidationError(_('There are still unposted entries in the period you want to lock. You should either post or delete them.')) # Reflect the change on accounts for company in self: digits = values.get('accounts_code_digits') or company.accounts_code_digits diff --git a/addons/account/tests/test_account_move_closed_period.py b/addons/account/tests/test_account_move_closed_period.py index 120b7cbb556..f0b700247f8 100644 --- a/addons/account/tests/test_account_move_closed_period.py +++ b/addons/account/tests/test_account_move_closed_period.py @@ -10,10 +10,15 @@ class TestPeriodState(AccountingTestCase): def setUp(self): super(TestPeriodState, self).setUp() + self.user_id = self.env.user self.day_before_yesterday = datetime.now() - timedelta(2) self.yesterday = datetime.now() - timedelta(1) - self.user_id = self.env.user - self.user_id.company_id.write({'fiscalyear_lock_date': self.yesterday.strftime(DEFAULT_SERVER_DATE_FORMAT)}) + self.yesterday_str = self.yesterday.strftime(DEFAULT_SERVER_DATE_FORMAT) + #make sure there is no unposted entry + draft_entries = self.env['account.move'].search([('date', '<=', self.yesterday_str), ('state', '=', 'draft')]) + if draft_entries: + draft_entries.post() + self.user_id.company_id.write({'fiscalyear_lock_date': self.yesterday_str}) self.sale_journal_id = self.env['account.journal'].search([('type', '=', 'sale')])[0] self.account_id = self.env['account.account'].search([('internal_type', '=', 'receivable')])[0] diff --git a/addons/account/views/account_view.xml b/addons/account/views/account_view.xml index 0e71985b557..0a0ec39363d 100644 --- a/addons/account/views/account_view.xml +++ b/addons/account/views/account_view.xml @@ -268,7 +268,7 @@ - + diff --git a/addons/account_asset/models/account_invoice.py b/addons/account_asset/models/account_invoice.py index d6fb00358c9..4d6e3590037 100644 --- a/addons/account_asset/models/account_invoice.py +++ b/addons/account_asset/models/account_invoice.py @@ -80,8 +80,6 @@ class AccountInvoiceLine(models.Model): @api.onchange('asset_category_id') def onchange_asset_category_id(self): - if not self.asset_category_id: - self.account_id = self.get_invoice_line_account(self.invoice_id.type, self.product_id, self.invoice_id.fiscal_position_id, self.invoice_id.company_id) if self.invoice_id.type == 'out_invoice' and self.asset_category_id: self.account_id = self.asset_category_id.account_asset_id.id elif self.invoice_id.type == 'in_invoice' and self.asset_category_id: diff --git a/addons/account_check_printing/models/account_payment.py b/addons/account_check_printing/models/account_payment.py index 8ee9a40a11f..13b9e39cb22 100644 --- a/addons/account_check_printing/models/account_payment.py +++ b/addons/account_check_printing/models/account_payment.py @@ -123,7 +123,6 @@ class AccountPayment(models.Model): } else: self.filtered(lambda r: r.state == 'draft').post() - self.write({'state': 'sent'}) return self.do_print_checks() @api.multi diff --git a/addons/barcodes/static/src/js/barcode_events.js b/addons/barcodes/static/src/js/barcode_events.js index 3c5cb289232..0adff5f8e1b 100644 --- a/addons/barcodes/static/src/js/barcode_events.js +++ b/addons/barcodes/static/src/js/barcode_events.js @@ -113,6 +113,7 @@ var BarcodeEvents = core.Class.extend(mixins.PropertiesMixin, { if (e.key === "ArrowLeft" || e.key === "ArrowRight" || e.key === "ArrowUp" || e.key === "ArrowDown" || e.key === "Escape" || e.key === "Tab" || + e.key === "Backspace" || e.key === "Delete" || /F\d\d?/.test(e.key)) { return true; } else { diff --git a/addons/barcodes/static/src/js/field_float_scannable.js b/addons/barcodes/static/src/js/field_float_scannable.js index 79022362251..801cf32b5e2 100644 --- a/addons/barcodes/static/src/js/field_float_scannable.js +++ b/addons/barcodes/static/src/js/field_float_scannable.js @@ -23,6 +23,10 @@ var FieldFloatScannable = form_widgets.FieldFloat.extend({ }, simulateKeypress: function (e) { + /* only simulate a keypress if it has been previously prevented */ + if (e.originalEvent.dispatched_by_barcode_reader !== true) { + return; + } var character = String.fromCharCode(e.which); var current_str = e.target.value; var str_before_carret = current_str.substring(0, e.target.selectionStart); diff --git a/addons/base_automation/data/base_automation_demo.xml b/addons/base_automation/data/base_automation_demo.xml index a4014a64c3e..e8f3553063c 100644 --- a/addons/base_automation/data/base_automation_demo.xml +++ b/addons/base_automation/data/base_automation_demo.xml @@ -52,6 +52,19 @@ [('customer', '=', True)] + + Base Automation: test recursive rule + + on_write + + code + +record = model.browse(env.context['active_id']) +if 'partner_id' in env.context['old_values'][record.id]: + record.write({'state': 'draft'}) + + + Base Automation: test rule on secondary model @@ -61,4 +74,18 @@ + + + Base Automation: test rule on write check context + + on_write + + code + +record = model.browse(env.context['active_id']) +if 'user_id' in env.context['old_values'][record.id]: + record.write({'is_assigned_to_admin': (record.user_id.id == 1)}) + + + diff --git a/addons/base_automation/models/base_automation.py b/addons/base_automation/models/base_automation.py index 051198edc17..a2cc6fb10e6 100644 --- a/addons/base_automation/models/base_automation.py +++ b/addons/base_automation/models/base_automation.py @@ -179,13 +179,18 @@ class BaseAutomation(models.Model): def _process(self, records): """ Process action ``self`` on the ``records`` that have not been done yet. """ - # filter out the records on which self has already been done, then mark - # remaining records as done (to avoid recursive processing) + # filter out the records on which self has already been done action_done = self._context['__action_done'] - records -= action_done.setdefault(self, records.browse()) + records_done = action_done.get(self, records.browse()) + records -= records_done if not records: return - action_done[self] |= records + + # mark the remaining records as done (to avoid recursive processing) + action_done = dict(action_done) + action_done[self] = records_done + records + self = self.with_context(__action_done=action_done) + records = records.with_context(__action_done=action_done) # modify records values = {} diff --git a/addons/base_automation/tests/test_base_automation.py b/addons/base_automation/tests/test_base_automation.py index 9fddfad983d..2bea32ec57c 100644 --- a/addons/base_automation/tests/test_base_automation.py +++ b/addons/base_automation/tests/test_base_automation.py @@ -92,6 +92,30 @@ class base_automation_test(common.TransactionCase): self.assertTrue(lead.customer, "Customer field should updated to True") self.assertEqual(lead.user_id, self.user_demo, "Responsible should be change on write of Lead when Customer becomes True.") + def test_11_recomputed_field(self): + """ + Check that a rule is executed whenever a field is recomputed and the + context contains the target field + """ + partner = self.env.ref('base.res_partner_1') + lead = self.create_lead(state='draft', partner_id=partner.id) + self.assertFalse(lead.deadline, 'There should not be a deadline defined') + # change priority and user; this triggers deadline recomputation, and + # the server action should set the boolean field to True + lead.write({'priority': True, 'user_id': self.user_admin.id}) + self.assertTrue(lead.deadline, 'Deadline should be defined') + self.assertTrue(lead.is_assigned_to_admin, 'Lead should be assigned to admin') + + def test_12_recursive(self): + """ Check that a rule is executed recursively by a secondary change. """ + lead = self.create_lead(state='open') + self.assertEqual(lead.state, 'open') + self.assertEqual(lead.user_id, self.user_admin) + # change partner; this should trigger the rule that modifies the state + partner = self.env.ref('base.res_partner_1') + lead.write({'partner_id': partner.id}) + self.assertEqual(lead.state, 'draft') + def test_20_direct_line(self): """ Check that a rule is executed after creating a line record. diff --git a/addons/base_automation/tests/test_models.py b/addons/base_automation/tests/test_models.py index 36893e37447..fd2255dff6f 100644 --- a/addons/base_automation/tests/test_models.py +++ b/addons/base_automation/tests/test_models.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import fields, models +from dateutil import relativedelta +from odoo import fields, models, api class LeadTest(models.Model): @@ -19,6 +20,17 @@ class LeadTest(models.Model): customer = fields.Boolean(related='partner_id.customer', readonly=True, store=True) line_ids = fields.One2many('base.automation.line.test', 'lead_id') + priority = fields.Boolean() + deadline = fields.Boolean(compute='_compute_deadline', store=True) + is_assigned_to_admin = fields.Boolean(string='Assigned to admin user') + + @api.depends('priority') + def _compute_deadline(self): + for record in self: + if not record.priority: + record.deadline = False + else: + record.deadline = fields.Datetime.from_string(record.create_date) + relativedelta.relativedelta(days=3) class LineTest(models.Model): _name = "base.automation.line.test" diff --git a/addons/calendar/models/calendar.py b/addons/calendar/models/calendar.py index 2c3fa12fa5e..c543f5ea830 100644 --- a/addons/calendar/models/calendar.py +++ b/addons/calendar/models/calendar.py @@ -1066,7 +1066,7 @@ class Meeting(models.Model): if [True for item in new_pile if not item]: continue - result_data.append(meeting.get_search_fields(order_fields, r_date=r_date)) + result_data.append(meeting.get_search_fields(order_fields, r_date=r_start_date)) if order_fields: uniq = lambda it: collections.OrderedDict((id(x), x) for x in it).values() diff --git a/addons/calendar/tests/test_calendar_recurrent_event_case2.py b/addons/calendar/tests/test_calendar_recurrent_event_case2.py index e05428593ae..892c0ffe2aa 100644 --- a/addons/calendar/tests/test_calendar_recurrent_event_case2.py +++ b/addons/calendar/tests/test_calendar_recurrent_event_case2.py @@ -2,6 +2,7 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo.tests import common +from odoo.addons.calendar.models.calendar import calendar_id2real_id class TestRecurrentEvent(common.TransactionCase): @@ -145,3 +146,26 @@ class TestRecurrentEvent(common.TransactionCase): ('start', '>=', '2017-06-30 08:00:00'), ('name', '=', 'Review code with programmer') ]) self.assertEqual(meetings_count, 1, "Last recurrent weekly meetings are not found without stop filter !") + + def test_recurrent_meeting5(self): + # I create a recurrent event and I check if the virtual_id are correct + self.CalendarEvent.create({ + 'count': 5, + 'start': '2012-04-13 11:00:00', + 'stop': '2012-04-13 12:00:00', + 'duration': 1.0, + 'name': 'Test Meeting', + 'recurrency': True, + 'rrule_type': 'daily' + }) + # I search for the first recurrent meeting + meeting = self.CalendarEvent.with_context({'virtual_id': True}).search([ + ('start', '=', '2012-04-13 11:00:00'), ('stop', '=', '2012-04-13 12:00:00') + ]) + virutal_dates = calendar_id2real_id(meeting.id, with_date=True) + + # virtual_dates are used by the calendar view and I check if the start date for the first virtual event is correct. + self.assertEqual(virutal_dates[1], '2012-04-13 11:00:00', "The virtual event doesn't have the correct start date !") + + # virtual_dates are used by the calendar view and I check if the stop date for the first virtual event is correct. + self.assertEqual(virutal_dates[2], '2012-04-13 12:00:00', "The virtual event doesn't have the correct stop date !") diff --git a/addons/hr_attendance/models/hr_attendance.py b/addons/hr_attendance/models/hr_attendance.py index f078b6037fd..e3211fceb00 100644 --- a/addons/hr_attendance/models/hr_attendance.py +++ b/addons/hr_attendance/models/hr_attendance.py @@ -26,15 +26,15 @@ class HrAttendance(models.Model): result = [] for attendance in self: if not attendance.check_out: - result.append((self.id, _("%(empl_name)s from %(check_in)s") % { - 'empl_name': self.employee_id.name_related, - 'check_in': fields.Datetime.to_string(fields.Datetime.context_timestamp(self, fields.Datetime.from_string(self.check_in))), + result.append((attendance.id, _("%(empl_name)s from %(check_in)s") % { + 'empl_name': attendance.employee_id.name_related, + 'check_in': fields.Datetime.to_string(fields.Datetime.context_timestamp(attendance, fields.Datetime.from_string(attendance.check_in))), })) else: - result.append((self.id, _("%(empl_name)s from %(check_in)s to %(check_out)s") % { - 'empl_name': self.employee_id.name_related, - 'check_in': fields.Datetime.to_string(fields.Datetime.context_timestamp(self, fields.Datetime.from_string(self.check_in))), - 'check_out': fields.Datetime.to_string(fields.Datetime.context_timestamp(self, fields.Datetime.from_string(self.check_out))), + result.append((attendance.id, _("%(empl_name)s from %(check_in)s to %(check_out)s") % { + 'empl_name': attendance.employee_id.name_related, + 'check_in': fields.Datetime.to_string(fields.Datetime.context_timestamp(attendance, fields.Datetime.from_string(attendance.check_in))), + 'check_out': fields.Datetime.to_string(fields.Datetime.context_timestamp(attendance, fields.Datetime.from_string(attendance.check_out))), })) return result diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index 085ff53bda3..95d4ad23324 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -172,19 +172,24 @@ class HrExpense(models.Model): ''' main function that is called when trying to create the accounting entries related to an expense ''' + move_group_by_sheet = {} for expense in self: journal = expense.sheet_id.bank_journal_id if expense.payment_mode == 'company_account' else expense.sheet_id.journal_id #create the move that will contain the accounting entries acc_date = expense.sheet_id.accounting_date or expense.date - move = self.env['account.move'].create({ - 'journal_id': journal.id, - 'company_id': self.env.user.company_id.id, - 'date': acc_date, - 'ref': expense.sheet_id.name, - # force the name to the default value, to avoid an eventual 'default_name' in the context - # to set it to '' which cause no number to be given to the account.move when posted. - 'name': '/', - }) + if not expense.sheet_id.id in move_group_by_sheet: + move = self.env['account.move'].create({ + 'journal_id': journal.id, + 'company_id': self.env.user.company_id.id, + 'date': acc_date, + 'ref': expense.sheet_id.name, + # force the name to the default value, to avoid an eventual 'default_name' in the context + # to set it to '' which cause no number to be given to the account.move when posted. + 'name': '/', + }) + move_group_by_sheet[expense.sheet_id.id] = move + else: + move = move_group_by_sheet[expense.sheet_id.id] company_currency = expense.company_id.currency_id diff_currency_p = expense.currency_id != company_currency #one account.move.line per expense (+taxes..) @@ -235,9 +240,10 @@ class HrExpense(models.Model): lines = map(lambda x: (0, 0, expense._prepare_move_line(x)), move_lines) move.with_context(dont_create_taxes=True).write({'line_ids': lines}) expense.sheet_id.write({'account_move_id': move.id}) - move.post() if expense.payment_mode == 'company_account': expense.sheet_id.paid_expense_sheets() + for move in move_group_by_sheet.values(): + move.post() return True @api.multi @@ -272,7 +278,7 @@ class HrExpense(models.Model): # Calculate tax lines and adjust base line taxes = expense.tax_ids.compute_all(expense.unit_amount, expense.currency_id, expense.quantity, expense.product_id) account_move[-1]['price'] = taxes['total_excluded'] - account_move[-1]['tax_ids'] = expense.tax_ids.ids + account_move[-1]['tax_ids'] = [(6, 0, expense.tax_ids.ids)] for tax in taxes['taxes']: account_move.append({ 'type': 'tax', @@ -511,14 +517,14 @@ class HrExpenseSheet(models.Model): if any(not sheet.journal_id for sheet in self): raise UserError(_("Expenses must have an expense journal specified to generate accounting entries.")) - res = self.mapped('expense_line_ids')\ - .filtered(lambda r: not float_is_zero(r.total_amount, precision_rounding=(r.currency_id or self.env.user.company_id.currency_id).rounding))\ - .action_move_create() + expense_line_ids = self.mapped('expense_line_ids')\ + .filtered(lambda r: not float_is_zero(r.total_amount, precision_rounding=(r.currency_id or self.env.user.company_id.currency_id).rounding)) + res = expense_line_ids.action_move_create() if not self.accounting_date: self.accounting_date = self.account_move_id.date - if self.payment_mode=='own_account': + if self.payment_mode == 'own_account' and expense_line_ids: self.write({'state': 'post'}) else: self.write({'state': 'done'}) diff --git a/addons/hr_holidays/models/hr_holidays.py b/addons/hr_holidays/models/hr_holidays.py index 837537e8c22..9cf166a911f 100644 --- a/addons/hr_holidays/models/hr_holidays.py +++ b/addons/hr_holidays/models/hr_holidays.py @@ -241,6 +241,7 @@ class Holidays(models.Model): ('date_to', '>=', holiday.date_from), ('employee_id', '=', holiday.employee_id.id), ('id', '!=', holiday.id), + ('type', '=', holiday.type), ('state', 'not in', ['cancel', 'refuse']), ] nholidays = self.search_count(domain) @@ -283,7 +284,7 @@ class Holidays(models.Model): if employee_id: employee = self.env['hr.employee'].browse(employee_id) - resource = employee.resource_id + resource = employee.resource_id.sudo() if resource and resource.calendar_id: hours = resource.calendar_id.get_working_hours(from_dt, to_dt, resource_id=resource.id, compute_leaves=True) uom_hour = resource.calendar_id.uom_id diff --git a/addons/hr_maintenance/views/maintenance_views.xml b/addons/hr_maintenance/views/maintenance_views.xml index 58dec50bc2f..2c56a9f2538 100644 --- a/addons/hr_maintenance/views/maintenance_views.xml +++ b/addons/hr_maintenance/views/maintenance_views.xml @@ -79,6 +79,12 @@ +
+
+
+
+
+
diff --git a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml index ba48dceb8f2..a307bd47ddd 100644 --- a/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml +++ b/addons/hr_timesheet_attendance/report/hr_timesheet_attendance_report_view.xml @@ -29,6 +29,8 @@ + + diff --git a/addons/hw_posbox_homepage/controllers/main.py b/addons/hw_posbox_homepage/controllers/main.py index 09ba008d430..f43e585fcba 100644 --- a/addons/hw_posbox_homepage/controllers/main.py +++ b/addons/hw_posbox_homepage/controllers/main.py @@ -56,7 +56,10 @@ index_template = """ If you need to grant remote debugging access to a developer, you can do it here.

- The PosBox software installed on this posbox is version 15, + If you need to display the current customer basket on another device, you can do it here. +

+

+ The PosBox software installed on this posbox is version 16, the posbox version number is independent from Odoo. You can upgrade the software on the upgrade page.

diff --git a/addons/hw_screen/__init__.py b/addons/hw_screen/__init__.py new file mode 100644 index 00000000000..bf7fb7b45c1 --- /dev/null +++ b/addons/hw_screen/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import controllers diff --git a/addons/hw_screen/__openerp__.py b/addons/hw_screen/__openerp__.py new file mode 100644 index 00000000000..8ed5711b836 --- /dev/null +++ b/addons/hw_screen/__openerp__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +{ + 'name': 'Screen Driver', + 'version': '1.0', + 'category': 'Hardware Drivers', + 'sequence': 6, + 'summary': 'Provides support for customer facing displays', + 'website': 'https://www.odoo.com/page/point-of-sale', + 'description': """ +Screen Driver +============= + +This module allows the POS client to send rendered HTML to a remotely +installed screen. This module then displays this HTML using a web +browser. +""", + 'depends': ['hw_proxy'], + 'installable': False, + 'auto_install': False, +} diff --git a/addons/hw_screen/controllers/__init__.py b/addons/hw_screen/controllers/__init__.py new file mode 100644 index 00000000000..f48716d3a69 --- /dev/null +++ b/addons/hw_screen/controllers/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +import main diff --git a/addons/hw_screen/controllers/main.py b/addons/hw_screen/controllers/main.py new file mode 100644 index 00000000000..f6101e7c8ca --- /dev/null +++ b/addons/hw_screen/controllers/main.py @@ -0,0 +1,166 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import http +from odoo.tools import config +from odoo.addons.web.controllers import main as web + +import logging +import netifaces as ni +import os +from subprocess import call +import time +import threading + +self_port = str(config['xmlrpc_port'] or 8069) + +_logger = logging.getLogger(__name__) + + +class HardwareScreen(web.Home): + + event_data = threading.Event() + pos_client_data = {'rendered_html': False, + 'ip_from': False} + display_in_use = '' + failure_count = {} + + def _call_xdotools(self, keystroke): + os.environ['DISPLAY'] = ":0.0" + os.environ['XAUTHORITY'] = "/run/lightdm/pi/xauthority" + try: + call(['xdotool', 'key', keystroke]) + return "xdotool succeeded in stroking " + keystroke + except: + return "xdotool threw an error, maybe it is not installed on the posbox" + + @http.route('/hw_proxy/display_refresh', type='json', auth='none', cors='*') + def display_refresh(self): + return self._call_xdotools('F5') + + # POS CASHIER'S ROUTES + @http.route('/hw_proxy/customer_facing_display', type='json', auth='none', cors='*') + def update_user_facing_display(self, html=None): + request_ip = http.request.httprequest.remote_addr + if request_ip == HardwareScreen.pos_client_data.get('ip_from', ''): + HardwareScreen.pos_client_data['rendered_html'] = html + HardwareScreen.event_data.set() + + return {'status': 'updated'} + else: + return {'status': 'failed'} + + @http.route('/hw_proxy/take_control', type='json', auth='none', cors='*') + def take_control(self, html=None): + # ALLOW A CASHIER TO TAKE CONTROL OVER THE POSBOX, IN CASE OF MULTIPLE CASHIER PER POSBOX + HardwareScreen.pos_client_data['rendered_html'] = html + HardwareScreen.pos_client_data['ip_from'] = http.request.httprequest.remote_addr + HardwareScreen.event_data.set() + + return {'status': 'success', + 'message': 'You now have access to the display'} + + @http.route('/hw_proxy/test_ownership', type='json', auth='none', cors='*') + def test_ownership(self): + if HardwareScreen.pos_client_data.get('ip_from') == http.request.httprequest.remote_addr: + return {'status': 'OWNER'} + else: + return {'status': 'NOWNER'} + + # POSBOX ROUTES (SELF) + @http.route('/point_of_sale/display', type='http', auth='none') + def render_main_display(self): + return self._get_html() + + @http.route('/point_of_sale/get_serialized_order', type='json', auth='none') + def get_serialized_order(self): + request_addr = http.request.httprequest.remote_addr + result = HardwareScreen.pos_client_data + if HardwareScreen.display_in_use and request_addr != HardwareScreen.display_in_use: + if not HardwareScreen.failure_count.get(request_addr): + HardwareScreen.failure_count[request_addr] = 0 + if HardwareScreen.failure_count[request_addr] > 0: + time.sleep(10) + HardwareScreen.failure_count[request_addr] += 1 + return {'rendered_html': """

Not Authorized. Another browser is in use to display for the client. Please refresh.

""", + 'stop_longpolling': True, + 'ip_from': request_addr} + + # IMPLEMENTATION OF LONGPOLLING + # Times out 2 seconds before the JS request does + if HardwareScreen.event_data.wait(28): + HardwareScreen.event_data.clear() + HardwareScreen.failure_count[request_addr] = 0 + return result + return {'rendered_html': False, + 'ip_from': HardwareScreen.pos_client_data['ip_from']} + + def _get_html(self): + cust_js = None + interfaces = ni.interfaces() + my_ip = '127.0.0.1' + HardwareScreen.display_in_use = http.request.httprequest.remote_addr + + with open(os.path.join(os.path.dirname(__file__), "../static/src/js/worker.js")) as js: + cust_js = js.read() + + with open(os.path.join(os.path.dirname(__file__), "../static/src/css/cust_css.css")) as css: + cust_css = css.read() + + display_ifaces = "" + for iface_id in interfaces: + iface_obj = ni.ifaddresses(iface_id) + ifconfigs = iface_obj.get(ni.AF_INET, []) + for conf in ifconfigs: + if conf.get('addr'): + display_ifaces += "" + iface_id + "" + display_ifaces += "" + conf.get('addr') + "" + display_ifaces += "" + conf.get('netmask') + "" + # What is my external IP ? + if iface_id != 'lo': + my_ip = conf.get('addr') + + my_ip_port = my_ip + ":" + self_port + + html = """ + + + + Odoo -- Point of Sale + + + + + + + + + +
+
+
+

Odoo Point of Sale

+

POSBox Client display

+

My IPs

+ + + + + + + """ + display_ifaces + """ +
InterfaceIPNetmask
+

The customer cart will be displayed here once a Point of Sale session is started.

+

Odoo version 11 or above is required.

+
+
+
+ + + """ + return html diff --git a/addons/hw_screen/static/src/css/cust_css.css b/addons/hw_screen/static/src/css/cust_css.css new file mode 100644 index 00000000000..69fddb25457 --- /dev/null +++ b/addons/hw_screen/static/src/css/cust_css.css @@ -0,0 +1,21 @@ +html { + width: 100%; + height: 100%; + font-size: 11px; +} + +body { + width: 100%; + height: 100%; + font-size: 14px; + margin: 0; +} + +.original_body { + background-color: #797083; + color: white; +} + +.ajax_got_body { + color: black; +} \ No newline at end of file diff --git a/addons/hw_screen/static/src/js/worker.js b/addons/hw_screen/static/src/js/worker.js new file mode 100644 index 00000000000..55e389e78ab --- /dev/null +++ b/addons/hw_screen/static/src/js/worker.js @@ -0,0 +1,60 @@ + $(function() { + "use strict"; + // mergedHead will be turned to true the first time we receive something from a new host + // It allows to transform the only once + var mergedHead = false; + var current_client_url = ""; + var stop_longpolling = false; + + function longpolling() { + $.ajax({ + type: 'POST', + url: 'http://'+window.location.host+'/point_of_sale/get_serialized_order', + dataType: 'json', + beforeSend: function(xhr){xhr.setRequestHeader('Content-Type', 'application/json');}, + data: JSON.stringify({jsonrpc: '2.0'}), + + success: function(data) { + if (typeof data.result.stop_longpolling !== 'undefined') { + stop_longpolling = data.result.stop_longpolling; + } + if (data.result.ip_from && data.result.rendered_html) { + var trimmed = $.trim(data.result.rendered_html); + var $parsedHTML = $('
').html($.parseHTML(trimmed,true)); // WARNING: the true here will executes any script present in the string to parse + var new_client_url = $parsedHTML.find(".resources > base").attr('href'); + + if (!mergedHead || (current_client_url !== new_client_url)) { + + mergedHead = true; + current_client_url = new_client_url; + $("body").removeClass('original_body').addClass('ajax_got_body'); + $("head").children().not('.origin').remove(); + $("head").append($parsedHTML.find(".resources").html()); + } + + $(".container").html($parsedHTML.find('.pos-customer_facing_display').html()); + $(".container").attr('class', 'container').addClass($parsedHTML.find('.pos-customer_facing_display').attr('class')); + + var d = $('.pos_orderlines_list'); + d.scrollTop(d.prop("scrollHeight")); + + // Here we execute the code coming from the pos, apparently $.parseHTML() executes scripts right away, + // Since we modify the dom afterwards, the script might not have any effect + if (typeof foreign_js !== 'undefined' && $.isFunction(foreign_js)) { + foreign_js(); + } + } + }, + + complete: function(jqXHR,err) { + if (!stop_longpolling) { + longpolling(); + } + }, + + timeout: 30000, + }); + }; + + longpolling(); + }); \ No newline at end of file diff --git a/addons/l10n_be/data/account_tax_template_data.xml b/addons/l10n_be/data/account_tax_template_data.xml index 30a8a1b5312..e7a3de02628 100644 --- a/addons/l10n_be/data/account_tax_template_data.xml +++ b/addons/l10n_be/data/account_tax_template_data.xml @@ -278,7 +278,7 @@ 0 percent - none + sale @@ -291,7 +291,7 @@ 0 percent - none + sale @@ -369,7 +369,7 @@ 21 percent - none + purchase diff --git a/addons/l10n_ch/i18n_extra/de.po b/addons/l10n_ch/i18n_extra/de.po index 1562904d951..fba9e54525a 100644 --- a/addons/l10n_ch/i18n_extra/de.po +++ b/addons/l10n_ch/i18n_extra/de.po @@ -6,711 +6,995 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-12-14 14:10+0000\n" +"POT-Creation-Date: 2017-03-14 15:52+0000\n" "PO-Revision-Date: 2016-12-15 14:35+0100\n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: \n" -"Language: de\n" -"X-Generator: Poedit 1.8.7.1\n" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_O_exclude #: model:account.tax.template,description:l10n_ch.vat_O_exclude msgid "0% excl." msgstr "0% Exkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_O_import #: model:account.tax.template,description:l10n_ch.vat_O_import msgid "0% import." msgstr "0% Import." #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_100_import #: model:account.tax.template,name:l10n_ch.vat_100_import msgid "100% dédouanement TVA" msgstr "100% Verzollung MwSt." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_100_import #: model:account.tax.template,description:l10n_ch.vat_100_import msgid "100% imp." msgstr "100% Imp." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25 #: model:account.tax.template,description:l10n_ch.vat_25 msgid "2.5%" msgstr "2.5%" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_incl #: model:account.tax.template,description:l10n_ch.vat_25_incl msgid "2.5% Incl." msgstr "2.5% Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_purchase #: model:account.tax.template,description:l10n_ch.vat_25_purchase msgid "2.5% achat" msgstr "2.5% Einkauf" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_purchase_incl #: model:account.tax.template,description:l10n_ch.vat_25_purchase_incl msgid "2.5% achat Incl." msgstr "2.5% Einkauf Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_invest #: model:account.tax.template,description:l10n_ch.vat_25_invest msgid "2.5% invest." msgstr "2.5% Invest." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_invest_incl #: model:account.tax.template,description:l10n_ch.vat_25_invest_incl msgid "2.5% invest. Incl." -msgstr "2.5% Invest. Incl." +msgstr "2.5% Invest. Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38 #: model:account.tax.template,description:l10n_ch.vat_38 msgid "3.8%" msgstr "3.8%" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_incl #: model:account.tax.template,description:l10n_ch.vat_38_incl msgid "3.8% Incl." msgstr "3.8% Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_purchase #: model:account.tax.template,description:l10n_ch.vat_38_purchase msgid "3.8% achat" msgstr "3.8% Einkauf" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_purchase_incl #: model:account.tax.template,description:l10n_ch.vat_38_purchase_incl msgid "3.8% achat Incl." msgstr "3.8% Einkauf Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_invest #: model:account.tax.template,description:l10n_ch.vat_38_invest msgid "3.8% invest" -msgstr "3.8% Invest" +msgstr "3.8% Invest." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_invest_incl #: model:account.tax.template,description:l10n_ch.vat_38_invest_incl msgid "3.8% invest Incl." -msgstr "3.8% Invest Incl." +msgstr "3.8% Invest. Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80 #: model:account.tax.template,description:l10n_ch.vat_80 msgid "8.0%" msgstr "8.0%" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_incl #: model:account.tax.template,description:l10n_ch.vat_80_incl msgid "8.0% Incl." msgstr "8.0% Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_purchase #: model:account.tax.template,description:l10n_ch.vat_80_purchase msgid "8.0% achat" msgstr "8.0% Einkauf" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_purchase_incl #: model:account.tax.template,description:l10n_ch.vat_80_purchase_incl msgid "8.0% achat Incl." msgstr "8.0% Einkauf Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_invest #: model:account.tax.template,description:l10n_ch.vat_80_invest msgid "8.0% invest." msgstr "8.0% Invest." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_invest_incl #: model:account.tax.template,description:l10n_ch.vat_80_invest_incl msgid "8.0% invest. Incl." msgstr "8.0% Invest. Inkl." #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4200 #: model:account.account.template,name:l10n_ch.ch_coa_4200 msgid "Achats de marchandises destinées à la revente" msgstr "Handelswarenaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2030 #: model:account.account.template,name:l10n_ch.ch_coa_2030 msgid "Acomptes de clients" msgstr "Erhaltene Anzahlungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1208 #: model:account.account.template,name:l10n_ch.ch_coa_1208 msgid "Acomptes sur les marchandises commerciales" -msgstr "" +msgstr "Akonto auf Zwischenhandelswaren" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1218 #: model:account.account.template,name:l10n_ch.ch_coa_1218 msgid "Acomptes sur matières premières" -msgstr "" +msgstr "Akonto auf Rohstoffe" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1149 #: model:account.account.template,name:l10n_ch.ch_coa_1149 msgid "Ajustement de la valeur des avances et des prêts" msgstr "Wertberichtigungen Vorschüsse und Darlehen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1199 #: model:account.account.template,name:l10n_ch.ch_coa_1199 msgid "Ajustement de la valeur des créances à court terme" msgstr "Wertberichtigungen sonstige kurzfristige Forderungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1449 #: model:account.account.template,name:l10n_ch.ch_coa_1449 msgid "Ajustement de la valeur des créances à long terme" msgstr "Wertberichtigungen langfristige Forderungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1779 #: model:account.account.template,name:l10n_ch.ch_coa_1779 msgid "Ajustement de la valeur des goodwill" msgstr "Wertberichtigungen Goodwill" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1489 #: model:account.account.template,name:l10n_ch.ch_coa_1489 msgid "Ajustement de la valeur des participations" msgstr "Wertberichtigungen Beteiligungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1069 +#: model:account.account,name:l10n_ch.1_ch_coa_1409 #: model:account.account.template,name:l10n_ch.ch_coa_1069 #: model:account.account.template,name:l10n_ch.ch_coa_1409 msgid "Ajustement de la valeur des titres" msgstr "Wertberichtigungen Wertschriften" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6800 #: model:account.account.template,name:l10n_ch.ch_coa_6800 -msgid "Amortissements et ajustements de valeur des postes sur immobilisations corporelles" -msgstr "Abschreibungen und Wertberichtigungen auf Positionen des Anlagevermögens" +msgid "" +"Amortissements et ajustements de valeur des postes sur immobilisations " +"corporelles" +msgstr "" +"Abschreibungen und Wertberichtigungen auf Positionen des Anlagevermögens" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1519 #: model:account.account.template,name:l10n_ch.ch_coa_1519 msgid "Amortissements sur le mobilier et les installations" msgstr "Abschreibungen auf Mobiliar und Einrichtungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1599 #: model:account.account.template,name:l10n_ch.ch_coa_1599 msgid "Amortissements sur les autres immobilisations corporelles meubles" -msgstr "" +msgstr "Abschreibungen andere Sachanlagen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1709 #: model:account.account.template,name:l10n_ch.ch_coa_1709 msgid "Amortissements sur les brevets, know-how, licences, droits, dév." msgstr "Abschreibungen auf Patente, Know-how, Lizenzen, Rechte, Entwicklungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1609 #: model:account.account.template,name:l10n_ch.ch_coa_1609 msgid "Amortissements sur les immeubles d’exploitation" msgstr "Abschreibungen auf Geschäftsliegenschaften" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1559 #: model:account.account.template,name:l10n_ch.ch_coa_1559 msgid "Amortissements sur les installations de stockage" -msgstr "" +msgstr "Abschreibungen und Wertberichtigungen Lagereinrichtungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1529 #: model:account.account.template,name:l10n_ch.ch_coa_1529 msgid "Amortissements sur les machines de bureau, inf. et syst. comm." msgstr "Abschreibungen auf Büromaschinen, Informatik, Kommunikationstechnologie" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1509 #: model:account.account.template,name:l10n_ch.ch_coa_1509 msgid "Amortissements sur les machines et appareils" msgstr "Abschreibungen auf Maschinen und Apparate" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1549 #: model:account.account.template,name:l10n_ch.ch_coa_1549 msgid "Amortissements sur les outillages et appareils" msgstr "Abschreibungen auf Werkzeuge und Geräte" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1539 #: model:account.account.template,name:l10n_ch.ch_coa_1539 msgid "Amortissements sur les véhicules" msgstr "Abschreibungen auf Fahrzeuge" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1579 #: model:account.account.template,name:l10n_ch.ch_coa_1579 msgid "Amortissements sur les équipements et installations" -msgstr "" +msgstr "Abschreibungen und Wertberichtigungen feste Einrichtungen und Installationen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2270 #: model:account.account.template,name:l10n_ch.ch_coa_2270 msgid "Assurances sociales et institutions de prévoyance" msgstr "Sozialversicherungen und Vorsorgeeinrichtungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6300 #: model:account.account.template,name:l10n_ch.ch_coa_6300 msgid "Assurances-choses, droits, taxes, autorisations" msgstr "Sachversicherungen, Abgaben, Gebühren, Bewilligungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5800 #: model:account.account.template,name:l10n_ch.ch_coa_5800 msgid "Autres charges du personnel" msgstr "Übriger Personalaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6700 #: model:account.account.template,name:l10n_ch.ch_coa_6700 msgid "Autres charges d‘exploitation" msgstr "Übriger betrieblicher Aufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1190 #: model:account.account.template,name:l10n_ch.ch_coa_1190 msgid "Autres créances à court terme" msgstr "Übrige kurzfristige Forderungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2210 #: model:account.account.template,name:l10n_ch.ch_coa_2210 msgid "Autres dettes à court terme" msgstr "Übrige kurzfristige Verbindlichkeiten" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2140 #: model:account.account.template,name:l10n_ch.ch_coa_2140 msgid "Autres dettes à court terme rémunérées" msgstr "Übrige verzinsliche Verbindlichkeiten" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2500 #: model:account.account.template,name:l10n_ch.ch_coa_2500 msgid "Autres dettes à long terme" msgstr "Übrige langfristige Verbindlichkeiten" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1590 #: model:account.account.template,name:l10n_ch.ch_coa_1590 msgid "Autres immobilisations corporelles meubles" msgstr "Autres immobilisations corporelles meubles" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3600 #: model:account.account.template,name:l10n_ch.ch_coa_3600 msgid "Autres ventes et prestations de services" msgstr "Übrige Erlöse aus Lieferungen und Leistungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1140 #: model:account.account.template,name:l10n_ch.ch_coa_1140 msgid "Avances et prêts" msgstr "Vorschüsse und Darlehen" #. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_res_bank +msgid "Bank" +msgstr "Bank" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_res_partner_bank +msgid "Bank Accounts" +msgstr "Bankkonten" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_config_settings_l10n_ch_isr_print_bank_location +#: model:ir.model.fields,help:l10n_ch.field_res_company_l10n_ch_isr_print_bank_location +msgid "" +"Boolean option field indicating whether or not the alternate layout (the one " +"printing bank name and address) must be used when generating an ISR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_sent +msgid "" +"Boolean value telling whether or not the ISR corresponding to this invoice " +"has already been printed or sent by mail." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_valid +msgid "" +"Boolean value. True iff all the data required to generate the ISR are present" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1700 #: model:account.account.template,name:l10n_ch.ch_coa_1700 msgid "Brevets, know-how, licences, droits, développement" msgstr "Patente, Know-how, Lizenzen, Rechte, Entwicklungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2979 #: model:account.account.template,name:l10n_ch.ch_coa_2979 msgid "Bénéfice / perte de l’exercice" msgstr "Jahresgewinn oder Jahresverlust" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2970 #: model:account.account.template,name:l10n_ch.ch_coa_2970 msgid "Bénéfice / perte reporté" msgstr "Gewinnvortrag oder Verlustvortrag" #. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_bank_l10n_ch_postal_chf +msgid "CHF ISR reference" +msgstr "CHF ESR Referenznummer" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1850 #: model:account.account.template,name:l10n_ch.ch_coa_1850 -msgid "Capital actions, capital social, droits de participations ou capital de fondation non versés" +msgid "" +"Capital actions, capital social, droits de participations ou capital de " +"fondation non versés" msgstr "Nicht einbezahltes Aktien-, Stamm-, Anteilschein- oder" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2800 #: model:account.account.template,name:l10n_ch.ch_coa_2800 msgid "Capital-actions, capital social, capital de fondation" msgstr "Aktien-, Stamm-, Anteilschein- oder Stiftungskapital" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4521 #: model:account.account.template,name:l10n_ch.ch_coa_4521 msgid "Charbon, briquettes, bois" -msgstr "" +msgstr "Kohle, Briketts, Holz" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7010 #: model:account.account.template,name:l10n_ch.ch_coa_7010 msgid "Charges accessoires" msgstr "Aufwand Nebenbetrieb" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6000 #: model:account.account.template,name:l10n_ch.ch_coa_6000 msgid "Charges de locaux" msgstr "Raumaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4000 #: model:account.account.template,name:l10n_ch.ch_coa_4000 msgid "Charges de matériel de l‘atelier" msgstr "Materialaufwand Produktion" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5900 #: model:account.account.template,name:l10n_ch.ch_coa_5900 msgid "Charges de personnels temporaires" msgstr "Leistungen Dritter" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6200 #: model:account.account.template,name:l10n_ch.ch_coa_6200 msgid "Charges de véhicules et de transport" msgstr "Fahrzeug- und Transportaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7510 #: model:account.account.template,name:l10n_ch.ch_coa_7510 msgid "Charges des immeubles d‘exploitation" msgstr "Aufwand betriebliche Liegenschaft" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6500 #: model:account.account.template,name:l10n_ch.ch_coa_6500 msgid "Charges d‘administration" msgstr "Verwaltungsaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6400 #: model:account.account.template,name:l10n_ch.ch_coa_6400 msgid "Charges d’énergie et évacuation des déchets" msgstr "Energie- und Entsorgungsaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6570 #: model:account.account.template,name:l10n_ch.ch_coa_6570 msgid "Charges et leasing d’informatique" msgstr "Informatikaufwand inkl. Leasing" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8500 #: model:account.account.template,name:l10n_ch.ch_coa_8500 msgid "Charges extraordinaires, exceptionnelles ou hors période" msgstr "Ausserordentlicher, einmaliger oder periodenfremder Aufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6900 #: model:account.account.template,name:l10n_ch.ch_coa_6900 msgid "Charges financières" msgstr "Finanzaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8000 #: model:account.account.template,name:l10n_ch.ch_coa_8000 msgid "Charges hors exploitation" msgstr "Betriebsfremder Aufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1300 #: model:account.account.template,name:l10n_ch.ch_coa_1300 msgid "Charges payées d‘avance" msgstr "Bezahlter Aufwand des Folgejahres" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5700 #: model:account.account.template,name:l10n_ch.ch_coa_5700 msgid "Charges sociales" msgstr "Sozialversicherungsaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2300 #: model:account.account.template,name:l10n_ch.ch_coa_2300 msgid "Charges à payer" msgstr "Noch nicht bezahlter Aufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3803 #: model:account.account.template,name:l10n_ch.ch_coa_3803 msgid "Commissions de tiers" -msgstr "" +msgstr "Provisionen an Dritte" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4903 #: model:account.account.template,name:l10n_ch.ch_coa_4903 msgid "Commissions obtenues sur achats" -msgstr "" +msgstr "Einkaufsprovisionen" #. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_res_company +msgid "Companies" +msgstr "Unternehmen" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1099 #: model:account.account.template,name:l10n_ch.ch_coa_1099 msgid "Compte d'attente autre" -msgstr "" +msgstr "Unklare Beträge" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1091 #: model:account.account.template,name:l10n_ch.ch_coa_1091 msgid "Compte d'attente pour salaires" -msgstr "" +msgstr "Lohndurchlaufkonto" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3710 #: model:account.account.template,name:l10n_ch.ch_coa_3710 msgid "Consommations propres" msgstr "Eigenverbrauch" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1269 #: model:account.account.template,name:l10n_ch.ch_coa_1269 msgid "Correction de la valeur de stocks de produits finis" -msgstr "" +msgstr "Wertberichtigungen fertige Erzeugnisse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1279 #: model:account.account.template,name:l10n_ch.ch_coa_1279 msgid "Corrections de la valeur des stock produits semi-ouvrés" -msgstr "" +msgstr "Wertberichtigungen unfertige Erzeugnisse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1209 #: model:account.account.template,name:l10n_ch.ch_coa_1209 msgid "Corrections de la valeur des stocks de marchandises" -msgstr "" +msgstr "Wertberichtigungen Handelswaren" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1289 #: model:account.account.template,name:l10n_ch.ch_coa_1289 msgid "Corrections de la valeur des travaux en cours" -msgstr "" +msgstr "Wertberichtigungen nicht fakturierte Dienstleistungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1219 #: model:account.account.template,name:l10n_ch.ch_coa_1219 msgid "Corrections de la valeur sur matières premières" -msgstr "" +msgstr "Wertberichtigungen Rohstoffe" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1180 #: model:account.account.template,name:l10n_ch.ch_coa_1180 msgid "Créances envers les assurances sociales et institutions de prévoyance" msgstr "Forderungen gegenüber Sozialversicherungen und Vorsorgeeinrichtungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2000 #: model:account.account.template,name:l10n_ch.ch_coa_2000 msgid "Créanciers" msgstr "Verbindlichkeiten aus Lieferungen und Leistungen (Kreditoren)" #. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_currency_name +msgid "Currency" +msgstr "Währung" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2100 +#: model:account.account,name:l10n_ch.1_ch_coa_2400 #: model:account.account.template,name:l10n_ch.ch_coa_2100 #: model:account.account.template,name:l10n_ch.ch_coa_2400 msgid "Dettes bancaires" msgstr "Bankverbindlichkeiten" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2160 #: model:account.account.template,name:l10n_ch.ch_coa_2160 msgid "Dettes envers l'actionnaire" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3806 +#: model:account.account,name:l10n_ch.1_ch_coa_4906 #: model:account.account.template,name:l10n_ch.ch_coa_3806 #: model:account.account.template,name:l10n_ch.ch_coa_4906 msgid "Différences de change" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2261 #: model:account.account.template,name:l10n_ch.ch_coa_2261 msgid "Dividendes" msgstr "Beschlossene Ausschüttungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4071 #: model:account.account.template,name:l10n_ch.ch_coa_4071 msgid "Droits de douanes à l'importation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1109 #: model:account.account.template,name:l10n_ch.ch_coa_1109 msgid "Ducroire" msgstr "Delkredere" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1100 #: model:account.account.template,name:l10n_ch.ch_coa_1100 msgid "Débiteurs" msgstr "Forderungen aus Lieferungen und Leistungen (Debitoren)" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2201 #: model:account.account.template,name:l10n_ch.ch_coa_2201 msgid "Décompte TVA" msgstr "Abrechnungskonto MWST" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4009 #: model:account.account.template,name:l10n_ch.ch_coa_4009 msgid "Déductions obtenues sur achats" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3009 #: model:account.account.template,name:l10n_ch.ch_coa_3009 msgid "Déductions sur ventes" msgstr "Erlösminderungen" #. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_bank_l10n_ch_postal_eur +msgid "EUR ISR reference" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4540 #: model:account.account.template,name:l10n_ch.ch_coa_4540 msgid "Eau" msgstr "Wasser" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4500 #: model:account.account.template,name:l10n_ch.ch_coa_4500 msgid "Electricité" msgstr "Strom" #. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_mail_template +msgid "Email Templates" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2450 #: model:account.account.template,name:l10n_ch.ch_coa_2450 msgid "Emprunts" msgstr "Darlehen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2430 #: model:account.account.template,name:l10n_ch.ch_coa_2430 msgid "Emprunts obligataires" msgstr "Obligationenanleihen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2120 +#: model:account.account,name:l10n_ch.1_ch_coa_2420 #: model:account.account.template,name:l10n_ch.ch_coa_2120 #: model:account.account.template,name:l10n_ch.ch_coa_2420 msgid "Engagements de financement par leasing" msgstr "Verbindlichkeiten aus Finanzierungsleasing" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6100 #: model:account.account.template,name:l10n_ch.ch_coa_6100 -msgid "Entretien, réparations et remplacement des inst. servant à l’exploitation" +msgid "" +"Entretien, réparations et remplacement des inst. servant à l’exploitation" msgstr "Unterhalt, Reparaturen, Ersatz mobile Sachanlagen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1570 #: model:account.account.template,name:l10n_ch.ch_coa_1570 msgid "Equipements et Installations" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3800 +#: model:account.account,name:l10n_ch.1_ch_coa_4900 #: model:account.account.template,name:l10n_ch.ch_coa_3800 #: model:account.account.template,name:l10n_ch.ch_coa_4900 msgid "Escomptes" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4530 #: model:account.account.template,name:l10n_ch.ch_coa_4530 msgid "Essence" msgstr "Benzin" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3804 #: model:account.account.template,name:l10n_ch.ch_coa_3804 msgid "Frais d'encaissement" msgstr "Frais d'encaissement" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3807 #: model:account.account.template,name:l10n_ch.ch_coa_3807 msgid "Frais d'expédition" msgstr "Frais d'expédition" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4072 #: model:account.account.template,name:l10n_ch.ch_coa_4072 msgid "Frais de transport à l'achat" msgstr "Frais de transport à l'achat" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4070 #: model:account.account.template,name:l10n_ch.ch_coa_4070 msgid "Frêts à l'achat" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4510 #: model:account.account.template,name:l10n_ch.ch_coa_4510 msgid "Gaz" msgstr "Gaz" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1770 #: model:account.account.template,name:l10n_ch.ch_coa_1770 msgid "Goodwill" msgstr "Goodwill" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1441 +#: model:account.account,name:l10n_ch.1_ch_coa_2451 #: model:account.account.template,name:l10n_ch.ch_coa_1441 #: model:account.account.template,name:l10n_ch.ch_coa_2451 msgid "Hypothèques" msgstr "Hypotheken" #. module: l10n_ch +#: model:ir.actions.report.xml,name:l10n_ch.l10n_ch_isr_report +msgid "ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.l10n_ch_isr_report_template +msgid "ISR for invoice" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_number_spaced +msgid "" +"ISR number split in blocks of 5 characters (right-justified), to generate " +"ISR report." +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.isr_invoice_search_view +msgid "ISR reference number" +msgstr "" + +#. module: l10n_ch +#: code:addons/l10n_ch/models/mail_compose_message.py:23 +#, python-format +msgid "ISR sent" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1600 #: model:account.account.template,name:l10n_ch.ch_coa_1600 msgid "Immeubles d’exploitation" msgstr "Geschäftsliegenschaften" #. module: l10n_ch +#: model:account.fiscal.position,name:l10n_ch.1_fiscal_position_template_import #: model:account.fiscal.position.template,name:l10n_ch.fiscal_position_template_import msgid "Import/Export" msgstr "Import/Export" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1176 #: model:account.account.template,name:l10n_ch.ch_coa_1176 msgid "Impôt anticipé" msgstr "Verrechnungssteuer" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2206 #: model:account.account.template,name:l10n_ch.ch_coa_2206 msgid "Impôt anticipé dû" msgstr "Verrechnungssteuer" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1171 #: model:account.account.template,name:l10n_ch.ch_coa_1171 msgid "Impôt préalable: TVA s/investissements et autres charges d’exploitation" msgstr "Vorsteuer MWST Investitionen, übriger Betriebsaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1170 #: model:account.account.template,name:l10n_ch.ch_coa_1170 msgid "Impôt préalable: TVA s/matériel, marchandises, prestations et énergie" msgstr "Vorsteuer MWST Material, Waren, Dienstleistungen, Energie" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1189 +#: model:account.account,name:l10n_ch.1_ch_coa_2279 #: model:account.account.template,name:l10n_ch.ch_coa_1189 #: model:account.account.template,name:l10n_ch.ch_coa_2279 msgid "Impôt à la source" msgstr "Quellensteuer" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2208 +#: model:account.account,name:l10n_ch.1_ch_coa_8900 #: model:account.account.template,name:l10n_ch.ch_coa_2208 #: model:account.account.template,name:l10n_ch.ch_coa_8900 msgid "Impôts directs" msgstr "Direkte Steuern" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1550 #: model:account.account.template,name:l10n_ch.ch_coa_1550 msgid "Installations de stockage" msgstr "Installations de stockage" #. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_number +msgid "L10N Ch Isr Number" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_number_spaced +msgid "L10N Ch Isr Number Spaced" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_optical_line +msgid "L10N Ch Isr Optical Line" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_postal +msgid "L10N Ch Isr Postal" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_postal_formatted +msgid "L10N Ch Isr Postal Formatted" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_sent +msgid "L10N Ch Isr Sent" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_valid +msgid "L10N Ch Isr Valid" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_partner_bank_l10n_ch_postal +msgid "L10N Ch Postal" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6260 #: model:account.account.template,name:l10n_ch.ch_coa_6260 msgid "Leasing et location de véhicules" msgstr "Fahrzeugleasing und -mieten" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6105 #: model:account.account.template,name:l10n_ch.ch_coa_6105 msgid "Leasing immobilisations corporelles meubles" msgstr "Leasingaufwand mobile Sachanlagen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1520 #: model:account.account.template,name:l10n_ch.ch_coa_1520 msgid "Machines de bureau, informatique, systèmes de communication" msgstr "Büromaschinen, Informatik, Kommunikationstechnologie" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1500 #: model:account.account.template,name:l10n_ch.ch_coa_1500 msgid "Machines et appareils" msgstr "Maschinen und Apparate" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1200 #: model:account.account.template,name:l10n_ch.ch_coa_1200 msgid "Marchandises commerciales" msgstr "Handelswaren" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1250 #: model:account.account.template,name:l10n_ch.ch_coa_1250 msgid "Marchandises en consignation" msgstr "Handelswaren in Konsignation" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1220 #: model:account.account.template,name:l10n_ch.ch_coa_1220 msgid "Matières auxiliaires" msgstr "Werkstoffe" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1230 #: model:account.account.template,name:l10n_ch.ch_coa_1230 msgid "Matières consommables" msgstr "Hilfs- und Verbrauchsmaterial" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1210 #: model:account.account.template,name:l10n_ch.ch_coa_1210 msgid "Matières premières" msgstr "Rohstoffe" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4520 #: model:account.account.template,name:l10n_ch.ch_coa_4520 msgid "Mazout" msgstr "Heizöl" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1510 #: model:account.account.template,name:l10n_ch.ch_coa_1510 msgid "Mobilier et installations" msgstr "Mobiliar und Einrichtungen" #. module: l10n_ch -#: model:ir.actions.client,name:l10n_ch.action_client_l10n_ch_menu -msgid "Open Account Dashboard Menu" -msgstr " Buchführungsübersicht öffnen" +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_optical_line +msgid "Optical reading line, as it will be printed on ISR" +msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1540 #: model:account.account.template,name:l10n_ch.ch_coa_1540 msgid "Outillages et appareils" msgstr "Werkzeuge und Geräte" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1480 #: model:account.account.template,name:l10n_ch.ch_coa_1480 msgid "Participations" msgstr "Beteiligungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4086 #: model:account.account.template,name:l10n_ch.ch_coa_4086 msgid "Pertes de matières" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3805 #: model:account.account.template,name:l10n_ch.ch_coa_3805 msgid "Pertes sur créances clients, variation ducroire" msgstr "Verluste Forderungen (Debitoren), Veränderung Delkredere" @@ -721,122 +1005,179 @@ msgid "Plan comptable 2015" msgstr "Kontenrahmen 2015" #. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_postal_formatted +msgid "" +"Postal reference of the bank, formated with '-' and without the padding " +"zeros, to generate ISR report." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4400 #: model:account.account.template,name:l10n_ch.ch_coa_4400 msgid "Prestations / travaux de tiers" msgstr "Aufwand für bezogene Dienstleistungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3700 #: model:account.account.template,name:l10n_ch.ch_coa_3700 msgid "Prestations propres" msgstr "Eigenleistungen" #. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.isr_invoice_form +msgid "Print ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_company_l10n_ch_isr_print_bank_location +msgid "Print bank location" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_config_settings_l10n_ch_isr_print_bank_location +msgid "Print bank on ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.l10n_ch-isr_account_config_settings +msgid "" +"Print the coordinates of your bank under the 'Payment for' title of the " +"ISR.\n" +" Your address will be moved to the 'in favour " +"of' section." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7000 #: model:account.account.template,name:l10n_ch.ch_coa_7000 msgid "Produits accessoires" msgstr "Ertrag Nebenbetrieb" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7500 #: model:account.account.template,name:l10n_ch.ch_coa_7500 msgid "Produits des immeubles d‘exploitation" msgstr "Ertrag betriebliche Liegenschaft" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2301 #: model:account.account.template,name:l10n_ch.ch_coa_2301 msgid "Produits encaissés d’avance" msgstr "Erhaltener Ertrag des Folgejahres" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8510 #: model:account.account.template,name:l10n_ch.ch_coa_8510 msgid "Produits extraordinaires, exceptionnels ou hors période" msgstr "Ausserordentlicher, einmaliger oder periodenfremder Ertrag" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6950 #: model:account.account.template,name:l10n_ch.ch_coa_6950 msgid "Produits financiers" msgstr "Finanzertrag" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8100 #: model:account.account.template,name:l10n_ch.ch_coa_8100 msgid "Produits hors exploitation" msgstr "Betriebsfremder Ertrag" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1301 #: model:account.account.template,name:l10n_ch.ch_coa_1301 msgid "Produits à recevoir" msgstr "Noch nicht erhaltener Ertrag" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2980 #: model:account.account.template,name:l10n_ch.ch_coa_2980 -msgid "Propres actions, parts sociales, droits de participations (poste négatif)" +msgid "" +"Propres actions, parts sociales, droits de participations (poste négatif)" msgstr "Eigene Aktien, Stammanteile oder Anteilscheine (Minusposten)" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2600 #: model:account.account.template,name:l10n_ch.ch_coa_2600 msgid "Provisions" msgstr "Rückstellungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2330 #: model:account.account.template,name:l10n_ch.ch_coa_2330 msgid "Provisions à court terme" msgstr "Kurzfristige Rückstellungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1440 #: model:account.account.template,name:l10n_ch.ch_coa_1440 msgid "Prêts" msgstr "Darlehen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6600 #: model:account.account.template,name:l10n_ch.ch_coa_6600 msgid "Publicité" msgstr "Werbeaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3801 #: model:account.account.template,name:l10n_ch.ch_coa_3801 msgid "Rabais et réduction de prix" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4901 #: model:account.account.template,name:l10n_ch.ch_coa_4901 msgid "Rabais et réductions de prix" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3802 +#: model:account.account,name:l10n_ch.1_ch_coa_4092 #: model:account.account.template,name:l10n_ch.ch_coa_3802 #: model:account.account.template,name:l10n_ch.ch_coa_4092 msgid "Ristournes" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2940 #: model:account.account.template,name:l10n_ch.ch_coa_2940 msgid "Réserves d‘évaluation" msgstr "Aufwertungsreserve" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2960 #: model:account.account.template,name:l10n_ch.ch_coa_2960 msgid "Réserves libres" msgstr "Freiwillige Gewinnreserven" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2950 #: model:account.account.template,name:l10n_ch.ch_coa_2950 msgid "Réserves légales issues du bénéfice" msgstr "Gesetzliche Gewinnreserve" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2900 #: model:account.account.template,name:l10n_ch.ch_coa_2900 msgid "Réserves légales issues du capital" msgstr "Gesetzliche Kapitalreserve" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5000 #: model:account.account.template,name:l10n_ch.ch_coa_5000 msgid "Salaires" msgstr "Lohnaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1260 #: model:account.account.template,name:l10n_ch.ch_coa_1260 msgid "Stocks de produits finis" msgstr "Fertige Erzeugnisse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1270 #: model:account.account.template,name:l10n_ch.ch_coa_1270 msgid "Stocks de produits semi-ouvrés" msgstr "" @@ -847,203 +1188,409 @@ msgid "Swiss Statements" msgstr "CH Bilanz- und Erfolgsrechnungen" #. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_dedouanement +msgid "Switzerland VAT Form: 100% dédouanement (base in grid 400)" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_200 +msgid "Switzerland VAT Form: grid 200" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_220 +msgid "Switzerland VAT Form: grid 220" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_221 +msgid "Switzerland VAT Form: grid 221" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_225 +msgid "Switzerland VAT Form: grid 225" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_230 +msgid "Switzerland VAT Form: grid 230" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_235 +msgid "Switzerland VAT Form: grid 235" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_280 +msgid "Switzerland VAT Form: grid 280" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_301_a +msgid "Switzerland VAT Form: grid 301 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_301_b +msgid "Switzerland VAT Form: grid 301 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_311_a +msgid "Switzerland VAT Form: grid 311 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_311_b +msgid "Switzerland VAT Form: grid 311 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_341_a +msgid "Switzerland VAT Form: grid 341 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_341_b +msgid "Switzerland VAT Form: grid 341 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_381_a +msgid "Switzerland VAT Form: grid 381 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_381_b +msgid "Switzerland VAT Form: grid 381 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_400 +msgid "Switzerland VAT Form: grid 400" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_405 +msgid "Switzerland VAT Form: grid 405" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_410 +msgid "Switzerland VAT Form: grid 410" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_415 +msgid "Switzerland VAT Form: grid 415" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_420 +msgid "Switzerland VAT Form: grid 420" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_O_import #: model:account.tax.template,name:l10n_ch.vat_O_import msgid "TVA 0% Importations de biens et services" msgstr "MwSt. 0% auf Importe von Gütern und Dienstleistungen" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_O_exclude #: model:account.tax.template,name:l10n_ch.vat_O_exclude msgid "TVA 0% exclue" msgstr "MwSt. 0% ausgeschlossen" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_25_purchase_incl msgid "TVA 2.5% sur achat B&S (Incl. TR)" msgstr "MwSt. 2,5 % auf Einkäufe B&S (inkl. USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_purchase #: model:account.tax.template,name:l10n_ch.vat_25_purchase msgid "TVA 2.5% sur achat B&S (TR)" msgstr "MwSt. 2,5 % auf Einkäufe B&S (USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_invest_incl #: model:account.tax.template,name:l10n_ch.vat_25_invest_incl msgid "TVA 2.5% sur invest. et autres ch. (Incl. TR)" msgstr "MwSt. 2,5% auf Invest. und sonst. Aufw. (inkl. USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_invest #: model:account.tax.template,name:l10n_ch.vat_25_invest msgid "TVA 2.5% sur invest. et autres ch. (TR)" msgstr "MwSt. 2,5% auf Invest. und sonst. Aufw. (USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_38_purchase_incl msgid "TVA 3.8% sur achat B&S (Incl. TS)" msgstr "MwSt. 3,8% auf Einkäufe B&S (inkl. LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_purchase #: model:account.tax.template,name:l10n_ch.vat_38_purchase msgid "TVA 3.8% sur achat B&S (TS)" msgstr "MwSt. 3,8% auf Einkäufe B&S (LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_invest_incl #: model:account.tax.template,name:l10n_ch.vat_38_invest_incl msgid "TVA 3.8% sur invest. et autres ch. (Incl. TS)" msgstr "MwSt. 3,8% auf Invest. und sonst. Aufw. (inkl. LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_invest #: model:account.tax.template,name:l10n_ch.vat_38_invest msgid "TVA 3.8% sur invest. et autres ch. (TS)" msgstr "MwSt. 3,8% auf Invest. und sonst. Aufw. (LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_80_purchase_incl msgid "TVA 8.0% sur achat B&S (Incl. TN)" msgstr "MwSt. 8.0% auf Einkäufe B&S (inkl. NRZ)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_purchase #: model:account.tax.template,name:l10n_ch.vat_80_purchase msgid "TVA 8.0% sur achat B&S (TN)" msgstr "MwSt. 8,0% auf Einkäufe B&S (NRZ)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_invest_incl #: model:account.tax.template,name:l10n_ch.vat_80_invest_incl msgid "TVA 8.0% sur invest. et autres ch. (Incl. TN)" msgstr "MwSt. 8,0% auf Invest. und sonst. Aufw. (inkl. NRZ)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_invest #: model:account.tax.template,name:l10n_ch.vat_80_invest msgid "TVA 8.0% sur invest. et autres ch. (TN)" msgstr "MwSt. 8,0% auf Invest. und sonst. Aufw. (NRZ)" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2200 #: model:account.account.template,name:l10n_ch.ch_coa_2200 msgid "TVA due" msgstr "Geschuldete MwSt. (Umsatzsteuer)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_XO #: model:account.tax.template,name:l10n_ch.vat_XO msgid "TVA due a 0% (Exportations)" msgstr "Zu zahlende MwSt. bei 0% (Exporte)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25 #: model:account.tax.template,name:l10n_ch.vat_25 msgid "TVA due a 2.5% (TR)" msgstr "Zu zahlende MwSt. bei 2,5% (USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38 #: model:account.tax.template,name:l10n_ch.vat_38 msgid "TVA due a 3.8% (TS)" msgstr "Zu zahlende MwSt. bei 3,8% (LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80 #: model:account.tax.template,name:l10n_ch.vat_80 msgid "TVA due a 8.0% (TN)" msgstr "Zu zahlende MwSt. bei 8,0% (NRZ)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_incl #: model:account.tax.template,name:l10n_ch.vat_25_incl msgid "TVA due à 2.5% (Incl. TR)" msgstr "Zu zahlende MwSt. bei 2,5% (inkl. USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_incl #: model:account.tax.template,name:l10n_ch.vat_38_incl msgid "TVA due à 3.8% (Incl. TS)" msgstr "Zu zahlende MwSt. bei 3,8% (inkl. LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_incl #: model:account.tax.template,name:l10n_ch.vat_80_incl msgid "TVA due à 8.0% (Incl. TN)" msgstr "Zu zahlende MwSt. bei 8,0% (inkl. NRZ)" #. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_partner_bank_l10n_ch_postal +msgid "The ISR number of the company within the bank" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_currency_name +msgid "The name of this invoice's currency" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_postal +msgid "The postal reference identifying the bank managing this ISR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_bank_l10n_ch_postal_chf +msgid "" +"The postal reference of the bank, used to generate ISR payment slips in CHF." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_bank_l10n_ch_postal_eur +msgid "" +"The postal reference of the bank, used to generate ISR payment slips in EUR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_number +msgid "The reference number associated with this invoice" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1060 #: model:account.account.template,name:l10n_ch.ch_coa_1060 msgid "Titres" msgstr "Wertschriften" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1400 #: model:account.account.template,name:l10n_ch.ch_coa_1400 msgid "Titres à long terme" msgstr "Wertschriften" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_transfer_account_id #: model:account.account.template,name:l10n_ch.transfer_account_id msgid "Transferts internes" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1280 #: model:account.account.template,name:l10n_ch.ch_coa_1280 msgid "Travaux en cours" msgstr "Unfertige Erzeugnisse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3940 #: model:account.account.template,name:l10n_ch.ch_coa_3940 msgid "Variation de la valeur des prestations non facturées" msgstr "Bestandesänderungen nicht fakturierte Dienstleistungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1287 #: model:account.account.template,name:l10n_ch.ch_coa_1287 msgid "Variation de la valeur des travaux en cours" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1277 #: model:account.account.template,name:l10n_ch.ch_coa_1277 msgid "Variation de stock produits semi-ouvrés" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1267 #: model:account.account.template,name:l10n_ch.ch_coa_1267 msgid "Variation de stocks de produits finis" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1207 +#: model:account.account,name:l10n_ch.1_ch_coa_4800 #: model:account.account.template,name:l10n_ch.ch_coa_1207 #: model:account.account.template,name:l10n_ch.ch_coa_4800 msgid "Variation des stocks de marchandises" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4801 #: model:account.account.template,name:l10n_ch.ch_coa_4801 msgid "Variation des stocks de matières premières" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3901 #: model:account.account.template,name:l10n_ch.ch_coa_3901 msgid "Variation des stocks de produits finis" msgstr "Bestandesänderungen fertige Erzeugnisse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3900 #: model:account.account.template,name:l10n_ch.ch_coa_3900 msgid "Variation des stocks de produits semi-finis" msgstr "Bestandesänderungen unfertige Erzeugnisse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1217 #: model:account.account.template,name:l10n_ch.ch_coa_1217 msgid "Variation des stocks des matières premières" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4008 +#: model:account.account,name:l10n_ch.1_ch_coa_4080 #: model:account.account.template,name:l10n_ch.ch_coa_4008 #: model:account.account.template,name:l10n_ch.ch_coa_4080 msgid "Variations de stocks" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3200 #: model:account.account.template,name:l10n_ch.ch_coa_3200 msgid "Ventes de marchandises" msgstr "Handelserlöse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3400 #: model:account.account.template,name:l10n_ch.ch_coa_3400 msgid "Ventes de prestations" msgstr "Dienstleistungserlöse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3000 #: model:account.account.template,name:l10n_ch.ch_coa_3000 msgid "Ventes de produits fabriqués" msgstr "Produktionserlöse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1530 #: model:account.account.template,name:l10n_ch.ch_coa_1530 msgid "Véhicules" msgstr "Fahrzeuge" + +#. module: l10n_ch +#: code:addons/l10n_ch/models/account_invoice.py:153 +#, python-format +msgid "" +"You cannot generate an ISR yet.\n" +"\n" +" For this, you need to :\n" +"\n" +" - set a valid postal account number (or " +"an IBAN referencing one) for your company\n" +"\n" +" - define its bank\n" +"\n" +" - associate this bank with a postal " +"reference for the currency used in this invoice\n" +"\n" +" - fill the 'bank account' field of the " +"invoice with the postal to be used to receive the related payment. A default " +"account will be automatically set for all invoices created after you defined " +"a postal account for your company." +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_account_config_settings +msgid "account.config.settings" +msgstr "" diff --git a/addons/l10n_do/__init__.py b/addons/l10n_do/__init__.py index 67dee8c60db..dc5e6b693d1 100644 --- a/addons/l10n_do/__init__.py +++ b/addons/l10n_do/__init__.py @@ -1,2 +1,4 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import models diff --git a/addons/l10n_do/__manifest__.py b/addons/l10n_do/__manifest__.py index ba049cf6f99..cf4af681219 100644 --- a/addons/l10n_do/__manifest__.py +++ b/addons/l10n_do/__manifest__.py @@ -1,37 +1,103 @@ # -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. -# First author: Jose Ernesto Mendez (Open Business Solutions SRL.) -# Copyright (c) 2012 -TODAY Open Business Solutions, SRL. (http://obsdr.com). All rights reserved. -# This is a fork to upgrade to odoo 8.0 -# by Marcos Organizador de Negocios - Eneldo Serrata - www.marcos.org.do +# Author: Gustavo Valverde iterativo | Consultores +# Contributors: Edser Solis - iterativo + +# Odoo 8.0 author: Eneldo Serrata +# (Marcos Organizador de Negocios SRL..) +# Odoo 7.0 author: Jose Ernesto Mendez +# (Open Business Solutions SRL.) + +# Copyright (c) 2016 - Present | iterativo, SRL. - http://iterativo.do +# All rights reserved. { 'name': 'Dominican Republic - Accounting', - 'version': '1.0', + 'version': '2.0', 'category': 'Localization', 'description': """ -This is the base module to manage the accounting chart for Dominican Republic. -============================================================================== -* Chart of Accounts. -* The Tax Code Chart for Domincan Republic -* The main taxes used in Domincan Republic -* Fiscal position for local """, - 'author': 'Eneldo Serrata - Marcos Organizador de Negocios, SRL.', - 'website': 'http://marcos.do', - 'depends': ['account', 'base_iban'], +Localization Module for Dominican Republic +=========================================== + +Catálogo de Cuentas e Impuestos para República Dominicana, Compatible para +**Internacionalización** con **NIIF** y alineado a las normas y regulaciones +de la Dirección General de Impuestos Internos (**DGII**). + +**Este módulo consiste de:** + +- Catálogo de Cuentas Estándar (alineado a DGII y NIIF) +- Catálogo de Impuestos con la mayoría de Impuestos Preconfigurados + - ITBIS para compras y ventas + - Retenciones de ITBIS + - Retenciones de ISR + - Grupos de Impuestos y Retenciones: + - Telecomunicaiones + - Proveedores de Materiales de Construcción + - Personas Físicas Proveedoras de Servicios + - Otros impuestos +- Secuencias Preconfiguradas para manejo de todos los NCF + - Facturas con Valor Fiscal (para Ventas) + - Facturas para Consumidores Finales + - Notas de Débito y Crédito + - Registro de Proveedores Informales + - Registro de Ingreso Único + - Registro de Gastos Menores + - Gubernamentales +- Posiciones Fiscales para automatización de impuestos y retenciones + - Cambios de Impuestos a Exenciones (Ej. Ventas al Estado) + - Cambios de Impuestos a Retenciones (Ej. Compra Servicios al Exterior) + - Entre otros + +**Nota:** +Esta localización, aunque posee las secuencias para NCF, las mismas no pueden +ser utilizadas sin la instalación de módulos de terceros o desarrollo +adicional. + +Estructura de Codificación del Catálogo de Cuentas: +=================================================== + +**Un dígito** representa la categoría/tipo de cuenta del del estado financiero. +**1** - Activo **4** - Cuentas de Ingresos y Ganancias +**2** - Pasivo **5** - Costos, Gastos y Pérdidas +**3** - Capital **6** - Cuentas Liquidadoras de Resultados + +**Dos dígitos** representan los rubros de agrupación: +11- Activo Corriente +21- Pasivo Corriente +31- Capital Contable + +**Cuatro dígitos** se asignan a las cuentas de mayor: cuentas de primer orden +1101- Efectivo y Equivalentes de Efectivo +2101- Cuentas y Documentos por pagar +3101- Capital Social + +**Seis dígitos** se asignan a las sub-cuentas: cuentas de segundo orden +110101 - Caja +210101 - Proveedores locales + +**Ocho dígitos** son para las cuentas de tercer orden (las visualizadas +en Odoo): +1101- Efectivo y Equivalentes +110101- Caja +11010101 Caja General + """, + 'author': 'Gustavo Valverde - iterativo | Consultores de Odoo', + 'website': 'http://iterativo.do', + 'depends': ['account', + 'base_iban' + ], 'data': [ - # basic accounting data + # Basic accounting data 'data/l10n_do_chart_data.xml', 'data/account.account.template.csv', 'data/account_chart_template_data.xml', 'data/account_account_tag_data.xml', - 'data/account.tax.template.csv', + 'data/account.tax.template.xml', + # Country States 'data/l10n_do_state_data.xml', # Adds fiscal position - 'data/account.fiscal.position.template.csv', - 'data/account.fiscal.position.tax.template.csv', + 'data/fiscal_position_template.xml', # configuration wizard, views, reports... 'data/account_chart_template_data.yml', ], diff --git a/addons/l10n_do/data/account.account.template.csv b/addons/l10n_do/data/account.account.template.csv index ed6b2ba91a8..2879acc2e86 100644 --- a/addons/l10n_do/data/account.account.template.csv +++ b/addons/l10n_do/data/account.account.template.csv @@ -1,198 +1,254 @@ id,code,name,user_type_id/id,reconcile,chart_template_id/id -default_chart_a_account_528,61121,"Agua, Luz y Basura",account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_529,61122,Telecomunicaciones,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_721,61123,Otros Gastos Administrativos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_531,61131,Depreciación Edificio,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_532,61132,Depreciación Mobiliario y Equipos de Oficina,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_533,61133,Depreciación Equipos de Cómputos y Telecomunicaciones,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_534,61134,Depreciación Equipos de Transporte,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_535,61135,Depreciación Maquinarias y Equipos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_536,61136,Depreciación Otros Activos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_537,61137,Amortización Mejoras en Propiedad Arrendada,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_538,61138,Amortización Gastos de Organización y Constitución,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_539,61139,Amortización Patentes y Derechos de Explotación,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_542,61141,Alquiler de Locales ,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_543,61142,Alquiler de Equipos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_544,61143,Alquiler de Vehículos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_545,61144,Alquileres Generales,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_722,61160,Otras Deducciones Admitidas,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_586,61161,Impuesto de Fiscalización,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_587,61162,Retenciones de Impuesto sobre la Rentas Asumidas,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_588,61163,"Penalidades, Mora e Interés Indemnizatorios",account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_589,61164,Gastos Sin Comprobantes No Admitidos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_590,61165,Gastos de Años Anteriores No Admitidos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_591,61166,Otros Gastos No Deducible ISR,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_592,61167,Otros Gastos Generales y Administrativos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_594,61171,Cargos Bancarios,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_595,61172,Cargos Carnet,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_596,61173,Pérdida en Ajuste por Tipo de Cambio,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_597,61174,Intereses sobre Prestamos Bancarios,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_598,61175,Intereses sobre Prestamos Particulares,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_600,61181,Impuestos sobre la Renta Corrientes,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_601,61182,Impuestos sobre Activos Corrientes,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_602,61183,Impuestos Sobre la Renta Diferidos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_603,61184,Crédito Fiscal por Retención de Dividendos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_604,61185,Impuestos de años anteriores,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_605,61186,Impuestos sobre Activos de años anteriores,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_152,112050,Efectivo en transito,account.data_account_type_current_assets,true,l10n_do.default_chart_a -default_chart_a_account_13,113010,Cuentas por Cobrar Clientes,account.data_account_type_receivable,true,l10n_do.default_chart_a -default_chart_a_account_14,113020,Cuentas por Cobrar Funcionarios y Empleados,account.data_account_type_receivable,true,l10n_do.default_chart_a -default_chart_a_account_15,113030,Otras Cuentas por Cobrar,account.data_account_type_receivable,true,l10n_do.default_chart_a -default_chart_a_account_707,113040,Pendientes de conciliar,account.data_account_type_current_assets,true,l10n_do.default_chart_a -default_chart_a_account_709,113050,Operaciones bancarias en transito,account.data_account_type_current_assets,true,l10n_do.default_chart_a -default_chart_a_account_716,113060,Gastos Pagados Por Adelantado,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_17,114010,Mercancias,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_18,114020,Materia Prima,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_19,114030,Productos en procesos,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_20,114040,Productos terminados,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_22,115010,Seguros,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_23,115020,Placas y Patentes,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_24,115030,I.S.R.,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_25,115040,Intereses cobrados por adelantados,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_26,115050,Otros,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_182,123100,Mobiliario y Equipos de Oficina,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_183,123200,Deprec. Acumulada Mobiliario y Equipos de Oficina,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_184,124100,Equipos de Cómputos y Telecomunicaciones,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_185,124200,Deprec. Acumulada Equipos de Cómputos y Telecomunicaciones,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_187,125100,Equipos de Transporte Livianos,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_188,125200,Deprec. Acumulada Equipos de Transporte Livianos,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_190,125300,Equipos de Transporte Pesados,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_191,125400,Deprec. Acumulada Equipos de Transporte Pesados,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_194,127100,Otros Activos Depreciables,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_195,127200,Deprec. Acumulada Otros Activos Depreciables,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_197,128100,Mejoras en Propiedad Arrendada,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_198,128200,Amortización Mejoras en Propiedad Arrendada,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_200,129100,Terreno en Proceso de Capitalización,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_201,129200,Edificio en Proceso de Capitalización,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_203,129400,Equipos de Cómputos y Telecom. en Proceso de Instalación,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_204,129500,Equipos de Transporte en Proceso de Liquidación,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_205,129700,Otros Activos Depreciables en Proceso de Instalación,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_38,131000,Mejoras Propiedad Arrendadas,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_39,132000,Gastos de Organizacion,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_40,133000,Gastos Legales,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_42,141000,Acciones,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_43,142000,bonos,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_44,143000,Bienes Muebles e Inmuebles,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_46,151000,Fianzas,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_47,152000,Depositos,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_48,153000,Codetel,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_49,154000,CDEEE,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_50,155000,CAASD,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_51,156000,Telecable Nacional,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_719,157000,Obras de Arte,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_53,161000,ITBIS Pagado en compras,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_54,162000,Anticipos ISR,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_55,163000,ITBIS retenido cobros con tarjetas,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_56,164000,ITBIS Pagado en importaciones,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_57,165000,ITBIS por servicios deducibles,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_70,201050,Retencion Empleados SFS,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_61,211010,Suplidores,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_62,211020,Proveedores,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_63,211030,Instituciones Estatales,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_64,211040,Prestamos por Pagar,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_713,211050,Cheques popular en transito,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_714,211060,Caja Chica por pagar,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_715,211070,Sueldo y Salarios por Pagar,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_717,211080,Otras Cuentas Por Pagar,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_718,211090,Cobros anticipados,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_66,212010,Retención Empleados SVDS,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_67,212020,I.S.R.,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_723,212021,I.S.R. RETENCIONES DE ASALARIADOS,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_68,212030,Infotep,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_69,212040,TSS,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_71,212060,ITBIS,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_163,212061,ITBIS 18% retenido a personas fisicas,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_712,212062,ISR 10% retenido a personas fisicas,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_72,212070,Otras Retenciones,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_720,212080,Otros Impuestos Por Pagar,account.data_account_type_payable,true,l10n_do.default_chart_a -default_chart_a_account_75,311000,Capital Autorizado,account.data_account_type_equity,false,l10n_do.default_chart_a -default_chart_a_account_76,312000,Acciones no emitidas,account.data_account_type_equity,false,l10n_do.default_chart_a -default_chart_a_account_77,313000,Capital Social,account.data_account_type_equity,false,l10n_do.default_chart_a -default_chart_a_account_79,321000,Reserva Legal,account.data_account_type_equity,false,l10n_do.default_chart_a -default_chart_a_account_80,322000,Reservas para Contingencias,account.data_account_type_equity,false,l10n_do.default_chart_a -default_chart_a_account_82,331000,Ganancias retenidas años anteriores,account.data_account_type_equity,false,l10n_do.default_chart_a -default_chart_a_account_83,332000,Ajustes años anteriores,account.data_account_type_equity,false,l10n_do.default_chart_a -default_chart_a_account_84,333000,Ganancia del periodo,account.data_account_type_equity,false,l10n_do.default_chart_a -default_chart_a_account_87,411000,Ventas,account.data_account_type_revenue,false,l10n_do.default_chart_a -default_chart_a_account_89,421000,Ingresos por Servicios,account.data_account_type_revenue,false,l10n_do.default_chart_a -default_chart_a_account_90,422000,Intereses Cobrados,account.data_account_type_revenue,false,l10n_do.default_chart_a -default_chart_a_account_91,423000,Donaciones,account.data_account_type_revenue,false,l10n_do.default_chart_a -default_chart_a_account_92,424000,Ingresos en Ventas de Activos Fijos,account.data_account_type_revenue,false,l10n_do.default_chart_a -default_chart_a_account_93,430000,Devoluciones en Ventas,account.data_account_type_revenue,false,l10n_do.default_chart_a -default_chart_a_account_94,440000,Descuentos en Ventas,account.data_account_type_revenue,false,l10n_do.default_chart_a -default_chart_a_account_148,450000,Ingresos por diferencia de cambio,account.data_account_type_revenue,false,l10n_do.default_chart_a -default_chart_a_account_724,460000,Otros Ingresos,account.data_account_type_revenue,false,l10n_do.default_chart_a -default_chart_a_account_97,511000,Materiales Directos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_98,512000,Mano de Obra Directa,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_99,513000,Costos Indirectos de Fabricacion,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_101,521000,Compras de mercancias,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_162,522000,Compras de mercancías en US,account.data_account_type_expenses,true,l10n_do.default_chart_a -default_chart_a_account_102,523000,Devoluciones en compras,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_103,524000,Descuentos en Compras,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_104,525000,Transporte en Compras,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_150,526000,Costo en ventas,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_507,611110,Salarios,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_516,611111,Infotep,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_517,611112,Aporte Plan Básico de Salud (SFS),account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_518,611113,Aporte Plan de Pensiones (AFP),account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_519,611114,Aporte Riesgos Laborales (ARL) ,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_520,611115,Seguro Medico y de Vida Privado,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_521,611116,Uniforme,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_522,611117,Dietas y Viáticos a Empleados,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_523,611118,Actividades Sociales Empleados,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_525,611120,Impuesto de Retribuciones Complementarias,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_508,611121,Comisiones Funcionarios y Empleados,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_526,611122,Otros Beneficios Empleados,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_509,611123,Incentivos y Horas Extras,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_510,611124,Bonificación,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_511,611125,Salario de Navidad,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_512,611126,Vacaciones,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_513,611127,Preaviso y Cesantía,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_514,611128,Compensación uso de vehículos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_515,611129,Entrenamiento y Capacitación,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_524,611130,Gasto de Retribuciones Complementarias,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_547,611501,Honorarios por Servicios Profesionales Sociedades,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_548,611502,Honorarios por Servicios Profesionales Personas Físicas,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_549,611503,Comisiones por Venta a Terceros Personas Físicas,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_550,611504,Transporte y Acarreo,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_551,611505,Combustible y Lubricantes Vehículos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_552,611506,Combustible Planta Eléctrica,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_553,611507,Estadía Hoteles,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_554,611508,Gastos por Cuentas Malas,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_555,611509,Reparaciones de Edificio,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_556,611510,Reparaciones de Activos Fijos Categoría 2 y 3,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_557,611511,Mantenimiento de Activos Fijos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_558,611512,Promociones,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_559,611513,Publicidad,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_560,611514,Viáticos y Representación,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_561,611515,Patrocinio y aportes,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_562,611516,Participación en concursos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_563,611517,Material Gastable y Papelería,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_564,611518,Material de Limpieza,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_565,611519,Atenciones a Clientes,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_566,611520,Gastos de Correo y Envíos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_567,611521,Gastos Legales,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_568,611522,Seguridad Electrónica,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_569,611523,Guardianes y Vigilancia,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_570,611524,Fumigación y Control de Plagas,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_571,611525,Suscripciones y Membresías,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_572,611526,Donaciones,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_573,611527,Gastos de Representación,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_574,611528,Pérdida por Obsolescencia de Inventarios,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_575,611529,Pérdida en Venta de Inversiones,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_576,611530,Pérdida en Venta de Activos Fijos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_577,611531,Pérdida en Venta de Terreno,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_578,611532,Pérdida en Venta de Edificio,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_579,611533,Pérdida en Venta de Mobiliario y Equipos de Oficina,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_580,611534,Pérdida en Venta de Maquinarias y Equipos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_581,611535,Pérdida en Venta de Otros Activos Fijos,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_582,611536,Pérdida en Participación Patrimonial en Subsidiarias,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_583,611537,Pérdida en Indemnización de Seguros,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_584,611538,Consulta de Datos e Formación Crediticia,account.data_account_type_expenses,false,l10n_do.default_chart_a -default_chart_a_account_143,711000,"Beneficio en retiro de Propiedad, Planta y Equipos",account.data_account_type_current_assets,true,l10n_do.default_chart_a -default_chart_a_account_144,712000,"Perdida en retiro de Propiedad, Planta y Equipos",account.data_account_type_current_assets,true,l10n_do.default_chart_a -default_chart_a_account_145,720000,Resumen de Ganancias y Perdidas,account.data_account_type_current_assets,true,l10n_do.default_chart_a -default_chart_a_account_173,11103002,Cheques en caja,account.data_account_type_current_assets,true,l10n_do.default_chart_a -default_chart_a_account_174,11103003,Diferencia en caja,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_175,11103004,Sobrante en caja,account.data_account_type_current_assets,false,l10n_do.default_chart_a -default_chart_a_account_176,11103005,Caja en transito,account.data_account_type_current_assets,true,l10n_do.default_chart_a +do_niif_11010301,11010301,Depósitos a Corto Plazo,account.data_account_type_liquidity,FALSE,do_chart_template +do_niif_11020100,11020100,Bonos y Acciones Temporales,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11020200,11020200,Operaciones en Bolsa,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11020300,11020300,Otros Valores Negociables,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11030101,11030101,Cheques Devueltos por Cobrar,account.data_account_type_receivable,TRUE,do_chart_template +do_niif_11030102,11030102,Intereses por Cobrar,account.data_account_type_receivable,TRUE,do_chart_template +do_niif_11030201,11030201,Cuenta por Cobrar a Clientes,account.data_account_type_receivable,TRUE,do_chart_template +do_niif_11030202,11030202,Cuenta por Cobrar a Funcionarios y Empleados,account.data_account_type_receivable,TRUE,do_chart_template +do_niif_11030203,11030203,Cuenta por Cobrar a Afiliadas,account.data_account_type_receivable,TRUE,do_chart_template +do_niif_11030204,11030204,Cuenta por Cobrar a Accionistas,account.data_account_type_receivable,TRUE,do_chart_template +do_niif_11030205,11030205,Otras Cuentas por Cobrar,account.data_account_type_receivable,TRUE,do_chart_template +do_niif_11040100,11040100,Provisión Incobrables a Clientes,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11040200,11040200,Provisión Incobrables a Funcionarios y Empleados,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11040300,11040300,Provisión Incobrables a Afiliadas,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11040400,11040400,Provisión Incobrables a Accionistas,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11040500,11040500,Provisión Otras Cuentas Incobrables,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11050100,11050100,Inventario de Mercancías o Productos Terminados,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11050200,11050200,Inventario de Materia Prima,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11050300,11050300,Inventario en Tránsito,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11050400,11050400,Materiales y Suministros en Inventario,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11050500,11050500,Combustibles en Inventario,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11060100,11060100,Deterioro Acum. de Inventario en Almacen,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11060200,11060200,Deterioro Acum. de Materiales y Suministros,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11060300,11060300,Deterioro Acum. de Combustibles,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11070100,11070100,Obsolescencia Inventario en Almacen,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11070200,11070200,Obsolescencia Materiales y Suministros,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11070300,11070300,Obsolescencia Combustibles,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11080101,11080101,ITBIS Pagado en Compras Locales,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11080102,11080102,ITBIS Pagado en Servicios Locales,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11080103,11080103,ITBIS Pagado por Importaciones,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11080301,11080301,ITBIS Pagado en Ventas con Tarjeta de Crédito (Norma 08-04),account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11080302,11080302,Saldo a Favor ITBIS,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11080303,11080303,Saldo a Favor ISR,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11090100,11090100,Acciones Temporales,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11090200,11090200,Depósitos a Plazo Temporales,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11090300,11090300,Bonos Temporales,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_11100100,11100100,Gastos Pagados por Anticipado,account.data_account_type_prepayments,FALSE,do_chart_template +do_niif_11100200,11100200,Renta Pagada por Anticipado,account.data_account_type_prepayments,FALSE,do_chart_template +do_niif_11100300,11100300,Seguros Pagados por Anticipado,account.data_account_type_prepayments,FALSE,do_chart_template +do_niif_11100400,11100400,Anticipos ISR,account.data_account_type_prepayments,FALSE,do_chart_template +do_niif_11100500,11100500,Anticipos Gastos,account.data_account_type_prepayments,FALSE,do_chart_template +do_niif_12010101,12010101,Terrenos,account.data_account_type_fixed_assets,FALSE,do_chart_template +do_niif_12010102,12010102,Edificaciones,account.data_account_type_fixed_assets,FALSE,do_chart_template +do_niif_12010201,12010201,Equipo de Transporte,account.data_account_type_fixed_assets,FALSE,do_chart_template +do_niif_12010202,12010202,Mobiliario y Equipos,account.data_account_type_fixed_assets,FALSE,do_chart_template +do_niif_12010301,12010301,Maquinaria,account.data_account_type_fixed_assets,FALSE,do_chart_template +do_niif_12010302,12010302,Herramientas,account.data_account_type_fixed_assets,FALSE,do_chart_template +do_niif_12010303,12010303,Instalaciones,account.data_account_type_fixed_assets,FALSE,do_chart_template +do_niif_12010304,12010304,Misceláneos u otros activos,account.data_account_type_fixed_assets,FALSE,do_chart_template +do_niif_12020100,12020100,Depreciación Acum. de Edificios,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12020200,12020200,Depreciación Acum. de Equipo de Transporte,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12020300,12020300,Depreciación Acum. de Mobiliario y Equipos,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12020400,12020400,Depreciación Acum. de Maquinaria,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12020500,12020500,Depreciación Acum. de Herramientas,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12020600,12020600,Depreciación Acum. de Instalaciones,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12040100,12040100,Marcas y Patentes,account.data_account_type_fixed_assets,FALSE,do_chart_template +do_niif_12040200,12040200,Programas Informáticos,account.data_account_type_fixed_assets,FALSE,do_chart_template +do_niif_12050100,12050100,Edificios y Locales Arrendados,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_12050200,12050200,Maquinaria y Equipo Arrendados,account.data_account_type_current_assets,FALSE,do_chart_template +do_niif_12050300,12050300,Instalaciones Arrendadas,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12060100,12060100,Depreciación Acum. Edificios y Locales,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12060200,12060200,Depreciación Acum. Maquinaria y Equipo,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12060300,12060300,Depreciación Acum. Instalaciones,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12070100,12070100,Deterioro Valor Acum. Edificios y Locales,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12070200,12070200,Deterioro Valor Acum. Maquinaria y Equipo,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12070300,12070300,Deterioro Valor Acum. Instalaciones,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12080100,12080100,Acciones en otras sociedades,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12090100,12090100,Diferencias temporales deducibles,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12090200,12090200,Gastos Organizacionales Diferidos,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_12090300,12090300,ISR Deducible,account.data_account_type_non_current_assets,FALSE,do_chart_template +do_niif_21010100,21010100,Préstamos Bancarios por Pagar,account.data_account_type_payable,TRUE,do_chart_template +do_niif_21010200,21010200,Cuenta por Pagar Proveedores Locales,account.data_account_type_payable,TRUE,do_chart_template +do_niif_21010300,21010300,Cuenta por Pagar Proveedores del Exterior,account.data_account_type_payable,TRUE,do_chart_template +do_niif_21010400,21010400,Nóminas por Pagar,account.data_account_type_payable,TRUE,do_chart_template +do_niif_21010500,21010500,Intereses por Pagar,account.data_account_type_payable,TRUE,do_chart_template +do_niif_21010600,21010600,Otras Cuentas por Pagar,account.data_account_type_payable,TRUE,do_chart_template +do_niif_21020100,21020100,Dividendos por Pagar,account.data_account_type_payable,TRUE,do_chart_template +do_niif_21020200,21020200,Comisiones por Pagar,account.data_account_type_payable,TRUE,do_chart_template +do_niif_21020300,21020300,Bonificaciones por Pagar,account.data_account_type_payable,TRUE,do_chart_template +do_niif_21020400,21020400,Regalía Pascual por Pagar,account.data_account_type_payable,TRUE,do_chart_template +do_niif_21030101,21030101,ITBIS por Venta Servicios,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030102,21030102,ITBIS por Venta Bienes,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030103,21030103,ITBIS por Venta Bienes - al Exterior,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030201,21030201,ITBIS Retenido Persona Jurídica (N 02-05),account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030202,21030202,ITBIS Retenido Persona Física (R 293-11),account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030203,21030203,ITBIS Retenido a Entidades No Lucrativas (N 01-2011),account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030204,21030204,ITBIS Retenido por Servicios Profesionales Liberales (N 02-05),account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030205,21030205,ITBIS Retenido a Proveedores Informales de Bienes (N 08-10),account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030301,21030301,ISR Retenido por Honorarios Profesionales de Personas Físicas,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030302,21030302,ISR Retenido por Alquileres Pagados a Personas Físicas,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030303,21030303,ISR Retenido por Dividendos Pagados,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030304,21030304,ISR Retenido por Intereses Pagados al Exterior,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030305,21030305,ISR Retenido por Intereses Pagados,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030306,21030306,ISR Retenido por Transferencias de Títulos y Propiedades,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030307,21030307,ISR Retenido por Remesas al Exterior (Ley 253-12),account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030308,21030308,Otras Retenciones (N 07-07),account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030309,21030309,Otras Retenciones,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030401,21030401,Retención de Seguro Familiar de Salud (SFS),account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030402,21030402,"Seguro de vejez, Discapacidad y Sobre Vivencia (AFP)",account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030404,21030404,Impuesto al Salario (ISR),account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030501,21030501,ISR por Pagar,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030502,21030502,Anticipos ISR por Pagar,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030503,21030503,Seguro de Riesgo Laboral (SRL),account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030504,21030504,INFOTEP,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21030505,21030505,Otros Impuestos por Pagar,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21040100,21040100,Provisión Pago Alquileres,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21040200,21040200,Provisión Arrendamiento Financiero,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21040300,21040300,Provisión Gastos Fijos,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21050100,21050100,Tarjeta de Crédito Empresarial,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_21050200,21050200,Prima de Tarjetas de Crédito,account.data_account_type_current_liabilities,FALSE,do_chart_template +do_niif_22010100,22010100,Préstamos Bancarios Largo Plazo,account.data_account_type_non_current_liabilities,FALSE,do_chart_template +do_niif_22010200,22010200,Préstamos Hipotecarios LP,account.data_account_type_non_current_liabilities,FALSE,do_chart_template +do_niif_22012300,22012300,Otros Préstamos LP,account.data_account_type_non_current_liabilities,FALSE,do_chart_template +do_niif_22020100,22020100,Provisión Beneficios de Empleados LP,account.data_account_type_non_current_liabilities,FALSE,do_chart_template +do_niif_22020200,22020200,Provisión Prestaciones Laborales,account.data_account_type_non_current_liabilities,FALSE,do_chart_template +do_niif_22020300,22020300,Provisión Indemnizaciones,account.data_account_type_non_current_liabilities,FALSE,do_chart_template +do_niif_22030100,22030100,Anticipos de Clientes,account.data_account_type_non_current_liabilities,FALSE,do_chart_template +do_niif_22030200,22030200,Garantías de Clientes,account.data_account_type_non_current_liabilities,FALSE,do_chart_template +do_niif_22040100,22040100,Provisión Arrendamiento Financiero LP,account.data_account_type_non_current_liabilities,FALSE,do_chart_template +do_niif_31010100,31010100,Capital Social Autorizado,account.data_account_type_equity,FALSE,do_chart_template +do_niif_31010200,31010200,Capital Social en Acciones no Emitidas,account.data_account_type_equity,FALSE,do_chart_template +do_niif_31010300,31010300,Capital Social Pagado,account.data_account_type_equity,FALSE,do_chart_template +do_niif_31010400,31010400,Capital Social No Pagado,account.data_account_type_equity,FALSE,do_chart_template +do_niif_31010500,31010500,Acciones o Participaciones en Tesorería,account.data_account_type_equity,FALSE,do_chart_template +do_niif_31020100,31020100,Superávit por Revaluación de Terrenos,account.data_account_type_equity,FALSE,do_chart_template +do_niif_31020200,31020200,Superávit por Revaluación de Edificaciones,account.data_account_type_equity,FALSE,do_chart_template +do_niif_31020300,31020300,Superávit por Revaluación de Instalaciones,account.data_account_type_equity,FALSE,do_chart_template +do_niif_31020400,31020400,Superávit por Revaluación de Mobiliario y Equipo,account.data_account_type_equity,FALSE,do_chart_template +do_niif_32010100,32010100,Reserva Legal,account.data_account_type_equity,FALSE,do_chart_template +do_niif_33010100,33010100,Utilidades de Ejercicios Anteriores,account.data_account_type_equity,FALSE,do_chart_template +do_niif_33010200,33010200,Pérdidas de Ejercicios Anteriores,account.data_account_type_equity,FALSE,do_chart_template +do_niif_33020100,33020100,Utilidad del Ejercicio,account.data_account_type_equity,FALSE,do_chart_template +do_niif_33020200,33020200,Pérdidas del Ejercicio,account.data_account_type_equity,FALSE,do_chart_template +do_niif_33040100,33040100,Superávit en Reserva,account.data_account_type_equity,FALSE,do_chart_template +do_niif_33040200,33040200,Déficit en Reserva,account.data_account_type_equity,FALSE,do_chart_template +do_niif_41010100,41010100,Ventas Bienes,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_41010200,41010200,Ventas Bienes - Al Exterior,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_41020100,41020100,Ventas Servicios,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_41020200,41020200,Ventas Servicios - Al Exterior,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_41030100,41030100,Devoluciones de Bienes,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_41030200,41030200,Devoluciones por Servicios,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_41040100,41040100,Descuentos por Ventas (por NC),account.data_account_type_revenue,FALSE,do_chart_template +do_niif_42010100,42010100,Intereses sobre Certificados,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_42010200,42010200,Intereses en Cuentas Bancarias,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_42010300,42010300,Intereses por Financiamientos,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_42020100,42020100,Ingresos por Ventas de Activos,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_42030100,42030100,Ingresos por Dividendos Ganados,account.data_account_type_revenue,FALSE,do_chart_template +do_niif_42040100,42040100,Ingresos por Diferencia Cambiaria,account.data_account_type_other_income,FALSE,do_chart_template +do_niif_42040200,42040200,Cobro de Cuentas Incobrables,account.data_account_type_other_income,FALSE,do_chart_template +do_niif_42040300,42040300,Otros Ingresos,account.data_account_type_other_income,FALSE,do_chart_template +do_niif_51010100,51010100,Costos de Bienes,account.data_account_type_direct_costs,FALSE,do_chart_template +do_niif_51010200,51010200,Otros Costos de Venta,account.data_account_type_direct_costs,FALSE,do_chart_template +do_niif_51020100,51020100,Materia Prima,account.data_account_type_direct_costs,FALSE,do_chart_template +do_niif_51020200,51020200,Mano de Obra,account.data_account_type_direct_costs,FALSE,do_chart_template +do_niif_51020300,51020300,Costos Indirectos,account.data_account_type_direct_costs,FALSE,do_chart_template +do_niif_52010100,52010100,Sueldos y Salarios,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010200,52010200,Regalía Pascual,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010300,52010300,Retribuciones Complementarias,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010400,52010400,Bono Vacacional,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010500,52010500,Bono por Desempeño,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010600,52010600,Comisiones,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010700,52010700,Indemnizaciones,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010800,52010800,Bonificaciones y Gratificaciones,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010900,52010900,Dietas al Personal,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52011000,52011000,Cursos y Entrenamientos,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52011100,52011100,Prestaciones Laborales (Preaviso y Cesantia),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52011200,52011200,Incentivos,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52011300,52011300,Horas Extras,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52011400,52011400,Otros Gastos de Personal,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010102,52010102,Aportes a la Administradora de Fondos de Pensiones (AFP),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010103,52010103,Aportes al Seguro Riesgo Laboral (SRL),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010104,52010104,Seguro Familiar de Salud (SFS),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010201,52010201,Aportes a la Administradora de Riesgos de Salud (ARS),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010202,52010202,Seguros al Personal,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010203,52010203,Planes Complementarios de Salud,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010204,52010204,Seguros de Vida,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52010205,52010205,Aportes al Infotep,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52020100,52020100,Energía Eléctrica,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52020200,52020200,Comunicaciones,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52020300,52020300,Papelería y útiles,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52020400,52020400,Útiles de Aseo y Limpieza,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52020500,52020500,Material de Empaque,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52020600,52020600,Seguro de Edificio,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52020700,52020700,Combustibles y Lubricantes,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52020800,52020800,Alquileres,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52020900,52020900,Franquicias,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52021000,52021000,Inducción a Vendedores,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52021100,52021100,Seguros,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52021200,52021200,Servicios de Mensajería,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52021300,52021300,Flete y Carga,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52021400,52021400,Cuotas y Suscripciones,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52021500,52021500,Otros Gastos de Administración,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030101,52030101,Legales (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030102,52030102,Contabilidad y Auditoría (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030103,52030103,Tecnología (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030104,52030104,Mantenimiento de Planta (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030105,52030105,Mantenimiento del Local (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030106,52030106,Mantenimiento Mobiliario y Equipos (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030107,52030107,Asesorías (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030108,52030108,Fumigaciones (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030109,52030109,Copias y Escaneos (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030110,52030110,Servicios de Vigilancia (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030111,52030111,Otros Servicios Profesionales (P. Física),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030201,52030201,Legales (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030202,52030202,Contabilidad y Auditoría (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030203,52030203,Tecnología (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030204,52030204,Mantenimiento de Planta (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030205,52030205,Mantenimiento del Local (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030206,52030206,Mantenimiento Mobiliario y Equipos (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030207,52030207,Asesorías (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030208,52030208,Fumigaciones (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030209,52030209,Copias y Escaneos (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030210,52030210,Servicios de Vigilancia (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030211,52030211,Otros Servicios Profesionales (P. Jurídica),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030301,52030301,Honorarios por Servicios del Exterior - Relacionadas,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52030302,52030302,Honorarios por Servicios del Exterior - Terceros,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52040100,52040100,Gastos por Depreciación de Edificios,account.data_account_type_depreciation,FALSE,do_chart_template +do_niif_52040200,52040200,Gastos por Depreciación de Equipo de Transporte,account.data_account_type_depreciation,FALSE,do_chart_template +do_niif_52040300,52040300,Gastos por Depreciación de Mobiliario y Equipos,account.data_account_type_depreciation,FALSE,do_chart_template +do_niif_52040400,52040400,Gastos por Depreciación de Maquinaria,account.data_account_type_depreciation,FALSE,do_chart_template +do_niif_52040500,52040500,Gastos por Depreciación de Herramientas,account.data_account_type_depreciation,FALSE,do_chart_template +do_niif_52040600,52040600,Gastos por Depreciación de Instalaciones,account.data_account_type_depreciation,FALSE,do_chart_template +do_niif_52050100,52050100,Gastos por Reparación de Edificios,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52050200,52050200,Gastos por Reparación de Equipo de Transporte,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52050300,52050300,Gastos por Reparación de Mobiliario y Equipos,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52050400,52050400,Gastos por Reparación de Maquinaria,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52050500,52050500,Gastos por Reparación de Herramientas,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52050600,52050600,Gastos por Reparación de Instalaciones,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52060100,52060100,Relaciones Públicas,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52060200,52060200,Publicidad,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52060300,52060300,Viajes,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52060400,52060400,Donaciones,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52060500,52060500,Donaciones a ProIndustria (Ley 392-07),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52060600,52060600,Promociones,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52060700,52060700,Otros Gastos de Representación,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52070100,52070100,Gastos por Préstamos Bancarios,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52070200,52070200,Retención por Cheques y Transacciones Electrónicas (0.015%),account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52070300,52070300,Intereses Bancarios,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52070400,52070400,Comisiones Bancarias,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52070500,52070500,Comisión de Tarjeta de Crédito,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52070600,52070600,Nota de Cargos por Banco,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52070700,52070700,Seguro sobre Préstamos Bancarios,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52070800,52070800,Diferencia Negativa Cambiaria,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52070900,52070900,Otro Gastos Financieros,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52080100,52080100,Gastos por Siniestros,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52080200,52080200,Pérdidas por Ventas de Activos Fijos,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52080300,52080300,Pérdidas por Cuentas Incobrables,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52080400,52080400,Gastos por ISR,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52080500,52080500,Impuestos a los Activos,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52080600,52080600,Penalidades/Recargos de DGII,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52080700,52080700,Penalidades/Recargos de TSS,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_52080800,52080800,Gastos Sin Comprobante,account.data_account_type_expenses,FALSE,do_chart_template +do_niif_61010100,61010100,Pérdidas y Ganancias,account.data_unaffected_earnings,FALSE,do_chart_template diff --git a/addons/l10n_do/data/account.account.type.csv b/addons/l10n_do/data/account.account.type.csv deleted file mode 100644 index ecc5c031e9e..00000000000 --- a/addons/l10n_do/data/account.account.type.csv +++ /dev/null @@ -1,17 +0,0 @@ -id,name,report_type -default_chart_a_type_1,Root/View,none -default_chart_a_type_2,Receivable,asset -default_chart_a_type_3,Payable,liability -default_chart_a_type_4,Bank,asset -default_chart_a_type_5,Cash,asset -default_chart_a_type_6,Asset,asset -default_chart_a_type_7,Liability,liability -default_chart_a_type_8,Income,income -default_chart_a_type_9,Expense,expense -default_chart_a_type_10,Income View,income -default_chart_a_type_11,Expense View,expense -default_chart_a_type_12,Asset View,asset -default_chart_a_type_13,Liability View,liability -default_chart_a_type_14,Tax,expense -default_chart_a_type_15,Equity,liability -default_chart_a_type_16,Check,asset diff --git a/addons/l10n_do/data/account.fiscal.position.tax.template.csv b/addons/l10n_do/data/account.fiscal.position.tax.template.csv deleted file mode 100644 index 8d0f2b6590d..00000000000 --- a/addons/l10n_do/data/account.fiscal.position.tax.template.csv +++ /dev/null @@ -1,4 +0,0 @@ -id,position_id:id,tax_src_id:id,tax_dest_id:id -default_chart_a_position_tax_1,default_chart_a_position_4,default_chart_a_tax_14,default_chart_a_tax_7 -default_chart_a_position_tax_2,default_chart_a_position_17,default_chart_a_tax_8,default_chart_a_tax_15 -default_chart_a_position_tax_3,default_chart_a_position_13,default_chart_a_tax_15, diff --git a/addons/l10n_do/data/account.fiscal.position.template.csv b/addons/l10n_do/data/account.fiscal.position.template.csv deleted file mode 100644 index 926f8f2f915..00000000000 --- a/addons/l10n_do/data/account.fiscal.position.template.csv +++ /dev/null @@ -1,18 +0,0 @@ -id,name,chart_template_id:id -default_chart_a_position_1,"Para Crédito Fiscal",default_chart_a, -default_chart_a_position_2,"Cosumidor Final",default_chart_a, -default_chart_a_position_3,Gubernamental,default_chart_a, -default_chart_a_position_4,"Regímenes Especiales",default_chart_a, -default_chart_a_position_5,"Gastos de personal",default_chart_a, -default_chart_a_position_6,"Gastos por trabajo, suministros y servicios",default_chart_a, -default_chart_a_position_7,Arrendamientos,default_chart_a, -default_chart_a_position_8,"Gastos de Activos Fijos",default_chart_a, -default_chart_a_position_9,"Gastos de Representación",default_chart_a, -default_chart_a_position_10,"Otras Deducciones Admitidas",default_chart_a, -default_chart_a_position_11,"Gastos Financieros",default_chart_a, -default_chart_a_position_12,"Gastos Extraordinarios",default_chart_a, -default_chart_a_position_13,"Proveedores de mercancía impuesto no incluido",default_chart_a, -default_chart_a_position_14,"Adquisiciones de Activos",default_chart_a, -default_chart_a_position_15,"Gastos Menores",default_chart_a, -default_chart_a_position_16,"Gastos de Seguro",default_chart_a, -default_chart_a_position_17,"Proveedores de mercancía impuesto incluido",default_chart_a, diff --git a/addons/l10n_do/data/account.tax.template.csv b/addons/l10n_do/data/account.tax.template.csv deleted file mode 100644 index cd144c6b56c..00000000000 --- a/addons/l10n_do/data/account.tax.template.csv +++ /dev/null @@ -1,19 +0,0 @@ -id,name,description,type_tax_use,amount_type,amount,sequence,refund_account_id:id,account_id:id,chart_template_id:id,tag_ids:id -default_chart_a_tax_1,10% Honorarios por Servicios Independientes,R-ISR 10%,purchase,percent,-10,1,default_chart_a_account_712,default_chart_a_account_712,default_chart_a,tag_R_ISR_10 -default_chart_a_tax_2,ITBIS Exento en compras,C-EXENTA,purchase,percent,0,1,,,default_chart_a,tag_C_EXENTA -default_chart_a_tax_3,ITBIS 8% Ventas,V-ITBIS 8%,sale,percent,11,1,,,default_chart_a,tag_V_ITBIS_8 -default_chart_a_tax_4,ITBIS 8% Compras,C-ITBIS 8%,purchase,percent,11,1,,,default_chart_a,tag_C_ITBIS_8 -default_chart_a_tax_5,ITBIS 11% Ventas,V-ITBIS 11%,sale,percent,11,1,,,default_chart_a,tag_V_ITBIS_11 -default_chart_a_tax_6,ITBIS 11% Compras,C-ITBIS 11%,purchase,percent,11,1,,,default_chart_a,tag_C_ITBIS_11 -default_chart_a_tax_7,ITBIS Exento en ventas,V-EXENTA,sale,percent,18,1,,,default_chart_a,tag_V_EXENTA -default_chart_a_tax_8,ITBIS 18% Compras,C-ITBIS 18%,purchase,percent,18,1,default_chart_a_account_53,default_chart_a_account_53,default_chart_a,tag_C_ITBIS_18 -default_chart_a_tax_9,ITBIS 18% Compras Servicios,CS-ITBIS 18%,purchase,percent,18,1,default_chart_a_account_57,default_chart_a_account_57,default_chart_a,tag_CS_ITBIS_18 -default_chart_a_tax_10,ITBIS 18% Compras Importaciones,IMP-ITBIS 18%,purchase,percent,18,1,default_chart_a_account_56,default_chart_a_account_56,default_chart_a,tag_IMP_ITBIS_18 -default_chart_a_tax_12,2% Otras Retenciones (Norma 07-2007),R-ISR 2%,purchase,percent,-2,1,,,default_chart_a,tag_R_ISR_2 -default_chart_a_tax_13,18% ITBIS Retenido,R-ITBIS 18%,purchase,percent,-18,1,default_chart_a_account_163,default_chart_a_account_163,default_chart_a,tag_R_ITBIS_18 -default_chart_a_tax_14,ITBIS 18% Ventas,V-ITBIS 18%,sale,percent,18,10,default_chart_a_account_71,default_chart_a_account_71,default_chart_a,tag_V_ITBIS_18 -default_chart_a_tax_15,ITBIS 18% Compras Includo,C-ITBIS 18% Incluido,purchase,percent,18,1,default_chart_a_account_53,default_chart_a_account_53,default_chart_a,tag_C_ITBIS_18_Incluido -default_chart_a_tax_16,ITBIS 18% Compras Servicios Incluido,CS-ITBIS 18% Incluido,purchase,percent,18,1,default_chart_a_account_57,,default_chart_a,tag_CS_ITBIS_18_Incluido -default_chart_a_tax_19,ISC Telecomunicacones,TELE-ISC,purchase,percent,10,1,default_chart_a_account_529,,default_chart_a,tag_TELE_ISC -default_chart_a_tax_20,CDT Telecomunicacones,TELE-CDT,purchase,percent,2,1,default_chart_a_account_529,,default_chart_a,tag_TELE_CDT -default_chart_a_tax_23,10% Retencion por alquileres,R-Alquileres 10%,purchase,percent,-10,1,default_chart_a_account_712,default_chart_a_account_712,default_chart_a,tag_R_Alquileres_10 diff --git a/addons/l10n_do/data/account.tax.template.xml b/addons/l10n_do/data/account.tax.template.xml new file mode 100644 index 00000000000..166bb85294b --- /dev/null +++ b/addons/l10n_do/data/account.tax.template.xml @@ -0,0 +1,364 @@ + + + + + + + ITBIS + + + Retenciones + + + Otros Impuestos + + + + + 50 + Exento ITBIS Ventas + Exento + 0 + percent + sale + + + + + + 50 + Exento ITBIS Compras + Exento + 0 + percent + purchase + + + + + + 1 + 18% ITBIS Ventas + 18% + 18 + percent + sale + + + + + + + + 10 + 18% ITBIS Incl. Ventas + 18% Incl + 18 + percent + sale + + + + + + + + 18% ITBIS Compras + 2 + 18% + 18 + percent + purchase + + + + + + + + 20 + 18% ITBIS Incl. Compras + 18% + 18 + percent + purchase + + + + + + + + 20 + 18% ITBIS Compras - Servicios + 18% + 18 + percent + purchase + + + + + + + + 20 + 18% ITBIS Incl. Compras - Servicios + 18% + 18 + percent + purchase + + + + + + + + 20 + 18% ITBIS - Importaciones + 18% + 18 + percent + purchase + + + + + + + + 20 + 18% ITBIS sobre el 10% del Monto Total + 18% del 10% + 1.8 + percent + purchase + + + + + + + 30 + Impuesto 0.15% Transferencia Bancaria + 0.15% + 0.0015 + percent + purchase + + + + + + + 30 + Impuesto 10% Telecomunicaciones (ISC) + ISC + 10 + percent + purchase + + + + + + + + 30 + Impuesto 2% Telecomunicaciones (CDT) + CDT + 2 + percent + purchase + + + + + + + + 30 + Impuestos a las Telecomunicaciones + + group + purchase + + + + + 40 + Retención ITBIS 100% a No Lucrativas (Servicios) + 100% del ITBIS + -18 + percent + purchase + + + + + + + + 40 + Retención ITBIS 100% a Persona Física + 100% del ITBIS + -18 + percent + purchase + + + + + + + + 40 + Retención ITBIS 30% a Persona Jurídica (Construcción) + 30% del ITBIS + -5.4 + percent + purchase + + + + + + + 40 + Retención ITBIS 30% a Profesionales Liberales (Servicios) + 30% del ITBIS + -5.4 + percent + purchase + + + + + + + 40 + Retención ITBIS 75% a Proveedores Informales (Bienes) + 75% del ITBIS + -13.5 + percent + purchase + + + + + + + 40 + Retención ISR 10% Honorarios a Persona Física (Servicios) + 10% ISR + -10 + percent + purchase + + + + + + + + 40 + Retención ISR 10% a Persona Física (Alquiler) + 10% ISR + -10 + percent + purchase + + + + + + + + 40 + Retención ISR 10% por Dividendos + 10% ISR + -10 + percent + purchase + + + + + + + + 40 + Retención ISR 2% a Persona Física (Servicios) + 2% ISR (N 07-07) + -2 + percent + purchase + + + + + + + + 40 + Retención ISR 2% por Transferencia de Títulos + 2% ISR + -2 + percent + purchase + + + + + + + + 40 + Retención ISR 27% por Remesas al Exterior + 27% ISR + -27 + percent + purchase + + + + + + + 60 + Retención a Proveedores Informales (Bienes) + group + + purchase + + + + + 60 + Retención a Persona Física (Servicios Construcción con Materiales) + group + + purchase + + + + + 60 + Retención a Jurídica (Servicios Construcción con Materiales) + group + + purchase + + + + + 60 + Retención a Persona Física por Servicios Profesionales + group + + purchase + + + + diff --git a/addons/l10n_do/data/account_chart_template_data.xml b/addons/l10n_do/data/account_chart_template_data.xml index 3cfff934abb..0123c1d897b 100644 --- a/addons/l10n_do/data/account_chart_template_data.xml +++ b/addons/l10n_do/data/account_chart_template_data.xml @@ -1,11 +1,16 @@ - - - - - - - - + + + + + + + + + + + + + diff --git a/addons/l10n_do/data/account_chart_template_data.yml b/addons/l10n_do/data/account_chart_template_data.yml index bbae47a8ee6..bfea5da2ff5 100644 --- a/addons/l10n_do/data/account_chart_template_data.yml +++ b/addons/l10n_do/data/account_chart_template_data.yml @@ -1,3 +1,3 @@ - - !python {model: account.chart.template, id: default_chart_a}: | + !python {model: account.chart.template, id: do_chart_template}: | self[0].try_loading_for_current_company() diff --git a/addons/l10n_do/data/fiscal_position_template.xml b/addons/l10n_do/data/fiscal_position_template.xml new file mode 100644 index 00000000000..7179966d999 --- /dev/null +++ b/addons/l10n_do/data/fiscal_position_template.xml @@ -0,0 +1,146 @@ + + + + + + + + + + Consumidor Final + + + + Crédito Fiscal + + + + Proveedor Fiscal + + + + Proveedor Fiscal (Construcción) + + + + Persona Física (Construcción) + + + + Persona Física + + + + Proveedor Informal (Bienes) + + + + Proveedor del Exterior + + + + Gastos Menores + + + + Gubernamental + + + + No lucrativas + + + + Regímenes Especiales + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/l10n_do/data/l10n_do_chart_data.xml b/addons/l10n_do/data/l10n_do_chart_data.xml index 300fada848a..9075d92a621 100644 --- a/addons/l10n_do/data/l10n_do_chart_data.xml +++ b/addons/l10n_do/data/l10n_do_chart_data.xml @@ -1,25 +1,25 @@ - - - Efectivo en transito - 112050 - - - - - - - Catálogo de Cuentas Empresas Privadas - - - - 112 - 111 - - - - - + + + + Transferencias de Efectivo + 11010100 + + + + + Catálogo de Cuentas Dominicano (NIIF) + 8 + 110101 + 110102 + + + + + + + + diff --git a/addons/l10n_do/data/l10n_do_state_data.xml b/addons/l10n_do/data/l10n_do_state_data.xml index 63c061e8749..322e27b3b4c 100644 --- a/addons/l10n_do/data/l10n_do_state_data.xml +++ b/addons/l10n_do/data/l10n_do_state_data.xml @@ -1,173 +1,177 @@ + + Resource: res.country.state + Update states. This one is not using ISO 3166-2:DO codes, + as those codes are not used or known in Dominican Republic. + The new codes are more friendly and easier to identify by + the users. + --> - 01 + DN Distrito Nacional - 02 + AZU Azua - 03 + BAH Bahoruco - 04 + BAR Barahona - 05 - Dajabon + DAJ + Dajabón - 06 + DUA Duarte - 07 - Elias Piña + ELP + Elías Piña - 08 - El Seybo + ELS + El Seibo - 09 + ESP Espaillat - 10 + IND Independencia - 11 + LA La Altagracia - 12 + LR La Romana - 13 + LV La Vega - 14 - Maria Trinidad Sanchez + MTS + María Trinidad Sánchez - 15 + MC Monte Cristi - 16 + PED Pedernales - 17 + PER Peravia - 18 + PP Puerto Plata - 19 + HEM Hermanas Mirabal - 20 - Samana + SAM + Samaná - 21 - San Cristobal + SC + San Cristóbal - 22 - San Juan de la Maguana + SJ + San Juan - 23 - San Pedro de Macoris + SPM + San Pedro de Macorís - 24 - Sanchez Ramirez + SRA + Sánchez Ramírez - 25 + STGO Santiago - 26 - Santiago Rodriguez + SRO + Santiago Rodríguez - 27 + VAL Valverde - 28 + MON Monseñor Nouel - 29 + MP Monte Plata - 30 + HAM Hato Mayor - 31 - San Jose de Ocoa + SJO + San José de Ocoa - 32 + SD Santo Domingo + Resource: res.partner.title + Update partner titles + --> Doctora Dra. @@ -192,4 +196,5 @@ Ingeniero/a Ing. + diff --git a/addons/l10n_do/models/__init__.py b/addons/l10n_do/models/__init__.py new file mode 100644 index 00000000000..88065f98bba --- /dev/null +++ b/addons/l10n_do/models/__init__.py @@ -0,0 +1,4 @@ +# coding: utf-8 +# Copyright 2016 iterativo (https://www.iterativo.do) + +from . import chart_template diff --git a/addons/l10n_do/models/chart_template.py b/addons/l10n_do/models/chart_template.py new file mode 100644 index 00000000000..ddbc17b8f92 --- /dev/null +++ b/addons/l10n_do/models/chart_template.py @@ -0,0 +1,18 @@ +# coding: utf-8 +# Copyright 2016 iterativo (https://www.iterativo.do) + +from openerp import models, api, _ + + +class WizardMultiChartsAccounts(models.TransientModel): + _inherit = 'wizard.multi.charts.accounts' + + @api.model + def _get_default_bank_account_ids(self): + if self.env.user.company_id.country_id and self.env.user.company_id.country_id.code.upper() == 'DO': + return [ + {'acc_name': _('Cash'), 'account_type': 'cash'}, + {'acc_name': _('Caja Chica'), 'account_type': 'cash'}, + {'acc_name': _('Bank'), 'account_type': 'bank'} + ] + return super(WizardMultiChartsAccounts, self)._get_default_bank_account_ids() diff --git a/addons/mail/static/src/js/client_action.js b/addons/mail/static/src/js/client_action.js index 822f87dc0a2..de4dda4c8fc 100644 --- a/addons/mail/static/src/js/client_action.js +++ b/addons/mail/static/src/js/client_action.js @@ -590,7 +590,7 @@ var ChatAction = Widget.extend(ControlPanelMixin, { var self = this; var options = this.selected_message ? {} : {channel_id: this.channel.id}; if (this.selected_message) { - message.subtype = 'mail.mt_comment'; + message.subtype = this.selected_message.is_note ? 'mail.mt_note': 'mail.mt_comment'; message.subtype_id = false; message.message_type = 'comment'; message.content_subtype = 'html'; diff --git a/addons/mail/static/src/js/many2many_tags_email.js b/addons/mail/static/src/js/many2many_tags_email.js index a9fd41a3cd7..4b273b456e1 100644 --- a/addons/mail/static/src/js/many2many_tags_email.js +++ b/addons/mail/static/src/js/many2many_tags_email.js @@ -5,6 +5,7 @@ var core = require('web.core'); var form_common = require('web.form_common'); var form_relational = require('web.form_relational'); var Model = require('web.DataModel'); +var utils = require('web.utils'); var _t = core._t; @@ -16,51 +17,49 @@ var _t = core._t; var FieldMany2ManyTagsEmail = form_relational.FieldMany2ManyTags.extend({ start: function() { - this.values = []; - this.values_checking = []; + this.mutex = new utils.Mutex(); + + // This widget will indirectly trigger a change:value to it's parent widget + // when setting the value of valid partners. For this reason we have to keep an + // internal state of the last value in order to compute the effective value changes. + this.last_processed_value = []; this.on("change:value", this, this.on_change_value_check); - this.trigger("change:value"); - this._super.apply(this, arguments); }, on_change_value_check : function () { - this.values = _.uniq(this.values); + var self = this; + var values = this.get('value').slice(0); // Clone the array - // filter for removed values - var values_removed = _.difference(this.values, this.get('value')); - if (values_removed.length) { - this.values = _.difference(this.values, values_removed); - this.set({'value': this.values}); - return false; - } - - // find not checked values that are not currently on checking - var not_checked = _.difference(this.get('value'), this.values, this.values_checking); - if (not_checked.length) { - // remember values on checking for cheked only one time - this.values_checking = this.values_checking.concat(not_checked); - // check values - this._check_email_popup(not_checked); + // We only validate partners emails in case the value is not empty + // and is different from the last processed value + var effective_change = _.difference(values, self.last_processed_value).length; + if (values.length && effective_change) { + this.mutex.exec(function() { + return self._check_email_popup(values); + }); } }, _check_email_popup: function (ids) { var self = this; - new Model('res.partner').call("search", [[ - ["id", "in", ids], - ["email", "=", false], - ["notify_email", "=", 'always'] ]], + var valid_partners; + + return new Model('res.partner').call("search", [[ + ["id", "in", ids], + ["email", "=", false], + ["notify_email", "=", 'always'] ]], {context: this.build_context()}) .then(function (record_ids) { - // valid partner - var valid_partner = _.difference(ids, record_ids); - self.values = self.values.concat(valid_partner); - self.values_checking = _.difference(self.values_checking, valid_partner); + var popups_deferreds = []; + self.valid_partners = _.difference(ids, record_ids); - // unvalid partner + // Propose the user to correct invalid partners _.each(record_ids, function (id) { + var popup_def = $.Deferred(); + popups_deferreds.push(popup_def); + var pop = new form_common.FormViewDialog(self, { res_model: 'res.partner', res_id: id, @@ -68,15 +67,19 @@ var FieldMany2ManyTagsEmail = form_relational.FieldMany2ManyTags.extend({ title: _t("Please complete partner's informations and Email"), }).open(); pop.on('write_completed', self, function () { - this.values.push(id); - this.values_checking = _.without(this.values_checking, id); - this.set({'value': this.values}); + self.valid_partners.push(id); }); pop.on('closed', self, function () { - this.values_checking = _.without(this.values_checking, id); - this.set({'value': this.values}); + popup_def.resolve(); }); }); + return $.when.apply($, popups_deferreds).then(function() { + // All popups have been processed for the given ids + // It is now time to set the final value with valid partners ids. + var filtered_value = _.uniq(self.valid_partners); + self.last_processed_value = filtered_value; + self.set({'value': filtered_value}); + }); }); }, }); diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py index 41d84f1cd8a..ca74fb8e53f 100644 --- a/addons/mrp/models/mrp_production.py +++ b/addons/mrp/models/mrp_production.py @@ -126,6 +126,9 @@ class MrpProduction(models.Model): ('none', 'None')], string='Availability', compute='_compute_availability', store=True) + unreserve_visible = fields.Boolean( + 'Inventory Unreserve Visible', compute='_compute_unreserve_visible', + help='Technical field to check when we can unreserve') post_visible = fields.Boolean( 'Inventory Post Visible', compute='_compute_post_visible', help='Technical field to check when we can post') @@ -193,6 +196,14 @@ class MrpProduction(models.Model): assigned_list = [x.state in ('assigned', 'done', 'cancel') for x in order.move_raw_ids] order.availability = (all(assigned_list) and 'assigned') or (any(partial_list) and 'partially_available') or 'waiting' + @api.depends('state', 'move_raw_ids.reserved_quant_ids') + def _compute_unreserve_visible(self): + for order in self: + if order.state in ['done', 'cancel'] or not order.move_raw_ids.mapped('reserved_quant_ids'): + order.unreserve_visible = False + else: + order.unreserve_visible = True + @api.multi @api.depends('move_raw_ids.quantity_done', 'move_finished_ids.quantity_done') def _compute_post_visible(self): diff --git a/addons/mrp/models/product.py b/addons/mrp/models/product.py index c3f457adb56..7ecc6274636 100644 --- a/addons/mrp/models/product.py +++ b/addons/mrp/models/product.py @@ -37,8 +37,15 @@ class ProductTemplate(models.Model): class ProductProduct(models.Model): _inherit = "product.product" + bom_count = fields.Integer('# Bill of Material', compute='_compute_bom_count') mo_count = fields.Integer('# Manufacturing Orders', compute='_compute_mo_count') + def _compute_bom_count(self): + read_group_res = self.env['mrp.bom'].read_group([('product_id', 'in', self.ids)], ['product_id'], ['product_id']) + mapped_data = dict([(data['product_id'][0], data['product_id_count']) for data in read_group_res]) + for product in self: + product.bom_count = mapped_data.get(product.id, 0) + def _compute_mo_count(self): read_group_res = self.env['mrp.production'].read_group([('product_id', 'in', self.ids)], ['product_id'], ['product_id']) mapped_data = dict([(data['product_id'][0], data['product_id_count']) for data in read_group_res]) diff --git a/addons/mrp/models/stock_move.py b/addons/mrp/models/stock_move.py index 9b2ff511a33..df46c2461aa 100644 --- a/addons/mrp/models/stock_move.py +++ b/addons/mrp/models/stock_move.py @@ -29,13 +29,15 @@ class StockMoveLots(models.Model): plus_visible = fields.Boolean("Plus Visible", compute='_compute_plus') @api.one - @api.constrains('lot_id') + @api.constrains('lot_id', 'quantity_done') def _check_lot_id(self): if self.move_id.product_id.tracking == 'serial': lots = set([]) for move_lot in self.move_id.move_lot_ids.filtered(lambda r: not r.lot_produced_id): if move_lot.lot_id in lots: raise exceptions.UserError(_('You cannot use the same serial number in two different lines.')) + if float_compare(move_lot.quantity_done, 1.0, precision_rounding=move_lot.product_id.uom_id.rounding) == 1: + raise exceptions.UserError(_('You can only produce 1.0 %s for products with unique serial number.') % move_lot.product_id.uom_id.name) lots.add(move_lot.lot_id) def _compute_plus(self): diff --git a/addons/mrp/security/ir.model.access.csv b/addons/mrp/security/ir.model.access.csv index 7a384a01b2e..47a7e677285 100644 --- a/addons/mrp/security/ir.model.access.csv +++ b/addons/mrp/security/ir.model.access.csv @@ -57,5 +57,6 @@ access_resource_calendar_manufacturinguser,resource.calendar manufacturing.user, access_mrp_unbuild,mrp.unbuild,model_mrp_unbuild,group_mrp_user,1,0,0,0 access_mrp_unbuild_manager,mrp.unbuild manager,model_mrp_unbuild,group_mrp_manager,1,1,1,1 access_mrp_message_mrp_user,mrp.message,model_mrp_message,group_mrp_user,1,0,0,0 +access_mrp_message_mrp_manager,mrp.message,model_mrp_message,group_mrp_manager,1,1,1,1 access_stock_move_lots,stock.move.lots,model_stock_move_lots,group_mrp_user,1,1,1,0 access_stock_move_lots_manager,stock.move.lots,model_stock_move_lots,group_mrp_manager,1,1,1,1 diff --git a/addons/mrp/views/mrp_production_views.xml b/addons/mrp/views/mrp_production_views.xml index 5203bebcb59..6c8ffea7fa7 100644 --- a/addons/mrp/views/mrp_production_views.xml +++ b/addons/mrp/views/mrp_production_views.xml @@ -51,12 +51,13 @@