[MERGE] forward port branch 10.0 up to 72fa3e8bda

This commit is contained in:
Christophe Simonis
2017-03-28 17:27:19 +02:00
118 changed files with 2850 additions and 577 deletions
@@ -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,
+19 -17
View File
@@ -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'),
+10 -1
View File
@@ -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,
@@ -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:
+1 -1
View File
@@ -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")
@@ -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
+9
View File
@@ -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
@@ -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]
+1 -1
View File
@@ -268,7 +268,7 @@
<field name="code"/>
<field name="refund_sequence" attrs="{'invisible': [('type', 'not in', ['sale', 'purchase'])]}" groups="base.group_no_one"/>
<field name="sequence_id" required="0" attrs="{'readonly': 1}" groups="base.group_no_one"/>
<field name="refund_sequence_id" attrs="{'invisible': ['|',('type', 'not in', ['sale', 'purchase']), ('refund_sequence', '!=', True)], 'required': [('type', 'in', ['sale', 'purchase']), ('refund_sequence', '=', True)]}"/>
<field name="refund_sequence_id" required="0" attrs="{'readonly': 1, 'invisible': ['|',('type', 'not in', ['sale', 'purchase']), ('refund_sequence', '!=', True)]}" groups="base.group_no_one"/>
</group>
<group>
<field name="default_debit_account_id" domain="[('deprecated', '=', False)]" />
@@ -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:
@@ -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
@@ -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 {
@@ -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);
@@ -52,6 +52,19 @@
<field name="filter_domain">[('customer', '=', True)]</field>
</record>
<record id="test_rule_recursive" model="base.automation">
<field name="name">Base Automation: test recursive rule</field>
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
<field name="trigger">on_write</field>
<field name="active" eval="True"/>
<field name="state">code</field>
<field name="code">
record = model.browse(env.context['active_id'])
if 'partner_id' in env.context['old_values'][record.id]:
record.write({'state': 'draft'})
</field>
</record>
<record id="test_rule_on_line" model="base.automation">
<field name="name">Base Automation: test rule on secondary model</field>
<field name="model_id" ref="base_automation.model_base_automation_line_test"/>
@@ -61,4 +74,18 @@
<field name="active" eval="True"/>
<field name="model_id" ref="base_automation.model_base_automation_line_test"/>
</record>
<record id="test_rule_on_write_check_context" model="base.automation">
<field name="name">Base Automation: test rule on write check context</field>
<field name="model_id" ref="base_automation.model_base_automation_lead_test"/>
<field name="trigger">on_write</field>
<field name="active" eval="True"/>
<field name="state">code</field>
<field name="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)})
</field>
</record>
</odoo>
@@ -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 = {}
@@ -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.
+13 -1
View File
@@ -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"
+1 -1
View File
@@ -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()
@@ -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 !")
+7 -7
View File
@@ -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
+21 -15
View File
@@ -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'})
+2 -1
View File
@@ -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
@@ -79,6 +79,12 @@
<xpath expr="//img[@t-att-title='record.owner_user_id.value']" position='replace'>
<img t-att-src="kanban_image('hr.employee', 'image_small', record.employee_id.raw_value)" t-att-title="record.employee_id.value" width="27" height="27" class="oe_kanban_avatar"/>
</xpath>
<div t-if="!record.owner_user_id.raw_value" position='replace'/>
<div t-if="record.owner_user_id.raw_value" position='replace'>
<div t-if="record.employee_id.value"><field name="employee_id"/></div>
<div t-if="record.department_id.value"><field name="department_id"/>
</div>
</div>
</field>
</record>
@@ -29,6 +29,8 @@
<field name="user_id" type="row"/>
<field name="date" interval="day" type="col"/>
<field name="total_difference" type="measure" widget="float_time"/>
<field name="total_timesheet" type="measure" widget="float_time"/>
<field name="total_attendance" type="measure" widget="float_time"/>
</pivot>
</field>
</record>
@@ -56,7 +56,10 @@ index_template = """
If you need to grant remote debugging access to a developer, you can do it <a href='/remote_connect'>here</a>.
</p>
<p>
The PosBox software installed on this posbox is <b>version 15</b>,
If you need to display the current customer basket on another device, you can do it <a href='/point_of_sale/display'>here</a>.
</p>
<p>
The PosBox software installed on this posbox is <b>version 16</b>,
the posbox version number is independent from Odoo. You can upgrade
the software on the <a href='/hw_proxy/upgrade/'>upgrade page</a>.
</p>
+4
View File
@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import controllers
+21
View File
@@ -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,
}
+4
View File
@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import main
+166
View File
@@ -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': """<div class="pos-customer_facing_display"><p>Not Authorized. Another browser is in use to display for the client. Please refresh.</p></div> """,
'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 += "<tr><td>" + iface_id + "</td>"
display_ifaces += "<td>" + conf.get('addr') + "</td>"
display_ifaces += "<td>" + conf.get('netmask') + "</td></tr>"
# What is my external IP ?
if iface_id != 'lo':
my_ip = conf.get('addr')
my_ip_port = my_ip + ":" + self_port
html = """
<!DOCTYPE html>
<html>
<head>
<title class="origin">Odoo -- Point of Sale</title>
<script type="text/javascript" class="origin" src="http://""" + my_ip_port + """/web/static/lib/jquery/jquery.js" >
</script>
<script type="text/javascript" class="origin">
""" + cust_js + """
</script>
<link rel="stylesheet" class="origin" href="http://""" + my_ip_port + """/web/static/lib/bootstrap/css/bootstrap.css" >
</link>
<script class="origin" src="http://""" + my_ip_port + """/web/static/lib/bootstrap/js/bootstrap.min.js"></script>
<style class="origin">
""" + cust_css + """
</style>
</head>
<body class="original_body">
<div hidden class="shadow"></div>
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<h1>Odoo Point of Sale</h1>
<h2>POSBox Client display</h2>
<h3>My IPs</h3>
<table id="table_ip" class="table table-condensed">
<tr>
<th>Interface</th>
<th>IP</th>
<th>Netmask</th>
</tr>
""" + display_ifaces + """
</table>
<p>The customer cart will be displayed here once a Point of Sale session is started.</p>
<p>Odoo version 11 or above is required.</p>
</div>
</div>
</div>
</body>
</html>
"""
return html
@@ -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;
}
+60
View File
@@ -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 <head> 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 = $('<div>').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();
});
@@ -278,7 +278,7 @@
<field name="price_include" eval="0"/>
<field name="amount">0</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">none</field>
<field name="type_tax_use">sale</field>
<field name="chart_template_id" ref="l10nbe_chart_template"/>
<field name="tag_ids" eval="[(6,0,[ref('tax_tag_46L'), ref('tax_tag_48s46L')])]"/>
</record>
@@ -291,7 +291,7 @@
<field name="account_id" ref="a451054"/>
<field name="amount">0</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">none</field>
<field name="type_tax_use">sale</field>
<field name="chart_template_id" ref="l10nbe_chart_template"/>
<field name="tag_ids" eval="[(6,0,[ref('tax_tag_46T'), ref('tax_tag_48s46T')])]"/>
</record>
@@ -369,7 +369,7 @@
<field name="price_include" eval="1"/>
<field name="amount">21</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">none</field>
<field name="type_tax_use">purchase</field>
<field name="chart_template_id" ref="l10nbe_chart_template"/>
<field name="tag_ids" eval="[(6,0,[ref('tax_tag_82'), ref('tax_tag_85'), ref('tax_tag_63'), ref('tax_tag_59')])]"/>
</record>
File diff suppressed because it is too large Load Diff
+2
View File
@@ -1,2 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import models
+85 -19
View File
@@ -1,37 +1,103 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
# First author: Jose Ernesto Mendez <tecnologia@obsdr.com> (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 <gvalverde@iterativo.do> iterativo | Consultores
# Contributors: Edser Solis - iterativo
# Odoo 8.0 author: Eneldo Serrata <eneldo@marcos.do>
# (Marcos Organizador de Negocios SRL..)
# Odoo 7.0 author: Jose Ernesto Mendez <tecnologia@obsdr.com>
# (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',
],
+253 -197
View File
@@ -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
1 id code name user_type_id/id reconcile chart_template_id/id
2 default_chart_a_account_528 do_niif_11010301 61121 11010301 Agua, Luz y Basura Depósitos a Corto Plazo account.data_account_type_expenses account.data_account_type_liquidity false FALSE l10n_do.default_chart_a do_chart_template
3 default_chart_a_account_529 do_niif_11020100 61122 11020100 Telecomunicaciones Bonos y Acciones Temporales account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
4 default_chart_a_account_721 do_niif_11020200 61123 11020200 Otros Gastos Administrativos Operaciones en Bolsa account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
5 default_chart_a_account_531 do_niif_11020300 61131 11020300 Depreciación Edificio Otros Valores Negociables account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
6 default_chart_a_account_532 do_niif_11030101 61132 11030101 Depreciación Mobiliario y Equipos de Oficina Cheques Devueltos por Cobrar account.data_account_type_expenses account.data_account_type_receivable false TRUE l10n_do.default_chart_a do_chart_template
7 default_chart_a_account_533 do_niif_11030102 61133 11030102 Depreciación Equipos de Cómputos y Telecomunicaciones Intereses por Cobrar account.data_account_type_expenses account.data_account_type_receivable false TRUE l10n_do.default_chart_a do_chart_template
8 default_chart_a_account_534 do_niif_11030201 61134 11030201 Depreciación Equipos de Transporte Cuenta por Cobrar a Clientes account.data_account_type_expenses account.data_account_type_receivable false TRUE l10n_do.default_chart_a do_chart_template
9 default_chart_a_account_535 do_niif_11030202 61135 11030202 Depreciación Maquinarias y Equipos Cuenta por Cobrar a Funcionarios y Empleados account.data_account_type_expenses account.data_account_type_receivable false TRUE l10n_do.default_chart_a do_chart_template
10 default_chart_a_account_536 do_niif_11030203 61136 11030203 Depreciación Otros Activos Cuenta por Cobrar a Afiliadas account.data_account_type_expenses account.data_account_type_receivable false TRUE l10n_do.default_chart_a do_chart_template
11 default_chart_a_account_537 do_niif_11030204 61137 11030204 Amortización Mejoras en Propiedad Arrendada Cuenta por Cobrar a Accionistas account.data_account_type_expenses account.data_account_type_receivable false TRUE l10n_do.default_chart_a do_chart_template
12 default_chart_a_account_538 do_niif_11030205 61138 11030205 Amortización Gastos de Organización y Constitución Otras Cuentas por Cobrar account.data_account_type_expenses account.data_account_type_receivable false TRUE l10n_do.default_chart_a do_chart_template
13 default_chart_a_account_539 do_niif_11040100 61139 11040100 Amortización Patentes y Derechos de Explotación Provisión Incobrables a Clientes account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
14 default_chart_a_account_542 do_niif_11040200 61141 11040200 Alquiler de Locales Provisión Incobrables a Funcionarios y Empleados account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
15 default_chart_a_account_543 do_niif_11040300 61142 11040300 Alquiler de Equipos Provisión Incobrables a Afiliadas account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
16 default_chart_a_account_544 do_niif_11040400 61143 11040400 Alquiler de Vehículos Provisión Incobrables a Accionistas account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
17 default_chart_a_account_545 do_niif_11040500 61144 11040500 Alquileres Generales Provisión Otras Cuentas Incobrables account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
18 default_chart_a_account_722 do_niif_11050100 61160 11050100 Otras Deducciones Admitidas Inventario de Mercancías o Productos Terminados account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
19 default_chart_a_account_586 do_niif_11050200 61161 11050200 Impuesto de Fiscalización Inventario de Materia Prima account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
20 default_chart_a_account_587 do_niif_11050300 61162 11050300 Retenciones de Impuesto sobre la Rentas Asumidas Inventario en Tránsito account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
21 default_chart_a_account_588 do_niif_11050400 61163 11050400 Penalidades, Mora e Interés Indemnizatorios Materiales y Suministros en Inventario account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
22 default_chart_a_account_589 do_niif_11050500 61164 11050500 Gastos Sin Comprobantes No Admitidos Combustibles en Inventario account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
23 default_chart_a_account_590 do_niif_11060100 61165 11060100 Gastos de Años Anteriores No Admitidos Deterioro Acum. de Inventario en Almacen account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
24 default_chart_a_account_591 do_niif_11060200 61166 11060200 Otros Gastos No Deducible ISR Deterioro Acum. de Materiales y Suministros account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
25 default_chart_a_account_592 do_niif_11060300 61167 11060300 Otros Gastos Generales y Administrativos Deterioro Acum. de Combustibles account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
26 default_chart_a_account_594 do_niif_11070100 61171 11070100 Cargos Bancarios Obsolescencia Inventario en Almacen account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
27 default_chart_a_account_595 do_niif_11070200 61172 11070200 Cargos Carnet Obsolescencia Materiales y Suministros account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
28 default_chart_a_account_596 do_niif_11070300 61173 11070300 Pérdida en Ajuste por Tipo de Cambio Obsolescencia Combustibles account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
29 default_chart_a_account_597 do_niif_11080101 61174 11080101 Intereses sobre Prestamos Bancarios ITBIS Pagado en Compras Locales account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
30 default_chart_a_account_598 do_niif_11080102 61175 11080102 Intereses sobre Prestamos Particulares ITBIS Pagado en Servicios Locales account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
31 default_chart_a_account_600 do_niif_11080103 61181 11080103 Impuestos sobre la Renta Corrientes ITBIS Pagado por Importaciones account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
32 default_chart_a_account_601 do_niif_11080301 61182 11080301 Impuestos sobre Activos Corrientes ITBIS Pagado en Ventas con Tarjeta de Crédito (Norma 08-04) account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
33 default_chart_a_account_602 do_niif_11080302 61183 11080302 Impuestos Sobre la Renta Diferidos Saldo a Favor ITBIS account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
34 default_chart_a_account_603 do_niif_11080303 61184 11080303 Crédito Fiscal por Retención de Dividendos Saldo a Favor ISR account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
35 default_chart_a_account_604 do_niif_11090100 61185 11090100 Impuestos de años anteriores Acciones Temporales account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
36 default_chart_a_account_605 do_niif_11090200 61186 11090200 Impuestos sobre Activos de años anteriores Depósitos a Plazo Temporales account.data_account_type_expenses account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
37 default_chart_a_account_152 do_niif_11090300 112050 11090300 Efectivo en transito Bonos Temporales account.data_account_type_current_assets true FALSE l10n_do.default_chart_a do_chart_template
38 default_chart_a_account_13 do_niif_11100100 113010 11100100 Cuentas por Cobrar Clientes Gastos Pagados por Anticipado account.data_account_type_receivable account.data_account_type_prepayments true FALSE l10n_do.default_chart_a do_chart_template
39 default_chart_a_account_14 do_niif_11100200 113020 11100200 Cuentas por Cobrar Funcionarios y Empleados Renta Pagada por Anticipado account.data_account_type_receivable account.data_account_type_prepayments true FALSE l10n_do.default_chart_a do_chart_template
40 default_chart_a_account_15 do_niif_11100300 113030 11100300 Otras Cuentas por Cobrar Seguros Pagados por Anticipado account.data_account_type_receivable account.data_account_type_prepayments true FALSE l10n_do.default_chart_a do_chart_template
41 default_chart_a_account_707 do_niif_11100400 113040 11100400 Pendientes de conciliar Anticipos ISR account.data_account_type_current_assets account.data_account_type_prepayments true FALSE l10n_do.default_chart_a do_chart_template
42 default_chart_a_account_709 do_niif_11100500 113050 11100500 Operaciones bancarias en transito Anticipos Gastos account.data_account_type_current_assets account.data_account_type_prepayments true FALSE l10n_do.default_chart_a do_chart_template
43 default_chart_a_account_716 do_niif_12010101 113060 12010101 Gastos Pagados Por Adelantado Terrenos account.data_account_type_current_assets account.data_account_type_fixed_assets false FALSE l10n_do.default_chart_a do_chart_template
44 default_chart_a_account_17 do_niif_12010102 114010 12010102 Mercancias Edificaciones account.data_account_type_current_assets account.data_account_type_fixed_assets false FALSE l10n_do.default_chart_a do_chart_template
45 default_chart_a_account_18 do_niif_12010201 114020 12010201 Materia Prima Equipo de Transporte account.data_account_type_current_assets account.data_account_type_fixed_assets false FALSE l10n_do.default_chart_a do_chart_template
46 default_chart_a_account_19 do_niif_12010202 114030 12010202 Productos en procesos Mobiliario y Equipos account.data_account_type_current_assets account.data_account_type_fixed_assets false FALSE l10n_do.default_chart_a do_chart_template
47 default_chart_a_account_20 do_niif_12010301 114040 12010301 Productos terminados Maquinaria account.data_account_type_current_assets account.data_account_type_fixed_assets false FALSE l10n_do.default_chart_a do_chart_template
48 default_chart_a_account_22 do_niif_12010302 115010 12010302 Seguros Herramientas account.data_account_type_current_assets account.data_account_type_fixed_assets false FALSE l10n_do.default_chart_a do_chart_template
49 default_chart_a_account_23 do_niif_12010303 115020 12010303 Placas y Patentes Instalaciones account.data_account_type_current_assets account.data_account_type_fixed_assets false FALSE l10n_do.default_chart_a do_chart_template
50 default_chart_a_account_24 do_niif_12010304 115030 12010304 I.S.R. Misceláneos u otros activos account.data_account_type_current_assets account.data_account_type_fixed_assets false FALSE l10n_do.default_chart_a do_chart_template
51 default_chart_a_account_25 do_niif_12020100 115040 12020100 Intereses cobrados por adelantados Depreciación Acum. de Edificios account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
52 default_chart_a_account_26 do_niif_12020200 115050 12020200 Otros Depreciación Acum. de Equipo de Transporte account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
53 default_chart_a_account_182 do_niif_12020300 123100 12020300 Mobiliario y Equipos de Oficina Depreciación Acum. de Mobiliario y Equipos account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
54 default_chart_a_account_183 do_niif_12020400 123200 12020400 Deprec. Acumulada Mobiliario y Equipos de Oficina Depreciación Acum. de Maquinaria account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
55 default_chart_a_account_184 do_niif_12020500 124100 12020500 Equipos de Cómputos y Telecomunicaciones Depreciación Acum. de Herramientas account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
56 default_chart_a_account_185 do_niif_12020600 124200 12020600 Deprec. Acumulada Equipos de Cómputos y Telecomunicaciones Depreciación Acum. de Instalaciones account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
57 default_chart_a_account_187 do_niif_12040100 125100 12040100 Equipos de Transporte Livianos Marcas y Patentes account.data_account_type_current_assets account.data_account_type_fixed_assets false FALSE l10n_do.default_chart_a do_chart_template
58 default_chart_a_account_188 do_niif_12040200 125200 12040200 Deprec. Acumulada Equipos de Transporte Livianos Programas Informáticos account.data_account_type_current_assets account.data_account_type_fixed_assets false FALSE l10n_do.default_chart_a do_chart_template
59 default_chart_a_account_190 do_niif_12050100 125300 12050100 Equipos de Transporte Pesados Edificios y Locales Arrendados account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
60 default_chart_a_account_191 do_niif_12050200 125400 12050200 Deprec. Acumulada Equipos de Transporte Pesados Maquinaria y Equipo Arrendados account.data_account_type_current_assets false FALSE l10n_do.default_chart_a do_chart_template
61 default_chart_a_account_194 do_niif_12050300 127100 12050300 Otros Activos Depreciables Instalaciones Arrendadas account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
62 default_chart_a_account_195 do_niif_12060100 127200 12060100 Deprec. Acumulada Otros Activos Depreciables Depreciación Acum. Edificios y Locales account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
63 default_chart_a_account_197 do_niif_12060200 128100 12060200 Mejoras en Propiedad Arrendada Depreciación Acum. Maquinaria y Equipo account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
64 default_chart_a_account_198 do_niif_12060300 128200 12060300 Amortización Mejoras en Propiedad Arrendada Depreciación Acum. Instalaciones account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
65 default_chart_a_account_200 do_niif_12070100 129100 12070100 Terreno en Proceso de Capitalización Deterioro Valor Acum. Edificios y Locales account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
66 default_chart_a_account_201 do_niif_12070200 129200 12070200 Edificio en Proceso de Capitalización Deterioro Valor Acum. Maquinaria y Equipo account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
67 default_chart_a_account_203 do_niif_12070300 129400 12070300 Equipos de Cómputos y Telecom. en Proceso de Instalación Deterioro Valor Acum. Instalaciones account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
68 default_chart_a_account_204 do_niif_12080100 129500 12080100 Equipos de Transporte en Proceso de Liquidación Acciones en otras sociedades account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
69 default_chart_a_account_205 do_niif_12090100 129700 12090100 Otros Activos Depreciables en Proceso de Instalación Diferencias temporales deducibles account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
70 default_chart_a_account_38 do_niif_12090200 131000 12090200 Mejoras Propiedad Arrendadas Gastos Organizacionales Diferidos account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
71 default_chart_a_account_39 do_niif_12090300 132000 12090300 Gastos de Organizacion ISR Deducible account.data_account_type_current_assets account.data_account_type_non_current_assets false FALSE l10n_do.default_chart_a do_chart_template
72 default_chart_a_account_40 do_niif_21010100 133000 21010100 Gastos Legales Préstamos Bancarios por Pagar account.data_account_type_current_assets account.data_account_type_payable false TRUE l10n_do.default_chart_a do_chart_template
73 default_chart_a_account_42 do_niif_21010200 141000 21010200 Acciones Cuenta por Pagar Proveedores Locales account.data_account_type_current_assets account.data_account_type_payable false TRUE l10n_do.default_chart_a do_chart_template
74 default_chart_a_account_43 do_niif_21010300 142000 21010300 bonos Cuenta por Pagar Proveedores del Exterior account.data_account_type_current_assets account.data_account_type_payable false TRUE l10n_do.default_chart_a do_chart_template
75 default_chart_a_account_44 do_niif_21010400 143000 21010400 Bienes Muebles e Inmuebles Nóminas por Pagar account.data_account_type_current_assets account.data_account_type_payable false TRUE l10n_do.default_chart_a do_chart_template
76 default_chart_a_account_46 do_niif_21010500 151000 21010500 Fianzas Intereses por Pagar account.data_account_type_current_assets account.data_account_type_payable false TRUE l10n_do.default_chart_a do_chart_template
77 default_chart_a_account_47 do_niif_21010600 152000 21010600 Depositos Otras Cuentas por Pagar account.data_account_type_current_assets account.data_account_type_payable false TRUE l10n_do.default_chart_a do_chart_template
78 default_chart_a_account_48 do_niif_21020100 153000 21020100 Codetel Dividendos por Pagar account.data_account_type_current_assets account.data_account_type_payable false TRUE l10n_do.default_chart_a do_chart_template
79 default_chart_a_account_49 do_niif_21020200 154000 21020200 CDEEE Comisiones por Pagar account.data_account_type_current_assets account.data_account_type_payable false TRUE l10n_do.default_chart_a do_chart_template
80 default_chart_a_account_50 do_niif_21020300 155000 21020300 CAASD Bonificaciones por Pagar account.data_account_type_current_assets account.data_account_type_payable false TRUE l10n_do.default_chart_a do_chart_template
81 default_chart_a_account_51 do_niif_21020400 156000 21020400 Telecable Nacional Regalía Pascual por Pagar account.data_account_type_current_assets account.data_account_type_payable false TRUE l10n_do.default_chart_a do_chart_template
82 default_chart_a_account_719 do_niif_21030101 157000 21030101 Obras de Arte ITBIS por Venta Servicios account.data_account_type_current_assets account.data_account_type_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
83 default_chart_a_account_53 do_niif_21030102 161000 21030102 ITBIS Pagado en compras ITBIS por Venta Bienes account.data_account_type_current_assets account.data_account_type_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
84 default_chart_a_account_54 do_niif_21030103 162000 21030103 Anticipos ISR ITBIS por Venta Bienes - al Exterior account.data_account_type_current_assets account.data_account_type_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
85 default_chart_a_account_55 do_niif_21030201 163000 21030201 ITBIS retenido cobros con tarjetas ITBIS Retenido Persona Jurídica (N 02-05) account.data_account_type_current_assets account.data_account_type_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
86 default_chart_a_account_56 do_niif_21030202 164000 21030202 ITBIS Pagado en importaciones ITBIS Retenido Persona Física (R 293-11) account.data_account_type_current_assets account.data_account_type_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
87 default_chart_a_account_57 do_niif_21030203 165000 21030203 ITBIS por servicios deducibles ITBIS Retenido a Entidades No Lucrativas (N 01-2011) account.data_account_type_current_assets account.data_account_type_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
88 default_chart_a_account_70 do_niif_21030204 201050 21030204 Retencion Empleados SFS ITBIS Retenido por Servicios Profesionales Liberales (N 02-05) account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
89 default_chart_a_account_61 do_niif_21030205 211010 21030205 Suplidores ITBIS Retenido a Proveedores Informales de Bienes (N 08-10) account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
90 default_chart_a_account_62 do_niif_21030301 211020 21030301 Proveedores ISR Retenido por Honorarios Profesionales de Personas Físicas account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
91 default_chart_a_account_63 do_niif_21030302 211030 21030302 Instituciones Estatales ISR Retenido por Alquileres Pagados a Personas Físicas account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
92 default_chart_a_account_64 do_niif_21030303 211040 21030303 Prestamos por Pagar ISR Retenido por Dividendos Pagados account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
93 default_chart_a_account_713 do_niif_21030304 211050 21030304 Cheques popular en transito ISR Retenido por Intereses Pagados al Exterior account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
94 default_chart_a_account_714 do_niif_21030305 211060 21030305 Caja Chica por pagar ISR Retenido por Intereses Pagados account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
95 default_chart_a_account_715 do_niif_21030306 211070 21030306 Sueldo y Salarios por Pagar ISR Retenido por Transferencias de Títulos y Propiedades account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
96 default_chart_a_account_717 do_niif_21030307 211080 21030307 Otras Cuentas Por Pagar ISR Retenido por Remesas al Exterior (Ley 253-12) account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
97 default_chart_a_account_718 do_niif_21030308 211090 21030308 Cobros anticipados Otras Retenciones (N 07-07) account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
98 default_chart_a_account_66 do_niif_21030309 212010 21030309 Retención Empleados SVDS Otras Retenciones account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
99 default_chart_a_account_67 do_niif_21030401 212020 21030401 I.S.R. Retención de Seguro Familiar de Salud (SFS) account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
100 default_chart_a_account_723 do_niif_21030402 212021 21030402 I.S.R. RETENCIONES DE ASALARIADOS Seguro de vejez, Discapacidad y Sobre Vivencia (AFP) account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
101 default_chart_a_account_68 do_niif_21030404 212030 21030404 Infotep Impuesto al Salario (ISR) account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
102 default_chart_a_account_69 do_niif_21030501 212040 21030501 TSS ISR por Pagar account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
103 default_chart_a_account_71 do_niif_21030502 212060 21030502 ITBIS Anticipos ISR por Pagar account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
104 default_chart_a_account_163 do_niif_21030503 212061 21030503 ITBIS 18% retenido a personas fisicas Seguro de Riesgo Laboral (SRL) account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
105 default_chart_a_account_712 do_niif_21030504 212062 21030504 ISR 10% retenido a personas fisicas INFOTEP account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
106 default_chart_a_account_72 do_niif_21030505 212070 21030505 Otras Retenciones Otros Impuestos por Pagar account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
107 default_chart_a_account_720 do_niif_21040100 212080 21040100 Otros Impuestos Por Pagar Provisión Pago Alquileres account.data_account_type_payable account.data_account_type_current_liabilities true FALSE l10n_do.default_chart_a do_chart_template
108 default_chart_a_account_75 do_niif_21040200 311000 21040200 Capital Autorizado Provisión Arrendamiento Financiero account.data_account_type_equity account.data_account_type_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
109 default_chart_a_account_76 do_niif_21040300 312000 21040300 Acciones no emitidas Provisión Gastos Fijos account.data_account_type_equity account.data_account_type_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
110 default_chart_a_account_77 do_niif_21050100 313000 21050100 Capital Social Tarjeta de Crédito Empresarial account.data_account_type_equity account.data_account_type_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
111 default_chart_a_account_79 do_niif_21050200 321000 21050200 Reserva Legal Prima de Tarjetas de Crédito account.data_account_type_equity account.data_account_type_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
112 default_chart_a_account_80 do_niif_22010100 322000 22010100 Reservas para Contingencias Préstamos Bancarios Largo Plazo account.data_account_type_equity account.data_account_type_non_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
113 default_chart_a_account_82 do_niif_22010200 331000 22010200 Ganancias retenidas años anteriores Préstamos Hipotecarios LP account.data_account_type_equity account.data_account_type_non_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
114 default_chart_a_account_83 do_niif_22012300 332000 22012300 Ajustes años anteriores Otros Préstamos LP account.data_account_type_equity account.data_account_type_non_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
115 default_chart_a_account_84 do_niif_22020100 333000 22020100 Ganancia del periodo Provisión Beneficios de Empleados LP account.data_account_type_equity account.data_account_type_non_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
116 default_chart_a_account_87 do_niif_22020200 411000 22020200 Ventas Provisión Prestaciones Laborales account.data_account_type_revenue account.data_account_type_non_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
117 default_chart_a_account_89 do_niif_22020300 421000 22020300 Ingresos por Servicios Provisión Indemnizaciones account.data_account_type_revenue account.data_account_type_non_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
118 default_chart_a_account_90 do_niif_22030100 422000 22030100 Intereses Cobrados Anticipos de Clientes account.data_account_type_revenue account.data_account_type_non_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
119 default_chart_a_account_91 do_niif_22030200 423000 22030200 Donaciones Garantías de Clientes account.data_account_type_revenue account.data_account_type_non_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
120 default_chart_a_account_92 do_niif_22040100 424000 22040100 Ingresos en Ventas de Activos Fijos Provisión Arrendamiento Financiero LP account.data_account_type_revenue account.data_account_type_non_current_liabilities false FALSE l10n_do.default_chart_a do_chart_template
121 default_chart_a_account_93 do_niif_31010100 430000 31010100 Devoluciones en Ventas Capital Social Autorizado account.data_account_type_revenue account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
122 default_chart_a_account_94 do_niif_31010200 440000 31010200 Descuentos en Ventas Capital Social en Acciones no Emitidas account.data_account_type_revenue account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
123 default_chart_a_account_148 do_niif_31010300 450000 31010300 Ingresos por diferencia de cambio Capital Social Pagado account.data_account_type_revenue account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
124 default_chart_a_account_724 do_niif_31010400 460000 31010400 Otros Ingresos Capital Social No Pagado account.data_account_type_revenue account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
125 default_chart_a_account_97 do_niif_31010500 511000 31010500 Materiales Directos Acciones o Participaciones en Tesorería account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
126 default_chart_a_account_98 do_niif_31020100 512000 31020100 Mano de Obra Directa Superávit por Revaluación de Terrenos account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
127 default_chart_a_account_99 do_niif_31020200 513000 31020200 Costos Indirectos de Fabricacion Superávit por Revaluación de Edificaciones account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
128 default_chart_a_account_101 do_niif_31020300 521000 31020300 Compras de mercancias Superávit por Revaluación de Instalaciones account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
129 default_chart_a_account_162 do_niif_31020400 522000 31020400 Compras de mercancías en US Superávit por Revaluación de Mobiliario y Equipo account.data_account_type_expenses account.data_account_type_equity true FALSE l10n_do.default_chart_a do_chart_template
130 default_chart_a_account_102 do_niif_32010100 523000 32010100 Devoluciones en compras Reserva Legal account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
131 default_chart_a_account_103 do_niif_33010100 524000 33010100 Descuentos en Compras Utilidades de Ejercicios Anteriores account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
132 default_chart_a_account_104 do_niif_33010200 525000 33010200 Transporte en Compras Pérdidas de Ejercicios Anteriores account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
133 default_chart_a_account_150 do_niif_33020100 526000 33020100 Costo en ventas Utilidad del Ejercicio account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
134 default_chart_a_account_507 do_niif_33020200 611110 33020200 Salarios Pérdidas del Ejercicio account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
135 default_chart_a_account_516 do_niif_33040100 611111 33040100 Infotep Superávit en Reserva account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
136 default_chart_a_account_517 do_niif_33040200 611112 33040200 Aporte Plan Básico de Salud (SFS) Déficit en Reserva account.data_account_type_expenses account.data_account_type_equity false FALSE l10n_do.default_chart_a do_chart_template
137 default_chart_a_account_518 do_niif_41010100 611113 41010100 Aporte Plan de Pensiones (AFP) Ventas Bienes account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
138 default_chart_a_account_519 do_niif_41010200 611114 41010200 Aporte Riesgos Laborales (ARL) Ventas Bienes - Al Exterior account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
139 default_chart_a_account_520 do_niif_41020100 611115 41020100 Seguro Medico y de Vida Privado Ventas Servicios account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
140 default_chart_a_account_521 do_niif_41020200 611116 41020200 Uniforme Ventas Servicios - Al Exterior account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
141 default_chart_a_account_522 do_niif_41030100 611117 41030100 Dietas y Viáticos a Empleados Devoluciones de Bienes account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
142 default_chart_a_account_523 do_niif_41030200 611118 41030200 Actividades Sociales Empleados Devoluciones por Servicios account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
143 default_chart_a_account_525 do_niif_41040100 611120 41040100 Impuesto de Retribuciones Complementarias Descuentos por Ventas (por NC) account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
144 default_chart_a_account_508 do_niif_42010100 611121 42010100 Comisiones Funcionarios y Empleados Intereses sobre Certificados account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
145 default_chart_a_account_526 do_niif_42010200 611122 42010200 Otros Beneficios Empleados Intereses en Cuentas Bancarias account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
146 default_chart_a_account_509 do_niif_42010300 611123 42010300 Incentivos y Horas Extras Intereses por Financiamientos account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
147 default_chart_a_account_510 do_niif_42020100 611124 42020100 Bonificación Ingresos por Ventas de Activos account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
148 default_chart_a_account_511 do_niif_42030100 611125 42030100 Salario de Navidad Ingresos por Dividendos Ganados account.data_account_type_expenses account.data_account_type_revenue false FALSE l10n_do.default_chart_a do_chart_template
149 default_chart_a_account_512 do_niif_42040100 611126 42040100 Vacaciones Ingresos por Diferencia Cambiaria account.data_account_type_expenses account.data_account_type_other_income false FALSE l10n_do.default_chart_a do_chart_template
150 default_chart_a_account_513 do_niif_42040200 611127 42040200 Preaviso y Cesantía Cobro de Cuentas Incobrables account.data_account_type_expenses account.data_account_type_other_income false FALSE l10n_do.default_chart_a do_chart_template
151 default_chart_a_account_514 do_niif_42040300 611128 42040300 Compensación uso de vehículos Otros Ingresos account.data_account_type_expenses account.data_account_type_other_income false FALSE l10n_do.default_chart_a do_chart_template
152 default_chart_a_account_515 do_niif_51010100 611129 51010100 Entrenamiento y Capacitación Costos de Bienes account.data_account_type_expenses account.data_account_type_direct_costs false FALSE l10n_do.default_chart_a do_chart_template
153 default_chart_a_account_524 do_niif_51010200 611130 51010200 Gasto de Retribuciones Complementarias Otros Costos de Venta account.data_account_type_expenses account.data_account_type_direct_costs false FALSE l10n_do.default_chart_a do_chart_template
154 default_chart_a_account_547 do_niif_51020100 611501 51020100 Honorarios por Servicios Profesionales Sociedades Materia Prima account.data_account_type_expenses account.data_account_type_direct_costs false FALSE l10n_do.default_chart_a do_chart_template
155 default_chart_a_account_548 do_niif_51020200 611502 51020200 Honorarios por Servicios Profesionales Personas Físicas Mano de Obra account.data_account_type_expenses account.data_account_type_direct_costs false FALSE l10n_do.default_chart_a do_chart_template
156 default_chart_a_account_549 do_niif_51020300 611503 51020300 Comisiones por Venta a Terceros Personas Físicas Costos Indirectos account.data_account_type_expenses account.data_account_type_direct_costs false FALSE l10n_do.default_chart_a do_chart_template
157 default_chart_a_account_550 do_niif_52010100 611504 52010100 Transporte y Acarreo Sueldos y Salarios account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
158 default_chart_a_account_551 do_niif_52010200 611505 52010200 Combustible y Lubricantes Vehículos Regalía Pascual account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
159 default_chart_a_account_552 do_niif_52010300 611506 52010300 Combustible Planta Eléctrica Retribuciones Complementarias account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
160 default_chart_a_account_553 do_niif_52010400 611507 52010400 Estadía Hoteles Bono Vacacional account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
161 default_chart_a_account_554 do_niif_52010500 611508 52010500 Gastos por Cuentas Malas Bono por Desempeño account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
162 default_chart_a_account_555 do_niif_52010600 611509 52010600 Reparaciones de Edificio Comisiones account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
163 default_chart_a_account_556 do_niif_52010700 611510 52010700 Reparaciones de Activos Fijos Categoría 2 y 3 Indemnizaciones account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
164 default_chart_a_account_557 do_niif_52010800 611511 52010800 Mantenimiento de Activos Fijos Bonificaciones y Gratificaciones account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
165 default_chart_a_account_558 do_niif_52010900 611512 52010900 Promociones Dietas al Personal account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
166 default_chart_a_account_559 do_niif_52011000 611513 52011000 Publicidad Cursos y Entrenamientos account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
167 default_chart_a_account_560 do_niif_52011100 611514 52011100 Viáticos y Representación Prestaciones Laborales (Preaviso y Cesantia) account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
168 default_chart_a_account_561 do_niif_52011200 611515 52011200 Patrocinio y aportes Incentivos account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
169 default_chart_a_account_562 do_niif_52011300 611516 52011300 Participación en concursos Horas Extras account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
170 default_chart_a_account_563 do_niif_52011400 611517 52011400 Material Gastable y Papelería Otros Gastos de Personal account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
171 default_chart_a_account_564 do_niif_52010102 611518 52010102 Material de Limpieza Aportes a la Administradora de Fondos de Pensiones (AFP) account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
172 default_chart_a_account_565 do_niif_52010103 611519 52010103 Atenciones a Clientes Aportes al Seguro Riesgo Laboral (SRL) account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
173 default_chart_a_account_566 do_niif_52010104 611520 52010104 Gastos de Correo y Envíos Seguro Familiar de Salud (SFS) account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
174 default_chart_a_account_567 do_niif_52010201 611521 52010201 Gastos Legales Aportes a la Administradora de Riesgos de Salud (ARS) account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
175 default_chart_a_account_568 do_niif_52010202 611522 52010202 Seguridad Electrónica Seguros al Personal account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
176 default_chart_a_account_569 do_niif_52010203 611523 52010203 Guardianes y Vigilancia Planes Complementarios de Salud account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
177 default_chart_a_account_570 do_niif_52010204 611524 52010204 Fumigación y Control de Plagas Seguros de Vida account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
178 default_chart_a_account_571 do_niif_52010205 611525 52010205 Suscripciones y Membresías Aportes al Infotep account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
179 default_chart_a_account_572 do_niif_52020100 611526 52020100 Donaciones Energía Eléctrica account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
180 default_chart_a_account_573 do_niif_52020200 611527 52020200 Gastos de Representación Comunicaciones account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
181 default_chart_a_account_574 do_niif_52020300 611528 52020300 Pérdida por Obsolescencia de Inventarios Papelería y útiles account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
182 default_chart_a_account_575 do_niif_52020400 611529 52020400 Pérdida en Venta de Inversiones Útiles de Aseo y Limpieza account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
183 default_chart_a_account_576 do_niif_52020500 611530 52020500 Pérdida en Venta de Activos Fijos Material de Empaque account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
184 default_chart_a_account_577 do_niif_52020600 611531 52020600 Pérdida en Venta de Terreno Seguro de Edificio account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
185 default_chart_a_account_578 do_niif_52020700 611532 52020700 Pérdida en Venta de Edificio Combustibles y Lubricantes account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
186 default_chart_a_account_579 do_niif_52020800 611533 52020800 Pérdida en Venta de Mobiliario y Equipos de Oficina Alquileres account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
187 default_chart_a_account_580 do_niif_52020900 611534 52020900 Pérdida en Venta de Maquinarias y Equipos Franquicias account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
188 default_chart_a_account_581 do_niif_52021000 611535 52021000 Pérdida en Venta de Otros Activos Fijos Inducción a Vendedores account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
189 default_chart_a_account_582 do_niif_52021100 611536 52021100 Pérdida en Participación Patrimonial en Subsidiarias Seguros account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
190 default_chart_a_account_583 do_niif_52021200 611537 52021200 Pérdida en Indemnización de Seguros Servicios de Mensajería account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
191 default_chart_a_account_584 do_niif_52021300 611538 52021300 Consulta de Datos e Formación Crediticia Flete y Carga account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
192 default_chart_a_account_143 do_niif_52021400 711000 52021400 Beneficio en retiro de Propiedad, Planta y Equipos Cuotas y Suscripciones account.data_account_type_current_assets account.data_account_type_expenses true FALSE l10n_do.default_chart_a do_chart_template
193 default_chart_a_account_144 do_niif_52021500 712000 52021500 Perdida en retiro de Propiedad, Planta y Equipos Otros Gastos de Administración account.data_account_type_current_assets account.data_account_type_expenses true FALSE l10n_do.default_chart_a do_chart_template
194 default_chart_a_account_145 do_niif_52030101 720000 52030101 Resumen de Ganancias y Perdidas Legales (P. Física) account.data_account_type_current_assets account.data_account_type_expenses true FALSE l10n_do.default_chart_a do_chart_template
195 default_chart_a_account_173 do_niif_52030102 11103002 52030102 Cheques en caja Contabilidad y Auditoría (P. Física) account.data_account_type_current_assets account.data_account_type_expenses true FALSE l10n_do.default_chart_a do_chart_template
196 default_chart_a_account_174 do_niif_52030103 11103003 52030103 Diferencia en caja Tecnología (P. Física) account.data_account_type_current_assets account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
197 default_chart_a_account_175 do_niif_52030104 11103004 52030104 Sobrante en caja Mantenimiento de Planta (P. Física) account.data_account_type_current_assets account.data_account_type_expenses false FALSE l10n_do.default_chart_a do_chart_template
198 default_chart_a_account_176 do_niif_52030105 11103005 52030105 Caja en transito Mantenimiento del Local (P. Física) account.data_account_type_current_assets account.data_account_type_expenses true FALSE l10n_do.default_chart_a do_chart_template
199 do_niif_52030106 52030106 Mantenimiento Mobiliario y Equipos (P. Física) account.data_account_type_expenses FALSE do_chart_template
200 do_niif_52030107 52030107 Asesorías (P. Física) account.data_account_type_expenses FALSE do_chart_template
201 do_niif_52030108 52030108 Fumigaciones (P. Física) account.data_account_type_expenses FALSE do_chart_template
202 do_niif_52030109 52030109 Copias y Escaneos (P. Física) account.data_account_type_expenses FALSE do_chart_template
203 do_niif_52030110 52030110 Servicios de Vigilancia (P. Física) account.data_account_type_expenses FALSE do_chart_template
204 do_niif_52030111 52030111 Otros Servicios Profesionales (P. Física) account.data_account_type_expenses FALSE do_chart_template
205 do_niif_52030201 52030201 Legales (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
206 do_niif_52030202 52030202 Contabilidad y Auditoría (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
207 do_niif_52030203 52030203 Tecnología (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
208 do_niif_52030204 52030204 Mantenimiento de Planta (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
209 do_niif_52030205 52030205 Mantenimiento del Local (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
210 do_niif_52030206 52030206 Mantenimiento Mobiliario y Equipos (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
211 do_niif_52030207 52030207 Asesorías (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
212 do_niif_52030208 52030208 Fumigaciones (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
213 do_niif_52030209 52030209 Copias y Escaneos (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
214 do_niif_52030210 52030210 Servicios de Vigilancia (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
215 do_niif_52030211 52030211 Otros Servicios Profesionales (P. Jurídica) account.data_account_type_expenses FALSE do_chart_template
216 do_niif_52030301 52030301 Honorarios por Servicios del Exterior - Relacionadas account.data_account_type_expenses FALSE do_chart_template
217 do_niif_52030302 52030302 Honorarios por Servicios del Exterior - Terceros account.data_account_type_expenses FALSE do_chart_template
218 do_niif_52040100 52040100 Gastos por Depreciación de Edificios account.data_account_type_depreciation FALSE do_chart_template
219 do_niif_52040200 52040200 Gastos por Depreciación de Equipo de Transporte account.data_account_type_depreciation FALSE do_chart_template
220 do_niif_52040300 52040300 Gastos por Depreciación de Mobiliario y Equipos account.data_account_type_depreciation FALSE do_chart_template
221 do_niif_52040400 52040400 Gastos por Depreciación de Maquinaria account.data_account_type_depreciation FALSE do_chart_template
222 do_niif_52040500 52040500 Gastos por Depreciación de Herramientas account.data_account_type_depreciation FALSE do_chart_template
223 do_niif_52040600 52040600 Gastos por Depreciación de Instalaciones account.data_account_type_depreciation FALSE do_chart_template
224 do_niif_52050100 52050100 Gastos por Reparación de Edificios account.data_account_type_expenses FALSE do_chart_template
225 do_niif_52050200 52050200 Gastos por Reparación de Equipo de Transporte account.data_account_type_expenses FALSE do_chart_template
226 do_niif_52050300 52050300 Gastos por Reparación de Mobiliario y Equipos account.data_account_type_expenses FALSE do_chart_template
227 do_niif_52050400 52050400 Gastos por Reparación de Maquinaria account.data_account_type_expenses FALSE do_chart_template
228 do_niif_52050500 52050500 Gastos por Reparación de Herramientas account.data_account_type_expenses FALSE do_chart_template
229 do_niif_52050600 52050600 Gastos por Reparación de Instalaciones account.data_account_type_expenses FALSE do_chart_template
230 do_niif_52060100 52060100 Relaciones Públicas account.data_account_type_expenses FALSE do_chart_template
231 do_niif_52060200 52060200 Publicidad account.data_account_type_expenses FALSE do_chart_template
232 do_niif_52060300 52060300 Viajes account.data_account_type_expenses FALSE do_chart_template
233 do_niif_52060400 52060400 Donaciones account.data_account_type_expenses FALSE do_chart_template
234 do_niif_52060500 52060500 Donaciones a ProIndustria (Ley 392-07) account.data_account_type_expenses FALSE do_chart_template
235 do_niif_52060600 52060600 Promociones account.data_account_type_expenses FALSE do_chart_template
236 do_niif_52060700 52060700 Otros Gastos de Representación account.data_account_type_expenses FALSE do_chart_template
237 do_niif_52070100 52070100 Gastos por Préstamos Bancarios account.data_account_type_expenses FALSE do_chart_template
238 do_niif_52070200 52070200 Retención por Cheques y Transacciones Electrónicas (0.015%) account.data_account_type_expenses FALSE do_chart_template
239 do_niif_52070300 52070300 Intereses Bancarios account.data_account_type_expenses FALSE do_chart_template
240 do_niif_52070400 52070400 Comisiones Bancarias account.data_account_type_expenses FALSE do_chart_template
241 do_niif_52070500 52070500 Comisión de Tarjeta de Crédito account.data_account_type_expenses FALSE do_chart_template
242 do_niif_52070600 52070600 Nota de Cargos por Banco account.data_account_type_expenses FALSE do_chart_template
243 do_niif_52070700 52070700 Seguro sobre Préstamos Bancarios account.data_account_type_expenses FALSE do_chart_template
244 do_niif_52070800 52070800 Diferencia Negativa Cambiaria account.data_account_type_expenses FALSE do_chart_template
245 do_niif_52070900 52070900 Otro Gastos Financieros account.data_account_type_expenses FALSE do_chart_template
246 do_niif_52080100 52080100 Gastos por Siniestros account.data_account_type_expenses FALSE do_chart_template
247 do_niif_52080200 52080200 Pérdidas por Ventas de Activos Fijos account.data_account_type_expenses FALSE do_chart_template
248 do_niif_52080300 52080300 Pérdidas por Cuentas Incobrables account.data_account_type_expenses FALSE do_chart_template
249 do_niif_52080400 52080400 Gastos por ISR account.data_account_type_expenses FALSE do_chart_template
250 do_niif_52080500 52080500 Impuestos a los Activos account.data_account_type_expenses FALSE do_chart_template
251 do_niif_52080600 52080600 Penalidades/Recargos de DGII account.data_account_type_expenses FALSE do_chart_template
252 do_niif_52080700 52080700 Penalidades/Recargos de TSS account.data_account_type_expenses FALSE do_chart_template
253 do_niif_52080800 52080800 Gastos Sin Comprobante account.data_account_type_expenses FALSE do_chart_template
254 do_niif_61010100 61010100 Pérdidas y Ganancias account.data_unaffected_earnings FALSE do_chart_template
@@ -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
1 id name report_type
2 default_chart_a_type_1 Root/View none
3 default_chart_a_type_2 Receivable asset
4 default_chart_a_type_3 Payable liability
5 default_chart_a_type_4 Bank asset
6 default_chart_a_type_5 Cash asset
7 default_chart_a_type_6 Asset asset
8 default_chart_a_type_7 Liability liability
9 default_chart_a_type_8 Income income
10 default_chart_a_type_9 Expense expense
11 default_chart_a_type_10 Income View income
12 default_chart_a_type_11 Expense View expense
13 default_chart_a_type_12 Asset View asset
14 default_chart_a_type_13 Liability View liability
15 default_chart_a_type_14 Tax expense
16 default_chart_a_type_15 Equity liability
17 default_chart_a_type_16 Check asset
@@ -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,
1 id position_id:id tax_src_id:id tax_dest_id:id
2 default_chart_a_position_tax_1 default_chart_a_position_4 default_chart_a_tax_14 default_chart_a_tax_7
3 default_chart_a_position_tax_2 default_chart_a_position_17 default_chart_a_tax_8 default_chart_a_tax_15
4 default_chart_a_position_tax_3 default_chart_a_position_13 default_chart_a_tax_15
@@ -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,
1 id name chart_template_id:id
2 default_chart_a_position_1 Para Crédito Fiscal default_chart_a
3 default_chart_a_position_2 Cosumidor Final default_chart_a
4 default_chart_a_position_3 Gubernamental default_chart_a
5 default_chart_a_position_4 Regímenes Especiales default_chart_a
6 default_chart_a_position_5 Gastos de personal default_chart_a
7 default_chart_a_position_6 Gastos por trabajo, suministros y servicios default_chart_a
8 default_chart_a_position_7 Arrendamientos default_chart_a
9 default_chart_a_position_8 Gastos de Activos Fijos default_chart_a
10 default_chart_a_position_9 Gastos de Representación default_chart_a
11 default_chart_a_position_10 Otras Deducciones Admitidas default_chart_a
12 default_chart_a_position_11 Gastos Financieros default_chart_a
13 default_chart_a_position_12 Gastos Extraordinarios default_chart_a
14 default_chart_a_position_13 Proveedores de mercancía impuesto no incluido default_chart_a
15 default_chart_a_position_14 Adquisiciones de Activos default_chart_a
16 default_chart_a_position_15 Gastos Menores default_chart_a
17 default_chart_a_position_16 Gastos de Seguro default_chart_a
18 default_chart_a_position_17 Proveedores de mercancía impuesto incluido default_chart_a
@@ -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
1 id name description type_tax_use amount_type amount sequence refund_account_id:id account_id:id chart_template_id:id tag_ids:id
2 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
3 default_chart_a_tax_2 ITBIS Exento en compras C-EXENTA purchase percent 0 1 default_chart_a tag_C_EXENTA
4 default_chart_a_tax_3 ITBIS 8% Ventas V-ITBIS 8% sale percent 11 1 default_chart_a tag_V_ITBIS_8
5 default_chart_a_tax_4 ITBIS 8% Compras C-ITBIS 8% purchase percent 11 1 default_chart_a tag_C_ITBIS_8
6 default_chart_a_tax_5 ITBIS 11% Ventas V-ITBIS 11% sale percent 11 1 default_chart_a tag_V_ITBIS_11
7 default_chart_a_tax_6 ITBIS 11% Compras C-ITBIS 11% purchase percent 11 1 default_chart_a tag_C_ITBIS_11
8 default_chart_a_tax_7 ITBIS Exento en ventas V-EXENTA sale percent 18 1 default_chart_a tag_V_EXENTA
9 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
10 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
11 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
12 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
13 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
14 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
15 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
16 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
17 default_chart_a_tax_19 ISC Telecomunicacones TELE-ISC purchase percent 10 1 default_chart_a_account_529 default_chart_a tag_TELE_ISC
18 default_chart_a_tax_20 CDT Telecomunicacones TELE-CDT purchase percent 2 1 default_chart_a_account_529 default_chart_a tag_TELE_CDT
19 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
@@ -0,0 +1,364 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- Chart template for Taxes -->
<!-- Taxes Groups -->
<record id="group_itbis" model="account.tax.group">
<field name="name">ITBIS</field>
</record>
<record id="group_ret" model="account.tax.group">
<field name="name">Retenciones</field>
</record>
<record id="group_tax" model="account.tax.group">
<field name="name">Otros Impuestos</field>
</record>
<!-- Taxes Template -->
<record id="tax_0_sale" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">50</field>
<field name="name">Exento ITBIS Ventas</field>
<field name="description">Exento</field>
<field name="amount">0</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">sale</field>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_V_EXENTA')])]" name="tag_ids"/>
</record>
<record id="tax_0_purch" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">50</field>
<field name="name">Exento ITBIS Compras</field>
<field name="description">Exento</field>
<field name="amount">0</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_C_EXENTA')])]" name="tag_ids"/>
</record>
<record id="tax_18_sale" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">1</field>
<field name="name">18% ITBIS Ventas</field>
<field name="description">18%</field>
<field name="amount">18</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">sale</field>
<field name="account_id" ref="do_niif_21030102"/>
<field name="refund_account_id" ref="do_niif_21030102"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_V_ITBIS_18')])]" name="tag_ids"/>
</record>
<record id="tax_18_sale_incl" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">10</field>
<field name="name">18% ITBIS Incl. Ventas</field>
<field name="description">18% Incl</field>
<field name="amount">18</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">sale</field>
<field name="account_id" ref="do_niif_21030102"/>
<field name="refund_account_id" ref="do_niif_21030102"/>
<field eval="1" name="price_include"/>
<field eval="[(6,0,[ref('tag_V_ITBIS_18')])]" name="tag_ids"/>
</record>
<record id="tax_18_purch" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">18% ITBIS Compras</field>
<field name="sequence">2</field>
<field name="description">18%</field>
<field name="amount">18</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_11080101"/>
<field name="refund_account_id" ref="do_niif_11080302"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_C_ITBIS_18')])]" name="tag_ids"/>
</record>
<record id="tax_18_purch_incl" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">20</field>
<field name="name">18% ITBIS Incl. Compras</field>
<field name="description">18%</field>
<field name="amount">18</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_11080101"/>
<field name="refund_account_id" ref="do_niif_11080302"/>
<field eval="1" name="price_include"/>
<field eval="[(6,0,[ref('tag_C_ITBIS_18_Incluido')])]" name="tag_ids"/>
</record>
<record id="tax_18_purch_serv" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">20</field>
<field name="name">18% ITBIS Compras - Servicios</field>
<field name="description">18%</field>
<field name="amount">18</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_11080102"/>
<field name="refund_account_id" ref="do_niif_11080302"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_C_ITBIS_18')])]" name="tag_ids"/>
</record>
<record id="tax_18_purch_serv_incl" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">20</field>
<field name="name">18% ITBIS Incl. Compras - Servicios</field>
<field name="description">18%</field>
<field name="amount">18</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_11080102"/>
<field name="refund_account_id" ref="do_niif_11080302"/>
<field eval="1" name="price_include"/>
<field eval="[(6,0,[ref('tag_C_ITBIS_18_Incluido')])]" name="tag_ids"/>
</record>
<record id="tax_18_importation" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">20</field>
<field name="name">18% ITBIS - Importaciones</field>
<field name="description">18%</field>
<field name="amount">18</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_11080103"/>
<field name="refund_account_id" ref="do_niif_11080302"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_IMP_ITBIS_18')])]" name="tag_ids"/>
</record>
<record id="tax_18_of_10" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">20</field>
<field name="name">18% ITBIS sobre el 10% del Monto Total</field>
<field name="description">18% del 10%</field>
<field name="amount">1.8</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_11080101"/>
<field name="refund_account_id" ref="do_niif_11080302"/>
<field eval="0" name="price_include"/>
</record>
<record id="tax_0015_bank" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">30</field>
<field name="name">Impuesto 0.15% Transferencia Bancaria</field>
<field name="description">0.15%</field>
<field name="amount">0.0015</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_52070200"/>
<field name="refund_account_id" ref="do_niif_11080303"/>
<field eval="1" name="price_include"/>
</record>
<record id="tax_10_telco" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">30</field>
<field name="name">Impuesto 10% Telecomunicaciones (ISC)</field>
<field name="description">ISC</field>
<field name="amount">10</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_52020200"/>
<field name="refund_account_id" ref="do_niif_52020200"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_TELE_ISC')])]" name="tag_ids"/>
</record>
<record id="tax_2_telco" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">30</field>
<field name="name">Impuesto 2% Telecomunicaciones (CDT)</field>
<field name="description">CDT</field>
<field name="amount">2</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_52020200"/>
<field name="refund_account_id" ref="do_niif_52020200"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_TELE_CDT')])]" name="tag_ids"/>
</record>
<record id="tax_group_telco" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">30</field>
<field name="name">Impuestos a las Telecomunicaciones</field>
<field eval="0" name="amount"/>
<field name="amount_type">group</field>
<field name="type_tax_use">purchase</field>
<field eval="[(6, 0, [ref('tax_10_telco'), ref('tax_2_telco')])]" name="children_tax_ids"/>
</record>
<record id="ret_100_tax_nonprofit" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ITBIS 100% a No Lucrativas (Servicios)</field>
<field name="description">100% del ITBIS</field>
<field name="amount">-18</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030203"/>
<field name="refund_account_id" ref="do_niif_21030203"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_R_ITBIS_18')])]" name="tag_ids"/>
</record>
<record id="ret_100_tax_person" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ITBIS 100% a Persona Física</field>
<field name="description">100% del ITBIS</field>
<field name="amount">-18</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030202"/>
<field name="refund_account_id" ref="do_niif_21030202"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_R_ITBIS_18')])]" name="tag_ids"/>
</record>
<record id="ret_30_tax_moral" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ITBIS 30% a Persona Jurídica (Construcción)</field>
<field name="description">30% del ITBIS</field>
<field name="amount">-5.4</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030201"/>
<field name="refund_account_id" ref="do_niif_21030201"/>
<field eval="0" name="price_include"/>
</record>
<record id="ret_30_tax_freelance" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ITBIS 30% a Profesionales Liberales (Servicios)</field>
<field name="description">30% del ITBIS</field>
<field name="amount">-5.4</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030204"/>
<field name="refund_account_id" ref="do_niif_21030204"/>
<field eval="0" name="price_include"/>
</record>
<record id="ret_75_tax_nonformal" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ITBIS 75% a Proveedores Informales (Bienes)</field>
<field name="description">75% del ITBIS</field>
<field name="amount">-13.5</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030205"/>
<field name="refund_account_id" ref="do_niif_21030205"/>
<field eval="0" name="price_include"/>
</record>
<record id="ret_10_income_person" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ISR 10% Honorarios a Persona Física (Servicios)</field>
<field name="description">10% ISR</field>
<field name="amount">-10</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030301"/>
<field name="refund_account_id" ref="do_niif_11080303"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_R_ISR_10')])]" name="tag_ids"/>
</record>
<record id="ret_10_income_rent" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ISR 10% a Persona Física (Alquiler)</field>
<field name="description">10% ISR</field>
<field name="amount">-10</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030302"/>
<field name="refund_account_id" ref="do_niif_11080303"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_R_ISR_10')])]" name="tag_ids"/>
</record>
<record id="ret_10_income_dividend" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ISR 10% por Dividendos</field>
<field name="description">10% ISR</field>
<field name="amount">-10</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030303"/>
<field name="refund_account_id" ref="do_niif_11080303"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_R_ISR_10')])]" name="tag_ids"/>
</record>
<record id="ret_2_income_person" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ISR 2% a Persona Física (Servicios)</field>
<field name="description">2% ISR (N 07-07)</field>
<field name="amount">-2</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030308"/>
<field name="refund_account_id" ref="do_niif_11080303"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_R_ISR_2')])]" name="tag_ids"/>
</record>
<record id="ret_2_income_transfer" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ISR 2% por Transferencia de Títulos</field>
<field name="description">2% ISR</field>
<field name="amount">-2</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030306"/>
<field name="refund_account_id" ref="do_niif_11080303"/>
<field eval="0" name="price_include"/>
<field eval="[(6,0,[ref('tag_R_ISR_2')])]" name="tag_ids"/>
</record>
<record id="ret_27_income_remittance" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">40</field>
<field name="name">Retención ISR 27% por Remesas al Exterior</field>
<field name="description">27% ISR</field>
<field name="amount">-27</field>
<field name="amount_type">percent</field>
<field name="type_tax_use">purchase</field>
<field name="account_id" ref="do_niif_21030307"/>
<field name="refund_account_id" ref="do_niif_11080303"/>
<field eval="0" name="price_include"/>
</record>
<record id="tax_group_nonformal" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">60</field>
<field name="name">Retención a Proveedores Informales (Bienes)</field>
<field name="amount_type">group</field>
<field eval="0" name="amount"/>
<field name="type_tax_use">purchase</field>
<field eval="[(6, 0, [ref('ret_75_tax_nonformal'), ref('tax_18_purch')])]" name="children_tax_ids"/>
</record>
<record id="tax_group_person_construction" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">60</field>
<field name="name">Retención a Persona Física (Servicios Construcción con Materiales)</field>
<field name="amount_type">group</field>
<field eval="0" name="amount"/>
<field name="type_tax_use">purchase</field>
<field eval="[(6, 0, [ref('tax_18_of_10'), ref('ret_2_income_person'), ref('ret_100_tax_person')])]" name="children_tax_ids"/>
</record>
<record id="tax_group_moral_construction" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">60</field>
<field name="name">Retención a Jurídica (Servicios Construcción con Materiales)</field>
<field name="amount_type">group</field>
<field eval="0" name="amount"/>
<field name="type_tax_use">purchase</field>
<field eval="[(6, 0, [ref('ret_30_tax_moral'), ref('tax_18_of_10')])]" name="children_tax_ids"/>
</record>
<record id="tax_group_person_services" model="account.tax.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="sequence">60</field>
<field name="name">Retención a Persona Física por Servicios Profesionales</field>
<field name="amount_type">group</field>
<field eval="0" name="amount"/>
<field name="type_tax_use">purchase</field>
<field eval="[(6, 0, [ref('ret_2_income_person'), ref('ret_100_tax_person')])]" name="children_tax_ids"/>
</record>
</data>
</odoo>
@@ -1,11 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="default_chart_a" model="account.chart.template">
<field name="property_account_receivable_id" ref="default_chart_a_account_13"/>
<field name="property_account_payable_id" ref="default_chart_a_account_61"/>
<field name="property_account_expense_categ_id" ref="default_chart_a_account_101"/>
<field name="property_account_income_categ_id" ref="default_chart_a_account_87"/>
<field name="income_currency_exchange_account_id" ref="default_chart_a_account_148"/>
<field name="expense_currency_exchange_account_id" ref="default_chart_a_account_596"/>
</record>
<!-- Chart Template for Defaults -->
<record id="do_chart_template" model="account.chart.template">
<field name="property_account_receivable_id" ref="do_niif_11030201"/>
<field name="property_account_payable_id" ref="do_niif_21010200"/>
<field name="property_account_expense_categ_id" ref="do_niif_52021500"/>
<field name="property_account_income_categ_id" ref="do_niif_41010100"/>
<field eval="False" name="use_anglo_saxon"/>
<field name="property_stock_account_input_categ_id" ref="do_niif_11050300"/>
<field name="property_stock_account_output_categ_id" ref="do_niif_11050300"/>
<field name="property_stock_valuation_account_id" ref="do_niif_11060100"/>
<field name="expense_currency_exchange_account_id" ref="do_niif_52070800"/>
<field name="income_currency_exchange_account_id" ref="do_niif_42040100"/>
</record>
</odoo>
@@ -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()
@@ -0,0 +1,146 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!-- = = = = = = = = = = = = = = = -->
<!-- Fiscal Position Templates -->
<!-- = = = = = = = = = = = = = = = -->
<!-- Principal Fiscal Position for Dominican Republic internally -->
<record id="position_buyer_final" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Consumidor Final</field>
</record>
<record id="position_buyer_moral" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Crédito Fiscal</field>
</record>
<record id="position_provider_moral" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Proveedor Fiscal</field>
</record>
<record id="position_construction_moral" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Proveedor Fiscal (Construcción)</field>
</record>
<record id="position_construction_person" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Persona Física (Construcción)</field>
</record>
<record id="position_person" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Persona Física</field>
</record>
<record id="position_nonformal" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Proveedor Informal (Bienes)</field>
</record>
<record id="position_exterior" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Proveedor del Exterior</field>
</record>
<record id="position_expenses" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Gastos Menores</field>
</record>
<record id="position_gov" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Gubernamental</field>
</record>
<record id="position_nonprofit" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">No lucrativas</field>
</record>
<record id="position_especial" model="account.fiscal.position.template">
<field name="chart_template_id" ref="do_chart_template"/>
<field name="name">Regímenes Especiales</field>
</record>
<!-- = = = = = = = = = = = = = = = -->
<!-- Fiscal Position Tax Templates -->
<!-- = = = = = = = = = = = = = = = -->
<!-- Locales -->
<!-- Proveedor Informal Bienes -->
<record id="fiscal_position_tax_3" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch"/>
<field name="position_id" ref="position_nonformal"/>
<field name="tax_dest_id" ref="tax_group_nonformal"/>
</record>
<record id="fiscal_position_tax_4" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch_incl"/>
<field name="position_id" ref="position_nonformal"/>
<field name="tax_dest_id" ref="tax_group_nonformal"/>
</record>
<!-- Persona Física>-->
<record id="fiscal_position_tax_9" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch"/>
<field name="position_id" ref="position_person"/>
<field name="tax_dest_id" ref="tax_group_person_services"/>
</record>
<record id="fiscal_position_tax_10" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch_serv"/>
<field name="position_id" ref="position_person"/>
<field name="tax_dest_id" ref="tax_group_person_services"/>
</record>
<!-- Gubernamental -->
<record id="fiscal_position_tax_1" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_sale"/>
<field name="position_id" ref="position_gov"/>
<field name="tax_dest_id" ref="tax_0_sale"/>
</record>
<record id="fiscal_position_tax_2" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch"/>
<field name="position_id" ref="position_gov"/>
<field name="tax_dest_id" ref="tax_0_purch"/>
</record>
<!-- No Lucrativas -->
<record id="fiscal_position_tax_12" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch"/>
<field name="position_id" ref="position_nonprofit"/>
<field name="tax_dest_id" ref="tax_0_purch"/>
</record>
<record id="fiscal_position_tax_13" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch_serv"/>
<field name="position_id" ref="position_nonprofit"/>
<field name="tax_dest_id" ref="ret_100_tax_nonprofit"/>
</record>
<!-- Proveedor Moral Construcción -->
<record id="fiscal_position_tax_8" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch"/>
<field name="position_id" ref="position_construction_moral"/>
<field name="tax_dest_id" ref="tax_group_moral_construction"/>
</record>
<!-- Persona Física Construcción -->
<record id="fiscal_position_tax_7" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch"/>
<field name="position_id" ref="position_construction_person"/>
<field name="tax_dest_id" ref="tax_group_person_construction"/>
</record>
<!-- Importación / Exportación -->
<!-- Proveedo del Exterior -->
<record id="fiscal_position_tax_5" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch_serv"/>
<field name="position_id" ref="position_exterior"/>
<field name="tax_dest_id" ref="ret_27_income_remittance"/>
</record>
<record id="fiscal_position_tax_6" model="account.fiscal.position.tax.template">
<field name="tax_src_id" ref="tax_18_purch"/>
<field name="position_id" ref="position_exterior"/>
<field name="tax_dest_id" ref="tax_0_purch"/>
</record>
<!-- = = = = = = = = = = = = = = = = = -->
<!-- Fiscal Position Accounts Template -->
<!-- = = = = = = = = = = = = = = = = = -->
<!-- Locales -->
<!-- Persona Física de Servicios -->
<record id="fiscal_position_account_2" model="account.fiscal.position.account.template">
<field name="position_id" ref="position_person"/>
<field name="account_dest_id" ref="do_niif_52030111"/>
<field name="account_src_id" ref="do_niif_52021500"/>
</record>
<!-- Importación / Exportación -->
<!-- Proveedor del Exterior -->
<record id="fiscal_position_account_1" model="account.fiscal.position.account.template">
<field name="position_id" ref="position_exterior"/>
<field name="account_dest_id" ref="do_niif_21010300"/>
<field name="account_src_id" ref="do_niif_21010200"/>
</record>
</data>
</odoo>
+21 -21
View File
@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<menuitem id="account_reports_do_statements_menu" name="Dominican Statements" parent="account.menu_finance_reports" sequence="3" groups="account.group_account_user"/>
<record model="account.account.template" id="default_chart_a_account_152">
<field name="name">Efectivo en transito</field>
<field name="code">112050</field>
<field name="reconcile" eval="True"/>
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
</record>
<record id="default_chart_a" model="account.chart.template">
<field name="name">Catálogo de Cuentas Empresas Privadas</field>
<field name="currency_id" ref="base.DOP"/>
<field name="code_digits" eval="8"/>
<field name="transfer_account_id" ref="default_chart_a_account_152"/>
<field name="bank_account_code_prefix">112</field>
<field name="cash_account_code_prefix">111</field>
</record>
<record model="account.account.template" id="default_chart_a_account_152">
<field name="chart_template_id" ref="default_chart_a"/>
</record>
<data noupdate="1">
<!-- Chart of Accounts Template -->
<record id="cash_transfer_account" model="account.account.template">
<field name="name">Transferencias de Efectivo</field>
<field name="code">11010100</field>
<field eval="True" name="reconcile"/>
<field name="user_type_id" ref="account.data_account_type_current_assets"/>
</record>
<record id="do_chart_template" model="account.chart.template">
<field name="name">Catálogo de Cuentas Dominicano (NIIF)</field>
<field name="code_digits">8</field>
<field name="cash_account_code_prefix">110101</field>
<field name="bank_account_code_prefix">110102</field>
<field name="transfer_account_id" ref="cash_transfer_account"/>
<field name="currency_id" ref="base.DOP"/>
<field name="spoken_languages" eval="'es_DO'"/>
</record>
<record id="cash_transfer_account" model="account.account.template">
<field name="chart_template_id" ref="do_chart_template"/>
</record>
</data>
</odoo>
+54 -49
View File
@@ -1,173 +1,177 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<!--
Resource: res.country.state
Update states using ISO 3166-2:DO codes
-->
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.
-->
<record id="state_DO_01" model="res.country.state">
<field name="code">01</field>
<field name="code">DN</field>
<field name="name">Distrito Nacional</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_02" model="res.country.state">
<field name="code">02</field>
<field name="code">AZU</field>
<field name="name">Azua</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_03" model="res.country.state">
<field name="code">03</field>
<field name="code">BAH</field>
<field name="name">Bahoruco</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_4" model="res.country.state">
<field name="code">04</field>
<field name="code">BAR</field>
<field name="name">Barahona</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_05" model="res.country.state">
<field name="code">05</field>
<field name="name">Dajabon</field>
<field name="code">DAJ</field>
<field name="name">Dajabón</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_06" model="res.country.state">
<field name="code">06</field>
<field name="code">DUA</field>
<field name="name">Duarte</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_07" model="res.country.state">
<field name="code">07</field>
<field name="name">Elias Piña</field>
<field name="code">ELP</field>
<field name="name">Elías Piña</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_08" model="res.country.state">
<field name="code">08</field>
<field name="name">El Seybo</field>
<field name="code">ELS</field>
<field name="name">El Seibo</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_09" model="res.country.state">
<field name="code">09</field>
<field name="code">ESP</field>
<field name="name">Espaillat</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_10" model="res.country.state">
<field name="code">10</field>
<field name="code">IND</field>
<field name="name">Independencia</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_11" model="res.country.state">
<field name="code">11</field>
<field name="code">LA</field>
<field name="name">La Altagracia</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_12" model="res.country.state">
<field name="code">12</field>
<field name="code">LR</field>
<field name="name">La Romana</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_13" model="res.country.state">
<field name="code">13</field>
<field name="code">LV</field>
<field name="name">La Vega</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_14" model="res.country.state">
<field name="code">14</field>
<field name="name">Maria Trinidad Sanchez</field>
<field name="code">MTS</field>
<field name="name">María Trinidad Sánchez</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_15" model="res.country.state">
<field name="code">15</field>
<field name="code">MC</field>
<field name="name">Monte Cristi</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_16" model="res.country.state">
<field name="code">16</field>
<field name="code">PED</field>
<field name="name">Pedernales</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_17" model="res.country.state">
<field name="code">17</field>
<field name="code">PER</field>
<field name="name">Peravia</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_18" model="res.country.state">
<field name="code">18</field>
<field name="code">PP</field>
<field name="name">Puerto Plata</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_19" model="res.country.state">
<field name="code">19</field>
<field name="code">HEM</field>
<field name="name">Hermanas Mirabal</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_20" model="res.country.state">
<field name="code">20</field>
<field name="name">Samana</field>
<field name="code">SAM</field>
<field name="name">Samaná</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_21" model="res.country.state">
<field name="code">21</field>
<field name="name">San Cristobal</field>
<field name="code">SC</field>
<field name="name">San Cristóbal</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_22" model="res.country.state">
<field name="code">22</field>
<field name="name">San Juan de la Maguana</field>
<field name="code">SJ</field>
<field name="name">San Juan</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_23" model="res.country.state">
<field name="code">23</field>
<field name="name">San Pedro de Macoris</field>
<field name="code">SPM</field>
<field name="name">San Pedro de Macorís</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_24" model="res.country.state">
<field name="code">24</field>
<field name="name">Sanchez Ramirez</field>
<field name="code">SRA</field>
<field name="name">Sánchez Ramírez</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_25" model="res.country.state">
<field name="code">25</field>
<field name="code">STGO</field>
<field name="name">Santiago</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_26" model="res.country.state">
<field name="code">26</field>
<field name="name">Santiago Rodriguez</field>
<field name="code">SRO</field>
<field name="name">Santiago Rodríguez</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_27" model="res.country.state">
<field name="code">27</field>
<field name="code">VAL</field>
<field name="name">Valverde</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_28" model="res.country.state">
<field name="code">28</field>
<field name="code">MON</field>
<field name="name">Monseñor Nouel</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_29" model="res.country.state">
<field name="code">29</field>
<field name="code">MP</field>
<field name="name">Monte Plata</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_30" model="res.country.state">
<field name="code">30</field>
<field name="code">HAM</field>
<field name="name">Hato Mayor</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_31" model="res.country.state">
<field name="code">31</field>
<field name="name">San Jose de Ocoa</field>
<field name="code">SJO</field>
<field name="name">San José de Ocoa</field>
<field name="country_id" ref="base.do"/>
</record>
<record id="state_DO_32" model="res.country.state">
<field name="code">32</field>
<field name="code">SD</field>
<field name="name">Santo Domingo</field>
<field name="country_id" ref="base.do"/>
</record>
<!--
Resource: res.partner.title
Update partner titles
-->
Resource: res.partner.title
Update partner titles
-->
<record id="base.res_partner_title_dra" model="res.partner.title">
<field name="name">Doctora</field>
<field name="shortcut">Dra.</field>
@@ -192,4 +196,5 @@
<field name="name">Ingeniero/a</field>
<field name="shortcut">Ing.</field>
</record>
</data>
</odoo>
+4
View File
@@ -0,0 +1,4 @@
# coding: utf-8
# Copyright 2016 iterativo (https://www.iterativo.do) <info@iterativo.do>
from . import chart_template
+18
View File
@@ -0,0 +1,18 @@
# coding: utf-8
# Copyright 2016 iterativo (https://www.iterativo.do) <info@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()
+1 -1
View File
@@ -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';
@@ -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});
});
});
},
});
+11
View File
@@ -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):
+7
View File
@@ -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])
+3 -1
View File
@@ -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):
+1
View File
@@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
57 access_mrp_unbuild mrp.unbuild model_mrp_unbuild group_mrp_user 1 0 0 0
58 access_mrp_unbuild_manager mrp.unbuild manager model_mrp_unbuild group_mrp_manager 1 1 1 1
59 access_mrp_message_mrp_user mrp.message model_mrp_message group_mrp_user 1 0 0 0
60 access_mrp_message_mrp_manager mrp.message model_mrp_message group_mrp_manager 1 1 1 1
61 access_stock_move_lots stock.move.lots model_stock_move_lots group_mrp_user 1 1 1 0
62 access_stock_move_lots_manager stock.move.lots model_stock_move_lots group_mrp_manager 1 1 1 1
+3 -2
View File
@@ -51,12 +51,13 @@
<button name="post_inventory" string="Post Inventory" type="object" attrs="{'invisible': [('post_visible', '=', False)]}"/>
<button name="action_cancel" type="object" string="Cancel" attrs="{'invisible': ['|', ('state', 'in', ('done','cancel')), ('check_to_done', '=', True)]}"/>
<button name="button_scrap" type="object" string="Scrap" attrs="{'invisible': ['|', ('availability', '=', 'none'), ('state', 'in', ('cancel'))]}"/>
<button name="button_unreserve" type="object" string="Unreserve" attrs="{'invisible': ['|', ('state', 'in', ['done', 'cancel']), ('availability', 'in', ['none', 'waiting'])]}"/>
<button name="button_unreserve" type="object" string="Unreserve" attrs="{'invisible': [('unreserve_visible', '=', False)]}"/>
<span class="label label-danger" attrs="{'invisible': ['|', ('availability', 'in', ('assigned', 'none')), ('state', 'not in', ('confirmed','progress'))]}">Raw materials not available!</span>
<field name="state" widget="statusbar" statusbar_visible="confirmed,progress,done"/>
</header>
<sheet>
<field name="post_visible" invisible="1"/>
<field name="unreserve_visible" invisible="1"/>
<div class="oe_button_box" name="button_box">
<button name="%(action_mrp_workorder_production_specific)d" type="action" attrs="{'invisible': [('workorder_count', '=', 0)]}" class="oe_stat_button" icon="fa-play-circle-o">
<div class="o_form_field o_stat_info">
@@ -264,7 +265,7 @@
<separator/>
<filter string="No Routing" domain="[('routing_id','=', False)]" name="norouting" groups="mrp.group_mrp_routings"/>
<field name="product_id"/>
<field name="product_id" string="Raw Material" filter_domain="[('move_raw_ids.product_id','ilike',self)]"/>
<field name="move_raw_ids" string="Raw Material" filter_domain="[('move_raw_ids.product_id','ilike',self)]"/>
<field name="name" string="Work Center" filter_domain="[('routing_id.operation_ids.workcenter_id','ilike',self)]"/>
<field name="routing_id" groups="mrp.group_mrp_routings"/>
<separator/>
+12 -1
View File
@@ -184,12 +184,22 @@ var Gui = core.Class.extend({
close_other_tabs: function() {
var self = this;
// avoid closing itself
var now = Date.now();
localStorage['message'] = '';
localStorage['message'] = JSON.stringify({
'message':'close_tabs',
'session': this.pos.pos_session.id,
'window_uid': now,
});
// storage events are (most of the time) triggered only when the
// localstorage is updated in a different tab.
// some browsers (e.g. IE) does trigger an event in the same tab
// This may be a browser bug or a different interpretation of the HTML spec
// cf https://connect.microsoft.com/IE/feedback/details/774798/localstorage-event-fired-in-source-window
// Use window_uid parameter to exclude the current window
window.addEventListener("storage", function(event) {
var msg = event.data;
@@ -197,7 +207,8 @@ var Gui = core.Class.extend({
var msg = JSON.parse(event.newValue);
if ( msg.message === 'close_tabs' &&
msg.session == self.pos.pos_session.id ) {
msg.session == self.pos.pos_session.id &&
msg.window_uid != now) {
console.info('POS / Session opened in another window. EXITING POS')
self._close();
@@ -11,7 +11,7 @@ create_ramdisk () {
echo "Creating ramdisk for ${1} of size ${SIZE}..."
mount -t tmpfs -o size="${SIZE}" tmpfs "${RAMDISK}"
rsync -a --exclude="swap" --exclude="apt" --exclude="dpkg" "${ORIGINAL}/" "${RAMDISK}/"
rsync -a --exclude="swap" --exclude="apt" --exclude="dpkg" --exclude=".mozilla" "${ORIGINAL}/" "${RAMDISK}/"
mount --bind "${RAMDISK}" "${ORIGINAL}"
}
@@ -0,0 +1,8 @@
[LightDM]
user-authority-in-system-dir=true
[SeatDefaults]
xserver-command=/usr/bin/X -s 0 dpms -nolisten tcp
greeter-hide-users=false
autologin-user=pi
@@ -0,0 +1,6 @@
#!/bin/bash
xset s off
xset -dpms
export HOME=/tmp
/usr/bin/firefox http://localhost:8069/point_of_sale/display &
@@ -0,0 +1,32 @@
Manifest-Version: 1.0
Name: install.rdf
Digest-Algorithms: MD5 SHA1
MD5-Digest: xnFKNbJgc33dy/FJ+4cmHA==
SHA1-Digest: 4YLgHgdgCw4lGCfsX7+r4zVmKJ4=
Name: chrome.manifest
Digest-Algorithms: MD5 SHA1
MD5-Digest: O5ce4bajAqUxG6iVul0K2w==
SHA1-Digest: wb6VleWnV5GgLypmg1ij9TfmPLE=
Name: content/rkioskbrowser.js
Digest-Algorithms: MD5 SHA1
MD5-Digest: /cF15tfVnbkfbxRVTL5N+g==
SHA1-Digest: lvbY92PbsjwY+0TguEYoXWw0lxQ=
Name: content/rkioskbrowser.xul
Digest-Algorithms: MD5 SHA1
MD5-Digest: NFOIpAmZtn20Y+XfTo4cpw==
SHA1-Digest: VVIo7GdG+4mvAOtgR0DJUsSc/yg=
Name: content/rkioskunknownContentType.xul
Digest-Algorithms: MD5 SHA1
MD5-Digest: 6cNGoHJS9Xvm+wmvo4IesQ==
SHA1-Digest: T8i1MkMKjmn5HICqWv+iXSPRKIU=
Name: content/rkioskxpinstallConfirm.xul
Digest-Algorithms: MD5 SHA1
MD5-Digest: SxN1YnRJiuood2WhU85v9g==
SHA1-Digest: Msj21u4bTAKUi496xld5YCGdjiA=
@@ -0,0 +1,4 @@
Signature-Version: 1.0
MD5-Digest-Manifest: 7hFyhNW67+H+rf9OhWGDkA==
SHA1-Digest-Manifest: HvfAQQLXphSZ9m8KBorJMX8MUnE=
@@ -0,0 +1,3 @@
The R-kiosk module has been downloaded from https://addons.mozilla.org/en-US/firefox/addon/r-kiosk/
It is in the public domain as stated on https://addons.mozilla.org/en-US/firefox/addon/r-kiosk/eula/
This mozilla module is shipped by Odoo to provide out of the box Client facing display to Odoo's Posbox
@@ -0,0 +1,4 @@
content RKiosk content/
overlay chrome://browser/content/browser.xul chrome://rkiosk/content/rkioskbrowser.xul
overlay chrome://mozapps/content/xpinstall/xpinstallConfirm.xul chrome://rkiosk/content/rkioskxpinstallConfirm.xul
overlay chrome://mozapps/content/downloads/unknownContentType.xul chrome://rkiosk/content/rkioskunknownContentType.xul
@@ -0,0 +1,34 @@
function Rkiosk_donothing()
{
}
function rkioskclose()
{
close();
}
function Rkiosk_navbar_setting()
{
var rkiosk_navbar_enable="true";
var prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefBranch);
if (prefs.getPrefType("rkiosk.navbar") == prefs.PREF_BOOL){
if (prefs.getBoolPref("rkiosk.navbar")) rkiosk_navbar_enable = "false";
}
var rkiosk_element = document.getElementById("navigator-toolbox");
rkiosk_element.setAttribute("hidden", rkiosk_navbar_enable);
}
function RkioskBrowserStartup()
{
Rkiosk_navbar_setting();
BrowserStartup();
setTimeout(RkioskdelayedStartup, 1000);
}
function RkioskdelayedStartup()
{
window.fullScreen = true;
}
@@ -0,0 +1,175 @@
<?xml version="1.0"?>
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<window id="main-window"
onload="RkioskBrowserStartup()">
</window>
<script type="application/x-javascript" src="rkioskbrowser.js"/>
<menubar id="main-menubar" hidden="true" fullscreentoolbar="false" disabled="true">
<menuitem id="menu_preferences" disabled="true"/>
</menubar>
<popup id="contentAreaContextMenu"
onpopupshowing="if (event.target != this) return true; return false;"
onpopuphiding="if (event.target == this) gContextMenu = null;">
</popup>
<commandset id="mainCommandSet">
<command id="cmd_newNavigator" disabled="true"/>
<command id="cmd_handleBackspace" disabled="true"/>
<command id="cmd_handleShiftBackspace" disabled="true"/>
<command id="cmd_newNavigatorTab" disabled="true"/>
<command id="Browser:OpenFile" disabled="true"/>
<command id="Browser:SavePage" disabled="true"/>
<command id="Browser:SaveFrame" disabled="true"/>
<command id="Browser:SendLink" disabled="true"/>
<command id="cmd_pageSetup" disabled="true"/>
<command id="cmd_print" oncommand="PrintUtils.print();"/>
<command id="cmd_printPreview" disabled="true"/>
<command id="cmd_close" disabled="true"/>
<command id="cmd_closeWindow" disabled="true"/>
<command id="cmd_ToggleTabsOnTop" disabled="true"/>
<command id="cmd_quitApplication" disabled="true"/>
<command id="cmd_toggleTaskbar" disabled="true"/>
<command id="cmd_CustomizeToolbars" disabled="true"/>
<commandset id="editMenuCommands"/>
<command id="View:PageSource" disabled="true"/>
<command id="View:PageInfo" disabled="true"/>
<command id="View:FullScreen" disabled="true"/>
<command id="cmd_find" disabled="true"/>
<command id="cmd_findAgain" disabled="true"/>
<command id="cmd_findPrevious" disabled="true"/>
<command id="Browser:AddBookmarkAs" disabled="true"/>
<command id="Browser:BookmarkAllTabs" disabled="true"/>
<command id="Browser:Home" oncommand="BrowserHome();"/>
<command id="Browser:Back" disabled="true"/>
<command id="Browser:Forward" disabled="true"/>
<command id="Browser:Stop" disabled="true"/>
<command id="Browser:Reload" disabled="true"/>
<command id="Browser:ReloadSkipCache" disabled="true"/>
<command id="Browser:BackOrBackDuplicate" disabled="true"/>
<command id="Browser:Forward" disabled="true"/>
<command id="Browser:ForwardOrForwardDuplicate" disabled="true"/>
<command id="Browser:ReloadOrDuplicate" disabled="true"/>
<command id="Browser:NextTab" disabled="true"/>
<command id="Browser:PrevTab" disabled="true"/>
<command id="Browser:ShowAllTabs" disabled="true"/>
<command id="Browser:ToggleTabView" disabled="true"/>
<command id="Browser:ToggleAddonBar" disabled="true"/>
<command id="cmd_fullZoomReduce" disabled="true"/>
<command id="cmd_fullZoomEnlarge" disabled="true"/>
<command id="cmd_fullZoomReset" disabled="true"/>
<command id="cmd_fullZoomToggle" disabled="true"/>
<command id="Browser:OpenLocation" disabled="true"/>
<command id="Tools:Search" disabled="true"/>
<command id="Tools:Downloads" disabled="true"/>
<command id="Tools:Addons" disabled="true"/>
<command id="Tools:Sanitize" disabled="true"/>
<command id="Tools:Inspect" disabled="true"/>
<command id="Tools:PrivateBrowsing" disabled="true"/>
<command id="History:UndoCloseTab" disabled="true"/>
<command id="History:UndoCloseWindow" disabled="true"/>
<command id="cmd_bm_open" disabled="true"/>
<command id="cmd_bm_openinnewwindow" disabled="true"/>
<command id="cmd_bm_openinnewtab" disabled="true"/>
<command id="cmd_bm_openfolder" disabled="true"/>
<command id="cmd_bm_managefolder" disabled="true"/>
<command id="cmd_bm_newfolder" disabled="true"/>
<command id="cmd_bm_newbookmark" disabled="true"/>
<command id="cmd_bm_newseparator" disabled="true"/>
<command id="cmd_bm_properties" disabled="true"/>
<command id="cmd_bm_refreshlivemark" disabled="true"/>
<command id="cmd_bm_refreshmicrosummary" disabled="true"/>
<command id="cmd_bm_rename" disabled="true"/>
<command id="cmd_bm_moveBookmark" disabled="true"/>
<command id="cmd_bm_sortbyname" disabled="true"/>
<command id="cmd_copyLink" disabled="true"/>
<command id="cmd_copyImageLocation" disabled="true"/>
<command id="cmd_copyImageContents" disabled="true"/>
<command id="cmd_undo" disabled="true"/>
<command id="cmd_redo" disabled="true"/>
<command id="cmd_cut" disabled="true"/>
<command id="cmd_copy" disabled="true"/>
<command id="cmd_paste" disabled="true"/>
<command id="cmd_delete" disabled="true"/>
<command id="cmd_selectAll" disabled="true"/>
<command id="cmd_switchTextDirection" disabled="true"/>
<command id="cmd_textZoomReduce" disabled="true"/>
<command id="cmd_textZoomEnlarge" disabled="true"/>
<command id="cmd_textZoomReset" disabled="true"/>
</commandset>
<commandset id="placesCommands">
<command id="Browser:ShowAllBookmarks" disabled="true"/>
<command id="Browser:ShowAllHistory" disabled="true"/>
</commandset>
<keyset id="mainKeyset">
<key id="rkiosk_f1" keycode="VK_F1" oncommand="Rkiosk_donothing();"/>
<key id="key_newNavigator" disabled="true"/>
<key id="key_newNavigatorTab" disabled="true"/>
<key id="focusURLBar" disabled="true"/>
<key id="focusURLBar2" disabled="true"/>
<key id="key_search" disabled="true"/>
<key id="key_search2" disabled="true"/>
<key id="key_openDownloads" disabled="true"/>
<key id="openFileKb" disabled="true"/>
<key id="key_savePage" disabled="true"/>
<key id="printKb" disabled="true"/>
<key id="key_close" disabled="true"/>
<key id="key_closeWindow" disabled="true"/>
<key id="key_undo" disabled="true"/>
<key id="key_redo" disabled="true"/>
<key id="key_cut" disabled="true"/>
<key id="key_copy" disabled="true"/>
<key id="key_paste" disabled="true"/>
<key id="key_delete" disabled="true"/>
<key id="key_selectAll" disabled="true"/>
<key id="goBackKb" disabled="true"/>
<key id="goForwardKb" disabled="true"/>
<key id="goHome" keycode="VK_HOME" command="Browser:Home" modifiers="alt"/>
<key id="key_viewSource" disabled="true"/>
<key id="key_find" disabled="true"/>
<key id="key_findAgain" disabled="true"/>
<key id="key_findPrevious" disabled="true"/>
<key id="addBookmarkAsKb" disabled="true"/>
<key id="bookmarkAllTabsKb" disabled="true"/>
<key id="key_stop" disabled="true"/>
<key id="key_gotoHistory" command="Rkiosk_donothing();"/>
<key id="key_switchTextDirection" disabled="true"/>
<key id="key_sanitize" disabled="true"/>
<key id="key_undoCloseTab" disabled="true"/>
<key id="viewBookmarksSidebarKb" command="Rkiosk_donothing();"/>
<key id="viewBookmarksSidebarWinKb" command="Rkiosk_donothing();"/>
<key id="key_fullScreen" disabled="true"/>
<key id="key_textZoomReduce" disabled="true"/>
<key id="key_textZoomEnlarge" disabled="true"/>
<key id="key_textZoomReset" disabled="true"/>
<key id="showAllHistoryKb" disabled="true"/>
<key id="key_errorConsole" disabled="true"/>
<key id="manBookmarkKb" disabled="true"/>
<key id="key_fullZoomReduce" disabled="true"/>
<key id="key_fullZoomEnlarge" disabled="true"/>
<key id="key_fullZoomReset" disabled="true"/>
<key id="key_openAddons" disabled="true"/>
<key id="key_webConsole" disabled="true"/>
<key id="key_inspect" disabled="true"/>
<key id="key_scratchpad" disabled="true"/>
<key id="key_showAllTabs" disabled="true"/>
<key id="key_tabview" disabled="true"/>
<key id="key_privatebrowsing" disabled="true"/>
<key id="key_undoCloseWindow" disabled="true"/>
<key id="key_selectTab1" disabled="true"/>
<key id="key_selectTab2" disabled="true"/>
<key id="key_selectTab3" disabled="true"/>
<key id="key_selectTab4" disabled="true"/>
<key id="key_selectTab5" disabled="true"/>
<key id="key_selectTab6" disabled="true"/>
<key id="key_selectTab7" disabled="true"/>
<key id="key_selectTab8" disabled="true"/>
<key id="key_selectLastTab" disabled="true"/>
<key id="key_toggleAddonBar" disabled="true"/>
</keyset>
</overlay>
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<overlay>
<dialog id="unknownContentType"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="rkioskclose();">
<script src="rkioskbrowser.js"/>
</dialog>
</overlay>
@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<overlay>
<dialog id="xpinstallConfirm"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="rkioskclose();">
<script src="rkioskbrowser.js"/>
</dialog>
</overlay>
@@ -0,0 +1,19 @@
<?xml version='1.0' encoding='utf-8'?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:install-manifest">
<em:id>{4D498D0A-05AD-4fdb-97B5-8A0AABC1FC5B}</em:id>
<em:name>R-kiosk</em:name>
<em:version>0.9.0.1-signed.1-signed</em:version>
<em:description>RKiosk (Real Kiosk), fullscreen kiosk mode: all menus, keys etc. disabled</em:description>
<em:creator>Kimmo Heinaaro</em:creator>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>2.0</em:minVersion>
<em:maxVersion>6.*</em:maxVersion>
</Description>
</em:targetApplication>
</Description>
</RDF>
@@ -0,0 +1,7 @@
// Preferences to allow unattended install of R-Kiosk extension
// Needed for Odoo posbox Client display
pref("app.update.checkInstallTime", false);
pref("devtools.webide.widget.autoinstall", false);
pref("xpinstall.customConfirmationUI", false);
pref("xpinstall.signatures.required", false);
pref("browser.shell.checkDefaultBrowser",false)
@@ -26,7 +26,7 @@ test -x $DAEMON || exit 0
set -e
function _start() {
start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $USER:$USER --background --make-pidfile --exec $DAEMON -- --config $CONFIG --logfile $LOGFILE --load=web,hw_proxy,hw_posbox_homepage,hw_posbox_upgrade,hw_scale,hw_scanner,hw_escpos,hw_blackbox_be
start-stop-daemon --start --quiet --pidfile $PIDFILE --chuid $USER:$USER --background --make-pidfile --exec $DAEMON -- --config $CONFIG --logfile $LOGFILE --load=web,hw_proxy,hw_posbox_homepage,hw_posbox_upgrade,hw_scale,hw_scanner,hw_escpos,hw_blackbox_be,hw_screen
}
function _stop() {
@@ -8,17 +8,25 @@ __dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
__base="$(basename ${__file} .sh)"
# Since we are emulating, the real /boot is not mounted,
# leading to mismatch between kernel image and modules.
mount /dev/sda1 /boot
# Recommends: antiword, graphviz, ghostscript, postgresql, python-gevent, poppler-utils
export DEBIAN_FRONTEND=noninteractive
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
mount /dev/sda1 /boot
apt-get update
apt-get -y dist-upgrade
# Do not be too fast to upgrade to more recent firmware and kernel than 4.38
# Firmware 4.44 seems to prevent the LED mechanism from working
PKGS_TO_INSTALL="adduser postgresql-client python python-dateutil python-decorator python-docutils python-feedparser python-imaging python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid python-passlib python-psutil python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-pypdf python-reportlab python-requests python-tz python-vatnumber python-vobject python-werkzeug python-xlwt python-yaml postgresql python-gevent python-serial python-pip python-dev localepurge vim mc mg screen iw hostapd isc-dhcp-server git rsync console-data"
PKGS_TO_INSTALL="adduser postgresql-client python python-dateutil python-decorator python-docutils python-feedparser python-imaging python-jinja2 python-ldap python-libxslt1 python-lxml python-mako python-mock python-openid python-passlib python-psutil python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-pypdf python-reportlab python-requests python-tz python-vatnumber python-vobject python-werkzeug python-xlwt python-yaml postgresql python-gevent python-serial python-pip python-dev localepurge vim mc mg screen iw hostapd isc-dhcp-server git rsync console-data lightdm xserver-xorg-video-fbdev xserver-xorg-input-evdev iceweasel xdotool unclutter x11-utils openbox python-netifaces rpi-update"
apt-get -y install ${PKGS_TO_INSTALL}
# KEEP OWN CONFIG FILES DURING PACKAGE CONFIGURATION
# http://serverfault.com/questions/259226/automatically-keep-current-version-of-config-files-when-apt-get-install
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes install ${PKGS_TO_INSTALL}
apt-get clean
localepurge
@@ -32,13 +40,20 @@ pip install pyusb==1.0.0b1
pip install qrcode
pip install evdev
# --upgrade because websocket_client in wheezy is bad:
# https://github.com/docker/compose/issues/1288
pip install --upgrade websocket_client
groupadd usbusers
usermod -a -G usbusers pi
usermod -a -G lp pi
usermod -a -G input lightdm
sudo -u postgres createuser -s pi
mkdir /var/log/odoo
chown pi:pi /var/log/odoo
chown pi:pi -R /home/pi/odoo/
chmod 770 -R /home/pi/odoo/
# logrotate is very picky when it comes to file permissions
chown -R root:root /etc/logrotate.d/
@@ -54,6 +69,31 @@ update-rc.d -f isc-dhcp-server remove
systemctl daemon-reload
systemctl enable ramdisks.service
systemctl disable dphys-swapfile.service
systemctl enable ssh
# USER PI AUTO LOGIN (from nano raspi-config)
# We take the whole algorithm from raspi-config in order to stay compatible with raspbian infrastructure
if command -v systemctl > /dev/null && systemctl | grep -q '\-\.mount'; then
SYSTEMD=1
elif [ -f /etc/init.d/cron ] && [ ! -h /etc/init.d/cron ]; then
SYSTEMD=0
else
echo "Unrecognised init system"
return 1
fi
if [ $SYSTEMD -eq 1 ]; then
systemctl set-default graphical.target
ln -fs /etc/systemd/system/autologin@.service /etc/systemd/system/getty.target.wants/getty@tty1.service
else
update-rc.d lightdm enable 2
fi
# disable overscan in /boot/config.txt, we can't use
# overwrite_after_init because it's on a different device
# (/dev/mmcblk0p1) and we don't mount that afterwards.
# This option disables any black strips around the screen
# cf: https://www.raspberrypi.org/documentation/configuration/raspi-config.md
echo "disable_overscan=1" >> /boot/config.txt
# https://www.raspberrypi.org/forums/viewtopic.php?p=79249
# to not have "setting up console font and keymap" during boot take ages
@@ -68,5 +108,6 @@ create_ramdisk_dir "/var"
create_ramdisk_dir "/etc"
create_ramdisk_dir "/tmp"
mkdir /root_bypass_ramdisks
umount /dev/sda1
reboot
@@ -0,0 +1,2 @@
SUBSYSTEM=="input", GROUP="input", MODE="0660"
KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660"
@@ -36,20 +36,25 @@ fi
cp -a *raspbian*.img posbox.img
CLONE_DIR="${OVERWRITE_FILES_BEFORE_INIT_DIR}/home/pi/odoo"
rm -rf "${CLONE_DIR}"
mkdir "${CLONE_DIR}"
git clone -b 8.0 --no-checkout --depth 1 https://github.com/odoo/odoo.git "${CLONE_DIR}"
cd "${CLONE_DIR}"
git config core.sparsecheckout true
echo "addons/web
if [ ! -d $CLONE_DIR ]; then
echo "Clone Github repo"
mkdir -p "${CLONE_DIR}"
git clone -b 8.0 --no-local --no-checkout --depth 1 https://github.com/odoo/odoo.git "${CLONE_DIR}"
cd "${CLONE_DIR}"
git config core.sparsecheckout true
echo "addons/web
addons/web_kanban
addons/hw_*
addons/point_of_sale/tools/posbox/configuration
openerp/
odoo.py" | tee --append .git/info/sparse-checkout > /dev/null
git read-tree -mu HEAD
cd "${__dir}"
git read-tree -mu HEAD
fi
cd "${__dir}"
USR_BIN="${OVERWRITE_FILES_BEFORE_INIT_DIR}/usr/bin/"
mkdir -p "${USR_BIN}"
cd "/tmp"
@@ -60,9 +65,11 @@ cd "${__dir}"
mv /tmp/ngrok "${USR_BIN}"
# zero pad the image to be around 3.5 GiB, by default the image is only ~1.3 GiB
echo "Enlarging the image..."
dd if=/dev/zero bs=1M count=2048 >> posbox.img
# resize partition table
echo "Fdisking"
START_OF_ROOT_PARTITION=$(fdisk -l posbox.img | tail -n 1 | awk '{print $2}')
(echo 'p'; # print
echo 'd'; # delete
@@ -75,7 +82,7 @@ START_OF_ROOT_PARTITION=$(fdisk -l posbox.img | tail -n 1 | awk '{print $2}')
echo 'p'; # print
echo 'w') | fdisk posbox.img # write and quit
LOOP_MAPPER_PATH=$(kpartx -av posbox.img | tail -n 1 | cut -d ' ' -f 3)
LOOP_MAPPER_PATH=$(kpartx -avs posbox.img | tail -n 1 | cut -d ' ' -f 3)
LOOP_MAPPER_PATH="/dev/mapper/${LOOP_MAPPER_PATH}"
sleep 5
+10 -7
View File
@@ -42,7 +42,7 @@ class PurchaseOrder(models.Model):
if min_date:
order.date_planned = min_date
@api.depends('state', 'order_line.qty_invoiced', 'order_line.product_qty')
@api.depends('state', 'order_line.qty_invoiced', 'order_line.qty_received', 'order_line.product_qty')
def _get_invoiced(self):
precision = self.env['decimal.precision'].precision_get('Product Unit of Measure')
for order in self:
@@ -50,9 +50,9 @@ class PurchaseOrder(models.Model):
order.invoice_status = 'no'
continue
if any(float_compare(line.qty_invoiced, line.product_qty, precision_digits=precision) == -1 for line in order.order_line):
if any(float_compare(line.qty_invoiced, line.product_qty if line.product_id.purchase_method == 'purchase' else line.qty_received, precision_digits=precision) == -1 for line in order.order_line):
order.invoice_status = 'to invoice'
elif all(float_compare(line.qty_invoiced, line.product_qty, precision_digits=precision) >= 0 for line in order.order_line):
elif all(float_compare(line.qty_invoiced, line.product_qty if line.product_id.purchase_method == 'purchase' else line.qty_received, precision_digits=precision) >= 0 for line in order.order_line):
order.invoice_status = 'invoiced'
else:
order.invoice_status = 'no'
@@ -521,7 +521,10 @@ class PurchaseOrderLine(models.Model):
qty = 0.0
for inv_line in line.invoice_lines:
if inv_line.invoice_id.state not in ['cancel']:
qty += inv_line.uom_id._compute_quantity(inv_line.quantity, line.product_uom)
if inv_line.invoice_id.type == 'in_invoice':
qty += inv_line.uom_id._compute_quantity(inv_line.quantity, line.product_uom)
elif inv_line.invoice_id.type == 'in_refund':
qty -= inv_line.uom_id._compute_quantity(inv_line.quantity, line.product_uom)
line.qty_invoiced = qty
@api.depends('order_id.state', 'move_ids.state')
@@ -579,8 +582,8 @@ class PurchaseOrderLine(models.Model):
invoice_lines = fields.One2many('account.invoice.line', 'purchase_line_id', string="Bill Lines", readonly=True, copy=False)
# Replace by invoiced Qty
qty_invoiced = fields.Float(compute='_compute_qty_invoiced', string="Billed Qty", store=True)
qty_received = fields.Float(compute='_compute_qty_received', string="Received Qty", store=True)
qty_invoiced = fields.Float(compute='_compute_qty_invoiced', string="Billed Qty", digits=dp.get_precision('Product Unit of Measure'), store=True)
qty_received = fields.Float(compute='_compute_qty_received', string="Received Qty", digits=dp.get_precision('Product Unit of Measure'), store=True)
partner_id = fields.Many2one('res.partner', related='order_id.partner_id', string='Partner', readonly=True, store=True)
currency_id = fields.Many2one(related='order_id.currency_id', store=True, string='Currency', readonly=True)
@@ -1041,7 +1044,7 @@ class ProductTemplate(models.Model):
@api.model
def _get_buy_route(self):
buy_route = self.env.ref('purchase.route_warehouse0_buy')
buy_route = self.env.ref('purchase.route_warehouse0_buy', raise_if_not_found=False)
if buy_route:
return buy_route.ids
return []
@@ -22,6 +22,7 @@ class TestPurchaseOrder(AccountingTestCase):
self.product_id_1 = self.env.ref('product.product_product_8')
self.product_id_2 = self.env.ref('product.product_product_11')
(self.product_id_1 | self.product_id_2).write({'purchase_method': 'purchase'})
# Ensure product_id_2 doesn't have res_partner_1 as supplier
if self.partner_id in self.product_id_2.seller_ids.mapped('name'):
id_to_remove = self.product_id_2.seller_ids.filtered(lambda r: r.name == self.partner_id).ids[0] if self.product_id_2.seller_ids.filtered(lambda r: r.name == self.partner_id) else False
@@ -80,6 +81,7 @@ class TestPurchaseOrder(AccountingTestCase):
'partner_id': self.partner_id.id,
'purchase_id': self.po.id,
'account_id': self.partner_id.property_account_payable_id.id,
'type': 'in_invoice',
})
self.invoice.purchase_order_change()
self.assertEqual(self.po.order_line.mapped('qty_invoiced'), [5.0, 5.0], 'Purchase: all products should be invoiced"')
+1 -1
View File
@@ -88,7 +88,7 @@
</tr>
</table>
</td></tr>
<tr><td style="padding:15px 20px 10px 20px;">${object.user_id.signature or ''| safe}</td></tr>
<tr><td style="padding:15px 20px 10px 20px;">${(object.user_id.signature or '')| safe}</td></tr>
</tbody>
</table>
<table style="width:600px;margin:auto;text-align:center;font-size:12px;">
@@ -1,6 +1,8 @@
odoo.define('report.editor', function (require) {
'use strict';
var ajax = require('web.ajax');
var core = require('web.core');
var utils = require('report.utils');
var editor = require('web_editor.editor');
var options = require('web_editor.snippets.options');
@@ -10,6 +12,8 @@ var trusted_host = utils.get_host_from_url(web_base_url);
var trusted_protocol = utils.get_protocol_from_url(web_base_url);
var trusted_origin = utils.build_origin(trusted_protocol, trusted_host);
ajax.loadXML('/web/static/src/xml/base_common.xml', core.qweb);
// Patch the editor's behavior when it is launched inside an iframe.
if (window.self !== window.top) {
$(document.body).addClass('o_in_iframe'); // in order to apply css rules
+1
View File
@@ -820,6 +820,7 @@ class SaleOrderLine(models.Model):
@api.multi
def _get_display_price(self, product):
# TO DO: move me in master/saas-16 on sale.order
if self.order_id.pricelist_id.discount_policy == 'without_discount':
from_currency = self.order_id.company_id.currency_id
return from_currency.compute(product.lst_price, self.order_id.pricelist_id.currency_id)
+6 -2
View File
@@ -375,7 +375,7 @@ class StockMove(models.Model):
rules = Push.search(domain + [('route_id', 'in', move.picking_id.picking_type_id.warehouse_id.route_ids.ids)], order='route_sequence, sequence', limit=1)
if not rules:
# if no specialized push rule has been found yet, we try to find a general one (without route)
rules = Push.search(domain + [('route_id', '=', False)], order='sequence')
rules = Push.search(domain + [('route_id', '=', False)], order='sequence', limit=1)
# Make sure it is not returning the return
if rules and (not move.origin_returned_move_id or move.origin_returned_move_id.location_dest_id.id != rules.location_dest_id.id):
rules._apply(move)
@@ -564,6 +564,7 @@ class StockMove(models.Model):
moves_to_assign = self.env['stock.move']
moves_to_do = self.env['stock.move']
operations = self.env['stock.pack.operation']
ancestors_list = {}
# work only on in progress moves
moves = self.filtered(lambda move: move.state in ['confirmed', 'waiting', 'assigned'])
@@ -586,6 +587,7 @@ class StockMove(models.Model):
# we always search for yet unassigned quants
main_domain[move.id] = [('reservation_id', '=', False), ('qty', '>', 0)]
ancestors_list[move.id] = True if ancestors else False
if move.state == 'waiting' and not ancestors:
# if the waiting move hasn't yet any ancestor (PO/MO not confirmed yet), don't find any quant available in stock
main_domain[move.id] += [('id', '=', False)]
@@ -629,7 +631,9 @@ class StockMove(models.Model):
lot_qty[lot] -= qty
move_qty -= qty
for move in moves_to_do:
# Sort moves to reserve first the ones with ancestors, in case the same product is listed in
# different stock moves.
for move in sorted(moves_to_do, key=lambda x: -1 if ancestors_list.get(x.id) else 0):
# then if the move isn't totally assigned, try to find quants without any specific domain
if move.state != 'assigned' and not self.env.context.get('reserve_only_ops'):
qty_already_assigned = move.reserved_availability
+1 -1
View File
@@ -74,4 +74,4 @@ access_barcode_rule_stock_user,barcode.rule.stock.user,barcodes.model_barcode_ru
access_barcode_rule_stock_manager,barcode.rule.stock.manager,barcodes.model_barcode_rule,stock.group_stock_manager,1,1,1,1
access_stock_forecast_user,report.stock.forecast.user,model_report_stock_forecast,stock.group_stock_user,1,0,0,0
access_stock_forecast_manager,report.stock.forecast.manager,model_report_stock_forecast,stock.group_stock_manager,1,1,1,1
access_stock_scrap_user,stock.scrap.user,model_stock_scrap,stock.group_stock_user,1,0,0,0
access_stock_scrap_user,stock.scrap.user,model_stock_scrap,stock.group_stock_user,1,1,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
74 access_barcode_rule_stock_manager barcode.rule.stock.manager barcodes.model_barcode_rule stock.group_stock_manager 1 1 1 1
75 access_stock_forecast_user report.stock.forecast.user model_report_stock_forecast stock.group_stock_user 1 0 0 0
76 access_stock_forecast_manager report.stock.forecast.manager model_report_stock_forecast stock.group_stock_manager 1 1 1 1
77 access_stock_scrap_user stock.scrap.user model_stock_scrap stock.group_stock_user 1 0 1 0 1 0
@@ -1,4 +1,6 @@
#wrapwrap {
width: 85%;
margin: 0 auto;
}
@media (min-width: @screen-sm-min){
width: 85%;
margin: 0 auto;
}
}
+38 -7
View File
@@ -850,31 +850,62 @@ function eval_contexts (contexts, evaluation_context) {
function eval_domains (domains, evaluation_context) {
evaluation_context = _.extend(pycontext(), evaluation_context || {});
var result_domain = [];
// Normalize only if the first domain is the array ["|"] or ["!"]
var need_normalization = (
domains &&
domains.length > 0 &&
domains[0].length === 1 &&
(domains[0][0] === "|" || domains[0][0] === "!")
);
_(domains).each(function (domain) {
if (_.isString(domain)) {
// wrap raw strings in domain
domain = { __ref: 'domain', __debug: domain };
}
var domain_array_to_combine;
switch(domain.__ref) {
case 'domain':
evaluation_context.context = evaluation_context;
result_domain.push.apply(
result_domain, py.eval(domain.__debug, wrap_context(evaluation_context)));
domain_array_to_combine = py.eval(domain.__debug, wrap_context(evaluation_context));
break;
case 'compound_domain':
var eval_context = eval_contexts([domain.__eval_context]);
result_domain.push.apply(
result_domain, eval_domains(
domain.__domains, _.extend(
{}, evaluation_context, eval_context)));
domain_array_to_combine = eval_domains(
domain.__domains, _.extend({}, evaluation_context, eval_context)
);
break;
default:
result_domain.push.apply(result_domain, domain);
domain_array_to_combine = domain;
}
if (need_normalization) {
domain_array_to_combine = get_normalized_domain(domain_array_to_combine);
}
result_domain.push.apply(result_domain, domain_array_to_combine);
});
return result_domain;
}
/**
* Returns a normalized copy of the given domain array. Normalization is
* is making the implicit "&" at the start of the domain explicit, e.g.
* [A, B, C] would become ["&", "&", A, B, C].
*
* @param {Array} domain_array
* @returns {Array} normalized copy of the given array
*/
function get_normalized_domain(domain_array) {
var expected = 1; // Holds the number of expected domain expressions
_.each(domain_array, function (item) {
if (item === "&" || item === "|") {
expected++;
} else if (item !== "!") {
expected--;
}
});
var new_explicit_ands = _.times(-expected, _.constant("&"));
return new_explicit_ands.concat(domain_array);
}
function eval_groupbys (contexts, evaluation_context) {
evaluation_context = _.extend(pycontext(), evaluation_context || {});
var result_group = [];
@@ -959,7 +959,8 @@ var X2ManyListView = ListView.extend({
field.no_rerender = true;
current_values[field.name] = field.get('value');
});
var cached_records = _.filter(this.dataset.cache, function(item){return !_.isEmpty(item.values) && !item.to_delete;});
var ids = _.map(this.records.records, function (item) { return item.attributes.id; });
var cached_records = _.filter(this.dataset.cache, function(item){return _.contains(ids, item.id) && !_.isEmpty(item.values) && !item.to_delete;});
var valid = _.every(cached_records, function(record){
_.each(fields, function(field){
var value = record.values[field.name];
+27 -6
View File
@@ -55,7 +55,6 @@ var FormView = View.extend(common.FieldManagerMixin, {
this.fields = {};
this.fields_order = [];
this.datarecord = {};
this._onchange_specs = {};
this.onchanges_mutex = new utils.Mutex();
this.default_focus_field = null;
this.default_focus_button = null;
@@ -75,7 +74,6 @@ var FormView = View.extend(common.FieldManagerMixin, {
this.rendering_engine = new FormRenderingEngine(this);
this.set({actual_mode: this.options.initial_mode});
this.has_been_loaded.done(function() {
self._build_onchange_specs();
self.on("change:actual_mode", self, self.toggle_buttons);
self.on("change:actual_mode", self, self.toggle_sidebar);
});
@@ -318,8 +316,11 @@ var FormView = View.extend(common.FieldManagerMixin, {
this.update_pager(); // the mode must be actualized before updating the pager
return $.when.apply(null, set_values).then(function() {
if (!record.id) {
// trigger onchanges
self.do_onchange(null);
// trigger onchange for new record after x2many with non-embedded views are loaded
var fields_loaded = _.pluck(self.fields, 'is_loaded');
$.when.apply(null, fields_loaded).done(function() {
self.do_onchange(null);
});
}
self.on_form_changed();
self.rendering_engine.init_fields().then(function() {
@@ -333,7 +334,7 @@ var FormView = View.extend(common.FieldManagerMixin, {
} else {
self.do_push_state({});
}
self.$el.removeClass('oe_form_dirty');
self.$el.removeClass('oe_form_dirty');
});
});
},
@@ -381,7 +382,24 @@ var FormView = View.extend(common.FieldManagerMixin, {
_.each(this.fields, function(field, name) {
self._onchange_fields.push(name);
self._onchange_specs[name] = find(name, field.node);
_.each(field.field.views, function(view) {
// we get the list of first-level fields of x2many firstly by
// getting them from the field embedded views, then if no embedded
// view is present for a loaded view, we get them from the default
// view that has been loaded
// gather embedded view objects
var views = _.clone(field.field.views);
// also gather default view objects
if (field.viewmanager) {
_.each(field.viewmanager.views, function(view, view_type) {
// add default view if it was not embedded and it is loaded
if (views[view_type] === undefined && view.controller) {
views[view_type] = view.controller.fields_view;
}
});
}
_.each(views, function(view) {
_.each(view.fields, function(_, subname) {
self._onchange_specs[name + '.' + subname] = find(subname, view.arch);
});
@@ -410,6 +428,9 @@ var FormView = View.extend(common.FieldManagerMixin, {
do_onchange: function(widget) {
var self = this;
if (self._onchange_specs === undefined) {
self._build_onchange_specs();
}
var onchange_specs = self._onchange_specs;
try {
var def = $.when({});
+5 -3
View File
@@ -948,9 +948,11 @@ ListView.List = Class.extend({
$row = self.$current.children(
'[data-id=' + record.get('id') + ']');
}
var $newRow = $(self.render_record(record));
$newRow.find('.o_list_record_selector input').prop('checked', !!$row.find('.o_list_record_selector input').prop('checked'));
$row.replaceWith($newRow);
if ($row.length) {
var $newRow = $(self.render_record(record));
$newRow.find('.o_list_record_selector input').prop('checked', !!$row.find('.o_list_record_selector input').prop('checked'));
$row.replaceWith($newRow);
}
},
'add': function (ev, records, record, index) {
var $new_row = $(self.render_record(record));
@@ -828,6 +828,10 @@ ListView.List.include(/** @lends instance.web.ListView.List# */{
if (!this.view.editable() || !this.view.is_action_enabled('edit')) {
return this._super.apply(this, arguments);
}
if (this.__is_starting_edition) {
return;
}
this.__is_starting_edition = true;
var self = this;
var args = arguments;
@@ -839,6 +843,8 @@ ListView.List.include(/** @lends instance.web.ListView.List# */{
focus_field: $(event.target).not(".o_readonly").data('field'),
}).fail(function() {
return _super.apply(self, args); // The record can't be edited so open it in a modal (use-case: readonly mode)
}).always(function () {
self.__is_starting_edition = false;
});
},
/**
+2
View File
@@ -5,6 +5,8 @@
opacity: 1;
.tooltip-inner {
max-width: 300px; // fallback for browsers which do not support "vw" unit
max-width: 100vw;
background-color: @odoo-tooltip-background-color;
color: @odoo-tooltip-color;
border-radius: @border-radius-base;
+3 -2
View File
@@ -534,7 +534,7 @@ odoo.define_section('eval.edc.nonliterals', ['web.pyeval', 'web.session'], funct
var result = pyeval.sync_eval_domains_and_contexts({
domains: [
[['type', '=', 'contract']],
{ "__domains": [["|"], [["state", "in", ["open", "draft"]]], [["state", "=", "pending"]]],
{ "__domains": [["|"], [["state", "in", ["open", "draft"]]], [["type", "=", "contract"], ["state", "=", "pending"]]],
"__eval_context": null,
"__ref": "compound_domain"
},
@@ -550,7 +550,8 @@ odoo.define_section('eval.edc.nonliterals', ['web.pyeval', 'web.session'], funct
assert.deepEqual(result.domain, [
["type", "=", "contract"],
"|", ["state", "in", ["open", "draft"]],
["state", "=", "pending"],
"&", ["type", "=", "contract"],
["state", "=", "pending"],
"|",
"&", ["date", "!=", false],
["date", "<=", today],
@@ -332,7 +332,7 @@ var CalendarView = View.extend({
self.proxy('update_record')(event._id, data);
},
eventRender: function (event, element, view) {
element.find('.fc-event-title').html(event.title);
element.find('.fc-event-title').html(event.title + event.attendee_avatars);
},
eventAfterRender: function (event, element, view) {
if ((view.name !== 'month') && (((event.end-event.start)/60000)<=30)) {
@@ -633,7 +633,6 @@ var CalendarView = View.extend({
if (attendee_other.length>2) {
the_title_avatar += '<span class="o_attendee_head" title="' + attendee_other.slice(0, -2) + '">+</span>';
}
the_title = the_title_avatar + the_title;
}
}
@@ -642,9 +641,10 @@ var CalendarView = View.extend({
date_stop = m_start.toDate();
}
var r = {
'start': moment(date_start).toISOString(),
'end': moment(date_stop).toISOString(),
'start': moment(date_start).toString(),
'end': moment(date_stop).toString(),
'title': the_title,
'attendee_avatars': the_title_avatar,
'allDay': (this.fields[this.date_start].type == 'date' || (this.all_day && evt[this.all_day]) || false),
'id': evt.id,
'attendees':attendees
+1 -1
View File
@@ -182,7 +182,7 @@ class IrUiView(models.Model):
"""
user_groups = set(self.env.user.groups_id)
views = self.with_context(active_test=False)._views_get(key, bundles=bundles)
views = views.filtered(lambda v: user_groups.issuperset(v.groups_id))
views = views.filtered(lambda v: not v.groups_id or len(user_groups.intersection(v.groups_id)))
return views
@api.model
@@ -131,7 +131,7 @@ var font_to_img = function ($editable) {
var icon, content;
_.find(widget.fontIcons, function (font) {
return _.find(widget.getCssSelectors(font.parser), function (css) {
if ($font.is(css[0].replace(/::?before$/, ''))) {
if ($font.is(css[0].replace(/::?before/g, ''))) {
icon = css[2].split("-").shift();
content = css[1].match(/content:\s*['"]?(.)['"]?/)[1];
return true;
@@ -564,6 +564,7 @@ var getCssSelectors = function (filter) {
if (!data) {
data = [match[1], rules[r].cssText.replace(/(^.*\{\s*)|(\s*\}\s*$)/g, ''), clean, [clean]];
} else {
data[0] += (", " + match[1]);
data[3].push(clean);
}
}
@@ -230,7 +230,7 @@ var KanbanView = View.extend({
// fetch group data (display information)
var group_ids = _.without(_.map(groups, function (elem) { return elem.attributes.value[0];}), undefined);
if (options.grouped_by_m2o && group_ids.length) {
if (options.grouped_by_m2o && group_ids.length && group_by_fields_to_read.length) {
return new data.DataSet(self, options.relation)
.read_ids(group_ids, _.union(['display_name'], group_by_fields_to_read))
.then(function(results) {
+4 -2
View File
@@ -566,9 +566,11 @@
<ul>
<li>Set a clear, explicit and concise question title
(check
<a href="#" data-placement="top" data-trigger="focus" data-toggle="popover" data-content="Inventory Date Problem, Task remaining hours, Can you help solve solve my tax computation problem in Canada?" title="Click to get bad question samples">bad examples</a>
<t t-set="message_content_01">Inventory Date Problem, Task remaining hours, Can you help solve solve my tax computation problem in Canada?</t>
<a href="#" data-placement="top" data-trigger="focus" data-toggle="popover" t-att-data-content="message_content_01" title="Click to get bad question samples">bad examples</a>
and
<a href="#" data-placement="bottom" data-trigger="focus" data-toggle="popover" data-content="How to create a physical inventory at an anterior date?, How is the 'remaining hours' field computed on tasks?, How to configure TPS and TVQ's canadian taxes?" title="Click to get good question titles">good examples</a>
<t t-set="message_content_02">How to create a physical inventory at an anterior date?, How is the 'remaining hours' field computed on tasks?, How to configure TPS and TVQ's canadian taxes?</t>
<a href="#" data-placement="bottom" data-trigger="focus" data-toggle="popover" t-att-data-content="message_content_02" title="Click to get good question titles">good examples</a>
),
</li>
<li>Avoid unnecessary introductions (Hi,... Please... Thanks...),</li>
+1 -1
View File
@@ -58,7 +58,7 @@ class SaleQuoteLine(models.Model):
def _onchange_product_id(self):
self.ensure_one()
if self.product_id:
name = self.product_id.name
name = self.product_id.name_get()[0][1]
if self.product_id.description_sale:
name += '\n' + self.product_id.description_sale
self.name = name
+6 -5
View File
@@ -530,17 +530,18 @@ class WebsiteSale(http.Controller):
@http.route(['/shop/address'], type='http', methods=['GET', 'POST'], auth="public", website=True)
def address(self, **kw):
Partner = request.env['res.partner'].with_context(show_address=1).sudo()
order = request.website.sale_get_order(force_create=1)
order = request.website.sale_get_order()
redirection = self.checkout_redirection(order)
if redirection:
return redirection
mode = (False, False)
def_country_id = order.partner_id.country_id
values, errors = {}, {}
partner_id = int(kw.get('partner_id', -1))
redirection = self.checkout_redirection(order)
if redirection:
return redirection
# IF PUBLIC ORDER
if order.partner_id.id == request.website.user_id.sudo().partner_id.id:
mode = ('new', 'billing')
+12 -4
View File
@@ -68,12 +68,18 @@ class SaleOrder(models.Model):
})
product = self.env['product.product'].with_context(product_context).browse(product_id)
pu = product.price
if order.pricelist_id and order.partner_id:
order_line = order._cart_find_product_line(product.id)
if order_line:
pu = self.env['account.tax']._fix_tax_included_price(order_line._get_display_price(product), product.taxes_id, order_line.tax_id)
return {
'product_id': product_id,
'product_uom_qty': qty,
'order_id': order_id,
'product_uom': product.uom_id.id,
'price_unit': product.price,
'price_unit': pu,
}
@api.multi
@@ -144,10 +150,12 @@ class SaleOrder(models.Model):
# update line
values = self._website_product_id_change(self.id, product_id, qty=quantity)
if self.pricelist_id.discount_policy == 'with_discount' and not self.env.context.get('fixed_price'):
values['price_unit'] = order_line._get_display_price(order_line.product_id)
values['price_unit'] = self.env['account.tax']._fix_tax_included_price(
order_line._get_display_price(order_line.product_id),
order_line.product_id.taxes_id,
order_line.tax_id
)
order_line.write(values)
+1
View File
@@ -32,3 +32,4 @@ Leonardo Astros leonardo@vauxoo.com https://github.com/Codemaker83
Jose Angel Fentanez Delfin joseangel@vauxoo.com https://github.com/Angelfentanez
Osval Reyes osval@vauxoo.com https://github.com/osvalr
Jose Suniaga josemiguel@vauxoo.com https://github.com/suniagajose
Luis González lgonzalez@vauxoo.com https://github.com/luisg123v
+11
View File
@@ -0,0 +1,11 @@
France, 2017-03-24
I hereby agree to the terms of the Odoo Individual Contributor License
Agreement v1.0.
I declare that I am authorized and able to make this agreement and sign this
declaration.
Signed,
Sébastien Le Ray <sebastien-github@orniz.org> https://github.com/beuss

Some files were not shown because too many files have changed in this diff Show More