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
+
+
+
Interface
+
IP
+
Netmask
+
+ """ + display_ifaces + """
+
+
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 @@
0percent
- none
+ sale
@@ -291,7 +291,7 @@
0percent
- none
+ sale
@@ -369,7 +369,7 @@
21percent
- 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
+ DNDistrito Nacional
- 02
+ AZUAzua
- 03
+ BAHBahoruco
- 04
+ BARBarahona
- 05
- Dajabon
+ DAJ
+ Dajabón
- 06
+ DUADuarte
- 07
- Elias Piña
+ ELP
+ Elías Piña
- 08
- El Seybo
+ ELS
+ El Seibo
- 09
+ ESPEspaillat
- 10
+ INDIndependencia
- 11
+ LALa Altagracia
- 12
+ LRLa Romana
- 13
+ LVLa Vega
- 14
- Maria Trinidad Sanchez
+ MTS
+ María Trinidad Sánchez
- 15
+ MCMonte Cristi
- 16
+ PEDPedernales
- 17
+ PERPeravia
- 18
+ PPPuerto Plata
- 19
+ HEMHermanas 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
+ STGOSantiago
- 26
- Santiago Rodriguez
+ SRO
+ Santiago Rodríguez
- 27
+ VALValverde
- 28
+ MONMonseñor Nouel
- 29
+ MPMonte Plata
- 30
+ HAMHato Mayor
- 31
- San Jose de Ocoa
+ SJO
+ San José de Ocoa
- 32
+ SDSanto Domingo
+ Resource: res.partner.title
+ Update partner titles
+ -->
DoctoraDra.
@@ -192,4 +196,5 @@
Ingeniero/aIng.
+
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 @@
-
+
Raw materials not available!
+