From 4c79aa8d9d57a4e7e5cde083d3f8fb755e0a8693 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Mon, 13 Mar 2017 15:56:45 +0100 Subject: [PATCH 01/36] [FIX] sale: translate default name at creation When a sale order is created from the interface, the name field is read-only so not given in the create call. However, if the create values are filled with the default value, the string 'New' is translated and the condition is not met in the create method. This commit makes the create consistent with the default `lambda self: _('New')` Fixes #15839 --- addons/sale/sale.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 83dcb3111df..22418745668 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -224,8 +224,8 @@ class SaleOrder(models.Model): @api.model def create(self, vals): - if vals.get('name', 'New') == 'New': - vals['name'] = self.env['ir.sequence'].next_by_code('sale.order') or 'New' + if vals.get('name', _('New')) == _('New'): + vals['name'] = self.env['ir.sequence'].next_by_code('sale.order') or _('New') # Makes sure partner_invoice_id', 'partner_shipping_id' and 'pricelist_id' are defined if any(f not in vals for f in ['partner_invoice_id', 'partner_shipping_id', 'pricelist_id']): From 93bb6f322d0bccbca5106ae5cf67ee26e02d0da8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mois=C3=A9s=20L=C3=B3pez?= Date: Thu, 9 Mar 2017 10:12:56 -0600 Subject: [PATCH 02/36] [FIX] base: avoid variable referenced before assignment error If the company currency is not active (that should not happen but nothing prevents it, probably happening with some CoA installation), the variable company_currency_format is undefined and an error is raised. Closes #15799 --- odoo/addons/base/res/res_currency.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/odoo/addons/base/res/res_currency.py b/odoo/addons/base/res/res_currency.py index 5c91e55b3f0..aef7bb97866 100644 --- a/odoo/addons/base/res/res_currency.py +++ b/odoo/addons/base/res/res_currency.py @@ -177,7 +177,7 @@ class Currency(models.Model): function += "if (arguments[1] === %s) { %s }" % (currency.id, return_str) if (currency == company_currency): company_currency_format = return_str - function = "if (arguments[1] === false || arguments[1] === undefined) {" + company_currency_format + " }" + function + function = "if (arguments[1] === false || arguments[1] === undefined) {" + company_currency_format + " }" + function return function def _select_companies_rates(self): From 65814e26cf9b719a43c2a004c064f8e8a752e2f3 Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Tue, 14 Mar 2017 10:18:36 +0100 Subject: [PATCH 03/36] [FIX] account: cancel reconciliation traceback Since commit ee2c76a4311, `journal_entry_ids` is an `account.move.line`, not an `account.move` anymore. opw-724421 --- addons/account/models/account_bank_statement.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/addons/account/models/account_bank_statement.py b/addons/account/models/account_bank_statement.py index 882172dd917..2b3b9a83e60 100644 --- a/addons/account/models/account_bank_statement.py +++ b/addons/account/models/account_bank_statement.py @@ -410,18 +410,17 @@ class AccountBankStatementLine(models.Model): @api.multi def button_cancel_reconciliation(self): aml_to_unbind = self.env['account.move.line'] - aml_to_cancel = self.env['account.move'] + aml_to_cancel = self.env['account.move.line'] payment_to_unreconcile = self.env['account.payment'] payment_to_cancel = self.env['account.payment'] for st_line in self: aml_to_unbind |= st_line.journal_entry_ids - for move in st_line.journal_entry_ids: - for line in move.line_ids: - payment_to_unreconcile |= line.payment_id - if st_line.move_name and line.payment_id.payment_reference == st_line.move_name: - #there can be several moves linked to a statement line but maximum one created by the line itself - aml_to_cancel |= st_line.journal_entry_ids - payment_to_cancel |= line.payment_id + for line in st_line.journal_entry_ids: + payment_to_unreconcile |= line.payment_id + if st_line.move_name and line.payment_id.payment_reference == st_line.move_name: + #there can be several moves linked to a statement line but maximum one created by the line itself + aml_to_cancel |= st_line.journal_entry_ids + payment_to_cancel |= line.payment_id aml_to_unbind = aml_to_unbind - aml_to_cancel if aml_to_unbind: @@ -433,7 +432,7 @@ class AccountBankStatementLine(models.Model): if aml_to_cancel: aml_to_cancel.remove_move_reconcile() - moves_to_cancel = set([x.move_id for x in aml_to_cancel]) + moves_to_cancel = aml_to_cancel.mapped('move_id') moves_to_cancel.button_cancel() moves_to_cancel.unlink() if payment_to_cancel: From 5b4f7c13f32f36d86805eb7865d8a077746181d8 Mon Sep 17 00:00:00 2001 From: Martin Geubelle Date: Tue, 14 Mar 2017 11:41:48 +0100 Subject: [PATCH 04/36] [FIX] web_kanban: use string when group by selection In the kanban view, if we try to group by a selection field that is not defined in the arch, the key will be used as column name (instead of the string). A fix has already been pushed to load all the fields in this case (see 0e6eb96) but these fields were not correctly used in this particular case. --- addons/web_kanban/static/src/js/kanban_view.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/web_kanban/static/src/js/kanban_view.js b/addons/web_kanban/static/src/js/kanban_view.js index ff669072413..a0ed0761dcf 100644 --- a/addons/web_kanban/static/src/js/kanban_view.js +++ b/addons/web_kanban/static/src/js/kanban_view.js @@ -65,7 +65,7 @@ var KanbanView = View.extend({ this.qweb.default_dict = _.clone(QWeb.default_dict); this.limit = this.options.limit || parseInt(this.fields_view.arch.attrs.limit, 10) || 40; - this.fields = {}; + this.fields = this.fields_view.fields; this.fields_keys = _.keys(this.fields_view.fields); this.grouped = undefined; this.group_by_field = undefined; @@ -106,7 +106,7 @@ var KanbanView = View.extend({ this.qweb.add_template(utils.json_node_to_xml(child)); break; } else if (child.tag === 'field') { - var ftype = child.attrs.widget || this.fields_view.fields[child.attrs.name].type; + var ftype = child.attrs.widget || this.fields[child.attrs.name].type; if(ftype === "many2many" && "context" in child.attrs) { this.m2m_context[child.attrs.name] = child.attrs.context; } @@ -123,7 +123,7 @@ var KanbanView = View.extend({ do_search: function(domain, context, group_by) { var self = this; var group_by_field = group_by[0] || this.default_group_by; - var field = this.fields_view.fields[group_by_field]; + var field = this.fields[group_by_field]; var options = {}; var fields_def; if (field === undefined) { @@ -247,7 +247,7 @@ var KanbanView = View.extend({ _.each(groups, function (group) { var value = group.attributes.value; group.id = value instanceof Array ? value[0] : value; - var field = self.fields_view.fields[options.group_by_field]; + var field = self.fields[options.group_by_field]; if (field && field.type === "selection") { value= _.find(field.selection, function (s) { return s[0] === group.id; }); } @@ -303,7 +303,7 @@ var KanbanView = View.extend({ return this._super(action); }, has_active_field: function() { - return this.fields_view.fields.active; + return this.fields.active; }, _is_quick_create_enabled: function() { if (!this.quick_creatable || !this.is_action_enabled('create')) @@ -376,7 +376,7 @@ var KanbanView = View.extend({ this.record_options = { editable: this.is_action_enabled('edit'), deletable: this.is_action_enabled('delete'), - fields: this.fields_view.fields, + fields: this.fields, qweb: this.qweb, model: this.model, read_only_mode: this.options.read_only_mode, @@ -427,7 +427,7 @@ var KanbanView = View.extend({ grouped_by_m2o: this.grouped_by_m2o, relation: this.relation, qweb: this.qweb, - fields: this.fields_view.fields, + fields: this.fields, quick_create: this._is_quick_create_enabled(), }; }, @@ -436,7 +436,7 @@ var KanbanView = View.extend({ var self = this; // Drag'n'drop activation/deactivation - var group_by_field_attrs = this.fields_view.fields[this.group_by_field] || this.fields[this.group_by_field]; + var group_by_field_attrs = this.fields[this.group_by_field]; // Deactivate the drag'n'drop if: // - field is a date or datetime since we group by month From 3feb1a82cb056249f0954ef20a3a35e296a09625 Mon Sep 17 00:00:00 2001 From: Martin Geubelle Date: Tue, 14 Mar 2017 14:45:45 +0100 Subject: [PATCH 05/36] [FIX] web_kanban: many2many tag style Setting a max-height on the tags section is not a good idea ; this causes the tags to overlap the record. If something (like a text) is put in the section instead of the tags, the height is not correctly adapted. --- addons/web_kanban/static/src/less/kanban_view.less | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web_kanban/static/src/less/kanban_view.less b/addons/web_kanban/static/src/less/kanban_view.less index bc4166c7df4..1259fd355cc 100644 --- a/addons/web_kanban/static/src/less/kanban_view.less +++ b/addons/web_kanban/static/src/less/kanban_view.less @@ -106,12 +106,12 @@ } .o_kanban_tags { - margin: 0 0 @o-kanban-inside-vgutter -@o-kanban-inside-hgutter; + margin-left: -@o-kanban-inside-hgutter; @media (max-width: @screen-xs-max) { margin-left: -@o-kanban-inside-hgutter-mobile; } - max-height: 9px; .o_tag { + margin-bottom: @o-kanban-inside-vgutter; width: 40px; height: 9px; display: inline-block; From d32e275ad1e31dc0c52d37563e406d052d3d8a32 Mon Sep 17 00:00:00 2001 From: qsm-odoo Date: Tue, 14 Mar 2017 13:16:43 +0100 Subject: [PATCH 06/36] [FIX] web: force red color for invalid form elements When an input is saved with an invalid value, it gets the `o_form_invalid` class. This makes the border red. In enterprise, there was a bug as required inputs have also a different border color and the rule was more important. Unfortunately there is no avoiding the !important rule here. Indeed, other solutions would require to make more rules in enterprise or to change the order of files (which would create many problems). --- addons/web/static/src/less/form_view.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/less/form_view.less b/addons/web/static/src/less/form_view.less index ef0bcb44be4..da425d5a69f 100644 --- a/addons/web/static/src/less/form_view.less +++ b/addons/web/static/src/less/form_view.less @@ -174,7 +174,7 @@ .o_form_invalid { &.o_form_input, .o_form_input, &.o_form_textarea, .o_form_textarea { - border-color: @brand-danger; + border-color: @brand-danger!important; // enterprise o_form_required rule overrides this without !important } } From 4deac93788c49b7d71149fbec3a2d35bdb247729 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 14 Mar 2017 14:52:44 +0100 Subject: [PATCH 07/36] [FIX] tools/sql: column name in `fix_foreign_key` --- odoo/tools/sql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/odoo/tools/sql.py b/odoo/tools/sql.py index 34d1a84cd98..bd947dd913c 100644 --- a/odoo/tools/sql.py +++ b/odoo/tools/sql.py @@ -141,7 +141,7 @@ def fix_foreign_key(cr, tablename1, columnname1, tablename2, columnname2, ondele """ # Do not use 'information_schema' here, as those views are awfully slow! deltype = _CONFDELTYPES.get(ondelete.upper(), 'a') - query = """ SELECT con.conname, c2.relname, a2.attnum, con.confdeltype as deltype + query = """ SELECT con.conname, c2.relname, a2.attname, con.confdeltype as deltype FROM pg_constraint as con, pg_class as c1, pg_class as c2, pg_attribute as a1, pg_attribute as a2 WHERE con.contype='f' AND con.conrelid=c1.oid AND con.confrelid=c2.oid From 8adc2ef440aec35a3829ebf26b3759dbc0b39903 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Mon, 13 Mar 2017 09:38:42 +0100 Subject: [PATCH 08/36] [FIX] stock: do not write on picking type When creating a stock.picking, the related fields picking_type_entire_packs and picking_type_code were both updated. This was an issue was required write access on stock.picking.type (warehouse manager) to create a stock.picking (warehouse user). The fields were updated as they were present in the view and filled with the related value. Even if the value was unchanged, it was triggering a write anyway. The two fields were in invisible="1" and used only in attrs for other fields. Making these two fields in readonly does not prevent to use it in the attrs but avoid to send a value to the server and trigger a useless write. Fixes #15769 --- addons/stock/models/stock_picking.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/stock/models/stock_picking.py b/addons/stock/models/stock_picking.py index 83a83c3e10b..dbf11a61dd9 100644 --- a/addons/stock/models/stock_picking.py +++ b/addons/stock/models/stock_picking.py @@ -245,8 +245,10 @@ class Picking(models.Model): picking_type_code = fields.Selection([ ('incoming', 'Vendors'), ('outgoing', 'Customers'), - ('internal', 'Internal')], related='picking_type_id.code') - picking_type_entire_packs = fields.Boolean(related='picking_type_id.show_entire_packs') + ('internal', 'Internal')], related='picking_type_id.code', + readonly=True) + picking_type_entire_packs = fields.Boolean(related='picking_type_id.show_entire_packs', + readonly=True) quant_reserved_exist = fields.Boolean( 'Has quants already reserved', compute='_compute_quant_reserved_exist', From a873890f2842cb238152717d83739465898acd68 Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Tue, 14 Mar 2017 16:19:04 +0100 Subject: [PATCH 09/36] [FIX] mass_mailing: link in kanban - Go to Mass Mailing > Configuration > Mail Templates - In the Kanban view, find a template which contains a link (http, mailto, whatever) - Click on the link You are redirected to the link instead of being redirected to the record. opw-706047 --- addons/mass_mailing/static/src/css/email_template.css | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/mass_mailing/static/src/css/email_template.css b/addons/mass_mailing/static/src/css/email_template.css index f0b25ba612d..edd9c0c3f0d 100644 --- a/addons/mass_mailing/static/src/css/email_template.css +++ b/addons/mass_mailing/static/src/css/email_template.css @@ -9,6 +9,7 @@ } .kanban_html_preview { + pointer-events: none; width: 600px; -webkit-transform: scale(.50); -ms-transform: scale(.50); From 945679176a6e53cb7b20b1ba041323b9d1cd6a7e Mon Sep 17 00:00:00 2001 From: Pierre Masereel Date: Tue, 14 Mar 2017 16:46:42 +0100 Subject: [PATCH 10/36] [FIX] stock: warehouse check_reception_resupply When we are trying to change the reception route of a warehouse when there are existing resupply routes, we are getting a traceback. This bug comes from a migration error introduced in rev: https://github.com/odoo-dev/odoo/commit/70e1d5d5bc1a3cb325dbcb091fc2135e23084145 --- addons/stock/models/stock_warehouse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/stock/models/stock_warehouse.py b/addons/stock/models/stock_warehouse.py index a580f071848..40dfa3ace5c 100644 --- a/addons/stock/models/stock_warehouse.py +++ b/addons/stock/models/stock_warehouse.py @@ -573,7 +573,7 @@ class Warehouse(models.Model): routes = self.env['stock.location.route'].search([('supplied_wh_id', 'in', self.ids)]) self.env['procurement.rule'].search([ '&', ('route_id', 'in', routes.ids), - ('location_src_id.usage', '=', 'transit')]).write({'location_id': new_location}) + ('location_src_id.usage', '=', 'transit')]).write({'location_id': new_location.id}) @api.multi def _update_routes(self): From 271a468254dd4cc7ce0bc4b2e5be8e2c67929d17 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Tue, 14 Mar 2017 16:59:18 +0100 Subject: [PATCH 11/36] [I18N] l10n_ch: export and sync local translations --- addons/l10n_ch/i18n_extra/de_CH.po | 571 +++++++++- addons/l10n_ch/i18n_extra/it.po | 1462 +++++++++++++++++-------- addons/l10n_ch/i18n_extra/l10n_ch.pot | 966 ++++++++++++++-- 3 files changed, 2468 insertions(+), 531 deletions(-) diff --git a/addons/l10n_ch/i18n_extra/de_CH.po b/addons/l10n_ch/i18n_extra/de_CH.po index 3b2cb7fc825..57696de267f 100644 --- a/addons/l10n_ch/i18n_extra/de_CH.po +++ b/addons/l10n_ch/i18n_extra/de_CH.po @@ -6,710 +6,996 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-12-14 14:10+0000\n" +"POT-Creation-Date: 2017-03-14 15:52+0000\n" "PO-Revision-Date: 2016-12-15 14:35+0100\n" "Last-Translator: <>\n" "Language-Team: \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: \n" -"Language: de\n" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_O_exclude #: model:account.tax.template,description:l10n_ch.vat_O_exclude msgid "0% excl." msgstr "0% Exkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_O_import #: model:account.tax.template,description:l10n_ch.vat_O_import msgid "0% import." msgstr "0% Import." #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_100_import #: model:account.tax.template,name:l10n_ch.vat_100_import msgid "100% dédouanement TVA" msgstr "100% Verzollung MwSt." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_100_import #: model:account.tax.template,description:l10n_ch.vat_100_import msgid "100% imp." msgstr "100% Imp." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25 #: model:account.tax.template,description:l10n_ch.vat_25 msgid "2.5%" msgstr "2.5%" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_incl #: model:account.tax.template,description:l10n_ch.vat_25_incl msgid "2.5% Incl." msgstr "2.5% Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_purchase #: model:account.tax.template,description:l10n_ch.vat_25_purchase msgid "2.5% achat" msgstr "2.5% Einkauf" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_purchase_incl #: model:account.tax.template,description:l10n_ch.vat_25_purchase_incl msgid "2.5% achat Incl." msgstr "2.5% Einkauf Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_invest #: model:account.tax.template,description:l10n_ch.vat_25_invest msgid "2.5% invest." msgstr "2.5% Invest." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_invest_incl #: model:account.tax.template,description:l10n_ch.vat_25_invest_incl msgid "2.5% invest. Incl." msgstr "2.5% Invest. Incl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38 #: model:account.tax.template,description:l10n_ch.vat_38 msgid "3.8%" msgstr "3.8%" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_incl #: model:account.tax.template,description:l10n_ch.vat_38_incl msgid "3.8% Incl." msgstr "3.8% Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_purchase #: model:account.tax.template,description:l10n_ch.vat_38_purchase msgid "3.8% achat" msgstr "3.8% Einkauf" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_purchase_incl #: model:account.tax.template,description:l10n_ch.vat_38_purchase_incl msgid "3.8% achat Incl." msgstr "3.8% Einkauf Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_invest #: model:account.tax.template,description:l10n_ch.vat_38_invest msgid "3.8% invest" msgstr "3.8% Invest" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_invest_incl #: model:account.tax.template,description:l10n_ch.vat_38_invest_incl msgid "3.8% invest Incl." msgstr "3.8% Invest Incl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80 #: model:account.tax.template,description:l10n_ch.vat_80 msgid "8.0%" msgstr "8.0%" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_incl #: model:account.tax.template,description:l10n_ch.vat_80_incl msgid "8.0% Incl." msgstr "8.0% Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_purchase #: model:account.tax.template,description:l10n_ch.vat_80_purchase msgid "8.0% achat" msgstr "8.0% Einkauf" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_purchase_incl #: model:account.tax.template,description:l10n_ch.vat_80_purchase_incl msgid "8.0% achat Incl." msgstr "8.0% Einkauf Inkl." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_invest #: model:account.tax.template,description:l10n_ch.vat_80_invest msgid "8.0% invest." msgstr "8.0% Invest." #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_invest_incl #: model:account.tax.template,description:l10n_ch.vat_80_invest_incl msgid "8.0% invest. Incl." msgstr "8.0% Invest. Inkl." #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4200 #: model:account.account.template,name:l10n_ch.ch_coa_4200 msgid "Achats de marchandises destinées à la revente" msgstr "Handelswarenaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2030 #: model:account.account.template,name:l10n_ch.ch_coa_2030 msgid "Acomptes de clients" msgstr "Erhaltene Anzahlungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1208 #: model:account.account.template,name:l10n_ch.ch_coa_1208 msgid "Acomptes sur les marchandises commerciales" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1218 #: model:account.account.template,name:l10n_ch.ch_coa_1218 msgid "Acomptes sur matières premières" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1149 #: model:account.account.template,name:l10n_ch.ch_coa_1149 msgid "Ajustement de la valeur des avances et des prêts" msgstr "Wertberichtigungen Vorschüsse und Darlehen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1199 #: model:account.account.template,name:l10n_ch.ch_coa_1199 msgid "Ajustement de la valeur des créances à court terme" msgstr "Wertberichtigungen sonstige kurzfristige Forderungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1449 #: model:account.account.template,name:l10n_ch.ch_coa_1449 msgid "Ajustement de la valeur des créances à long terme" msgstr "Wertberichtigungen langfristige Forderungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1779 #: model:account.account.template,name:l10n_ch.ch_coa_1779 msgid "Ajustement de la valeur des goodwill" msgstr "Wertberichtigungen Goodwill" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1489 #: model:account.account.template,name:l10n_ch.ch_coa_1489 msgid "Ajustement de la valeur des participations" msgstr "Wertberichtigungen Beteiligungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1069 +#: model:account.account,name:l10n_ch.1_ch_coa_1409 #: model:account.account.template,name:l10n_ch.ch_coa_1069 #: model:account.account.template,name:l10n_ch.ch_coa_1409 msgid "Ajustement de la valeur des titres" msgstr "Wertberichtigungen Wertschriften" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6800 #: model:account.account.template,name:l10n_ch.ch_coa_6800 -msgid "Amortissements et ajustements de valeur des postes sur immobilisations corporelles" -msgstr "Abschreibungen und Wertberichtigungen auf Positionen des Anlagevermögens" +msgid "" +"Amortissements et ajustements de valeur des postes sur immobilisations " +"corporelles" +msgstr "" +"Abschreibungen und Wertberichtigungen auf Positionen des Anlagevermögens" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1519 #: model:account.account.template,name:l10n_ch.ch_coa_1519 msgid "Amortissements sur le mobilier et les installations" msgstr "Abschreibungen auf Mobiliar und Einrichtungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1599 #: model:account.account.template,name:l10n_ch.ch_coa_1599 msgid "Amortissements sur les autres immobilisations corporelles meubles" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1709 #: model:account.account.template,name:l10n_ch.ch_coa_1709 msgid "Amortissements sur les brevets, know-how, licences, droits, dév." msgstr "Abschreibungen auf Patente, Know-how, Lizenzen, Rechte, Entwicklungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1609 #: model:account.account.template,name:l10n_ch.ch_coa_1609 msgid "Amortissements sur les immeubles d’exploitation" msgstr "Abschreibungen auf Geschäftsliegenschaften" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1559 #: model:account.account.template,name:l10n_ch.ch_coa_1559 msgid "Amortissements sur les installations de stockage" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1529 #: model:account.account.template,name:l10n_ch.ch_coa_1529 msgid "Amortissements sur les machines de bureau, inf. et syst. comm." -msgstr "Abschreibungen auf Büromaschinen, Informatik, Kommunikationstechnologie" +msgstr "" +"Abschreibungen auf Büromaschinen, Informatik, Kommunikationstechnologie" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1509 #: model:account.account.template,name:l10n_ch.ch_coa_1509 msgid "Amortissements sur les machines et appareils" msgstr "Abschreibungen auf Maschinen und Apparate" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1549 #: model:account.account.template,name:l10n_ch.ch_coa_1549 msgid "Amortissements sur les outillages et appareils" msgstr "Abschreibungen auf Werkzeuge und Geräte" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1539 #: model:account.account.template,name:l10n_ch.ch_coa_1539 msgid "Amortissements sur les véhicules" msgstr "Abschreibungen auf Fahrzeuge" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1579 #: model:account.account.template,name:l10n_ch.ch_coa_1579 msgid "Amortissements sur les équipements et installations" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2270 #: model:account.account.template,name:l10n_ch.ch_coa_2270 msgid "Assurances sociales et institutions de prévoyance" msgstr "Sozialversicherungen und Vorsorgeeinrichtungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6300 #: model:account.account.template,name:l10n_ch.ch_coa_6300 msgid "Assurances-choses, droits, taxes, autorisations" msgstr "Sachversicherungen, Abgaben, Gebühren, Bewilligungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5800 #: model:account.account.template,name:l10n_ch.ch_coa_5800 msgid "Autres charges du personnel" msgstr "Übriger Personalaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6700 #: model:account.account.template,name:l10n_ch.ch_coa_6700 msgid "Autres charges d‘exploitation" msgstr "Übriger betrieblicher Aufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1190 #: model:account.account.template,name:l10n_ch.ch_coa_1190 msgid "Autres créances à court terme" msgstr "Übrige kurzfristige Forderungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2210 #: model:account.account.template,name:l10n_ch.ch_coa_2210 msgid "Autres dettes à court terme" msgstr "Übrige kurzfristige Verbindlichkeiten" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2140 #: model:account.account.template,name:l10n_ch.ch_coa_2140 msgid "Autres dettes à court terme rémunérées" msgstr "Übrige verzinsliche Verbindlichkeiten" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2500 #: model:account.account.template,name:l10n_ch.ch_coa_2500 msgid "Autres dettes à long terme" msgstr "Übrige langfristige Verbindlichkeiten" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1590 #: model:account.account.template,name:l10n_ch.ch_coa_1590 msgid "Autres immobilisations corporelles meubles" msgstr "Autres immobilisations corporelles meubles" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3600 #: model:account.account.template,name:l10n_ch.ch_coa_3600 msgid "Autres ventes et prestations de services" msgstr "Übrige Erlöse aus Lieferungen und Leistungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1140 #: model:account.account.template,name:l10n_ch.ch_coa_1140 msgid "Avances et prêts" msgstr "Vorschüsse und Darlehen" #. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_res_bank +msgid "Bank" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_config_settings_l10n_ch_isr_print_bank_location +#: model:ir.model.fields,help:l10n_ch.field_res_company_l10n_ch_isr_print_bank_location +msgid "" +"Boolean option field indicating whether or not the alternate layout (the one " +"printing bank name and address) must be used when generating an ISR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_sent +msgid "" +"Boolean value telling whether or not the ISR corresponding to this invoice " +"has already been printed or sent by mail." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_valid +msgid "" +"Boolean value. True iff all the data required to generate the ISR are present" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1700 #: model:account.account.template,name:l10n_ch.ch_coa_1700 msgid "Brevets, know-how, licences, droits, développement" msgstr "Patente, Know-how, Lizenzen, Rechte, Entwicklungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2979 #: model:account.account.template,name:l10n_ch.ch_coa_2979 msgid "Bénéfice / perte de l’exercice" msgstr "Jahresgewinn oder Jahresverlust" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2970 #: model:account.account.template,name:l10n_ch.ch_coa_2970 msgid "Bénéfice / perte reporté" msgstr "Gewinnvortrag oder Verlustvortrag" #. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_bank_l10n_ch_postal_chf +msgid "CHF ISR reference" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1850 #: model:account.account.template,name:l10n_ch.ch_coa_1850 -msgid "Capital actions, capital social, droits de participations ou capital de fondation non versés" +msgid "" +"Capital actions, capital social, droits de participations ou capital de " +"fondation non versés" msgstr "Nicht einbezahltes Aktien-, Stamm-, Anteilschein- oder" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2800 #: model:account.account.template,name:l10n_ch.ch_coa_2800 msgid "Capital-actions, capital social, capital de fondation" msgstr "Aktien-, Stamm-, Anteilschein- oder Stiftungskapital" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4521 #: model:account.account.template,name:l10n_ch.ch_coa_4521 msgid "Charbon, briquettes, bois" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7010 #: model:account.account.template,name:l10n_ch.ch_coa_7010 msgid "Charges accessoires" msgstr "Aufwand Nebenbetrieb" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6000 #: model:account.account.template,name:l10n_ch.ch_coa_6000 msgid "Charges de locaux" msgstr "Raumaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4000 #: model:account.account.template,name:l10n_ch.ch_coa_4000 msgid "Charges de matériel de l‘atelier" msgstr "Materialaufwand Produktion" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5900 #: model:account.account.template,name:l10n_ch.ch_coa_5900 msgid "Charges de personnels temporaires" msgstr "Leistungen Dritter" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6200 #: model:account.account.template,name:l10n_ch.ch_coa_6200 msgid "Charges de véhicules et de transport" msgstr "Fahrzeug- und Transportaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7510 #: model:account.account.template,name:l10n_ch.ch_coa_7510 msgid "Charges des immeubles d‘exploitation" msgstr "Aufwand betriebliche Liegenschaft" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6500 #: model:account.account.template,name:l10n_ch.ch_coa_6500 msgid "Charges d‘administration" msgstr "Verwaltungsaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6400 #: model:account.account.template,name:l10n_ch.ch_coa_6400 msgid "Charges d’énergie et évacuation des déchets" msgstr "Energie- und Entsorgungsaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6570 #: model:account.account.template,name:l10n_ch.ch_coa_6570 msgid "Charges et leasing d’informatique" msgstr "Informatikaufwand inkl. Leasing" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8500 #: model:account.account.template,name:l10n_ch.ch_coa_8500 msgid "Charges extraordinaires, exceptionnelles ou hors période" msgstr "Ausserordentlicher, einmaliger oder periodenfremder Aufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6900 #: model:account.account.template,name:l10n_ch.ch_coa_6900 msgid "Charges financières" msgstr "Finanzaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8000 #: model:account.account.template,name:l10n_ch.ch_coa_8000 msgid "Charges hors exploitation" msgstr "Betriebsfremder Aufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1300 #: model:account.account.template,name:l10n_ch.ch_coa_1300 msgid "Charges payées d‘avance" msgstr "Bezahlter Aufwand des Folgejahres" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5700 #: model:account.account.template,name:l10n_ch.ch_coa_5700 msgid "Charges sociales" msgstr "Sozialversicherungsaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2300 #: model:account.account.template,name:l10n_ch.ch_coa_2300 msgid "Charges à payer" msgstr "Noch nicht bezahlter Aufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3803 #: model:account.account.template,name:l10n_ch.ch_coa_3803 msgid "Commissions de tiers" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4903 #: model:account.account.template,name:l10n_ch.ch_coa_4903 msgid "Commissions obtenues sur achats" msgstr "" #. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_res_company +msgid "Companies" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1099 #: model:account.account.template,name:l10n_ch.ch_coa_1099 msgid "Compte d'attente autre" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1091 #: model:account.account.template,name:l10n_ch.ch_coa_1091 msgid "Compte d'attente pour salaires" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3710 #: model:account.account.template,name:l10n_ch.ch_coa_3710 msgid "Consommations propres" msgstr "Eigenverbrauch" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1269 #: model:account.account.template,name:l10n_ch.ch_coa_1269 msgid "Correction de la valeur de stocks de produits finis" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1279 #: model:account.account.template,name:l10n_ch.ch_coa_1279 msgid "Corrections de la valeur des stock produits semi-ouvrés" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1209 #: model:account.account.template,name:l10n_ch.ch_coa_1209 msgid "Corrections de la valeur des stocks de marchandises" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1289 #: model:account.account.template,name:l10n_ch.ch_coa_1289 msgid "Corrections de la valeur des travaux en cours" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1219 #: model:account.account.template,name:l10n_ch.ch_coa_1219 msgid "Corrections de la valeur sur matières premières" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1180 #: model:account.account.template,name:l10n_ch.ch_coa_1180 msgid "Créances envers les assurances sociales et institutions de prévoyance" msgstr "Forderungen gegenüber Sozialversicherungen und Vorsorgeeinrichtungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2000 #: model:account.account.template,name:l10n_ch.ch_coa_2000 msgid "Créanciers" msgstr "Verbindlichkeiten aus Lieferungen und Leistungen (Kreditoren)" #. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_currency_name +msgid "Currency" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2100 +#: model:account.account,name:l10n_ch.1_ch_coa_2400 #: model:account.account.template,name:l10n_ch.ch_coa_2100 #: model:account.account.template,name:l10n_ch.ch_coa_2400 msgid "Dettes bancaires" msgstr "Bankverbindlichkeiten" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2160 #: model:account.account.template,name:l10n_ch.ch_coa_2160 msgid "Dettes envers l'actionnaire" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3806 +#: model:account.account,name:l10n_ch.1_ch_coa_4906 #: model:account.account.template,name:l10n_ch.ch_coa_3806 #: model:account.account.template,name:l10n_ch.ch_coa_4906 msgid "Différences de change" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2261 #: model:account.account.template,name:l10n_ch.ch_coa_2261 msgid "Dividendes" msgstr "Beschlossene Ausschüttungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4071 #: model:account.account.template,name:l10n_ch.ch_coa_4071 msgid "Droits de douanes à l'importation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1109 #: model:account.account.template,name:l10n_ch.ch_coa_1109 msgid "Ducroire" msgstr "Delkredere" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1100 #: model:account.account.template,name:l10n_ch.ch_coa_1100 msgid "Débiteurs" msgstr "Forderungen aus Lieferungen und Leistungen (Debitoren)" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2201 #: model:account.account.template,name:l10n_ch.ch_coa_2201 msgid "Décompte TVA" msgstr "Abrechnungskonto MWST" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4009 #: model:account.account.template,name:l10n_ch.ch_coa_4009 msgid "Déductions obtenues sur achats" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3009 #: model:account.account.template,name:l10n_ch.ch_coa_3009 msgid "Déductions sur ventes" msgstr "Erlösminderungen" #. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_bank_l10n_ch_postal_eur +msgid "EUR ISR reference" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4540 #: model:account.account.template,name:l10n_ch.ch_coa_4540 msgid "Eau" msgstr "Wasser" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4500 #: model:account.account.template,name:l10n_ch.ch_coa_4500 msgid "Electricité" msgstr "Strom" #. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_mail_template +msgid "Email Templates" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2450 #: model:account.account.template,name:l10n_ch.ch_coa_2450 msgid "Emprunts" msgstr "Darlehen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2430 #: model:account.account.template,name:l10n_ch.ch_coa_2430 msgid "Emprunts obligataires" msgstr "Obligationenanleihen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2120 +#: model:account.account,name:l10n_ch.1_ch_coa_2420 #: model:account.account.template,name:l10n_ch.ch_coa_2120 #: model:account.account.template,name:l10n_ch.ch_coa_2420 msgid "Engagements de financement par leasing" msgstr "Verbindlichkeiten aus Finanzierungsleasing" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6100 #: model:account.account.template,name:l10n_ch.ch_coa_6100 -msgid "Entretien, réparations et remplacement des inst. servant à l’exploitation" +msgid "" +"Entretien, réparations et remplacement des inst. servant à l’exploitation" msgstr "Unterhalt, Reparaturen, Ersatz mobile Sachanlagen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1570 #: model:account.account.template,name:l10n_ch.ch_coa_1570 msgid "Equipements et Installations" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3800 +#: model:account.account,name:l10n_ch.1_ch_coa_4900 #: model:account.account.template,name:l10n_ch.ch_coa_3800 #: model:account.account.template,name:l10n_ch.ch_coa_4900 msgid "Escomptes" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4530 #: model:account.account.template,name:l10n_ch.ch_coa_4530 msgid "Essence" msgstr "Benzin" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3804 #: model:account.account.template,name:l10n_ch.ch_coa_3804 msgid "Frais d'encaissement" msgstr "Frais d'encaissement" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3807 #: model:account.account.template,name:l10n_ch.ch_coa_3807 msgid "Frais d'expédition" msgstr "Frais d'expédition" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4072 #: model:account.account.template,name:l10n_ch.ch_coa_4072 msgid "Frais de transport à l'achat" msgstr "Frais de transport à l'achat" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4070 #: model:account.account.template,name:l10n_ch.ch_coa_4070 msgid "Frêts à l'achat" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4510 #: model:account.account.template,name:l10n_ch.ch_coa_4510 msgid "Gaz" msgstr "Gaz" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1770 #: model:account.account.template,name:l10n_ch.ch_coa_1770 msgid "Goodwill" msgstr "Goodwill" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1441 +#: model:account.account,name:l10n_ch.1_ch_coa_2451 #: model:account.account.template,name:l10n_ch.ch_coa_1441 #: model:account.account.template,name:l10n_ch.ch_coa_2451 msgid "Hypothèques" msgstr "Hypotheken" #. module: l10n_ch +#: model:ir.actions.report.xml,name:l10n_ch.l10n_ch_isr_report +msgid "ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.l10n_ch_isr_report_template +msgid "ISR for invoice" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_number_spaced +msgid "" +"ISR number split in blocks of 5 characters (right-justified), to generate " +"ISR report." +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.isr_invoice_search_view +msgid "ISR reference number" +msgstr "" + +#. module: l10n_ch +#: code:addons/l10n_ch/models/mail_compose_message.py:23 +#, python-format +msgid "ISR sent" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1600 #: model:account.account.template,name:l10n_ch.ch_coa_1600 msgid "Immeubles d’exploitation" msgstr "Geschäftsliegenschaften" #. module: l10n_ch +#: model:account.fiscal.position,name:l10n_ch.1_fiscal_position_template_import #: model:account.fiscal.position.template,name:l10n_ch.fiscal_position_template_import msgid "Import/Export" msgstr "Import/Export" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1176 #: model:account.account.template,name:l10n_ch.ch_coa_1176 msgid "Impôt anticipé" msgstr "Verrechnungssteuer" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2206 #: model:account.account.template,name:l10n_ch.ch_coa_2206 msgid "Impôt anticipé dû" msgstr "Verrechnungssteuer" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1171 #: model:account.account.template,name:l10n_ch.ch_coa_1171 msgid "Impôt préalable: TVA s/investissements et autres charges d’exploitation" msgstr "Vorsteuer MWST Investitionen, übriger Betriebsaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1170 #: model:account.account.template,name:l10n_ch.ch_coa_1170 msgid "Impôt préalable: TVA s/matériel, marchandises, prestations et énergie" msgstr "Vorsteuer MWST Material, Waren, Dienstleistungen, Energie" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1189 +#: model:account.account,name:l10n_ch.1_ch_coa_2279 #: model:account.account.template,name:l10n_ch.ch_coa_1189 #: model:account.account.template,name:l10n_ch.ch_coa_2279 msgid "Impôt à la source" msgstr "Quellensteuer" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2208 +#: model:account.account,name:l10n_ch.1_ch_coa_8900 #: model:account.account.template,name:l10n_ch.ch_coa_2208 #: model:account.account.template,name:l10n_ch.ch_coa_8900 msgid "Impôts directs" msgstr "Direkte Steuern" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1550 #: model:account.account.template,name:l10n_ch.ch_coa_1550 msgid "Installations de stockage" msgstr "Installations de stockage" #. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_number +msgid "L10N Ch Isr Number" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_number_spaced +msgid "L10N Ch Isr Number Spaced" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_optical_line +msgid "L10N Ch Isr Optical Line" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_postal +msgid "L10N Ch Isr Postal" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_postal_formatted +msgid "L10N Ch Isr Postal Formatted" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_sent +msgid "L10N Ch Isr Sent" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_valid +msgid "L10N Ch Isr Valid" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_partner_bank_l10n_ch_postal +msgid "L10N Ch Postal" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6260 #: model:account.account.template,name:l10n_ch.ch_coa_6260 msgid "Leasing et location de véhicules" msgstr "Fahrzeugleasing und -mieten" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6105 #: model:account.account.template,name:l10n_ch.ch_coa_6105 msgid "Leasing immobilisations corporelles meubles" msgstr "Leasingaufwand mobile Sachanlagen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1520 #: model:account.account.template,name:l10n_ch.ch_coa_1520 msgid "Machines de bureau, informatique, systèmes de communication" msgstr "Büromaschinen, Informatik, Kommunikationstechnologie" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1500 #: model:account.account.template,name:l10n_ch.ch_coa_1500 msgid "Machines et appareils" msgstr "Maschinen und Apparate" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1200 #: model:account.account.template,name:l10n_ch.ch_coa_1200 msgid "Marchandises commerciales" msgstr "Handelswaren" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1250 #: model:account.account.template,name:l10n_ch.ch_coa_1250 msgid "Marchandises en consignation" msgstr "Handelswaren in Konsignation" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1220 #: model:account.account.template,name:l10n_ch.ch_coa_1220 msgid "Matières auxiliaires" msgstr "Werkstoffe" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1230 #: model:account.account.template,name:l10n_ch.ch_coa_1230 msgid "Matières consommables" msgstr "Hilfs- und Verbrauchsmaterial" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1210 #: model:account.account.template,name:l10n_ch.ch_coa_1210 msgid "Matières premières" msgstr "Rohstoffe" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4520 #: model:account.account.template,name:l10n_ch.ch_coa_4520 msgid "Mazout" msgstr "Heizöl" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1510 #: model:account.account.template,name:l10n_ch.ch_coa_1510 msgid "Mobilier et installations" msgstr "Mobiliar und Einrichtungen" #. module: l10n_ch -#: model:ir.actions.client,name:l10n_ch.action_client_l10n_ch_menu -msgid "Open Account Dashboard Menu" -msgstr " Buchführungsübersicht öffnen" +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_optical_line +msgid "Optical reading line, as it will be printed on ISR" +msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1540 #: model:account.account.template,name:l10n_ch.ch_coa_1540 msgid "Outillages et appareils" msgstr "Werkzeuge und Geräte" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1480 #: model:account.account.template,name:l10n_ch.ch_coa_1480 msgid "Participations" msgstr "Beteiligungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4086 #: model:account.account.template,name:l10n_ch.ch_coa_4086 msgid "Pertes de matières" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3805 #: model:account.account.template,name:l10n_ch.ch_coa_3805 msgid "Pertes sur créances clients, variation ducroire" msgstr "Verluste Forderungen (Debitoren), Veränderung Delkredere" @@ -720,122 +1006,179 @@ msgid "Plan comptable 2015" msgstr "Kontenrahmen 2015" #. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_postal_formatted +msgid "" +"Postal reference of the bank, formated with '-' and without the padding " +"zeros, to generate ISR report." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4400 #: model:account.account.template,name:l10n_ch.ch_coa_4400 msgid "Prestations / travaux de tiers" msgstr "Aufwand für bezogene Dienstleistungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3700 #: model:account.account.template,name:l10n_ch.ch_coa_3700 msgid "Prestations propres" msgstr "Eigenleistungen" #. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.isr_invoice_form +msgid "Print ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_company_l10n_ch_isr_print_bank_location +msgid "Print bank location" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_config_settings_l10n_ch_isr_print_bank_location +msgid "Print bank on ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.l10n_ch-isr_account_config_settings +msgid "" +"Print the coordinates of your bank under the 'Payment for' title of the " +"ISR.\n" +" Your address will be moved to the 'in favour " +"of' section." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7000 #: model:account.account.template,name:l10n_ch.ch_coa_7000 msgid "Produits accessoires" msgstr "Ertrag Nebenbetrieb" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7500 #: model:account.account.template,name:l10n_ch.ch_coa_7500 msgid "Produits des immeubles d‘exploitation" msgstr "Ertrag betriebliche Liegenschaft" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2301 #: model:account.account.template,name:l10n_ch.ch_coa_2301 msgid "Produits encaissés d’avance" msgstr "Erhaltener Ertrag des Folgejahres" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8510 #: model:account.account.template,name:l10n_ch.ch_coa_8510 msgid "Produits extraordinaires, exceptionnels ou hors période" msgstr "Ausserordentlicher, einmaliger oder periodenfremder Ertrag" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6950 #: model:account.account.template,name:l10n_ch.ch_coa_6950 msgid "Produits financiers" msgstr "Finanzertrag" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8100 #: model:account.account.template,name:l10n_ch.ch_coa_8100 msgid "Produits hors exploitation" msgstr "Betriebsfremder Ertrag" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1301 #: model:account.account.template,name:l10n_ch.ch_coa_1301 msgid "Produits à recevoir" msgstr "Noch nicht erhaltener Ertrag" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2980 #: model:account.account.template,name:l10n_ch.ch_coa_2980 -msgid "Propres actions, parts sociales, droits de participations (poste négatif)" +msgid "" +"Propres actions, parts sociales, droits de participations (poste négatif)" msgstr "Eigene Aktien, Stammanteile oder Anteilscheine (Minusposten)" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2600 #: model:account.account.template,name:l10n_ch.ch_coa_2600 msgid "Provisions" msgstr "Rückstellungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2330 #: model:account.account.template,name:l10n_ch.ch_coa_2330 msgid "Provisions à court terme" msgstr "Kurzfristige Rückstellungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1440 #: model:account.account.template,name:l10n_ch.ch_coa_1440 msgid "Prêts" msgstr "Darlehen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6600 #: model:account.account.template,name:l10n_ch.ch_coa_6600 msgid "Publicité" msgstr "Werbeaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3801 #: model:account.account.template,name:l10n_ch.ch_coa_3801 msgid "Rabais et réduction de prix" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4901 #: model:account.account.template,name:l10n_ch.ch_coa_4901 msgid "Rabais et réductions de prix" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3802 +#: model:account.account,name:l10n_ch.1_ch_coa_4092 #: model:account.account.template,name:l10n_ch.ch_coa_3802 #: model:account.account.template,name:l10n_ch.ch_coa_4092 msgid "Ristournes" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2940 #: model:account.account.template,name:l10n_ch.ch_coa_2940 msgid "Réserves d‘évaluation" msgstr "Aufwertungsreserve" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2960 #: model:account.account.template,name:l10n_ch.ch_coa_2960 msgid "Réserves libres" msgstr "Freiwillige Gewinnreserven" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2950 #: model:account.account.template,name:l10n_ch.ch_coa_2950 msgid "Réserves légales issues du bénéfice" msgstr "Gesetzliche Gewinnreserve" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2900 #: model:account.account.template,name:l10n_ch.ch_coa_2900 msgid "Réserves légales issues du capital" msgstr "Gesetzliche Kapitalreserve" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5000 #: model:account.account.template,name:l10n_ch.ch_coa_5000 msgid "Salaires" msgstr "Lohnaufwand" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1260 #: model:account.account.template,name:l10n_ch.ch_coa_1260 msgid "Stocks de produits finis" msgstr "Fertige Erzeugnisse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1270 #: model:account.account.template,name:l10n_ch.ch_coa_1270 msgid "Stocks de produits semi-ouvrés" msgstr "" @@ -846,203 +1189,409 @@ msgid "Swiss Statements" msgstr "CH Bilanz- und Erfolgsrechnungen" #. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_dedouanement +msgid "Switzerland VAT Form: 100% dédouanement (base in grid 400)" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_200 +msgid "Switzerland VAT Form: grid 200" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_220 +msgid "Switzerland VAT Form: grid 220" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_221 +msgid "Switzerland VAT Form: grid 221" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_225 +msgid "Switzerland VAT Form: grid 225" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_230 +msgid "Switzerland VAT Form: grid 230" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_235 +msgid "Switzerland VAT Form: grid 235" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_280 +msgid "Switzerland VAT Form: grid 280" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_301_a +msgid "Switzerland VAT Form: grid 301 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_301_b +msgid "Switzerland VAT Form: grid 301 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_311_a +msgid "Switzerland VAT Form: grid 311 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_311_b +msgid "Switzerland VAT Form: grid 311 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_341_a +msgid "Switzerland VAT Form: grid 341 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_341_b +msgid "Switzerland VAT Form: grid 341 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_381_a +msgid "Switzerland VAT Form: grid 381 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_381_b +msgid "Switzerland VAT Form: grid 381 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_400 +msgid "Switzerland VAT Form: grid 400" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_405 +msgid "Switzerland VAT Form: grid 405" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_410 +msgid "Switzerland VAT Form: grid 410" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_415 +msgid "Switzerland VAT Form: grid 415" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_420 +msgid "Switzerland VAT Form: grid 420" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_O_import #: model:account.tax.template,name:l10n_ch.vat_O_import msgid "TVA 0% Importations de biens et services" msgstr "MwSt. 0% auf Importe von Gütern und Dienstleistungen" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_O_exclude #: model:account.tax.template,name:l10n_ch.vat_O_exclude msgid "TVA 0% exclue" msgstr "MwSt. 0% ausgeschlossen" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_25_purchase_incl msgid "TVA 2.5% sur achat B&S (Incl. TR)" msgstr "MwSt. 2,5 % auf Einkäufe B&S (inkl. USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_purchase #: model:account.tax.template,name:l10n_ch.vat_25_purchase msgid "TVA 2.5% sur achat B&S (TR)" msgstr "MwSt. 2,5 % auf Einkäufe B&S (USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_invest_incl #: model:account.tax.template,name:l10n_ch.vat_25_invest_incl msgid "TVA 2.5% sur invest. et autres ch. (Incl. TR)" msgstr "MwSt. 2,5% auf Invest. und sonst. Aufw. (inkl. USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_invest #: model:account.tax.template,name:l10n_ch.vat_25_invest msgid "TVA 2.5% sur invest. et autres ch. (TR)" msgstr "MwSt. 2,5% auf Invest. und sonst. Aufw. (USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_38_purchase_incl msgid "TVA 3.8% sur achat B&S (Incl. TS)" msgstr "MwSt. 3,8% auf Einkäufe B&S (inkl. LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_purchase #: model:account.tax.template,name:l10n_ch.vat_38_purchase msgid "TVA 3.8% sur achat B&S (TS)" msgstr "MwSt. 3,8% auf Einkäufe B&S (LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_invest_incl #: model:account.tax.template,name:l10n_ch.vat_38_invest_incl msgid "TVA 3.8% sur invest. et autres ch. (Incl. TS)" msgstr "MwSt. 3,8% auf Invest. und sonst. Aufw. (inkl. LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_invest #: model:account.tax.template,name:l10n_ch.vat_38_invest msgid "TVA 3.8% sur invest. et autres ch. (TS)" msgstr "MwSt. 3,8% auf Invest. und sonst. Aufw. (LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_80_purchase_incl msgid "TVA 8.0% sur achat B&S (Incl. TN)" msgstr "MwSt. 8.0% auf Einkäufe B&S (inkl. NRZ)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_purchase #: model:account.tax.template,name:l10n_ch.vat_80_purchase msgid "TVA 8.0% sur achat B&S (TN)" msgstr "MwSt. 8,0% auf Einkäufe B&S (NRZ)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_invest_incl #: model:account.tax.template,name:l10n_ch.vat_80_invest_incl msgid "TVA 8.0% sur invest. et autres ch. (Incl. TN)" msgstr "MwSt. 8,0% auf Invest. und sonst. Aufw. (inkl. NRZ)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_invest #: model:account.tax.template,name:l10n_ch.vat_80_invest msgid "TVA 8.0% sur invest. et autres ch. (TN)" msgstr "MwSt. 8,0% auf Invest. und sonst. Aufw. (NRZ)" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2200 #: model:account.account.template,name:l10n_ch.ch_coa_2200 msgid "TVA due" msgstr "Geschuldete MwSt. (Umsatzsteuer)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_XO #: model:account.tax.template,name:l10n_ch.vat_XO msgid "TVA due a 0% (Exportations)" msgstr "Zu zahlende MwSt. bei 0% (Exporte)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25 #: model:account.tax.template,name:l10n_ch.vat_25 msgid "TVA due a 2.5% (TR)" msgstr "Zu zahlende MwSt. bei 2,5% (USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38 #: model:account.tax.template,name:l10n_ch.vat_38 msgid "TVA due a 3.8% (TS)" msgstr "Zu zahlende MwSt. bei 3,8% (LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80 #: model:account.tax.template,name:l10n_ch.vat_80 msgid "TVA due a 8.0% (TN)" msgstr "Zu zahlende MwSt. bei 8,0% (NRZ)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_incl #: model:account.tax.template,name:l10n_ch.vat_25_incl msgid "TVA due à 2.5% (Incl. TR)" msgstr "Zu zahlende MwSt. bei 2,5% (inkl. USt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_incl #: model:account.tax.template,name:l10n_ch.vat_38_incl msgid "TVA due à 3.8% (Incl. TS)" msgstr "Zu zahlende MwSt. bei 3,8% (inkl. LSt)" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_incl #: model:account.tax.template,name:l10n_ch.vat_80_incl msgid "TVA due à 8.0% (Incl. TN)" msgstr "Zu zahlende MwSt. bei 8,0% (inkl. NRZ)" #. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_partner_bank_l10n_ch_postal +msgid "The ISR number of the company within the bank" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_currency_name +msgid "The name of this invoice's currency" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_postal +msgid "The postal reference identifying the bank managing this ISR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_bank_l10n_ch_postal_chf +msgid "" +"The postal reference of the bank, used to generate ISR payment slips in CHF." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_bank_l10n_ch_postal_eur +msgid "" +"The postal reference of the bank, used to generate ISR payment slips in EUR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_number +msgid "The reference number associated with this invoice" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1060 #: model:account.account.template,name:l10n_ch.ch_coa_1060 msgid "Titres" msgstr "Wertschriften" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1400 #: model:account.account.template,name:l10n_ch.ch_coa_1400 msgid "Titres à long terme" msgstr "Wertschriften" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_transfer_account_id #: model:account.account.template,name:l10n_ch.transfer_account_id msgid "Transferts internes" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1280 #: model:account.account.template,name:l10n_ch.ch_coa_1280 msgid "Travaux en cours" msgstr "Unfertige Erzeugnisse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3940 #: model:account.account.template,name:l10n_ch.ch_coa_3940 msgid "Variation de la valeur des prestations non facturées" msgstr "Bestandesänderungen nicht fakturierte Dienstleistungen" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1287 #: model:account.account.template,name:l10n_ch.ch_coa_1287 msgid "Variation de la valeur des travaux en cours" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1277 #: model:account.account.template,name:l10n_ch.ch_coa_1277 msgid "Variation de stock produits semi-ouvrés" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1267 #: model:account.account.template,name:l10n_ch.ch_coa_1267 msgid "Variation de stocks de produits finis" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1207 +#: model:account.account,name:l10n_ch.1_ch_coa_4800 #: model:account.account.template,name:l10n_ch.ch_coa_1207 #: model:account.account.template,name:l10n_ch.ch_coa_4800 msgid "Variation des stocks de marchandises" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4801 #: model:account.account.template,name:l10n_ch.ch_coa_4801 msgid "Variation des stocks de matières premières" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3901 #: model:account.account.template,name:l10n_ch.ch_coa_3901 msgid "Variation des stocks de produits finis" msgstr "Bestandesänderungen fertige Erzeugnisse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3900 #: model:account.account.template,name:l10n_ch.ch_coa_3900 msgid "Variation des stocks de produits semi-finis" msgstr "Bestandesänderungen unfertige Erzeugnisse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1217 #: model:account.account.template,name:l10n_ch.ch_coa_1217 msgid "Variation des stocks des matières premières" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4008 +#: model:account.account,name:l10n_ch.1_ch_coa_4080 #: model:account.account.template,name:l10n_ch.ch_coa_4008 #: model:account.account.template,name:l10n_ch.ch_coa_4080 msgid "Variations de stocks" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3200 #: model:account.account.template,name:l10n_ch.ch_coa_3200 msgid "Ventes de marchandises" msgstr "Handelserlöse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3400 #: model:account.account.template,name:l10n_ch.ch_coa_3400 msgid "Ventes de prestations" msgstr "Dienstleistungserlöse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3000 #: model:account.account.template,name:l10n_ch.ch_coa_3000 msgid "Ventes de produits fabriqués" msgstr "Produktionserlöse" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1530 #: model:account.account.template,name:l10n_ch.ch_coa_1530 msgid "Véhicules" msgstr "Fahrzeuge" + +#. module: l10n_ch +#: code:addons/l10n_ch/models/account_invoice.py:153 +#, python-format +msgid "" +"You cannot generate an ISR yet.\n" +"\n" +" For this, you need to :\n" +"\n" +" - set a valid postal account number (or " +"an IBAN referencing one) for your company\n" +"\n" +" - define its bank\n" +"\n" +" - associate this bank with a postal " +"reference for the currency used in this invoice\n" +"\n" +" - fill the 'bank account' field of the " +"invoice with the postal to be used to receive the related payment. A default " +"account will be automatically set for all invoices created after you defined " +"a postal account for your company." +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_account_config_settings +msgid "account.config.settings" +msgstr "" diff --git a/addons/l10n_ch/i18n_extra/it.po b/addons/l10n_ch/i18n_extra/it.po index 46206f03163..30924cf791b 100644 --- a/addons/l10n_ch/i18n_extra/it.po +++ b/addons/l10n_ch/i18n_extra/it.po @@ -1,698 +1,1006 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * l10n_ch +# * l10n_ch # msgid "" msgstr "" "Project-Id-Version: Odoo Server 8.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-12-02 09:47+0000\n" +"POT-Creation-Date: 2017-03-14 15:52+0000\n" "PO-Revision-Date: 2014-12-02 09:47+0000\n" "Last-Translator: <>\n" "Language-Team: \n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -"Language: it\n" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1 -msgid "ACTIF" -msgstr "ATTIVI" +#: model:account.tax,description:l10n_ch.1_vat_O_exclude +#: model:account.tax.template,description:l10n_ch.vat_O_exclude +msgid "0% excl." +msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_10 -msgid "ACTIF CIRCULANT" -msgstr "ATTIVO CIRCOLANTE" +#: model:account.tax,description:l10n_ch.1_vat_O_import +#: model:account.tax.template,description:l10n_ch.vat_O_import +msgid "0% import." +msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_14 -msgid "ACTIF IMMOBILISE" -msgstr "ATTIVO FISSO" +#: model:account.tax,name:l10n_ch.1_vat_100_import +#: model:account.tax.template,name:l10n_ch.vat_100_import +msgid "100% dédouanement TVA" +msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_6 -msgid "AUTRES CHARGES D‘EXPLOITATION, AMORTISSEMENTS ET AJUSTEMENT DE VALEUR, RÉSULTAT FINANCIER" -msgstr "ALTRI COSTI D’ESERCIZIO, AMMORTAMENTI, RETTIFICHE DI VALORE – INVESTIMENTI IN IMMOBILIZZAZIONI MATERIALI MOBILIARI E RISULTATI FINANZIARI + DISINVESTIMENTI IN IMMOBILIZZAZIONI MATERIALI MOBILIARI" +#: model:account.tax,description:l10n_ch.1_vat_100_import +#: model:account.tax.template,description:l10n_ch.vat_100_import +msgid "100% imp." +msgstr "" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25 +#: model:account.tax.template,description:l10n_ch.vat_25 +msgid "2.5%" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_incl +#: model:account.tax.template,description:l10n_ch.vat_25_incl +msgid "2.5% Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_purchase +#: model:account.tax.template,description:l10n_ch.vat_25_purchase +msgid "2.5% achat" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_purchase_incl +#: model:account.tax.template,description:l10n_ch.vat_25_purchase_incl +msgid "2.5% achat Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_invest +#: model:account.tax.template,description:l10n_ch.vat_25_invest +msgid "2.5% invest." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_invest_incl +#: model:account.tax.template,description:l10n_ch.vat_25_invest_incl +msgid "2.5% invest. Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38 +#: model:account.tax.template,description:l10n_ch.vat_38 +msgid "3.8%" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_incl +#: model:account.tax.template,description:l10n_ch.vat_38_incl +msgid "3.8% Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_purchase +#: model:account.tax.template,description:l10n_ch.vat_38_purchase +msgid "3.8% achat" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_purchase_incl +#: model:account.tax.template,description:l10n_ch.vat_38_purchase_incl +msgid "3.8% achat Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_invest +#: model:account.tax.template,description:l10n_ch.vat_38_invest +msgid "3.8% invest" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_invest_incl +#: model:account.tax.template,description:l10n_ch.vat_38_invest_incl +msgid "3.8% invest Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80 +#: model:account.tax.template,description:l10n_ch.vat_80 +msgid "8.0%" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_incl +#: model:account.tax.template,description:l10n_ch.vat_80_incl +msgid "8.0% Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_purchase +#: model:account.tax.template,description:l10n_ch.vat_80_purchase +msgid "8.0% achat" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_purchase_incl +#: model:account.tax.template,description:l10n_ch.vat_80_purchase_incl +msgid "8.0% achat Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_invest +#: model:account.tax.template,description:l10n_ch.vat_80_invest +msgid "8.0% invest." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_invest_incl +#: model:account.tax.template,description:l10n_ch.vat_80_invest_incl +msgid "8.0% invest. Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4200 #: model:account.account.template,name:l10n_ch.ch_coa_4200 msgid "Achats de marchandises destinées à la revente" msgstr "Costi delle merci di rivendita" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2030 #: model:account.account.template,name:l10n_ch.ch_coa_2030 msgid "Acomptes de clients" msgstr "Acconti ricevuti" #. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_receivable_net -msgid "Acquisition - total" -msgstr "Acquisti - totale" +#: model:account.account,name:l10n_ch.1_ch_coa_1208 +#: model:account.account.template,name:l10n_ch.ch_coa_1208 +msgid "Acomptes sur les marchandises commerciales" +msgstr "" #. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_receivable_base_invest -msgid "Acquisition de biens d'invest. et autres charges" -msgstr "Acquisti beni d'invest. e altri costi d'esercizio" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_receivable_base_invest25 -msgid "Acquisition de biens d'invest. et autres charges a 2.5% (TR)" -msgstr "Acquisti beni d'invest. e altri costi d'esercizio a 2.5% (TR)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_receivable_base_invest38 -msgid "Acquisition de biens d'invest. et autres charges a 3.8% (TS)" -msgstr "Acquisti beni d'invest. e altri costi d'esercizio a 3.8% (TS)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_receivable_base_invest80 -msgid "Acquisition de biens d'invest. et autres charges a 8.0% (TN)" -msgstr "Acquisti beni d'invest. e altri costi d'esercizio a 8.0% (TN)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_receivable_base -msgid "Acquisition de biens et services" -msgstr "Acquisti di beni e servizi" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_receivable_base_0 -msgid "Acquisition de biens et services a 0%" -msgstr "Acquisti di beni e servizi a 0%" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_receivable_base_25 -msgid "Acquisition de biens et services a 2.5% (TR)" -msgstr "Acquisti di beni e servizi a 2.5% (TR)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_receivable_base_38 -msgid "Acquisition de biens et services a 3.8% (TS)" -msgstr "Acquisti di beni e servizi a 3.8% (TS)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_receivable_base_80 -msgid "Acquisition de biens et services a 8.0% (TN)" -msgstr "Acquisti di beni e servizi a 8.0% (TN)" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_130 -msgid "Actifs de régularisation (transitoires)" -msgstr "Ratei e risconti attivi" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_106 -msgid "Actifs à court terme cotés en bourse" -msgstr "Attivi quotati in borsa detenuti a breve termine" +#: model:account.account,name:l10n_ch.1_ch_coa_1218 +#: model:account.account.template,name:l10n_ch.ch_coa_1218 +msgid "Acomptes sur matières premières" +msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1149 #: model:account.account.template,name:l10n_ch.ch_coa_1149 msgid "Ajustement de la valeur des avances et des prêts" msgstr "Rettifica valore anticipi e prestiti" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1709 -msgid "Ajustement de la valeur des brevets, know-how, licences, droits, dév." -msgstr "Rettifica valore patenti, know-how, licenze, diritti e sviluppo" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1199 #: model:account.account.template,name:l10n_ch.ch_coa_1199 msgid "Ajustement de la valeur des créances à court terme" msgstr "Rettifica valore crediti diversi a breve termine" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1449 #: model:account.account.template,name:l10n_ch.ch_coa_1449 msgid "Ajustement de la valeur des créances à long terme" msgstr "Rettifica valore crediti a lungo termine" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1779 #: model:account.account.template,name:l10n_ch.ch_coa_1779 msgid "Ajustement de la valeur des goodwill" msgstr "Rettifica valore goodwill" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1609 -msgid "Ajustement de la valeur des immeubles d’exploitation" -msgstr "Rettifica valore immobili aziendali" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1529 -msgid "Ajustement de la valeur des machines de bureau, inf. et syst. comm." -msgstr "Rettifica valore macchine ufficio, inf. e tec. della comunicazione" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1509 -msgid "Ajustement de la valeur des machines et appareils" -msgstr "Rettifica valore macchine e attrezzature" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1549 -msgid "Ajustement de la valeur des outillages et appareils" -msgstr "Rettifica valore utensili e apparecchiature" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1489 #: model:account.account.template,name:l10n_ch.ch_coa_1489 msgid "Ajustement de la valeur des participations" msgstr "Rettifica valore partecipazioni" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1069 +#: model:account.account,name:l10n_ch.1_ch_coa_1409 #: model:account.account.template,name:l10n_ch.ch_coa_1069 #: model:account.account.template,name:l10n_ch.ch_coa_1409 msgid "Ajustement de la valeur des titres" msgstr "Rettifica valore titoli" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1539 -msgid "Ajustement de la valeur des véhicules" -msgstr "Rettifica valore veicoli" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1519 -msgid "Ajustement de la valeur du mobilier et des installations" -msgstr "Rettifica valore mobilio e installazioni" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_68 +#: model:account.account,name:l10n_ch.1_ch_coa_6800 #: model:account.account.template,name:l10n_ch.ch_coa_6800 -msgid "Amortissements et ajustements de valeur des postes sur immobilisations corporelles" +msgid "" +"Amortissements et ajustements de valeur des postes sur immobilisations " +"corporelles" msgstr "Ammortamenti e rettifiche di valore dell’attivo fisso" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1519 +#: model:account.account.template,name:l10n_ch.ch_coa_1519 +msgid "Amortissements sur le mobilier et les installations" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1599 +#: model:account.account.template,name:l10n_ch.ch_coa_1599 +msgid "Amortissements sur les autres immobilisations corporelles meubles" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1709 +#: model:account.account.template,name:l10n_ch.ch_coa_1709 +msgid "Amortissements sur les brevets, know-how, licences, droits, dév." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1609 +#: model:account.account.template,name:l10n_ch.ch_coa_1609 +msgid "Amortissements sur les immeubles d’exploitation" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1559 +#: model:account.account.template,name:l10n_ch.ch_coa_1559 +msgid "Amortissements sur les installations de stockage" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1529 +#: model:account.account.template,name:l10n_ch.ch_coa_1529 +msgid "Amortissements sur les machines de bureau, inf. et syst. comm." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1509 +#: model:account.account.template,name:l10n_ch.ch_coa_1509 +msgid "Amortissements sur les machines et appareils" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1549 +#: model:account.account.template,name:l10n_ch.ch_coa_1549 +msgid "Amortissements sur les outillages et appareils" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1539 +#: model:account.account.template,name:l10n_ch.ch_coa_1539 +msgid "Amortissements sur les véhicules" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1579 +#: model:account.account.template,name:l10n_ch.ch_coa_1579 +msgid "Amortissements sur les équipements et installations" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2270 #: model:account.account.template,name:l10n_ch.ch_coa_2270 msgid "Assurances sociales et institutions de prévoyance" msgstr "Assicurazioni sociali e istituti di previdenza" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6300 #: model:account.account.template,name:l10n_ch.ch_coa_6300 msgid "Assurances-choses, droits, taxes, autorisations" msgstr "Assicurazioni cose, contributi, tasse e autorizzazioni" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5800 #: model:account.account.template,name:l10n_ch.ch_coa_5800 msgid "Autres charges du personnel" msgstr "Altri costi del personale" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_60 +#: model:account.account,name:l10n_ch.1_ch_coa_6700 #: model:account.account.template,name:l10n_ch.ch_coa_6700 msgid "Autres charges d‘exploitation" msgstr "Altri costi d’esercizio" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_114 +#: model:account.account,name:l10n_ch.1_ch_coa_1190 #: model:account.account.template,name:l10n_ch.ch_coa_1190 msgid "Autres créances à court terme" msgstr "Altri crediti a breve termine" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_220 +#: model:account.account,name:l10n_ch.1_ch_coa_2210 #: model:account.account.template,name:l10n_ch.ch_coa_2210 msgid "Autres dettes à court terme" msgstr "Altri debiti a breve termine" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2140 #: model:account.account.template,name:l10n_ch.ch_coa_2140 msgid "Autres dettes à court terme rémunérées" msgstr "Altri debiti onerosi" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_250 +#: model:account.account,name:l10n_ch.1_ch_coa_2500 #: model:account.account.template,name:l10n_ch.ch_coa_2500 msgid "Autres dettes à long terme" msgstr "Altri debiti a lungo termine" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1590 +#: model:account.account.template,name:l10n_ch.ch_coa_1590 +msgid "Autres immobilisations corporelles meubles" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3600 #: model:account.account.template,name:l10n_ch.ch_coa_3600 msgid "Autres ventes et prestations de services" msgstr "Altri ricavi e prestazioni di servizi" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1140 #: model:account.account.template,name:l10n_ch.ch_coa_1140 msgid "Avances et prêts" msgstr "Anticipi e prestiti" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_B -msgid "BILAN" -msgstr "BILAN" +#: model:ir.model,name:l10n_ch.model_res_bank +msgid "Bank" +msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1020 -msgid "Banque" -msgstr "Banca" +#: model:ir.model,name:l10n_ch.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1021 -msgid "Banque EUR" -msgstr "Banca EUR" +#: model:ir.model.fields,help:l10n_ch.field_account_config_settings_l10n_ch_isr_print_bank_location +#: model:ir.model.fields,help:l10n_ch.field_res_company_l10n_ch_isr_print_bank_location +msgid "" +"Boolean option field indicating whether or not the alternate layout (the one " +"printing bank name and address) must be used when generating an ISR." +msgstr "" #. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_base_net -msgid "Base de calcul de TVA" -msgstr "Base di calcolo IVA" +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_sent +msgid "" +"Boolean value telling whether or not the ISR corresponding to this invoice " +"has already been printed or sent by mail." +msgstr "" #. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_valid +msgid "" +"Boolean value. True iff all the data required to generate the ISR are present" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1700 #: model:account.account.template,name:l10n_ch.ch_coa_1700 msgid "Brevets, know-how, licences, droits, développement" msgstr "Patenti, know-how, licenze, diritti e sviluppo" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2979 #: model:account.account.template,name:l10n_ch.ch_coa_2979 msgid "Bénéfice / perte de l’exercice" msgstr "Utile/perdita annuale" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2970 #: model:account.account.template,name:l10n_ch.ch_coa_2970 msgid "Bénéfice / perte reporté" msgstr "Utile / perdita riportata" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_28 -msgid "CAPITAUX PROPRES" -msgstr "CAPITALE PROPRIO" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_4 -msgid "CHARGES DE MATERIEL, DE MARCHANDISES ET DE PRESTATIONS DE TIERS" -msgstr "COSTI PER IL MATERIALE, LA MERCE I SERVIZI E L’ENERGIA" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_5 -msgid "CHARGES DE PERSONNEL" -msgstr "COSTI PER IL PERSONALE" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_3 -msgid "CHIFFRE D’AFFAIRES RESULTANT DES VENTES ET DES PRESTATIONS DE SERVICES" -msgstr "RICAVI DA FORNITURE E PRESTAZIONI" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_R -msgid "COMPTE DE RESULTAT" -msgstr "COMPTE DE RESULTAT" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1000 -msgid "Caisse" -msgstr "Cassa" +#: model:ir.model.fields,field_description:l10n_ch.field_res_bank_l10n_ch_postal_chf +msgid "CHF ISR reference" +msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1850 #: model:account.account.template,name:l10n_ch.ch_coa_1850 -msgid "Capital actions, capital social, droits de participations ou capital de fondation non versés" -msgstr "Capitale azionario, capitale sociale, diritti di partecipazione o capitale della fondazione non versati" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_180 -msgid "Capital non versé : capital social, capital de fondation" -msgstr "Capitale sociale o capitale della fondazione non versati" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_280 -msgid "Capital social ou capital de fondation" -msgstr "Capitale sociale o capitale della fondazione" +msgid "" +"Capital actions, capital social, droits de participations ou capital de " +"fondation non versés" +msgstr "" +"Capitale azionario, capitale sociale, diritti di partecipazione o capitale " +"della fondazione non versati" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2800 #: model:account.account.template,name:l10n_ch.ch_coa_2800 msgid "Capital-actions, capital social, capital de fondation" -msgstr "Capitale azionario, capitale sociale, diritti di partecipazione o capitale della fondazione" +msgstr "" +"Capitale azionario, capitale sociale, diritti di partecipazione o capitale " +"della fondazione" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4521 +#: model:account.account.template,name:l10n_ch.ch_coa_4521 +msgid "Charbon, briquettes, bois" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7010 #: model:account.account.template,name:l10n_ch.ch_coa_7010 msgid "Charges accessoires" msgstr "Costi attività accessoria" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6000 #: model:account.account.template,name:l10n_ch.ch_coa_6000 msgid "Charges de locaux" msgstr "Costi dei locali" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4000 #: model:account.account.template,name:l10n_ch.ch_coa_4000 msgid "Charges de matériel de l‘atelier" msgstr "Costi materiale per la fabbricazione" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5900 #: model:account.account.template,name:l10n_ch.ch_coa_5900 msgid "Charges de personnels temporaires" msgstr "Prestazioni di terz" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6200 #: model:account.account.template,name:l10n_ch.ch_coa_6200 msgid "Charges de véhicules et de transport" msgstr "Costi auto e di trasporto" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7510 #: model:account.account.template,name:l10n_ch.ch_coa_7510 msgid "Charges des immeubles d‘exploitation" msgstr "Costi immobili aziendali" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6500 #: model:account.account.template,name:l10n_ch.ch_coa_6500 msgid "Charges d‘administration" msgstr "Costi amministrativi" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_4500 -msgid "Charges d‘énergie pour l‘exploitation" -msgstr "Consumi energia per la produzione" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6400 #: model:account.account.template,name:l10n_ch.ch_coa_6400 msgid "Charges d’énergie et évacuation des déchets" msgstr "Costi energia e smaltimento" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6570 #: model:account.account.template,name:l10n_ch.ch_coa_6570 msgid "Charges et leasing d’informatique" msgstr "Costi informatici incluso leasing" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8500 #: model:account.account.template,name:l10n_ch.ch_coa_8500 msgid "Charges extraordinaires, exceptionnelles ou hors période" msgstr "Costi straordinari, unici o relativi ad altri periodi contabili" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6900 #: model:account.account.template,name:l10n_ch.ch_coa_6900 msgid "Charges financières" msgstr "Costi finanziari" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8000 #: model:account.account.template,name:l10n_ch.ch_coa_8000 msgid "Charges hors exploitation" msgstr "Costi estranei" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1300 #: model:account.account.template,name:l10n_ch.ch_coa_1300 msgid "Charges payées d‘avance" msgstr "Costi anticipati" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5700 #: model:account.account.template,name:l10n_ch.ch_coa_5700 msgid "Charges sociales" msgstr "Oneri sociali" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2300 #: model:account.account.template,name:l10n_ch.ch_coa_2300 msgid "Charges à payer" msgstr "Costi da pagare" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_30 -msgid "Chiffre d'affaires" -msgstr "Ricavi" +#: model:account.account,name:l10n_ch.1_ch_coa_3803 +#: model:account.account.template,name:l10n_ch.ch_coa_3803 +msgid "Commissions de tiers" +msgstr "" #. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_base_ca_total -msgid "Chiffre d'affaires - total" -msgstr "Cifra d'affari totale" +#: model:account.account,name:l10n_ch.1_ch_coa_4903 +#: model:account.account.template,name:l10n_ch.ch_coa_4903 +msgid "Commissions obtenues sur achats" +msgstr "" #. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_base_due -msgid "Chiffre d'affaires imposable" -msgstr "Cifra d'affari imponibile" +#: model:ir.model,name:l10n_ch.model_res_company +msgid "Companies" +msgstr "" #. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_due_0 -msgid "Chiffre d'affaires imposable a 0% (export)" -msgstr "Cifra d'affari imponibile al 0% (export)" +#: model:account.account,name:l10n_ch.1_ch_coa_1099 +#: model:account.account.template,name:l10n_ch.ch_coa_1099 +msgid "Compte d'attente autre" +msgstr "" #. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_due_25 -msgid "Chiffre d'affaires imposable a 2.5% (TR)" -msgstr "Cifra d'affari imponibile al 2.5% (TR)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_due_38 -msgid "Chiffre d'affaires imposable a 3.8% (TS)" -msgstr "Cifra d'affari imponibile al 3.8% (TS)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_due_80 -msgid "Chiffre d'affaires imposable a 8.0% (TN)" -msgstr "Cifra d'affari imponibile al 8.0% (TN)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_due_0_exclu -msgid "Chiffre d'affaires non-imposable a 0% (exclu)" -msgstr "Cifra d'affari non imponibile al 0% (esclusa)" +#: model:account.account,name:l10n_ch.1_ch_coa_1091 +#: model:account.account.template,name:l10n_ch.ch_coa_1091 +msgid "Compte d'attente pour salaires" +msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3710 #: model:account.account.template,name:l10n_ch.ch_coa_3710 msgid "Consommations propres" msgstr "Consumo proprio" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1269 +#: model:account.account.template,name:l10n_ch.ch_coa_1269 +msgid "Correction de la valeur de stocks de produits finis" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1279 +#: model:account.account.template,name:l10n_ch.ch_coa_1279 +msgid "Corrections de la valeur des stock produits semi-ouvrés" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1209 +#: model:account.account.template,name:l10n_ch.ch_coa_1209 +msgid "Corrections de la valeur des stocks de marchandises" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1289 +#: model:account.account.template,name:l10n_ch.ch_coa_1289 +msgid "Corrections de la valeur des travaux en cours" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1219 +#: model:account.account.template,name:l10n_ch.ch_coa_1219 +msgid "Corrections de la valeur sur matières premières" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1180 #: model:account.account.template,name:l10n_ch.ch_coa_1180 msgid "Créances envers les assurances sociales et institutions de prévoyance" msgstr "Crediti da assicurazioni sociali e istituti di previdenza" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_110 -msgid "Créances résultant de livraisons et prestations" -msgstr "Crediti da forniture e prestazioni" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2000 #: model:account.account.template,name:l10n_ch.ch_coa_2000 msgid "Créanciers" msgstr "Debiti per forniture e prestazioni (creditori)" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_20 -msgid "DETTE A COURT TERME" -msgstr "CAPITALE DI TERZI A BREVE TERMINE" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_24 -msgid "DETTE A LONG TERME" -msgstr "CAPITALE DI TERZI A LUNGO TERMINE" +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_currency_name +msgid "Currency" +msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2100 +#: model:account.account,name:l10n_ch.1_ch_coa_2400 #: model:account.account.template,name:l10n_ch.ch_coa_2100 #: model:account.account.template,name:l10n_ch.ch_coa_2400 msgid "Dettes bancaires" msgstr "Banca passiva" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_210 -msgid "Dettes à court terme rémunérés" -msgstr "Debiti onerosi a breve termine" +#: model:account.account,name:l10n_ch.1_ch_coa_2160 +#: model:account.account.template,name:l10n_ch.ch_coa_2160 +msgid "Dettes envers l'actionnaire" +msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_200 -msgid "Dettes à court terme résultant d’achats et de prestations de services" -msgstr "Debiti per forniture e prestazioni" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_240 -msgid "Dettes à long terme rémunérées" -msgstr "Debiti onerosi a lungo termine" +#: model:account.account,name:l10n_ch.1_ch_coa_3806 +#: model:account.account,name:l10n_ch.1_ch_coa_4906 +#: model:account.account.template,name:l10n_ch.ch_coa_3806 +#: model:account.account.template,name:l10n_ch.ch_coa_4906 +msgid "Différences de change" +msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2261 #: model:account.account.template,name:l10n_ch.ch_coa_2261 msgid "Dividendes" msgstr "Dividendi" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4071 +#: model:account.account.template,name:l10n_ch.ch_coa_4071 +msgid "Droits de douanes à l'importation" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1109 #: model:account.account.template,name:l10n_ch.ch_coa_1109 msgid "Ducroire" msgstr "Delcredere" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1100 #: model:account.account.template,name:l10n_ch.ch_coa_1100 msgid "Débiteurs" msgstr "Crediti da forniture e prestazioni (debitori)" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2201 #: model:account.account.template,name:l10n_ch.ch_coa_2201 msgid "Décompte TVA" msgstr "IVA, rendiconto" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_4900 -msgid "Déductions sur les charges" -msgstr "Diminuzione di costi" +#: model:account.account,name:l10n_ch.1_ch_coa_4009 +#: model:account.account.template,name:l10n_ch.ch_coa_4009 +msgid "Déductions obtenues sur achats" +msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_3800 +#: model:account.account,name:l10n_ch.1_ch_coa_3009 +#: model:account.account.template,name:l10n_ch.ch_coa_3009 msgid "Déductions sur ventes" msgstr "Diminuzione di ricavi" #. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_bank_l10n_ch_postal_eur +msgid "EUR ISR reference" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4540 +#: model:account.account.template,name:l10n_ch.ch_coa_4540 +msgid "Eau" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4500 +#: model:account.account.template,name:l10n_ch.ch_coa_4500 +msgid "Electricité" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_mail_template +msgid "Email Templates" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2450 #: model:account.account.template,name:l10n_ch.ch_coa_2450 msgid "Emprunts" msgstr "Prestiti" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2430 #: model:account.account.template,name:l10n_ch.ch_coa_2430 msgid "Emprunts obligataires" msgstr "Prestiti obbligazionari" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2120 +#: model:account.account,name:l10n_ch.1_ch_coa_2420 #: model:account.account.template,name:l10n_ch.ch_coa_2120 #: model:account.account.template,name:l10n_ch.ch_coa_2420 msgid "Engagements de financement par leasing" msgstr "Impegni leasing finanziari" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6100 #: model:account.account.template,name:l10n_ch.ch_coa_6100 -msgid "Entretien, réparations et remplacement des inst. servant à l’exploitation" +msgid "" +"Entretien, réparations et remplacement des inst. servant à l’exploitation" msgstr "Manutenzioni, riparazioni e sostituzione immobilizzazioni mobiliari" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1570 +#: model:account.account.template,name:l10n_ch.ch_coa_1570 +msgid "Equipements et Installations" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3800 +#: model:account.account,name:l10n_ch.1_ch_coa_4900 +#: model:account.account.template,name:l10n_ch.ch_coa_3800 +#: model:account.account.template,name:l10n_ch.ch_coa_4900 +msgid "Escomptes" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4530 +#: model:account.account.template,name:l10n_ch.ch_coa_4530 +msgid "Essence" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3804 +#: model:account.account.template,name:l10n_ch.ch_coa_3804 +msgid "Frais d'encaissement" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3807 +#: model:account.account.template,name:l10n_ch.ch_coa_3807 +msgid "Frais d'expédition" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4072 +#: model:account.account.template,name:l10n_ch.ch_coa_4072 +msgid "Frais de transport à l'achat" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4070 +#: model:account.account.template,name:l10n_ch.ch_coa_4070 +msgid "Frêts à l'achat" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4510 +#: model:account.account.template,name:l10n_ch.ch_coa_4510 +msgid "Gaz" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1770 #: model:account.account.template,name:l10n_ch.ch_coa_1770 msgid "Goodwill" msgstr "Goodwill" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1441 +#: model:account.account,name:l10n_ch.1_ch_coa_2451 #: model:account.account.template,name:l10n_ch.ch_coa_1441 #: model:account.account.template,name:l10n_ch.ch_coa_2451 msgid "Hypothèques" msgstr "Prestiti ipotecari" #. module: l10n_ch +#: model:ir.actions.report.xml,name:l10n_ch.l10n_ch_isr_report +msgid "ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.l10n_ch_isr_report_template +msgid "ISR for invoice" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_number_spaced +msgid "" +"ISR number split in blocks of 5 characters (right-justified), to generate " +"ISR report." +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.isr_invoice_search_view +msgid "ISR reference number" +msgstr "" + +#. module: l10n_ch +#: code:addons/l10n_ch/models/mail_compose_message.py:23 +#, python-format +msgid "ISR sent" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1600 #: model:account.account.template,name:l10n_ch.ch_coa_1600 msgid "Immeubles d’exploitation" msgstr "Immobili aziendali" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_160 -msgid "Immobilisations corporelles immeubles" -msgstr "Immobilizzazioni materiali immobiliari" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_150 -msgid "Immobilisations corporelles meubles" -msgstr "Immobilizzazioni materiali mobiliari" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_140 -msgid "Immobilisations financières" -msgstr "Immobilizzazioni finanziarie" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_170 -msgid "Immobilisations incorporelles" -msgstr "Immobilizzazioni immateriali" - -#. module: l10n_ch +#: model:account.fiscal.position,name:l10n_ch.1_fiscal_position_template_import #: model:account.fiscal.position.template,name:l10n_ch.fiscal_position_template_import msgid "Import/Export" msgstr "Import/Export" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1176 #: model:account.account.template,name:l10n_ch.ch_coa_1176 msgid "Impôt anticipé" msgstr "Imposta preventiva" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2206 #: model:account.account.template,name:l10n_ch.ch_coa_2206 msgid "Impôt anticipé dû" msgstr "Imposta preventiva" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1171 #: model:account.account.template,name:l10n_ch.ch_coa_1171 msgid "Impôt préalable: TVA s/investissements et autres charges d’exploitation" msgstr "IVA, imposta precedente su investimenti e altri costi d’esercizio" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1170 #: model:account.account.template,name:l10n_ch.ch_coa_1170 msgid "Impôt préalable: TVA s/matériel, marchandises, prestations et énergie" msgstr "IVA, Imposta precedente su materiale, merce, servizi e energia" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1189 +#: model:account.account,name:l10n_ch.1_ch_coa_2279 #: model:account.account.template,name:l10n_ch.ch_coa_1189 #: model:account.account.template,name:l10n_ch.ch_coa_2279 msgid "Impôt à la source" msgstr "Imposte alla fonte" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2208 +#: model:account.account,name:l10n_ch.1_ch_coa_8900 #: model:account.account.template,name:l10n_ch.ch_coa_2208 -#: model:account.account.template,name:l10n_ch.ch_coa_89 #: model:account.account.template,name:l10n_ch.ch_coa_8900 msgid "Impôts directs" msgstr "Imposte dirette" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1550 +#: model:account.account.template,name:l10n_ch.ch_coa_1550 +msgid "Installations de stockage" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_number +msgid "L10N Ch Isr Number" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_number_spaced +msgid "L10N Ch Isr Number Spaced" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_optical_line +msgid "L10N Ch Isr Optical Line" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_postal +msgid "L10N Ch Isr Postal" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_postal_formatted +msgid "L10N Ch Isr Postal Formatted" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_sent +msgid "L10N Ch Isr Sent" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_valid +msgid "L10N Ch Isr Valid" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_partner_bank_l10n_ch_postal +msgid "L10N Ch Postal" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6260 #: model:account.account.template,name:l10n_ch.ch_coa_6260 msgid "Leasing et location de véhicules" msgstr "Leasing e noleggio auto" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6105 #: model:account.account.template,name:l10n_ch.ch_coa_6105 msgid "Leasing immobilisations corporelles meubles" msgstr "Costi leasing immobilizzazioni mobiliari" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1520 #: model:account.account.template,name:l10n_ch.ch_coa_1520 msgid "Machines de bureau, informatique, systèmes de communication" msgstr "Macchine ufficio, informatica e tecnologia della comunicazione" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1500 #: model:account.account.template,name:l10n_ch.ch_coa_1500 msgid "Machines et appareils" msgstr "Macchine e attrezzature" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1200 #: model:account.account.template,name:l10n_ch.ch_coa_1200 msgid "Marchandises commerciales" msgstr "Merce di rivendita" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1250 #: model:account.account.template,name:l10n_ch.ch_coa_1250 msgid "Marchandises en consignation" msgstr "Merce in consegna" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1220 #: model:account.account.template,name:l10n_ch.ch_coa_1220 msgid "Matières auxiliaires" msgstr "Materia ausiliaria" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1230 #: model:account.account.template,name:l10n_ch.ch_coa_1230 msgid "Matières consommables" msgstr "Materiale di consumo" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1210 #: model:account.account.template,name:l10n_ch.ch_coa_1210 msgid "Matières premières" msgstr "Materia prima" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4520 +#: model:account.account.template,name:l10n_ch.ch_coa_4520 +msgid "Mazout" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1510 #: model:account.account.template,name:l10n_ch.ch_coa_1510 msgid "Mobilier et installations" msgstr "Mobilio e installazioni" #. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_optical_line +msgid "Optical reading line, as it will be printed on ISR" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1540 #: model:account.account.template,name:l10n_ch.ch_coa_1540 msgid "Outillages et appareils" msgstr "Utensili e apparecchiature" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_2 -msgid "PASSIF" -msgstr "PASSIVI" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_148 +#: model:account.account,name:l10n_ch.1_ch_coa_1480 #: model:account.account.template,name:l10n_ch.ch_coa_1480 msgid "Participations" msgstr "Partecipazioni" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_230 -msgid "Passifs de régularisation (transitoires) et provisions à court terme" -msgstr "Ratei e risconti passivi" +#: model:account.account,name:l10n_ch.1_ch_coa_4086 +#: model:account.account.template,name:l10n_ch.ch_coa_4086 +msgid "Pertes de matières" +msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3805 #: model:account.account.template,name:l10n_ch.ch_coa_3805 -msgid "Pertes sur clients, variation du ducroire" -msgstr "Perdite su debitori, variazione delcredere" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_0 -msgid "Plan Comptable" -msgstr "Piano Conti" +msgid "Pertes sur créances clients, variation ducroire" +msgstr "" #. module: l10n_ch #: model:account.chart.template,name:l10n_ch.l10nch_chart_template @@ -700,349 +1008,593 @@ msgid "Plan comptable 2015" msgstr "Piano Conti 2015" #. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_postal_formatted +msgid "" +"Postal reference of the bank, formated with '-' and without the padding " +"zeros, to generate ISR report." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4400 #: model:account.account.template,name:l10n_ch.ch_coa_4400 msgid "Prestations / travaux de tiers" msgstr "Lavori di terzi / prestazioni di subappaltanti" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1280 -msgid "Prestations de services non facturées" -msgstr "Prestazioni di servizi non fatturate" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3700 #: model:account.account.template,name:l10n_ch.ch_coa_3700 msgid "Prestations propres" msgstr "Lavori interni" #. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.isr_invoice_form +msgid "Print ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_company_l10n_ch_isr_print_bank_location +msgid "Print bank location" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_config_settings_l10n_ch_isr_print_bank_location +msgid "Print bank on ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.l10n_ch-isr_account_config_settings +msgid "" +"Print the coordinates of your bank under the 'Payment for' title of the " +"ISR.\n" +" Your address will be moved to the 'in favour " +"of' section." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7000 #: model:account.account.template,name:l10n_ch.ch_coa_7000 msgid "Produits accessoires" msgstr "Ricavi attività accessoria" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7500 #: model:account.account.template,name:l10n_ch.ch_coa_7500 msgid "Produits des immeubles d‘exploitation" msgstr "Ricavi immobili aziendali" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2301 #: model:account.account.template,name:l10n_ch.ch_coa_2301 msgid "Produits encaissés d’avance" msgstr "Ricavi incassati dell’anno seguente" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8510 #: model:account.account.template,name:l10n_ch.ch_coa_8510 msgid "Produits extraordinaires, exceptionnels ou hors période" msgstr "Ricavi straordinari, unici o relativi ad altri periodi contabili" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6950 #: model:account.account.template,name:l10n_ch.ch_coa_6950 msgid "Produits financiers" msgstr "Ricavi finanziari" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8100 #: model:account.account.template,name:l10n_ch.ch_coa_8100 msgid "Produits hors exploitation" msgstr "Ricavi estranei" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1301 #: model:account.account.template,name:l10n_ch.ch_coa_1301 msgid "Produits à recevoir" msgstr "Ricavi da incassare" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2980 #: model:account.account.template,name:l10n_ch.ch_coa_2980 -msgid "Propres actions, parts sociales, droits de participations (poste négatif)" -msgstr "Azioni proprie, parti sociali, diritti di partecipazione (posta negativa)" +msgid "" +"Propres actions, parts sociales, droits de participations (poste négatif)" +msgstr "" +"Azioni proprie, parti sociali, diritti di partecipazione (posta negativa)" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2600 #: model:account.account.template,name:l10n_ch.ch_coa_2600 msgid "Provisions" msgstr "Accantonamenti" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2330 #: model:account.account.template,name:l10n_ch.ch_coa_2330 msgid "Provisions à court terme" msgstr "Accantonamenti a breve termine" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_260 -msgid "Provisions à long termes et provisions légales" -msgstr "Accantonamenti e poste analoghe previste dalla legge" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1440 #: model:account.account.template,name:l10n_ch.ch_coa_1440 msgid "Prêts" msgstr "Prestiti" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6600 #: model:account.account.template,name:l10n_ch.ch_coa_6600 msgid "Publicité" msgstr "Costi pubblicitari" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_7 -msgid "RESULTAT DES ACTIVITES ANNEXES D‘EXPLOITATION" -msgstr "RISULTATO ACCESSORIO D’ESERCIZIO" +#: model:account.account,name:l10n_ch.1_ch_coa_3801 +#: model:account.account.template,name:l10n_ch.ch_coa_3801 +msgid "Rabais et réduction de prix" +msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_8 -msgid "RESULTATS EXTRAORDINAIRES ET HORS EXPLOITATION" -msgstr "RISULTATO ESTRANEO, STRAORDINARIO, UNICO O RELATIVO AD ALTRI PERIODI CONTABILI" +#: model:account.account,name:l10n_ch.1_ch_coa_4901 +#: model:account.account.template,name:l10n_ch.ch_coa_4901 +msgid "Rabais et réductions de prix" +msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_290 -msgid "Réserves / bénéfices et pertes" -msgstr "Riserve / Utili e perdite" +#: model:account.account,name:l10n_ch.1_ch_coa_3802 +#: model:account.account,name:l10n_ch.1_ch_coa_4092 +#: model:account.account.template,name:l10n_ch.ch_coa_3802 +#: model:account.account.template,name:l10n_ch.ch_coa_4092 +msgid "Ristournes" +msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2940 #: model:account.account.template,name:l10n_ch.ch_coa_2940 msgid "Réserves d‘évaluation" msgstr "Riserve da rivalutazioni" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2960 #: model:account.account.template,name:l10n_ch.ch_coa_2960 msgid "Réserves libres" msgstr "Riserve facoltative da utili" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2950 #: model:account.account.template,name:l10n_ch.ch_coa_2950 msgid "Réserves légales issues du bénéfice" msgstr "Riserva legale da utili" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2900 #: model:account.account.template,name:l10n_ch.ch_coa_2900 msgid "Réserves légales issues du capital" msgstr "Riserva legale da capitale" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_85 -msgid "Résultat extraordinaires" -msgstr "Risultato straordinari" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_69 -msgid "Résultat financier" -msgstr "risultati finanziari" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_80 -msgid "Résultat hors exploitation" -msgstr "Risultato estraneo" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5000 #: model:account.account.template,name:l10n_ch.ch_coa_5000 msgid "Salaires" msgstr "Salari" #. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_balance_net -msgid "Solde de TVA a payer a l'AFC" -msgstr "Importo da versare AFC" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1260 #: model:account.account.template,name:l10n_ch.ch_coa_1260 msgid "Stocks de produits finis" msgstr "Prodotti finiti" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_120 -msgid "Stocks et prestations non facturées" -msgstr "Scorte e prestazioni di servizi non fatturate" +#: model:account.account,name:l10n_ch.1_ch_coa_1270 +#: model:account.account.template,name:l10n_ch.ch_coa_1270 +msgid "Stocks de produits semi-ouvrés" +msgstr "" #. module: l10n_ch +#: model:ir.ui.menu,name:l10n_ch.account_reports_ch_statements_menu +msgid "Swiss Statements" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_dedouanement +msgid "Switzerland VAT Form: 100% dédouanement (base in grid 400)" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_200 +msgid "Switzerland VAT Form: grid 200" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_220 +msgid "Switzerland VAT Form: grid 220" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_221 +msgid "Switzerland VAT Form: grid 221" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_225 +msgid "Switzerland VAT Form: grid 225" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_230 +msgid "Switzerland VAT Form: grid 230" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_235 +msgid "Switzerland VAT Form: grid 235" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_280 +msgid "Switzerland VAT Form: grid 280" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_301_a +msgid "Switzerland VAT Form: grid 301 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_301_b +msgid "Switzerland VAT Form: grid 301 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_311_a +msgid "Switzerland VAT Form: grid 311 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_311_b +msgid "Switzerland VAT Form: grid 311 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_341_a +msgid "Switzerland VAT Form: grid 341 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_341_b +msgid "Switzerland VAT Form: grid 341 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_381_a +msgid "Switzerland VAT Form: grid 381 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_381_b +msgid "Switzerland VAT Form: grid 381 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_400 +msgid "Switzerland VAT Form: grid 400" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_405 +msgid "Switzerland VAT Form: grid 405" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_410 +msgid "Switzerland VAT Form: grid 410" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_415 +msgid "Switzerland VAT Form: grid 415" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_420 +msgid "Switzerland VAT Form: grid 420" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_O_import #: model:account.tax.template,name:l10n_ch.vat_O_import msgid "TVA 0% Importations de biens et services" msgstr "IVA 0% Importazioni di bene e servizi" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_O_exclude #: model:account.tax.template,name:l10n_ch.vat_O_exclude msgid "TVA 0% exclue" msgstr "IVA 0% Esclusa" #. module: l10n_ch -#: model:account.tax.template,name:l10n_ch.vat_25_purchase -msgid "TVA 2.5% sur achat B&S (TR)" -msgstr "TVA 2.5% sur achat B&S (TR)" - -#. module: l10n_ch -#: model:account.tax.template,name:l10n_ch.vat_25_invest -msgid "TVA 2.5% sur invest. et autres ch. (TR)" -msgstr "IVA 2.5% Investimenti e altri costi (TR)" - -#. module: l10n_ch -#: model:account.tax.template,name:l10n_ch.vat_38_purchase -msgid "TVA 3.8% sur achat B&S (TS)" -msgstr "TVA 3.8% sur achat B&S (TS)" - -#. module: l10n_ch -#: model:account.tax.template,name:l10n_ch.vat_38_invest -msgid "TVA 3.8% sur invest. et autres ch. (TS)" -msgstr "IVA 3.8% Investimenti e altri costi (TS)" - -#. module: l10n_ch -#: model:account.tax.template,name:l10n_ch.vat_80_purchase -msgid "TVA 8.0% sur achat B&S (TN)" -msgstr "TVA 8.0% sur achat B&S (TN)" - -#. module: l10n_ch -#: model:account.tax.template,name:l10n_ch.vat_80_invest -msgid "TVA 8.0% sur invest. et autres ch. (TN)" -msgstr "IVA 8.0% Investimenti e altri costi (TN)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_due_tva -msgid "TVA Due " -msgstr "Totale imposta dovuta" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_2200 -msgid "TVA due" -msgstr "IVA dovuta" - -#. module: l10n_ch -#: model:account.tax.template,name:l10n_ch.vat_XO -msgid "TVA due a 0% (Exportations)" -msgstr "IVA Vendite 0% (Export)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_due_tva25 -#: model:account.tax.template,name:l10n_ch.vat_25 -msgid "TVA due a 2.5% (TR)" -msgstr "IVA Vendite al 2.5% (TR)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_due_tva38 -#: model:account.tax.template,name:l10n_ch.vat_38 -msgid "TVA due a 3.8% (TS)" -msgstr "IVA Vendite al 3.8% (TS)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_due_tva80 -#: model:account.tax.template,name:l10n_ch.vat_80 -msgid "TVA due a 8.0% (TN)" -msgstr "IVA Vendite al 8.0% (TN)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_payable -msgid "TVA préalable sur acquisitions (a récupérer)" -msgstr "IVA precedente su acquisti (recuperabile)" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_payable_bs -msgid "TVA préalable sur biens et services" -msgstr "IVA precedente su beni e servizi" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_payable_invest -msgid "TVA préalable sur invest. et autres ch." -msgstr "IVA precedente su investimenti e altri costi" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1060 -msgid "Titres" -msgstr "Titoli" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1400 -msgid "Titres à long terme" -msgstr "Titoli" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1270 -msgid "Travaux en cours" -msgstr "Prodotti in corso di fabbricazione" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_100 -msgid "Trésorerie" -msgstr "Liquidità" - -#. module: l10n_ch -#: model:account.tax.code.template,name:l10n_ch.vat_code_chart_root -msgid "VAT" -msgstr "IVA" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_3940 -msgid "Variation de la valeur des prestations non facturées" -msgstr "Variazione prestazioni di servizi non fatturate" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_39 -msgid "Variation des stocks" -msgstr "Variazione delle scorte" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_3901 -msgid "Variation des stocks de produits finis" -msgstr "Variazione delle scorte di prodotti finiti" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_3900 -msgid "Variation des stocks de produits semi-finis" -msgstr "Variazione delle scorte di prodotti in corso di fabbricazione" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_3200 -msgid "Ventes de marchandises" -msgstr "Ricavi merci di rivendita" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_3400 -msgid "Ventes de prestations" -msgstr "Ricavi prestazioni di servizi" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_3000 -msgid "Ventes de produits fabriqués" -msgstr "Ricavi prodotti fabbricati" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1530 -msgid "Véhicules" -msgstr "Veicoli" - -#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_25_purchase_incl msgid "TVA 2.5% sur achat B&S (Incl. TR)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_purchase +#: model:account.tax.template,name:l10n_ch.vat_25_purchase +msgid "TVA 2.5% sur achat B&S (TR)" +msgstr "TVA 2.5% sur achat B&S (TR)" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_invest_incl #: model:account.tax.template,name:l10n_ch.vat_25_invest_incl msgid "TVA 2.5% sur invest. et autres ch. (Incl. TR)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_invest +#: model:account.tax.template,name:l10n_ch.vat_25_invest +msgid "TVA 2.5% sur invest. et autres ch. (TR)" +msgstr "IVA 2.5% Investimenti e altri costi (TR)" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_38_purchase_incl msgid "TVA 3.8% sur achat B&S (Incl. TS)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_purchase +#: model:account.tax.template,name:l10n_ch.vat_38_purchase +msgid "TVA 3.8% sur achat B&S (TS)" +msgstr "TVA 3.8% sur achat B&S (TS)" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_invest_incl #: model:account.tax.template,name:l10n_ch.vat_38_invest_incl msgid "TVA 3.8% sur invest. et autres ch. (Incl. TS)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_invest +#: model:account.tax.template,name:l10n_ch.vat_38_invest +msgid "TVA 3.8% sur invest. et autres ch. (TS)" +msgstr "IVA 3.8% Investimenti e altri costi (TS)" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_80_purchase_incl msgid "TVA 8.0% sur achat B&S (Incl. TN)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_purchase +#: model:account.tax.template,name:l10n_ch.vat_80_purchase +msgid "TVA 8.0% sur achat B&S (TN)" +msgstr "TVA 8.0% sur achat B&S (TN)" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_invest_incl #: model:account.tax.template,name:l10n_ch.vat_80_invest_incl msgid "TVA 8.0% sur invest. et autres ch. (Incl. TN)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_invest +#: model:account.tax.template,name:l10n_ch.vat_80_invest +msgid "TVA 8.0% sur invest. et autres ch. (TN)" +msgstr "IVA 8.0% Investimenti e altri costi (TN)" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2200 +#: model:account.account.template,name:l10n_ch.ch_coa_2200 +msgid "TVA due" +msgstr "IVA dovuta" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_XO +#: model:account.tax.template,name:l10n_ch.vat_XO +msgid "TVA due a 0% (Exportations)" +msgstr "IVA Vendite 0% (Export)" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25 +#: model:account.tax.template,name:l10n_ch.vat_25 +msgid "TVA due a 2.5% (TR)" +msgstr "IVA Vendite al 2.5% (TR)" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38 +#: model:account.tax.template,name:l10n_ch.vat_38 +msgid "TVA due a 3.8% (TS)" +msgstr "IVA Vendite al 3.8% (TS)" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80 +#: model:account.tax.template,name:l10n_ch.vat_80 +msgid "TVA due a 8.0% (TN)" +msgstr "IVA Vendite al 8.0% (TN)" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_incl +#: model:account.tax.template,name:l10n_ch.vat_25_incl +msgid "TVA due à 2.5% (Incl. TR)" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_incl #: model:account.tax.template,name:l10n_ch.vat_38_incl msgid "TVA due à 3.8% (Incl. TS)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_incl #: model:account.tax.template,name:l10n_ch.vat_80_incl msgid "TVA due à 8.0% (Incl. TN)" msgstr "" #. module: l10n_ch -#: model:account.tax.template,name:l10n_ch.vat_25_incl -msgid "TVA due à 2.5% (Incl. TR)" +#: model:ir.model.fields,help:l10n_ch.field_res_partner_bank_l10n_ch_postal +msgid "The ISR number of the company within the bank" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_currency_name +msgid "The name of this invoice's currency" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_postal +msgid "The postal reference identifying the bank managing this ISR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_bank_l10n_ch_postal_chf +msgid "" +"The postal reference of the bank, used to generate ISR payment slips in CHF." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_bank_l10n_ch_postal_eur +msgid "" +"The postal reference of the bank, used to generate ISR payment slips in EUR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_number +msgid "The reference number associated with this invoice" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1060 +#: model:account.account.template,name:l10n_ch.ch_coa_1060 +msgid "Titres" +msgstr "Titoli" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1400 +#: model:account.account.template,name:l10n_ch.ch_coa_1400 +msgid "Titres à long terme" +msgstr "Titoli" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_transfer_account_id +#: model:account.account.template,name:l10n_ch.transfer_account_id +msgid "Transferts internes" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1280 +#: model:account.account.template,name:l10n_ch.ch_coa_1280 +msgid "Travaux en cours" +msgstr "Prodotti in corso di fabbricazione" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3940 +#: model:account.account.template,name:l10n_ch.ch_coa_3940 +msgid "Variation de la valeur des prestations non facturées" +msgstr "Variazione prestazioni di servizi non fatturate" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1287 +#: model:account.account.template,name:l10n_ch.ch_coa_1287 +msgid "Variation de la valeur des travaux en cours" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1277 +#: model:account.account.template,name:l10n_ch.ch_coa_1277 +msgid "Variation de stock produits semi-ouvrés" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1267 +#: model:account.account.template,name:l10n_ch.ch_coa_1267 +msgid "Variation de stocks de produits finis" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1207 +#: model:account.account,name:l10n_ch.1_ch_coa_4800 +#: model:account.account.template,name:l10n_ch.ch_coa_1207 +#: model:account.account.template,name:l10n_ch.ch_coa_4800 +msgid "Variation des stocks de marchandises" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4801 +#: model:account.account.template,name:l10n_ch.ch_coa_4801 +msgid "Variation des stocks de matières premières" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3901 +#: model:account.account.template,name:l10n_ch.ch_coa_3901 +msgid "Variation des stocks de produits finis" +msgstr "Variazione delle scorte di prodotti finiti" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3900 +#: model:account.account.template,name:l10n_ch.ch_coa_3900 +msgid "Variation des stocks de produits semi-finis" +msgstr "Variazione delle scorte di prodotti in corso di fabbricazione" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1217 +#: model:account.account.template,name:l10n_ch.ch_coa_1217 +msgid "Variation des stocks des matières premières" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4008 +#: model:account.account,name:l10n_ch.1_ch_coa_4080 +#: model:account.account.template,name:l10n_ch.ch_coa_4008 +#: model:account.account.template,name:l10n_ch.ch_coa_4080 +msgid "Variations de stocks" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3200 +#: model:account.account.template,name:l10n_ch.ch_coa_3200 +msgid "Ventes de marchandises" +msgstr "Ricavi merci di rivendita" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3400 +#: model:account.account.template,name:l10n_ch.ch_coa_3400 +msgid "Ventes de prestations" +msgstr "Ricavi prestazioni di servizi" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3000 +#: model:account.account.template,name:l10n_ch.ch_coa_3000 +msgid "Ventes de produits fabriqués" +msgstr "Ricavi prodotti fabbricati" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1530 +#: model:account.account.template,name:l10n_ch.ch_coa_1530 +msgid "Véhicules" +msgstr "Veicoli" + +#. module: l10n_ch +#: code:addons/l10n_ch/models/account_invoice.py:153 +#, python-format +msgid "" +"You cannot generate an ISR yet.\n" +"\n" +" For this, you need to :\n" +"\n" +" - set a valid postal account number (or " +"an IBAN referencing one) for your company\n" +"\n" +" - define its bank\n" +"\n" +" - associate this bank with a postal " +"reference for the currency used in this invoice\n" +"\n" +" - fill the 'bank account' field of the " +"invoice with the postal to be used to receive the related payment. A default " +"account will be automatically set for all invoices created after you defined " +"a postal account for your company." +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_account_config_settings +msgid "account.config.settings" msgstr "" diff --git a/addons/l10n_ch/i18n_extra/l10n_ch.pot b/addons/l10n_ch/i18n_extra/l10n_ch.pot index 290e4d81ca1..e2c03bcba8b 100644 --- a/addons/l10n_ch/i18n_extra/l10n_ch.pot +++ b/addons/l10n_ch/i18n_extra/l10n_ch.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0c\n" +"Project-Id-Version: Odoo Server 10.saas~15+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-09-18 08:20+0000\n" -"PO-Revision-Date: 2015-09-18 08:20+0000\n" +"POT-Creation-Date: 2017-03-14 15:52+0000\n" +"PO-Revision-Date: 2017-03-14 15:52+0000\n" "Last-Translator: <>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -16,439 +16,973 @@ msgstr "" "Plural-Forms: \n" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_O_exclude +#: model:account.tax.template,description:l10n_ch.vat_O_exclude +msgid "0% excl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_O_import +#: model:account.tax.template,description:l10n_ch.vat_O_import +msgid "0% import." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_100_import #: model:account.tax.template,name:l10n_ch.vat_100_import msgid "100% dédouanement TVA" msgstr "" #. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_100_import +#: model:account.tax.template,description:l10n_ch.vat_100_import +msgid "100% imp." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25 +#: model:account.tax.template,description:l10n_ch.vat_25 +msgid "2.5%" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_incl +#: model:account.tax.template,description:l10n_ch.vat_25_incl +msgid "2.5% Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_purchase +#: model:account.tax.template,description:l10n_ch.vat_25_purchase +msgid "2.5% achat" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_purchase_incl +#: model:account.tax.template,description:l10n_ch.vat_25_purchase_incl +msgid "2.5% achat Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_invest +#: model:account.tax.template,description:l10n_ch.vat_25_invest +msgid "2.5% invest." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_25_invest_incl +#: model:account.tax.template,description:l10n_ch.vat_25_invest_incl +msgid "2.5% invest. Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38 +#: model:account.tax.template,description:l10n_ch.vat_38 +msgid "3.8%" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_incl +#: model:account.tax.template,description:l10n_ch.vat_38_incl +msgid "3.8% Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_purchase +#: model:account.tax.template,description:l10n_ch.vat_38_purchase +msgid "3.8% achat" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_purchase_incl +#: model:account.tax.template,description:l10n_ch.vat_38_purchase_incl +msgid "3.8% achat Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_invest +#: model:account.tax.template,description:l10n_ch.vat_38_invest +msgid "3.8% invest" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_38_invest_incl +#: model:account.tax.template,description:l10n_ch.vat_38_invest_incl +msgid "3.8% invest Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80 +#: model:account.tax.template,description:l10n_ch.vat_80 +msgid "8.0%" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_incl +#: model:account.tax.template,description:l10n_ch.vat_80_incl +msgid "8.0% Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_purchase +#: model:account.tax.template,description:l10n_ch.vat_80_purchase +msgid "8.0% achat" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_purchase_incl +#: model:account.tax.template,description:l10n_ch.vat_80_purchase_incl +msgid "8.0% achat Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_invest +#: model:account.tax.template,description:l10n_ch.vat_80_invest +msgid "8.0% invest." +msgstr "" + +#. module: l10n_ch +#: model:account.tax,description:l10n_ch.1_vat_80_invest_incl +#: model:account.tax.template,description:l10n_ch.vat_80_invest_incl +msgid "8.0% invest. Incl." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4200 #: model:account.account.template,name:l10n_ch.ch_coa_4200 msgid "Achats de marchandises destinées à la revente" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2030 #: model:account.account.template,name:l10n_ch.ch_coa_2030 msgid "Acomptes de clients" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1208 +#: model:account.account.template,name:l10n_ch.ch_coa_1208 +msgid "Acomptes sur les marchandises commerciales" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1218 +#: model:account.account.template,name:l10n_ch.ch_coa_1218 +msgid "Acomptes sur matières premières" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1149 #: model:account.account.template,name:l10n_ch.ch_coa_1149 msgid "Ajustement de la valeur des avances et des prêts" msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1709 -msgid "Ajustement de la valeur des brevets, know-how, licences, droits, dév." -msgstr "" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1199 #: model:account.account.template,name:l10n_ch.ch_coa_1199 msgid "Ajustement de la valeur des créances à court terme" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1449 #: model:account.account.template,name:l10n_ch.ch_coa_1449 msgid "Ajustement de la valeur des créances à long terme" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1779 #: model:account.account.template,name:l10n_ch.ch_coa_1779 msgid "Ajustement de la valeur des goodwill" msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1609 -msgid "Ajustement de la valeur des immeubles d’exploitation" -msgstr "" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1529 -msgid "Ajustement de la valeur des machines de bureau, inf. et syst. comm." -msgstr "" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1509 -msgid "Ajustement de la valeur des machines et appareils" -msgstr "" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1549 -msgid "Ajustement de la valeur des outillages et appareils" -msgstr "" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1489 #: model:account.account.template,name:l10n_ch.ch_coa_1489 msgid "Ajustement de la valeur des participations" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1069 +#: model:account.account,name:l10n_ch.1_ch_coa_1409 #: model:account.account.template,name:l10n_ch.ch_coa_1069 #: model:account.account.template,name:l10n_ch.ch_coa_1409 msgid "Ajustement de la valeur des titres" msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1539 -msgid "Ajustement de la valeur des véhicules" -msgstr "" - -#. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1519 -msgid "Ajustement de la valeur du mobilier et des installations" -msgstr "" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6800 #: model:account.account.template,name:l10n_ch.ch_coa_6800 msgid "Amortissements et ajustements de valeur des postes sur immobilisations corporelles" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1519 +#: model:account.account.template,name:l10n_ch.ch_coa_1519 +msgid "Amortissements sur le mobilier et les installations" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1599 +#: model:account.account.template,name:l10n_ch.ch_coa_1599 +msgid "Amortissements sur les autres immobilisations corporelles meubles" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1709 +#: model:account.account.template,name:l10n_ch.ch_coa_1709 +msgid "Amortissements sur les brevets, know-how, licences, droits, dév." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1609 +#: model:account.account.template,name:l10n_ch.ch_coa_1609 +msgid "Amortissements sur les immeubles d’exploitation" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1559 +#: model:account.account.template,name:l10n_ch.ch_coa_1559 +msgid "Amortissements sur les installations de stockage" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1529 +#: model:account.account.template,name:l10n_ch.ch_coa_1529 +msgid "Amortissements sur les machines de bureau, inf. et syst. comm." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1509 +#: model:account.account.template,name:l10n_ch.ch_coa_1509 +msgid "Amortissements sur les machines et appareils" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1549 +#: model:account.account.template,name:l10n_ch.ch_coa_1549 +msgid "Amortissements sur les outillages et appareils" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1539 +#: model:account.account.template,name:l10n_ch.ch_coa_1539 +msgid "Amortissements sur les véhicules" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1579 +#: model:account.account.template,name:l10n_ch.ch_coa_1579 +msgid "Amortissements sur les équipements et installations" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2270 #: model:account.account.template,name:l10n_ch.ch_coa_2270 msgid "Assurances sociales et institutions de prévoyance" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6300 #: model:account.account.template,name:l10n_ch.ch_coa_6300 msgid "Assurances-choses, droits, taxes, autorisations" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5800 #: model:account.account.template,name:l10n_ch.ch_coa_5800 msgid "Autres charges du personnel" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6700 #: model:account.account.template,name:l10n_ch.ch_coa_6700 msgid "Autres charges d‘exploitation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1190 #: model:account.account.template,name:l10n_ch.ch_coa_1190 msgid "Autres créances à court terme" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2210 #: model:account.account.template,name:l10n_ch.ch_coa_2210 msgid "Autres dettes à court terme" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2140 #: model:account.account.template,name:l10n_ch.ch_coa_2140 msgid "Autres dettes à court terme rémunérées" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2500 #: model:account.account.template,name:l10n_ch.ch_coa_2500 msgid "Autres dettes à long terme" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1590 +#: model:account.account.template,name:l10n_ch.ch_coa_1590 +msgid "Autres immobilisations corporelles meubles" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3600 #: model:account.account.template,name:l10n_ch.ch_coa_3600 msgid "Autres ventes et prestations de services" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1140 #: model:account.account.template,name:l10n_ch.ch_coa_1140 msgid "Avances et prêts" msgstr "" #. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_res_bank +msgid "Bank" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_res_partner_bank +msgid "Bank Accounts" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_config_settings_l10n_ch_isr_print_bank_location +#: model:ir.model.fields,help:l10n_ch.field_res_company_l10n_ch_isr_print_bank_location +msgid "Boolean option field indicating whether or not the alternate layout (the one printing bank name and address) must be used when generating an ISR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_sent +msgid "Boolean value telling whether or not the ISR corresponding to this invoice has already been printed or sent by mail." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_valid +msgid "Boolean value. True iff all the data required to generate the ISR are present" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1700 #: model:account.account.template,name:l10n_ch.ch_coa_1700 msgid "Brevets, know-how, licences, droits, développement" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2979 #: model:account.account.template,name:l10n_ch.ch_coa_2979 msgid "Bénéfice / perte de l’exercice" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2970 #: model:account.account.template,name:l10n_ch.ch_coa_2970 msgid "Bénéfice / perte reporté" msgstr "" #. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_bank_l10n_ch_postal_chf +msgid "CHF ISR reference" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1850 #: model:account.account.template,name:l10n_ch.ch_coa_1850 msgid "Capital actions, capital social, droits de participations ou capital de fondation non versés" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2800 #: model:account.account.template,name:l10n_ch.ch_coa_2800 msgid "Capital-actions, capital social, capital de fondation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4521 +#: model:account.account.template,name:l10n_ch.ch_coa_4521 +msgid "Charbon, briquettes, bois" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7010 #: model:account.account.template,name:l10n_ch.ch_coa_7010 msgid "Charges accessoires" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6000 #: model:account.account.template,name:l10n_ch.ch_coa_6000 msgid "Charges de locaux" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4000 #: model:account.account.template,name:l10n_ch.ch_coa_4000 msgid "Charges de matériel de l‘atelier" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5900 #: model:account.account.template,name:l10n_ch.ch_coa_5900 msgid "Charges de personnels temporaires" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6200 #: model:account.account.template,name:l10n_ch.ch_coa_6200 msgid "Charges de véhicules et de transport" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7510 #: model:account.account.template,name:l10n_ch.ch_coa_7510 msgid "Charges des immeubles d‘exploitation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6500 #: model:account.account.template,name:l10n_ch.ch_coa_6500 msgid "Charges d‘administration" msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_4500 -msgid "Charges d‘énergie pour l‘exploitation" -msgstr "" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6400 #: model:account.account.template,name:l10n_ch.ch_coa_6400 msgid "Charges d’énergie et évacuation des déchets" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6570 #: model:account.account.template,name:l10n_ch.ch_coa_6570 msgid "Charges et leasing d’informatique" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8500 #: model:account.account.template,name:l10n_ch.ch_coa_8500 msgid "Charges extraordinaires, exceptionnelles ou hors période" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6900 #: model:account.account.template,name:l10n_ch.ch_coa_6900 msgid "Charges financières" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8000 #: model:account.account.template,name:l10n_ch.ch_coa_8000 msgid "Charges hors exploitation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1300 #: model:account.account.template,name:l10n_ch.ch_coa_1300 msgid "Charges payées d‘avance" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5700 #: model:account.account.template,name:l10n_ch.ch_coa_5700 msgid "Charges sociales" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2300 #: model:account.account.template,name:l10n_ch.ch_coa_2300 msgid "Charges à payer" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3803 +#: model:account.account.template,name:l10n_ch.ch_coa_3803 +msgid "Commissions de tiers" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4903 +#: model:account.account.template,name:l10n_ch.ch_coa_4903 +msgid "Commissions obtenues sur achats" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_res_company +msgid "Companies" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1099 +#: model:account.account.template,name:l10n_ch.ch_coa_1099 +msgid "Compte d'attente autre" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1091 +#: model:account.account.template,name:l10n_ch.ch_coa_1091 +msgid "Compte d'attente pour salaires" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3710 #: model:account.account.template,name:l10n_ch.ch_coa_3710 msgid "Consommations propres" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1269 +#: model:account.account.template,name:l10n_ch.ch_coa_1269 +msgid "Correction de la valeur de stocks de produits finis" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1279 +#: model:account.account.template,name:l10n_ch.ch_coa_1279 +msgid "Corrections de la valeur des stock produits semi-ouvrés" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1209 +#: model:account.account.template,name:l10n_ch.ch_coa_1209 +msgid "Corrections de la valeur des stocks de marchandises" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1289 +#: model:account.account.template,name:l10n_ch.ch_coa_1289 +msgid "Corrections de la valeur des travaux en cours" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1219 +#: model:account.account.template,name:l10n_ch.ch_coa_1219 +msgid "Corrections de la valeur sur matières premières" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1180 #: model:account.account.template,name:l10n_ch.ch_coa_1180 msgid "Créances envers les assurances sociales et institutions de prévoyance" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2000 #: model:account.account.template,name:l10n_ch.ch_coa_2000 msgid "Créanciers" msgstr "" #. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_currency_name +msgid "Currency" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2100 +#: model:account.account,name:l10n_ch.1_ch_coa_2400 #: model:account.account.template,name:l10n_ch.ch_coa_2100 #: model:account.account.template,name:l10n_ch.ch_coa_2400 msgid "Dettes bancaires" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2160 +#: model:account.account.template,name:l10n_ch.ch_coa_2160 +msgid "Dettes envers l'actionnaire" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3806 +#: model:account.account,name:l10n_ch.1_ch_coa_4906 +#: model:account.account.template,name:l10n_ch.ch_coa_3806 +#: model:account.account.template,name:l10n_ch.ch_coa_4906 +msgid "Différences de change" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2261 #: model:account.account.template,name:l10n_ch.ch_coa_2261 msgid "Dividendes" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4071 +#: model:account.account.template,name:l10n_ch.ch_coa_4071 +msgid "Droits de douanes à l'importation" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1109 #: model:account.account.template,name:l10n_ch.ch_coa_1109 msgid "Ducroire" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1100 #: model:account.account.template,name:l10n_ch.ch_coa_1100 msgid "Débiteurs" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2201 #: model:account.account.template,name:l10n_ch.ch_coa_2201 msgid "Décompte TVA" msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_4900 -msgid "Déductions sur les charges" +#: model:account.account,name:l10n_ch.1_ch_coa_4009 +#: model:account.account.template,name:l10n_ch.ch_coa_4009 +msgid "Déductions obtenues sur achats" msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_3800 +#: model:account.account,name:l10n_ch.1_ch_coa_3009 +#: model:account.account.template,name:l10n_ch.ch_coa_3009 msgid "Déductions sur ventes" msgstr "" #. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_bank_l10n_ch_postal_eur +msgid "EUR ISR reference" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4540 +#: model:account.account.template,name:l10n_ch.ch_coa_4540 +msgid "Eau" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4500 +#: model:account.account.template,name:l10n_ch.ch_coa_4500 +msgid "Electricité" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_mail_template +msgid "Email Templates" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2450 #: model:account.account.template,name:l10n_ch.ch_coa_2450 msgid "Emprunts" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2430 #: model:account.account.template,name:l10n_ch.ch_coa_2430 msgid "Emprunts obligataires" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2120 +#: model:account.account,name:l10n_ch.1_ch_coa_2420 #: model:account.account.template,name:l10n_ch.ch_coa_2120 #: model:account.account.template,name:l10n_ch.ch_coa_2420 msgid "Engagements de financement par leasing" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6100 #: model:account.account.template,name:l10n_ch.ch_coa_6100 msgid "Entretien, réparations et remplacement des inst. servant à l’exploitation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1570 +#: model:account.account.template,name:l10n_ch.ch_coa_1570 +msgid "Equipements et Installations" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3800 +#: model:account.account,name:l10n_ch.1_ch_coa_4900 +#: model:account.account.template,name:l10n_ch.ch_coa_3800 +#: model:account.account.template,name:l10n_ch.ch_coa_4900 +msgid "Escomptes" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4530 +#: model:account.account.template,name:l10n_ch.ch_coa_4530 +msgid "Essence" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3804 +#: model:account.account.template,name:l10n_ch.ch_coa_3804 +msgid "Frais d'encaissement" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3807 +#: model:account.account.template,name:l10n_ch.ch_coa_3807 +msgid "Frais d'expédition" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4072 +#: model:account.account.template,name:l10n_ch.ch_coa_4072 +msgid "Frais de transport à l'achat" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4070 +#: model:account.account.template,name:l10n_ch.ch_coa_4070 +msgid "Frêts à l'achat" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4510 +#: model:account.account.template,name:l10n_ch.ch_coa_4510 +msgid "Gaz" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1770 #: model:account.account.template,name:l10n_ch.ch_coa_1770 msgid "Goodwill" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1441 +#: model:account.account,name:l10n_ch.1_ch_coa_2451 #: model:account.account.template,name:l10n_ch.ch_coa_1441 #: model:account.account.template,name:l10n_ch.ch_coa_2451 msgid "Hypothèques" msgstr "" #. module: l10n_ch +#: model:ir.actions.report.xml,name:l10n_ch.l10n_ch_isr_report +msgid "ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.l10n_ch_isr_report_template +msgid "ISR for invoice" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_number_spaced +msgid "ISR number split in blocks of 5 characters (right-justified), to generate ISR report." +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.isr_invoice_search_view +msgid "ISR reference number" +msgstr "" + +#. module: l10n_ch +#: code:addons/l10n_ch/models/mail_compose_message.py:23 +#, python-format +msgid "ISR sent" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1600 #: model:account.account.template,name:l10n_ch.ch_coa_1600 msgid "Immeubles d’exploitation" msgstr "" #. module: l10n_ch +#: model:account.fiscal.position,name:l10n_ch.1_fiscal_position_template_import #: model:account.fiscal.position.template,name:l10n_ch.fiscal_position_template_import msgid "Import/Export" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1176 #: model:account.account.template,name:l10n_ch.ch_coa_1176 msgid "Impôt anticipé" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2206 #: model:account.account.template,name:l10n_ch.ch_coa_2206 msgid "Impôt anticipé dû" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1171 #: model:account.account.template,name:l10n_ch.ch_coa_1171 msgid "Impôt préalable: TVA s/investissements et autres charges d’exploitation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1170 #: model:account.account.template,name:l10n_ch.ch_coa_1170 msgid "Impôt préalable: TVA s/matériel, marchandises, prestations et énergie" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1189 +#: model:account.account,name:l10n_ch.1_ch_coa_2279 #: model:account.account.template,name:l10n_ch.ch_coa_1189 #: model:account.account.template,name:l10n_ch.ch_coa_2279 msgid "Impôt à la source" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2208 +#: model:account.account,name:l10n_ch.1_ch_coa_8900 #: model:account.account.template,name:l10n_ch.ch_coa_2208 #: model:account.account.template,name:l10n_ch.ch_coa_8900 msgid "Impôts directs" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1550 +#: model:account.account.template,name:l10n_ch.ch_coa_1550 +msgid "Installations de stockage" +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_number +msgid "L10N Ch Isr Number" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_number_spaced +msgid "L10N Ch Isr Number Spaced" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_optical_line +msgid "L10N Ch Isr Optical Line" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_postal +msgid "L10N Ch Isr Postal" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_postal_formatted +msgid "L10N Ch Isr Postal Formatted" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_sent +msgid "L10N Ch Isr Sent" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_invoice_l10n_ch_isr_valid +msgid "L10N Ch Isr Valid" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_partner_bank_l10n_ch_postal +msgid "L10N Ch Postal" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6260 #: model:account.account.template,name:l10n_ch.ch_coa_6260 msgid "Leasing et location de véhicules" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6105 #: model:account.account.template,name:l10n_ch.ch_coa_6105 msgid "Leasing immobilisations corporelles meubles" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1520 #: model:account.account.template,name:l10n_ch.ch_coa_1520 msgid "Machines de bureau, informatique, systèmes de communication" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1500 #: model:account.account.template,name:l10n_ch.ch_coa_1500 msgid "Machines et appareils" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1200 #: model:account.account.template,name:l10n_ch.ch_coa_1200 msgid "Marchandises commerciales" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1250 #: model:account.account.template,name:l10n_ch.ch_coa_1250 msgid "Marchandises en consignation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1220 #: model:account.account.template,name:l10n_ch.ch_coa_1220 msgid "Matières auxiliaires" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1230 #: model:account.account.template,name:l10n_ch.ch_coa_1230 msgid "Matières consommables" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1210 #: model:account.account.template,name:l10n_ch.ch_coa_1210 msgid "Matières premières" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4520 +#: model:account.account.template,name:l10n_ch.ch_coa_4520 +msgid "Mazout" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1510 #: model:account.account.template,name:l10n_ch.ch_coa_1510 msgid "Mobilier et installations" msgstr "" #. module: l10n_ch -#: model:ir.actions.client,name:l10n_ch.action_client_l10n_ch_menu -msgid "Open Account Dashboard Menu" +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_optical_line +msgid "Optical reading line, as it will be printed on ISR" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1540 #: model:account.account.template,name:l10n_ch.ch_coa_1540 msgid "Outillages et appareils" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1480 #: model:account.account.template,name:l10n_ch.ch_coa_1480 msgid "Participations" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4086 +#: model:account.account.template,name:l10n_ch.ch_coa_4086 +msgid "Pertes de matières" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3805 #: model:account.account.template,name:l10n_ch.ch_coa_3805 -msgid "Pertes sur clients, variation du ducroire" +msgid "Pertes sur créances clients, variation ducroire" msgstr "" #. module: l10n_ch @@ -457,277 +991,579 @@ msgid "Plan comptable 2015" msgstr "" #. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_postal_formatted +msgid "Postal reference of the bank, formated with '-' and without the padding zeros, to generate ISR report." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4400 #: model:account.account.template,name:l10n_ch.ch_coa_4400 msgid "Prestations / travaux de tiers" msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1280 -msgid "Prestations de services non facturées" -msgstr "" - -#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3700 #: model:account.account.template,name:l10n_ch.ch_coa_3700 msgid "Prestations propres" msgstr "" #. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.isr_invoice_form +msgid "Print ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_res_company_l10n_ch_isr_print_bank_location +msgid "Print bank location" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,field_description:l10n_ch.field_account_config_settings_l10n_ch_isr_print_bank_location +msgid "Print bank on ISR" +msgstr "" + +#. module: l10n_ch +#: model:ir.ui.view,arch_db:l10n_ch.l10n_ch-isr_account_config_settings +msgid "Print the coordinates of your bank under the 'Payment for' title of the ISR.\n" +" Your address will be moved to the 'in favour of' section." +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7000 #: model:account.account.template,name:l10n_ch.ch_coa_7000 msgid "Produits accessoires" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_7500 #: model:account.account.template,name:l10n_ch.ch_coa_7500 msgid "Produits des immeubles d‘exploitation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2301 #: model:account.account.template,name:l10n_ch.ch_coa_2301 msgid "Produits encaissés d’avance" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8510 #: model:account.account.template,name:l10n_ch.ch_coa_8510 msgid "Produits extraordinaires, exceptionnels ou hors période" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6950 #: model:account.account.template,name:l10n_ch.ch_coa_6950 msgid "Produits financiers" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_8100 #: model:account.account.template,name:l10n_ch.ch_coa_8100 msgid "Produits hors exploitation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1301 #: model:account.account.template,name:l10n_ch.ch_coa_1301 msgid "Produits à recevoir" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2980 #: model:account.account.template,name:l10n_ch.ch_coa_2980 msgid "Propres actions, parts sociales, droits de participations (poste négatif)" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2600 #: model:account.account.template,name:l10n_ch.ch_coa_2600 msgid "Provisions" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2330 #: model:account.account.template,name:l10n_ch.ch_coa_2330 msgid "Provisions à court terme" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1440 #: model:account.account.template,name:l10n_ch.ch_coa_1440 msgid "Prêts" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_6600 #: model:account.account.template,name:l10n_ch.ch_coa_6600 msgid "Publicité" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3801 +#: model:account.account.template,name:l10n_ch.ch_coa_3801 +msgid "Rabais et réduction de prix" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4901 +#: model:account.account.template,name:l10n_ch.ch_coa_4901 +msgid "Rabais et réductions de prix" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3802 +#: model:account.account,name:l10n_ch.1_ch_coa_4092 +#: model:account.account.template,name:l10n_ch.ch_coa_3802 +#: model:account.account.template,name:l10n_ch.ch_coa_4092 +msgid "Ristournes" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2940 #: model:account.account.template,name:l10n_ch.ch_coa_2940 msgid "Réserves d‘évaluation" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2960 #: model:account.account.template,name:l10n_ch.ch_coa_2960 msgid "Réserves libres" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2950 #: model:account.account.template,name:l10n_ch.ch_coa_2950 msgid "Réserves légales issues du bénéfice" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2900 #: model:account.account.template,name:l10n_ch.ch_coa_2900 msgid "Réserves légales issues du capital" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_5000 #: model:account.account.template,name:l10n_ch.ch_coa_5000 msgid "Salaires" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1260 #: model:account.account.template,name:l10n_ch.ch_coa_1260 msgid "Stocks de produits finis" msgstr "" +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1270 +#: model:account.account.template,name:l10n_ch.ch_coa_1270 +msgid "Stocks de produits semi-ouvrés" +msgstr "" + #. module: l10n_ch #: model:ir.ui.menu,name:l10n_ch.account_reports_ch_statements_menu msgid "Swiss Statements" msgstr "" #. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_dedouanement +msgid "Switzerland VAT Form: 100% dédouanement (base in grid 400)" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_200 +msgid "Switzerland VAT Form: grid 200" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_220 +msgid "Switzerland VAT Form: grid 220" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_221 +msgid "Switzerland VAT Form: grid 221" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_225 +msgid "Switzerland VAT Form: grid 225" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_230 +msgid "Switzerland VAT Form: grid 230" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_235 +msgid "Switzerland VAT Form: grid 235" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_280 +msgid "Switzerland VAT Form: grid 280" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_301_a +msgid "Switzerland VAT Form: grid 301 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_301_b +msgid "Switzerland VAT Form: grid 301 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_311_a +msgid "Switzerland VAT Form: grid 311 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_311_b +msgid "Switzerland VAT Form: grid 311 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_341_a +msgid "Switzerland VAT Form: grid 341 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_341_b +msgid "Switzerland VAT Form: grid 341 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_381_a +msgid "Switzerland VAT Form: grid 381 base" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_381_b +msgid "Switzerland VAT Form: grid 381 tax" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_400 +msgid "Switzerland VAT Form: grid 400" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_405 +msgid "Switzerland VAT Form: grid 405" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_410 +msgid "Switzerland VAT Form: grid 410" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_415 +msgid "Switzerland VAT Form: grid 415" +msgstr "" + +#. module: l10n_ch +#: model:account.account.tag,name:l10n_ch.vat_tag_420 +msgid "Switzerland VAT Form: grid 420" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_O_import #: model:account.tax.template,name:l10n_ch.vat_O_import msgid "TVA 0% Importations de biens et services" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_O_exclude #: model:account.tax.template,name:l10n_ch.vat_O_exclude msgid "TVA 0% exclue" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_25_purchase_incl msgid "TVA 2.5% sur achat B&S (Incl. TR)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_purchase #: model:account.tax.template,name:l10n_ch.vat_25_purchase msgid "TVA 2.5% sur achat B&S (TR)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_invest_incl #: model:account.tax.template,name:l10n_ch.vat_25_invest_incl msgid "TVA 2.5% sur invest. et autres ch. (Incl. TR)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_invest #: model:account.tax.template,name:l10n_ch.vat_25_invest msgid "TVA 2.5% sur invest. et autres ch. (TR)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_38_purchase_incl msgid "TVA 3.8% sur achat B&S (Incl. TS)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_purchase #: model:account.tax.template,name:l10n_ch.vat_38_purchase msgid "TVA 3.8% sur achat B&S (TS)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_invest_incl #: model:account.tax.template,name:l10n_ch.vat_38_invest_incl msgid "TVA 3.8% sur invest. et autres ch. (Incl. TS)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_invest #: model:account.tax.template,name:l10n_ch.vat_38_invest msgid "TVA 3.8% sur invest. et autres ch. (TS)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_purchase_incl #: model:account.tax.template,name:l10n_ch.vat_80_purchase_incl msgid "TVA 8.0% sur achat B&S (Incl. TN)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_purchase #: model:account.tax.template,name:l10n_ch.vat_80_purchase msgid "TVA 8.0% sur achat B&S (TN)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_invest_incl #: model:account.tax.template,name:l10n_ch.vat_80_invest_incl msgid "TVA 8.0% sur invest. et autres ch. (Incl. TN)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_invest #: model:account.tax.template,name:l10n_ch.vat_80_invest msgid "TVA 8.0% sur invest. et autres ch. (TN)" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_2200 #: model:account.account.template,name:l10n_ch.ch_coa_2200 msgid "TVA due" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_XO #: model:account.tax.template,name:l10n_ch.vat_XO msgid "TVA due a 0% (Exportations)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25 #: model:account.tax.template,name:l10n_ch.vat_25 msgid "TVA due a 2.5% (TR)" msgstr "" #. module: l10n_ch -#: model:account.tax.template,name:l10n_ch.vat_38_incl -msgid "TVA due à 3.8% (Incl. TS)" -msgstr "" - -#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38 #: model:account.tax.template,name:l10n_ch.vat_38 msgid "TVA due a 3.8% (TS)" msgstr "" #. module: l10n_ch -#: model:account.tax.template,name:l10n_ch.vat_80_incl -msgid "TVA due à 8.0% (Incl. TN)" -msgstr "" - -#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80 #: model:account.tax.template,name:l10n_ch.vat_80 msgid "TVA due a 8.0% (TN)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_25_incl #: model:account.tax.template,name:l10n_ch.vat_25_incl msgid "TVA due à 2.5% (Incl. TR)" msgstr "" #. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_38_incl +#: model:account.tax.template,name:l10n_ch.vat_38_incl +msgid "TVA due à 3.8% (Incl. TS)" +msgstr "" + +#. module: l10n_ch +#: model:account.tax,name:l10n_ch.1_vat_80_incl +#: model:account.tax.template,name:l10n_ch.vat_80_incl +msgid "TVA due à 8.0% (Incl. TN)" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_partner_bank_l10n_ch_postal +msgid "The ISR number of the company within the bank" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_currency_name +msgid "The name of this invoice's currency" +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_postal +msgid "The postal reference identifying the bank managing this ISR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_bank_l10n_ch_postal_chf +msgid "The postal reference of the bank, used to generate ISR payment slips in CHF." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_res_bank_l10n_ch_postal_eur +msgid "The postal reference of the bank, used to generate ISR payment slips in EUR." +msgstr "" + +#. module: l10n_ch +#: model:ir.model.fields,help:l10n_ch.field_account_invoice_l10n_ch_isr_number +msgid "The reference number associated with this invoice" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1060 #: model:account.account.template,name:l10n_ch.ch_coa_1060 msgid "Titres" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1400 #: model:account.account.template,name:l10n_ch.ch_coa_1400 msgid "Titres à long terme" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_transfer_account_id #: model:account.account.template,name:l10n_ch.transfer_account_id msgid "Transferts internes" msgstr "" #. module: l10n_ch -#: model:account.account.template,name:l10n_ch.ch_coa_1270 +#: model:account.account,name:l10n_ch.1_ch_coa_1280 +#: model:account.account.template,name:l10n_ch.ch_coa_1280 msgid "Travaux en cours" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3940 #: model:account.account.template,name:l10n_ch.ch_coa_3940 msgid "Variation de la valeur des prestations non facturées" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1287 +#: model:account.account.template,name:l10n_ch.ch_coa_1287 +msgid "Variation de la valeur des travaux en cours" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1277 +#: model:account.account.template,name:l10n_ch.ch_coa_1277 +msgid "Variation de stock produits semi-ouvrés" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1267 +#: model:account.account.template,name:l10n_ch.ch_coa_1267 +msgid "Variation de stocks de produits finis" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1207 +#: model:account.account,name:l10n_ch.1_ch_coa_4800 +#: model:account.account.template,name:l10n_ch.ch_coa_1207 +#: model:account.account.template,name:l10n_ch.ch_coa_4800 +msgid "Variation des stocks de marchandises" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4801 +#: model:account.account.template,name:l10n_ch.ch_coa_4801 +msgid "Variation des stocks de matières premières" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3901 #: model:account.account.template,name:l10n_ch.ch_coa_3901 msgid "Variation des stocks de produits finis" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3900 #: model:account.account.template,name:l10n_ch.ch_coa_3900 msgid "Variation des stocks de produits semi-finis" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1217 +#: model:account.account.template,name:l10n_ch.ch_coa_1217 +msgid "Variation des stocks des matières premières" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_4008 +#: model:account.account,name:l10n_ch.1_ch_coa_4080 +#: model:account.account.template,name:l10n_ch.ch_coa_4008 +#: model:account.account.template,name:l10n_ch.ch_coa_4080 +msgid "Variations de stocks" +msgstr "" + +#. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3200 #: model:account.account.template,name:l10n_ch.ch_coa_3200 msgid "Ventes de marchandises" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3400 #: model:account.account.template,name:l10n_ch.ch_coa_3400 msgid "Ventes de prestations" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_3000 #: model:account.account.template,name:l10n_ch.ch_coa_3000 msgid "Ventes de produits fabriqués" msgstr "" #. module: l10n_ch +#: model:account.account,name:l10n_ch.1_ch_coa_1530 #: model:account.account.template,name:l10n_ch.ch_coa_1530 msgid "Véhicules" msgstr "" +#. module: l10n_ch +#: code:addons/l10n_ch/models/account_invoice.py:153 +#, python-format +msgid "You cannot generate an ISR yet.\n" +"\n" +" For this, you need to :\n" +"\n" +" - set a valid postal account number (or an IBAN referencing one) for your company\n" +"\n" +" - define its bank\n" +"\n" +" - associate this bank with a postal reference for the currency used in this invoice\n" +"\n" +" - fill the 'bank account' field of the invoice with the postal to be used to receive the related payment. A default account will be automatically set for all invoices created after you defined a postal account for your company." +msgstr "" + +#. module: l10n_ch +#: model:ir.model,name:l10n_ch.model_account_config_settings +msgid "account.config.settings" +msgstr "" + From 328a5a7ea393b8a3cc60ca36b2b41d606e2110e8 Mon Sep 17 00:00:00 2001 From: Denis Vermylen Date: Tue, 14 Mar 2017 17:49:44 +0100 Subject: [PATCH 12/36] [FIX] website_sale: extra step access rights Public users were stuck at the extra step during the checkout process if enabled due to not having the access rights to write on the sale.order. --- addons/website_sale/controllers/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 75ff784675a..82cb45a563e 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -101,7 +101,7 @@ class WebsiteSaleForm(WebsiteForm): order = request.website.sale_get_order() if data['record']: - order.write(data['record']) + order.sudo().write(data['record']) if data['custom']: values = { From 1572f41acf56f264e54a808dfc2cbe4a15dbb2b0 Mon Sep 17 00:00:00 2001 From: Denis Vermylen Date: Tue, 14 Mar 2017 18:04:45 +0100 Subject: [PATCH 13/36] [FIX] account: set conditional require attribute When registering a payment on an invoice, the pop-up kept asking you to enter a writeoff_account_id even when no reconciliation was asked. The field should of course not be required in that case. --- addons/account/views/account_payment_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/account/views/account_payment_view.xml b/addons/account/views/account_payment_view.xml index e6298362513..620d6638e65 100644 --- a/addons/account/views/account_payment_view.xml +++ b/addons/account/views/account_payment_view.xml @@ -210,9 +210,9 @@
From 9f9657c04b9ec1e7151f562f74b61efc92df58fa Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Tue, 14 Mar 2017 16:56:17 +0100 Subject: [PATCH 14/36] [FIX] base: unlinking ir.model.constraint When unlinking an ir.model, all the ir.model.constraint linked to this ir.model must be removed to avoid to call unexisting model. In stable version, the right fix would be to put an attribute ondelete=cascade on the field model of ir.model.constraint. In 10.0, the ir.model.constraint are created with module = the module where the related field has been declared. But when unlinking the ir.model in function _module_data_uninstall, the related ir.model.constraint to remove were chosen according to the removed modules. So with models declaring constraints on inherited fields, some problems occured because the model could be removed and not all the related constraints. opw:716032 --- odoo/addons/base/ir/ir_model.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/odoo/addons/base/ir/ir_model.py b/odoo/addons/base/ir/ir_model.py index 8627046790d..5e610641989 100644 --- a/odoo/addons/base/ir/ir_model.py +++ b/odoo/addons/base/ir/ir_model.py @@ -133,6 +133,9 @@ class IrModel(models.Model): # prevent screwing up fields that depend on these models' fields model.field_id._prepare_update() + imc = self.env['ir.model.constraint'].search([('model', 'in', self.ids)]) + imc.unlink() + self._drop_table() res = super(IrModel, self).unlink() From 9995deda864902cf3dd0d75a41b648a45c95e2e3 Mon Sep 17 00:00:00 2001 From: Denis Vermylen Date: Wed, 15 Mar 2017 10:15:30 +0100 Subject: [PATCH 15/36] [FIX] website_sale: fix extra-step truly fix 328a5a7ea393b8a3cc60ca36b2b41d606e2110e8 sudo() was applied at the wrong step. mea culpa --- addons/website_form/controllers/main.py | 2 +- addons/website_sale/controllers/main.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/website_form/controllers/main.py b/addons/website_form/controllers/main.py index 2f5f7ec2292..4ded7c4ddb7 100644 --- a/addons/website_form/controllers/main.py +++ b/addons/website_form/controllers/main.py @@ -159,7 +159,7 @@ class WebsiteForm(http.Controller): # def website_form_input_filter(self, values): # values['name'] = '%s\'s Application' % values['partner_name'] # return values - dest_model = request.env[model.model] + dest_model = request.env[model.sudo().model] if hasattr(dest_model, "website_form_input_filter"): data['record'] = dest_model.website_form_input_filter(request, data['record']) diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 82cb45a563e..75ff784675a 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -101,7 +101,7 @@ class WebsiteSaleForm(WebsiteForm): order = request.website.sale_get_order() if data['record']: - order.sudo().write(data['record']) + order.write(data['record']) if data['custom']: values = { From acd8c4de18b9cb72dae9d90075304128eec985ac Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Thu, 2 Mar 2017 16:32:12 +0100 Subject: [PATCH 16/36] [FIX] base: validate default values in `ir.values` --- odoo/addons/base/ir/ir_values.py | 11 ++- odoo/addons/base/tests/test_ir_values.py | 91 +++++++++++++----------- 2 files changed, 58 insertions(+), 44 deletions(-) diff --git a/odoo/addons/base/ir/ir_values.py b/odoo/addons/base/ir/ir_values.py index c1f1d4c03d7..8df8cde1d8a 100644 --- a/odoo/addons/base/ir/ir_values.py +++ b/odoo/addons/base/ir/ir_values.py @@ -4,7 +4,7 @@ from ast import literal_eval from odoo import api, fields, models, tools, _ -from odoo.exceptions import AccessError, MissingError +from odoo.exceptions import AccessError, MissingError, ValidationError from odoo.tools import pickle EXCLUDED_FIELDS = set(('code', @@ -219,6 +219,15 @@ class IrValues(models.Model): # should be company-specific, need to get company id company_id = self.env.user.company_id.id + # check consistency of model, field_name and value + try: + field = self.env[model]._fields[field_name] + field.convert_to_cache(value, self.browse()) + except KeyError: + raise ValidationError(_("Invalid field %s.%s") % (model, field_name)) + except Exception: + raise ValidationError(_("Invalid value for %s.%s: %s") % (model, field_name, value)) + # remove existing defaults for the same scope search_criteria = [ ('key', '=', 'default'), diff --git a/odoo/addons/base/tests/test_ir_values.py b/odoo/addons/base/tests/test_ir_values.py index 50fba76615b..b8aa0cdb331 100644 --- a/odoo/addons/base/tests/test_ir_values.py +++ b/odoo/addons/base/tests/test_ir_values.py @@ -1,90 +1,95 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo.exceptions import ValidationError from odoo.tests.common import TransactionCase class TestIrValues(TransactionCase): - def test_00(self): - # Create some default value for some (non-existing) model, for all users. - + def test_defaults(self): + # Create some default value for some model, for all users. ir_values = self.env['ir.values'] - # use the old API - ir_values.set_default('unexisting_model', 'my_test_field', 'global value', condition=False) - # use the new API - ir_values.set_default('other_unexisting_model', 'my_other_test_field', - 'conditional value', condition='foo=bar') + ir_values.set_default('res.partner', 'ref', 'X11') + ir_values.set_default('res.partner.title', 'shortcut', 'Mr', condition='name=Mister') - # Retrieve them. + # Retrieve them: ds is a list of triplets (id, name, value) + ds = ir_values.get_defaults('res.partner') + d = next((d for d in ds if d[1] == 'ref'), None) + self.assertTrue(d, "At least one value should be retrieved for this model.") + self.assertEqual(d[2], 'X11', "Can't retrieve the created default value.") - # d is a list of triplets (id, name, value) - # Old API - d = ir_values.get_defaults('unexisting_model', condition=False) - self.assertEqual(len(d), 1, "Only one single value should be retrieved for this model") - self.assertEqual(d[0][1], 'my_test_field', "Can't retrieve the created default value. (1)") - self.assertEqual(d[0][2], 'global value', "Can't retrieve the created default value. (2)") + ds = ir_values.get_defaults('res.partner.title') + d = next((d for d in ds if d[1] == 'shortcut'), None) + self.assertFalse(d, "No value should be retrieved, the condition is not met.") - # New API, Conditional version - d = ir_values.get_defaults('other_unexisting_model') - self.assertEqual(len(d), 0, "No value should be retrieved, the condition is not met") - d = ir_values.get_defaults('other_unexisting_model', condition="foo=eggs") - self.assertEqual(len(d), 0, 'Condition is not met either, no defaults should be returned') - d = ir_values.get_defaults('other_unexisting_model', condition="foo=bar") - self.assertEqual(len(d), 1, "Only one single value should be retrieved") - self.assertEqual(d[0][1], 'my_other_test_field', "Can't retrieve the created default value. (5)") - self.assertEqual(d[0][2], 'conditional value', "Can't retrieve the created default value. (6)") + ds = ir_values.get_defaults('res.partner.title', condition="name=Miss") + d = next((d for d in ds if d[1] == 'shortcut'), None) + self.assertFalse(d, "No value should be retrieved, the condition is not met.") + + ds = ir_values.get_defaults('res.partner.title', condition="name=Mister") + d = next((d for d in ds if d[1] == 'shortcut'), None) + self.assertTrue(d, "At least one value should be retrieved.") + self.assertEqual(d[2], 'Mr', "Can't retrieve the created default value.") # Do it again but for a specific user. - ir_values.set_default('unexisting_model', 'my_test_field', 'specific value', for_all_users=False, condition=False) + ir_values.set_default('res.partner', 'ref', '007', for_all_users=False) # Retrieve it and check it is the one for the current user. + ds = ir_values.get_defaults('res.partner') + d = next((d for d in ds if d[1] == 'ref'), None) + self.assertTrue(d, "At least one value should be retrieved for this model.") + self.assertEqual(d[2], '007', "Can't retrieve the created default value.") - d = ir_values.get_defaults('unexisting_model', condition=False) - self.assertEqual(len(d), 1, "Only one default must be returned per field") - self.assertEqual(d[0][1], 'my_test_field', "Can't retrieve the created default value.") - self.assertEqual(d[0][2], 'specific value', "Can't retrieve the created default value.") - - # Create some action bindings for a non-existing model. + # create invalid defaults + with self.assertRaises(ValidationError): + ir_values.set_default('unknown_model', 'unknown_field', 42) + with self.assertRaises(ValidationError): + ir_values.set_default('res.partner', 'unknown_field', 42) + with self.assertRaises(ValidationError): + ir_values.set_default('res.partner', 'lang', 'some_LANG') + with self.assertRaises(ValidationError): + ir_values.set_default('res.partner', 'credit_limit', 'foo') + def test_actions(self): + # Create some action bindings for a model. act_id_1 = self.ref('base.act_values_form_action') act_id_2 = self.ref('base.act_values_form_defaults') act_id_3 = self.ref('base.action_res_company_form') - ir_values.set_action('OnDblClick Action', action_slot='tree_but_open', model='unexisting_model', action='ir.actions.act_window,%d' % act_id_1, res_id=False) - ir_values.set_action('OnDblClick Action 2', action_slot='tree_but_open', model='unexisting_model', action='ir.actions.act_window,%d' % act_id_2, res_id=False) - ir_values.set_action('Side Wizard', action_slot='client_action_multi', model='unexisting_model', action='ir.actions.act_window,%d' % act_id_3, res_id=False) + ir_values = self.env['ir.values'] + ir_values.set_action('OnDblClick Action', action_slot='tree_but_open', model='res.partner', action='ir.actions.act_window,%d' % act_id_1, res_id=False) + ir_values.set_action('OnDblClick Action 2', action_slot='tree_but_open', model='res.partner', action='ir.actions.act_window,%d' % act_id_2, res_id=False) + ir_values.set_action('Side Wizard', action_slot='client_action_multi', model='res.partner', action='ir.actions.act_window,%d' % act_id_3, res_id=False) reports = self.env['ir.actions.report.xml'].search([]) report_id = next(report.id for report in reports if not report.groups_id) - ir_values.set_action('Nice Report', action_slot='client_print_multi', model='unexisting_model', action='ir.actions.report.xml,%d' % report_id, res_id=False) + ir_values.set_action('Nice Report', action_slot='client_print_multi', model='res.partner', action='ir.actions.report.xml,%d' % report_id, res_id=False) # Replace one action binding to set a new name. - - ir_values.set_action('OnDblClick Action New', action_slot='tree_but_open', model='unexisting_model', action='ir.actions.act_window,%d' % act_id_1, res_id=False) + ir_values.set_action('OnDblClick Action New', action_slot='tree_but_open', model='res.partner', action='ir.actions.act_window,%d' % act_id_1, res_id=False) # Retrieve the action bindings and check they're correct - - actions = ir_values.get_actions(action_slot='tree_but_open', model='unexisting_model', res_id=False) + actions = ir_values.get_actions(action_slot='tree_but_open', model='res.partner', res_id=False) self.assertEqual(len(actions), 2, "Mismatching number of bound actions") - #first action + # first action self.assertEqual(len(actions[0]), 3, "Malformed action definition") self.assertEqual(actions[0][1], 'OnDblClick Action 2', 'Bound action does not match definition') self.assertTrue(isinstance(actions[0][2], dict) and actions[0][2]['id'] == act_id_2, 'Bound action does not match definition') - #second action - this ones comes last because it was re-created with a different name + # second action - this ones comes last because it was re-created with a different name self.assertEqual(len(actions[1]), 3, "Malformed action definition") self.assertEqual(actions[1][1], 'OnDblClick Action New', 'Re-Registering an action should replace it') self.assertTrue(isinstance(actions[1][2], dict) and actions[1][2]['id'] == act_id_1, 'Bound action does not match definition') - actions = ir_values.get_actions(action_slot='client_action_multi', model='unexisting_model', res_id=False) + actions = ir_values.get_actions(action_slot='client_action_multi', model='res.partner', res_id=False) self.assertEqual(len(actions), 1, "Mismatching number of bound actions") self.assertEqual(len(actions[0]), 3, "Malformed action definition") self.assertEqual(actions[0][1], 'Side Wizard', 'Bound action does not match definition') self.assertTrue(isinstance(actions[0][2], dict) and actions[0][2]['id'] == act_id_3, 'Bound action does not match definition') - actions = ir_values.get_actions(action_slot='client_print_multi', model='unexisting_model', res_id=False) + actions = ir_values.get_actions(action_slot='client_print_multi', model='res.partner', res_id=False) self.assertEqual(len(actions), 1, "Mismatching number of bound actions") self.assertEqual(len(actions[0]), 3, "Malformed action definition") self.assertEqual(actions[0][1], 'Nice Report', 'Bound action does not match definition') From aa68e3e0d7dd813774bcc359d3e8872e5e84b9b4 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Mon, 6 Mar 2017 13:46:44 +0100 Subject: [PATCH 17/36] [FIX] base: in `res.lang`, invalidate `ormcache` after modifying languages The method `write` calls `env['res.lang']._get_installed`, which is ormcached. After activating a language with `write`, one must invalidate the ormcache. --- odoo/addons/base/res/res_lang.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/odoo/addons/base/res/res_lang.py b/odoo/addons/base/res/res_lang.py index c43baf0ad49..e19d5175f90 100644 --- a/odoo/addons/base/res/res_lang.py +++ b/odoo/addons/base/res/res_lang.py @@ -218,8 +218,9 @@ class Lang(models.Model): raise UserError(_("Language code cannot be modified.")) if vals.get('active') == False and self.env['res.users'].search([('lang', 'in', lang_codes)]): raise UserError(_("Cannot unactivate a language that is currently used by users.")) + res = super(Lang, self).write(vals) self.clear_caches() - return super(Lang, self).write(vals) + return res @api.multi def unlink(self): From 6027e9370de7458bec6cd8a956f2a60b0eed0126 Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Tue, 7 Mar 2017 15:26:23 +0100 Subject: [PATCH 18/36] [FIX] account, base_setup, sale, crm: do not create `ir.values` for unknown fields --- addons/account/models/res_config.py | 15 ++++++++++++-- addons/base_setup/models/res_config.py | 23 +++++++++++++++++++--- addons/crm/models/res_config.py | 2 +- addons/sale/models/sale_config_settings.py | 11 ++++++++++- 4 files changed, 44 insertions(+), 7 deletions(-) diff --git a/addons/account/models/res_config.py b/addons/account/models/res_config.py index 664fb58c505..a5dd40bdb04 100644 --- a/addons/account/models/res_config.py +++ b/addons/account/models/res_config.py @@ -37,9 +37,9 @@ class AccountConfigSettings(models.TransientModel): help="Allows you to put invoices in pro-forma state.") module_account_reports_followup = fields.Boolean("Enable payment followup management") default_sale_tax_id = fields.Many2one('account.tax', string="Default Sale Tax", - default_model="account.config.settings", company_dependent=True, oldname="default_sale_tax") + company_dependent=True, oldname="default_sale_tax") default_purchase_tax_id = fields.Many2one('account.tax', string="Default Purchase Tax", - default_model="account.config.settings", company_dependent=True, oldname="default_purchase_tax") + company_dependent=True, oldname="default_purchase_tax") module_l10n_us_check_printing = fields.Boolean("Allow check printing and deposits") module_account_batch_deposit = fields.Boolean(string='Use batch deposit', help='This allows you to group received checks before you deposit them to the bank.\n' @@ -56,6 +56,17 @@ class AccountConfigSettings(models.TransientModel): module_product_margin = fields.Boolean(string="Allow Product Margin") module_l10n_eu_service = fields.Boolean(string="EU Digital Goods VAT") + @api.model + def get_default_tax_fields(self, fields): + default_purchase_tax_id = self.env['ir.config_parameter'].sudo().get_param('account.default_purchase_tax_id', default=False) + default_sale_tax_id = self.env['ir.config_parameter'].sudo().get_param('account.default_sale_tax_id', default=False) + return dict(default_purchase_tax_id=int(default_purchase_tax_id), default_sale_tax_id=int(default_sale_tax_id)) + + @api.multi + def set_default_tax_fields(self): + self.env['ir.config_parameter'].sudo().set_param("account.default_purchase_tax_id", self.default_purchase_tax_id.id) + self.env['ir.config_parameter'].sudo().set_param("account.default_sale_tax_id", self.default_sale_tax_id.id) + @api.depends('company_id') def _compute_has_chart_of_accounts(self): self.has_chart_of_accounts = bool(self.company_id.chart_template_id) diff --git a/addons/base_setup/models/res_config.py b/addons/base_setup/models/res_config.py index 971694940dd..ceeb7c3bdbf 100644 --- a/addons/base_setup/models/res_config.py +++ b/addons/base_setup/models/res_config.py @@ -11,8 +11,8 @@ class BaseConfigSettings(models.TransientModel): group_multi_company = fields.Boolean("Manage multiple companies", implied_group='base.group_multi_company') company_id = fields.Many2one('res.company', string='Company', required=True, default=lambda self: self.env.user.company_id) - default_user_rights = fields.Boolean("Default Access Rights", default_model='base.config.settings') - default_external_email_server = fields.Boolean("External Email Servers", default_model='base.config.settings') + default_user_rights = fields.Boolean("Default Access Rights") + default_external_email_server = fields.Boolean("External Email Servers") module_base_import = fields.Boolean("Allow users to import data from CSV/XLS/XLSX/ODS files") module_pad = fields.Boolean("External Pads") module_google_calendar = fields.Boolean( @@ -27,12 +27,29 @@ class BaseConfigSettings(models.TransientModel): help="Share your partners to all companies defined in your instance.\n" " * Checked : Partners are visible for every companies, even if a company is defined on the partner.\n" " * Unchecked : Each company can see only its partner (partners where company is defined). Partners not related to a company are visible for all companies.") - default_custom_report_footer = fields.Boolean("Custom Report Footer", default_model='base.config.settings') + default_custom_report_footer = fields.Boolean("Custom Report Footer") rml_footer = fields.Text(related="company_id.rml_footer", string='Custom Report Footer', help="Footer text displayed at the bottom of all reports.") group_multi_currency = fields.Boolean(string='Allow multi currencies', implied_group='base.group_multi_currency', help="Allows to work in a multi currency environment") + @api.model + def get_default_fields(self, fields): + default_external_email_server = self.env['ir.config_parameter'].sudo().get_param('base_setup.default_external_email_server', default=False) + default_user_rights = self.env['ir.config_parameter'].sudo().get_param('base_setup.default_user_rights', default=False) + default_custom_report_footer = self.env['ir.config_parameter'].sudo().get_param('base_setup.default_custom_report_footer', default=False) + return { + 'default_external_email_server': default_external_email_server, + 'default_user_rights': default_user_rights, + 'default_custom_report_footer': default_custom_report_footer, + } + + @api.multi + def set_default_fields(self): + self.env['ir.config_parameter'].sudo().set_param("base_setup.default_external_email_server", self.default_external_email_server) + self.env['ir.config_parameter'].sudo().set_param("base_setup.default_user_rights", self.default_user_rights) + self.env['ir.config_parameter'].sudo().set_param("base_setup.default_custom_report_footer", self.default_custom_report_footer) + @api.multi def open_company(self): return { diff --git a/addons/crm/models/res_config.py b/addons/crm/models/res_config.py index 4d22ef0ebd8..a786f1e2c0b 100644 --- a/addons/crm/models/res_config.py +++ b/addons/crm/models/res_config.py @@ -11,7 +11,7 @@ class CRMSettings(models.TransientModel): help="Odoo will generate an email alias based on the sales channel name") alias_prefix = fields.Char('Default Alias Name for Leads') alias_domain = fields.Char('Alias Domain', default=lambda self: self.env["ir.config_parameter"].sudo().get_param("mail.catchall.domain")) - default_generate_lead_from_alias = fields.Boolean(default_model='sale.config.settings') + default_generate_lead_from_alias = fields.Boolean() group_use_lead = fields.Boolean(string="Leads", implied_group='crm.group_use_lead') module_crm_voip = fields.Boolean("Asterisk (VoIP)") diff --git a/addons/sale/models/sale_config_settings.py b/addons/sale/models/sale_config_settings.py index 8fa47931091..7e77ba7e2ba 100644 --- a/addons/sale/models/sale_config_settings.py +++ b/addons/sale/models/sale_config_settings.py @@ -8,7 +8,7 @@ class SaleConfiguration(models.TransientModel): _inherit = 'sale.config.settings' sale_note = fields.Text(related='company_id.sale_note', string="Terms & Conditions") - default_use_sale_note = fields.Boolean(default_model='sale.config.settings') + default_use_sale_note = fields.Boolean() group_product_variant = fields.Boolean("Attributes & Variants", implied_group='product.group_product_variant') group_sale_pricelist = fields.Boolean("Use pricelists to adapt your price per customers", @@ -83,6 +83,15 @@ class SaleConfiguration(models.TransientModel): module_product_email_template = fields.Boolean("Specific Email") module_sale_coupon = fields.Boolean("Manage coupons and promotional offers") + @api.model + def get_default_use_sale_note(self, fields): + default_use_sale_note = self.env['ir.config_parameter'].sudo().get_param('sale.default_use_sale_note', default=False) + return dict(default_use_sale_note=default_use_sale_note) + + @api.multi + def set_default_use_sale_note(self): + self.env['ir.config_parameter'].sudo().set_param("sale.default_use_sale_note", self.default_use_sale_note) + @api.model def get_default_sale_pricelist_setting(self, fields): sale_pricelist_setting = self.env['ir.values'].get_default('sale.config.settings', 'sale_pricelist_setting') From 73de39150a320786bd3e449363670b0a57e86c9d Mon Sep 17 00:00:00 2001 From: Goffin Simon Date: Wed, 15 Mar 2017 10:50:12 +0100 Subject: [PATCH 19/36] [FIX] crm: Translation in crm.opportunity.report The opportunity analyses displayed the stages always in English. opw:708380 --- addons/crm/report/crm_opportunity_report_views.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/crm/report/crm_opportunity_report_views.xml b/addons/crm/report/crm_opportunity_report_views.xml index 27b96538cd5..7b5e3720a93 100644 --- a/addons/crm/report/crm_opportunity_report_views.xml +++ b/addons/crm/report/crm_opportunity_report_views.xml @@ -8,7 +8,7 @@ - + @@ -31,7 +31,7 @@ crm.opportunity.report - + From 27f656a23e92df52b2f78fdd7c31b8c045b1f39b Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Mon, 13 Mar 2017 10:59:59 +0100 Subject: [PATCH 20/36] [FIX] mrp: duplicated raw materials - Create Product A with a BOM which depends on a product with tracking "By Unique Serial Number" (Product B). - Create a MO for Product A - In the "Register lots" wizard, add two lines for "Product B", with the same serial number. Nothing prevents the user to do it, even when the inventory is posted. opw-709888 --- addons/mrp/i18n/mrp.pot | 6 ++++++ addons/mrp/models/stock_move.py | 10 ++++++++++ addons/mrp/wizard/mrp_product_produce.py | 4 ++-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/addons/mrp/i18n/mrp.pot b/addons/mrp/i18n/mrp.pot index 5123568e86d..c85998a4bc1 100644 --- a/addons/mrp/i18n/mrp.pot +++ b/addons/mrp/i18n/mrp.pot @@ -3249,6 +3249,12 @@ msgstr "" msgid "You cannot cancel a move move having already consumed material" msgstr "" +#. module: mrp +#: code:addons/mrp/models/stock_move.py:40 +#, python-format +msgid "You cannot use the same serial number in two different lines." +msgstr "" + #. module: mrp #: code:addons/mrp/wizard/change_production_qty.py:44 #, python-format diff --git a/addons/mrp/models/stock_move.py b/addons/mrp/models/stock_move.py index 3c6a99fa6eb..608d11e9bce 100644 --- a/addons/mrp/models/stock_move.py +++ b/addons/mrp/models/stock_move.py @@ -28,6 +28,16 @@ class StockMoveLots(models.Model): done_move = fields.Boolean('Move Done', related='move_id.is_done', store=True) # TDE FIXME: naming plus_visible = fields.Boolean("Plus Visible", compute='_compute_plus') + @api.one + @api.constrains('lot_id') + 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.')) + lots.add(move_lot.lot_id) + def _compute_plus(self): for movelot in self: if movelot.move_id.product_id.tracking == 'serial': diff --git a/addons/mrp/wizard/mrp_product_produce.py b/addons/mrp/wizard/mrp_product_produce.py index f6a70c4a1f6..b7cd863a5fc 100644 --- a/addons/mrp/wizard/mrp_product_produce.py +++ b/addons/mrp/wizard/mrp_product_produce.py @@ -125,8 +125,8 @@ class MrpProductProduce(models.TransientModel): #Possibly the entire move is selected remaining_qty = movelots.quantity - movelots.quantity_done if remaining_qty > 0: - new_move_lot = movelots.copy() - new_move_lot.write({'quantity':movelots.quantity_done, 'lot_produced_id': self.lot_id.id}) + default = {'quantity': movelots.quantity_done, 'lot_produced_id': self.lot_id.id} + new_move_lot = movelots.copy(default=default) movelots.write({'quantity': remaining_qty, 'quantity_done': 0}) else: movelots.write({'lot_produced_id': self.lot_id.id}) From 060768ad62894646928c6d96032c7a9c31c3c406 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Wed, 15 Mar 2017 15:23:14 +0100 Subject: [PATCH 21/36] [I18N] l10n_be: translate tax names in Dutch Courtesy of Laura Piraux, Odoo --- addons/l10n_be/i18n_extra/nl_BE.po | 314 ++++++++++++++--------------- 1 file changed, 156 insertions(+), 158 deletions(-) diff --git a/addons/l10n_be/i18n_extra/nl_BE.po b/addons/l10n_be/i18n_extra/nl_BE.po index e0c154cc00d..08330c05d08 100644 --- a/addons/l10n_be/i18n_extra/nl_BE.po +++ b/addons/l10n_be/i18n_extra/nl_BE.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Odoo Server 9.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-03-06 12:52+0000\n" -"PO-Revision-Date: 2016-09-19 16:51+0200\n" +"PO-Revision-Date: 2017-03-15 14:20+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: nl_BE\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.9\n" +"X-Generator: Poedit 1.8.12\n" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-00 @@ -33,37 +33,37 @@ msgstr "0% Diverse goederen" #: model:account.tax,name:l10n_be.1_attn_VAT-OUT-00-CC #: model:account.tax.template,name:l10n_be.attn_VAT-OUT-00-CC msgid "0% Cocont." -msgstr "" +msgstr "0% Medecont." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-00-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-00-CC msgid "0% Cocont. - Biens d'investissement" -msgstr "" +msgstr "0% Medecont. - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-00-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-00-CC msgid "0% Cocont. M." -msgstr "" +msgstr "0% Medecont. G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-00-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-00-CC msgid "0% Cocont. S." -msgstr "" +msgstr "0% Medecont. D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-00-EU #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-00-EU msgid "0% EU - Biens d'investissement" -msgstr "" +msgstr "0% EU - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-00-EU-G #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-00-EU-G msgid "0% EU - Biens divers" -msgstr "" +msgstr "0% EU - Diverse goederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-00-EU @@ -71,7 +71,7 @@ msgstr "" #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-00-EU #: model:account.tax.template,name:l10n_be.attn_VAT-OUT-00-EU-L msgid "0% EU M." -msgstr "" +msgstr "0% EU G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-00-EU-S @@ -79,25 +79,25 @@ msgstr "" #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-00-EU-S #: model:account.tax.template,name:l10n_be.attn_VAT-OUT-00-EU-S msgid "0% EU S." -msgstr "" +msgstr "0% EU D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-OUT-00-EU-T #: model:account.tax.template,name:l10n_be.attn_VAT-OUT-00-EU-T msgid "0% EU T." -msgstr "" +msgstr "0% EU. T." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-00 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-00 msgid "0% M." -msgstr "" +msgstr "0% G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-OUT-00-ROW #: model:account.tax.template,name:l10n_be.attn_VAT-OUT-00-ROW msgid "0% Non EU" -msgstr "" +msgstr "0% Non EU" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-00-ROW-CC @@ -109,13 +109,13 @@ msgstr "0% Niet EU - Investeringsgoederen" #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-00-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-00-ROW-CC msgid "0% Non EU M." -msgstr "" +msgstr "0% Non EU G. " #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-00-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-00-ROW-CC msgid "0% Non EU S." -msgstr "" +msgstr "0% Non EU D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-00-S @@ -123,7 +123,7 @@ msgstr "" #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-00-S #: model:account.tax.template,name:l10n_be.attn_VAT-OUT-00-S msgid "0% S." -msgstr "" +msgstr "0% D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-OUT-12-L @@ -147,181 +147,181 @@ msgstr "12% Diverse goederen" #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-12-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-12-CC msgid "12% Cocont. - Biens d'investissement" -msgstr "" +msgstr "0% Medecont. - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-12-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-12-CC-C1 msgid "12% Cocont. Déductible - Biens d'investissement" -msgstr "" +msgstr "12% Medecont. Aftrekbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-12-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-12-CC-C1 msgid "12% Cocont. Déductible M." -msgstr "" +msgstr "12% Medecont. Aftrekbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-CC-C1 msgid "12% Cocont. Déductible S." -msgstr "" +msgstr "12% Medecont. Aftrekbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-12-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-12-CC msgid "12% Cocont. M." -msgstr "" +msgstr "12% Medecont. G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-12-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-12-CC-C2 msgid "12% Cocont. Récupérable - Biens d'investissement" -msgstr "" +msgstr "12% Medecont. Verhaalbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-12-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-12-CC-C2 msgid "12% Cocont. Récupérable M." -msgstr "" +msgstr "12% Medecont. Verhaalbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-CC-C2 msgid "12% Cocont. Récupérable S." -msgstr "" +msgstr "12% Medecont. Verhaalbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-CC msgid "12% Cocont. S." -msgstr "" +msgstr "12% Medecont. D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-12-EU #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-12-EU msgid "12% EU - Biens d'investissement" -msgstr "" +msgstr "12% EU - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-EU-G #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-EU-G msgid "12% EU - Biens divers" -msgstr "" +msgstr "12% EU - Diverse goederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-12-EU-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-12-EU-C1 msgid "12% EU Déductible - Biens d'investissement" -msgstr "" +msgstr "12% EU Aftrekbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-EU-G-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-EU-G-C1 msgid "12% EU Déductible - Biens divers" -msgstr "" +msgstr "12% EU Aftrekbaar - Diverse goederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-12-EU-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-12-EU-C1 msgid "12% EU Déductible M." -msgstr "" +msgstr "12% EU Aftrekbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-EU-S-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-EU-S-C1 msgid "12% EU Déductible S." -msgstr "" +msgstr "12% EU Aftrekbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-12-EU #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-12-EU msgid "12% EU M." -msgstr "" +msgstr "12% EU G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-12-EU-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-12-EU-C2 msgid "12% EU Récupérable - Biens d'investissement" -msgstr "" +msgstr "12% EU Verhaalbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-12-EU-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-12-EU-C2 msgid "12% EU Récupérable M." -msgstr "" +msgstr "12% EU Verhaalbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-EU-S-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-EU-S-C2 msgid "12% EU Récupérable S." -msgstr "" +msgstr "12% EU Verhaalbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-EU-S #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-EU-S msgid "12% EU S." -msgstr "" +msgstr "12% EU D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-12 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-12 msgid "12% M." -msgstr "" +msgstr "12% G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-12-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-12-ROW-CC msgid "12% Non EU - Biens d'investissement" -msgstr "" +msgstr "12% Niet EU - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-12-ROW-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-12-ROW-CC-C1 msgid "12% Non EU Déductible - Biens d'investissement" -msgstr "" +msgstr "12% Niet EU Aftrekbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-12-ROW-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-12-ROW-CC-C1 msgid "12% Non EU Déductible M." -msgstr "" +msgstr "12% Non EU Aftrekbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-ROW-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-ROW-CC-C1 msgid "12% Non EU Déductible S." -msgstr "" +msgstr "12% Niet EU Aftrekbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-12-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-12-ROW-CC msgid "12% Non EU M." -msgstr "" +msgstr "12% Niet EU G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-12-ROW-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-12-ROW-CC-C2 msgid "12% Non EU Récupérable - Biens d'investissement" -msgstr "" +msgstr "12% Niet EU Verhaalbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-12-ROW-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-12-ROW-CC-C2 msgid "12% Non EU Récupérable M." -msgstr "" +msgstr "12% Niet EU Verhaalbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-ROW-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-ROW-CC-C2 msgid "12% Non EU Récupérable S." -msgstr "" +msgstr "12% Non EU Verhaalbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-ROW-CC msgid "12% Non EU S." -msgstr "" +msgstr "12% Niet EU D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-S @@ -329,7 +329,7 @@ msgstr "" #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-S #: model:account.tax.template,name:l10n_be.attn_VAT-OUT-12-S msgid "12% S." -msgstr "" +msgstr "12% D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-OUT-21-L @@ -353,187 +353,187 @@ msgstr "21% Diverse goederen" #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-CC msgid "21% Cocont .S." -msgstr "" +msgstr "21% Medecont. D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-21-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-21-CC msgid "21% Cocont. - Biens d'investissement" -msgstr "" +msgstr "21% Medecont. - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-21-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-21-CC-C1 msgid "21% Cocont. Déductible - Biens d'investissement" -msgstr "" +msgstr "21% Medecont. Aftrekbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-21-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-21-CC-C1 msgid "21% Cocont. Déductible M." -msgstr "" +msgstr "21% Medecont. Aftrekbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-CC-C1 msgid "21% Cocont. Déductible S." -msgstr "" +msgstr "21% Medecont. Aftrekbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-21-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-21-CC msgid "21% Cocont. M." -msgstr "" +msgstr "21% Medecont. G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-21-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-21-CC-C2 msgid "21% Cocont. Récupérable - Biens d'investissement" -msgstr "" +msgstr "12% Medecont. Verhaalbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-21-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-21-CC-C2 msgid "21% Cocont. Récupérable M." -msgstr "" +msgstr "21% Medecont. Verhaalbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-CC-C2 msgid "21% Cocont. Récupérable S." -msgstr "" +msgstr "21% Medecont. Verhaalbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-21-EU #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-21-EU msgid "21% EU - Biens d'investissement" -msgstr "" +msgstr "21% EU - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-EU-G #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-EU-G msgid "21% EU - Biens divers" -msgstr "" +msgstr "21% EU - Diverse goederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-21-EU-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-21-EU-C1 msgid "21% EU Déductible - Biens d'investissement" -msgstr "" +msgstr "21% EU Aftrekbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-EU-G-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-EU-G-C1 msgid "21% EU Déductible - Biens divers" -msgstr "" +msgstr "21% EU Aftrekbaar - Diverse goederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-21-EU-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-21-EU-C1 msgid "21% EU Déductible M." -msgstr "" +msgstr "21% EU Aftrekbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-EU-S-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-EU-S-C1 msgid "21% EU Déductible S." -msgstr "" +msgstr "21% EU Aftrekbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-21-EU #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-21-EU msgid "21% EU M." -msgstr "" +msgstr "21% EU. G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-21-EU-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-21-EU-C2 msgid "21% EU Récupérable - Biens d'investissement" -msgstr "" +msgstr "21% EU Verhaalbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-EU-G-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-EU-G-C2 msgid "21% EU Récupérable - Biens divers" -msgstr "" +msgstr "21% EU Verhaalbaar - Diverse goederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-21-EU-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-21-EU-C2 msgid "21% EU Récupérable M." -msgstr "" +msgstr "21% EU Verhaalbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-EU-S-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-EU-S-C2 msgid "21% EU Récupérable S." -msgstr "" +msgstr "21% EU Verhaalbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-EU-S #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-EU-S msgid "21% EU S." -msgstr "" +msgstr "21% EU D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-21 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-21 msgid "21% M." -msgstr "" +msgstr "21% G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-21-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-21-ROW-CC msgid "21% Non EU - Biens d'investissement" -msgstr "" +msgstr "21% Niet EU - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-21-ROW-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-21-ROW-CC-C1 msgid "21% Non EU Déductible - Biens d'investissement" -msgstr "" +msgstr "21% Non EU Aftrekbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-21-ROW-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-21-ROW-CC-C1 msgid "21% Non EU Déductible M." -msgstr "" +msgstr "21% Non EU Aftrekbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-ROW-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-ROW-CC-C1 msgid "21% Non EU Déductible S." -msgstr "" +msgstr "21% Non EU Aftrekbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-21-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-21-ROW-CC msgid "21% Non EU M." -msgstr "" +msgstr "21% Niet EU G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-21-ROW-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-21-ROW-CC-C2 msgid "21% Non EU Récupérable - Biens d'investissement" -msgstr "" +msgstr "21% Non EU Verhaalbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-21-ROW-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-21-ROW-CC-C2 msgid "21% Non EU Récupérable M." -msgstr "" +msgstr "21% Non EU Verhaalbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-ROW-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-ROW-CC-C2 msgid "21% Non EU Récupérable S." -msgstr "" +msgstr "21% Niet EU Verhaalbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-ROW-CC msgid "21% Non EU S." -msgstr "" +msgstr "21% Non EU D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-21-S @@ -541,31 +541,31 @@ msgstr "" #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-21-S #: model:account.tax.template,name:l10n_be.attn_VAT-OUT-21-S msgid "21% S." -msgstr "" +msgstr "21% D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_TVA-21-inclus-dans-prix #: model:account.tax.template,name:l10n_be.attn_TVA-21-inclus-dans-prix msgid "21% S. TTC" -msgstr "" +msgstr "21% D. (Inclusief BTW)" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-CAR-EXC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-CAR-EXC-C2 msgid "50% Déductible - Frais de voiture (Prix Excl.)" -msgstr "" +msgstr "50% Aftrekbaar - Autokosten (Prijs Excl.)" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-CAR-EXC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-CAR-EXC-C1 msgid "50% Non Déductible - Frais de voiture" -msgstr "" +msgstr "50% Niet Aftrekbaar - Autokosten" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-CAR-EXC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-CAR-EXC msgid "50% Non Déductible - Frais de voiture (Prix Excl.)" -msgstr "" +msgstr "50% Niet Aftrekbaar - Autokosten (Prijs Excl.)" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-06 @@ -583,187 +583,187 @@ msgstr "6% Diverse goederen" #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-06-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-06-CC msgid "6% Cocont. - Biens d'investissement" -msgstr "" +msgstr "6% Medecont. - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-06-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-06-CC-C1 msgid "6% Cocont. Déductible - Biens d'investissement" -msgstr "" +msgstr "6% Medecont. Aftrekbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-06-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-06-CC-C1 msgid "6% Cocont. Déductible M." -msgstr "" +msgstr "6% Medecont. Aftrekbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-CC-C1 msgid "6% Cocont. Déductible S." -msgstr "" +msgstr "6% Medecont. Aftrekbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-06-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-06-CC msgid "6% Cocont. M." -msgstr "" +msgstr "6% Medecont. G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-06-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-06-CC-C2 msgid "6% Cocont. Récupérable - Biens d'investissement" -msgstr "" +msgstr "6% Medecont. Verhaalbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-06-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-06-CC-C2 msgid "6% Cocont. Récupérable M." -msgstr "" +msgstr "6% Medecont. Verhaalbaar G. " #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-CC-C2 msgid "6% Cocont. Récupérable S." -msgstr "" +msgstr "6% Medecont. Verhaalbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-CC msgid "6% Cocont. S." -msgstr "" +msgstr "6% Medecont. D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-06-EU #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-06-EU msgid "6% EU - Biens d'investissement" -msgstr "" +msgstr "6% EU - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-EU-G #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-EU-G msgid "6% EU - Biens divers" -msgstr "" +msgstr "6% EU - Diverse goederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-06-EU-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-06-EU-C1 msgid "6% EU Déductible - Biens d'investissement" -msgstr "" +msgstr "6% EU Aftrekbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-EU-G-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-EU-G-C1 msgid "6% EU Déductible - Biens divers" -msgstr "" +msgstr "6% EU Aftrekbaar - Diverse goederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-06-EU-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-06-EU-C1 msgid "6% EU Déductible M." -msgstr "" +msgstr "6% EU Aftrekbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-EU-S-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-EU-S-C1 msgid "6% EU Déductible S." -msgstr "" +msgstr "6% EU Aftrekbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-06-EU #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-06-EU msgid "6% EU M." -msgstr "" +msgstr "6% EU G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-06-EU-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-06-EU-C2 msgid "6% EU Récupérable - Biens d'investissement" -msgstr "" +msgstr "6% EU Verhaalbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-EU-G-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-EU-G-C2 msgid "6% EU Récupérable - Biens divers" -msgstr "" +msgstr "6% EU Verhaalbaar - Diverse goederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-06-EU-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-06-EU-C2 msgid "6% EU Récupérable M." -msgstr "" +msgstr "6% EU Verhaalbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-EU-S-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-EU-S-C2 msgid "6% EU Récupérable S." -msgstr "" +msgstr "6% EU Verhaalbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-EU-S #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-EU-S msgid "6% EU S." -msgstr "" +msgstr "6% EU D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-06 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-06 msgid "6% M." -msgstr "" +msgstr "6% G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-06-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-06-ROW-CC msgid "6% Non EU - Biens d'investissement" -msgstr "" +msgstr "6% Niet EU - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-06-ROW-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-06-ROW-CC-C1 msgid "6% Non EU Déductible - Biens d'investissement" -msgstr "" +msgstr "6% Niet EU Aftrekbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-06-ROW-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-06-ROW-CC-C1 msgid "6% Non EU Déductible M." -msgstr "" +msgstr "6% Niet EU Aftrekbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-ROW-CC-C1 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-ROW-CC-C1 msgid "6% Non EU Déductible S." -msgstr "" +msgstr "6% Niet EU Aftrekbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-06-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-06-ROW-CC msgid "6% Non EU M." -msgstr "" +msgstr "6% Niet EU G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V83-06-ROW-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V83-06-ROW-CC-C2 msgid "6% Non EU Récupérable - Biens d'investissement" -msgstr "" +msgstr "6% Non EU Verhaalbaar - Investeringsgoederen" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V81-06-ROW-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V81-06-ROW-CC-C2 msgid "6% Non EU Récupérable M." -msgstr "" +msgstr "6% Niet EU Verhaalbaar G." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-ROW-CC-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-ROW-CC-C2 msgid "6% Non EU Récupérable S." -msgstr "" +msgstr "6% Niet EU Verhaalbaar D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-ROW-CC #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-ROW-CC msgid "6% Non EU S." -msgstr "" +msgstr "6% Niet EU D." #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-06-S @@ -771,7 +771,7 @@ msgstr "" #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-06-S #: model:account.tax.template,name:l10n_be.attn_VAT-OUT-06-S msgid "6% S." -msgstr "" +msgstr "6% D." #. module: l10n_be #: model:account.account,name:l10n_be.1_a601 @@ -1535,8 +1535,7 @@ msgstr "Grondstoffen" #: model:account.account,name:l10n_be.1_a24011 #: model:account.account.template,name:l10n_be.a24011 msgid "Matériel de bureau de bâtiments administratifs et commerciaux" -msgstr "" -"Kantooruitrusting voor gebouwen met adminestratieve en commerciële functie" +msgstr "Kantooruitrusting voor gebouwen met adminestratieve en commerciële functie" #. module: l10n_be #: model:account.account,name:l10n_be.1_a24010 @@ -1876,8 +1875,7 @@ msgstr "Bezoldigingen: Bestuurders of zaakvoerders" #: model:account.account,name:l10n_be.1_a6204 #: model:account.account.template,name:l10n_be.a6204 msgid "Rémunérations: Autres membres du personnel" -msgstr "" -"Bezoldigingen: Andere personeelsleden, verbonden met een arbeidsovereenkomst" +msgstr "Bezoldigingen: Andere personeelsleden, verbonden met een arbeidsovereenkomst" #. module: l10n_be #: model:account.account,name:l10n_be.1_a6202 @@ -1989,7 +1987,7 @@ msgstr "Te betalen BTW - Intracommunautair" #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-00-L #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-00-S msgid "TVA 0%" -msgstr "" +msgstr "BTW 0%" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-00-CC @@ -2001,7 +1999,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-00-CC #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-00-CC msgid "TVA 0% Cocont." -msgstr "" +msgstr "BTW 0% Medecont." #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-00-EU @@ -2019,7 +2017,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-00-EU-S #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-00-EU-T msgid "TVA 0% EU" -msgstr "" +msgstr "BTW 0% EU" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-00-ROW-CC @@ -2031,7 +2029,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-00-ROW-CC #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-00-ROW msgid "TVA 0% Non EU" -msgstr "" +msgstr "BTW 0% Non EU" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-12 @@ -2047,7 +2045,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-12-L #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-12-S msgid "TVA 12%" -msgstr "" +msgstr "BTW 12%" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-12-CC @@ -2057,7 +2055,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-12-CC #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-12-CC msgid "TVA 12% Cocont." -msgstr "" +msgstr "BTW 12% Medecont." #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-12-CC-C1 @@ -2067,7 +2065,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-12-CC-C1 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-12-CC-C1 msgid "TVA 12% Cocont. Déductible" -msgstr "" +msgstr "BTW 12% Medecont. Aftrekbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-12-CC-C2 @@ -2077,7 +2075,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-12-CC-C2 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-12-CC-C2 msgid "TVA 12% Cocont. Récupérable" -msgstr "" +msgstr "BTW 12% Medecont. Verhaalbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-12-EU @@ -2089,7 +2087,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-12-EU-S #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-12-EU msgid "TVA 12% EU" -msgstr "" +msgstr "BTW 12% EU" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-12-EU-C1 @@ -2101,7 +2099,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-12-EU-S-C1 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-12-EU-C1 msgid "TVA 12% EU Déductible" -msgstr "" +msgstr "BTW 12% EU Aftrekbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-12-EU-C2 @@ -2113,13 +2111,13 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-12-EU-S-C2 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-12-EU-C2 msgid "TVA 12% EU Récupérable" -msgstr "" +msgstr "BTW 12% EU Verhaalbaar" #. module: l10n_be #: model:account.tax,name:l10n_be.1_attn_VAT-IN-V82-12-EU-G-C2 #: model:account.tax.template,name:l10n_be.attn_VAT-IN-V82-12-EU-G-C2 msgid "TVA 12% EU Récupérable - Biens divers" -msgstr "" +msgstr "BTW 12% EU Verhaalbaar - Diverse goederen" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-12-ROW-CC @@ -2129,7 +2127,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-12-ROW-CC #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-12-ROW-CC msgid "TVA 12% Non EU" -msgstr "" +msgstr "BTW 12% Niet EU" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-12-ROW-CC-C1 @@ -2139,7 +2137,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-12-ROW-CC-C1 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-12-ROW-CC-C1 msgid "TVA 12% Non EU Déductible" -msgstr "" +msgstr "BTW 12% Niet EU Aftrekbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-12-ROW-CC-C2 @@ -2149,7 +2147,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-12-ROW-CC-C2 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-12-ROW-CC-C2 msgid "TVA 12% Non EU Récupérable" -msgstr "" +msgstr "BTW 12% Niet EU Verhaalbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-21 @@ -2165,7 +2163,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-21-L #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-21-S msgid "TVA 21%" -msgstr "" +msgstr "BTW 21%" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-21-CC @@ -2175,7 +2173,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-21-CC #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-21-CC msgid "TVA 21% Cocont." -msgstr "" +msgstr "BTW 21% Medecont." #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-21-CC-C1 @@ -2185,7 +2183,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-21-CC-C1 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-21-CC-C1 msgid "TVA 21% Cocont. Déductible" -msgstr "" +msgstr "BTW 21% Medecont. Aftrekbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-21-CC-C2 @@ -2195,7 +2193,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-21-CC-C2 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-21-CC-C2 msgid "TVA 21% Cocont. Récupérable" -msgstr "" +msgstr "BTW 21% Medecont. Verhaalbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-21-EU @@ -2207,7 +2205,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-21-EU-S #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-21-EU msgid "TVA 21% EU" -msgstr "" +msgstr "BTW 21% EU" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-21-EU-C1 @@ -2219,7 +2217,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-21-EU-S-C1 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-21-EU-C1 msgid "TVA 21% EU Déductible" -msgstr "" +msgstr "BTW 21% EU Aftrekbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-21-EU-C2 @@ -2231,7 +2229,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-21-EU-S-C2 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-21-EU-C2 msgid "TVA 21% EU Récupérable" -msgstr "" +msgstr "BTW 21% EU Verhaalbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-21-ROW-CC @@ -2241,7 +2239,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-21-ROW-CC #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-21-ROW-CC msgid "TVA 21% Non EU" -msgstr "" +msgstr "BTW 21% Niet EU" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-21-ROW-CC-C1 @@ -2251,7 +2249,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-21-ROW-CC-C1 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-21-ROW-CC-C1 msgid "TVA 21% Non EU Déductible" -msgstr "" +msgstr "BTW 21% Niet EU Aftrekbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-21-ROW-CC-C2 @@ -2261,25 +2259,25 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-21-ROW-CC-C2 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-21-ROW-CC-C2 msgid "TVA 21% Non EU Récupérable" -msgstr "" +msgstr "BTW 21% Niet EU Verhaalbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_TVA-21-inclus-dans-prix #: model:account.tax.template,description:l10n_be.attn_TVA-21-inclus-dans-prix msgid "TVA 21% TTC" -msgstr "" +msgstr "VAT 21% (inclusief BTW)" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V82-CAR-EXC-C2 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-CAR-EXC-C2 msgid "TVA 50% Déductible - Frais de voiture (Prix Excl.)" -msgstr "" +msgstr "BTW 5°% Aftrekbaar - Auto kosten (Prijs Excl.)" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V82-CAR-EXC #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-CAR-EXC msgid "TVA 50% Non Déductible - Frais de voiture (Prix Excl.)" -msgstr "" +msgstr "BTW 50% Niet Aftrekbaar - Auto kosten (Prijs Excl.)" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-06 @@ -2295,7 +2293,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-06-L #: model:account.tax.template,description:l10n_be.attn_VAT-OUT-06-S msgid "TVA 6%" -msgstr "" +msgstr "BTW 6%" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-06-CC @@ -2305,7 +2303,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-06-CC #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-06-CC msgid "TVA 6% Cocont." -msgstr "" +msgstr "BTW 6% Medecont." #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-06-CC-C1 @@ -2315,7 +2313,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-06-CC-C1 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-06-CC-C1 msgid "TVA 6% Cocont. Déductible" -msgstr "" +msgstr "BTW 6% Medecont. Aftrekbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-06-CC-C2 @@ -2325,7 +2323,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-06-CC-C2 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-06-CC-C2 msgid "TVA 6% Cocont. Récupérable" -msgstr "" +msgstr "BTW 6% Medecont. Verhaalbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-06-EU @@ -2337,7 +2335,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-06-EU-S #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-06-EU msgid "TVA 6% EU" -msgstr "" +msgstr "BTW 6% EU" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-06-EU-C1 @@ -2349,7 +2347,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-06-EU-S-C1 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-06-EU-C1 msgid "TVA 6% EU Déductible" -msgstr "" +msgstr "BTW 6% EU Aftrekbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-06-EU-C2 @@ -2361,7 +2359,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-06-EU-S-C2 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-06-EU-C2 msgid "TVA 6% EU Récupérable" -msgstr "" +msgstr "BTW 6% EU Verhaalbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-06-ROW-CC @@ -2371,7 +2369,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-06-ROW-CC #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-06-ROW-CC msgid "TVA 6% Non EU" -msgstr "" +msgstr "BTW 6% Niet EU" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-06-ROW-CC-C1 @@ -2381,7 +2379,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-06-ROW-CC-C1 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-06-ROW-CC-C1 msgid "TVA 6% Non EU Déductible" -msgstr "" +msgstr "BTW 6% Niet EU Aftrekbaar" #. module: l10n_be #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V81-06-ROW-CC-C2 @@ -2391,7 +2389,7 @@ msgstr "" #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-06-ROW-CC-C2 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V83-06-ROW-CC-C2 msgid "TVA 6% Non EU Récupérable" -msgstr "" +msgstr "BTW 6% Niet EU Verhaalbaar" #. module: l10n_be #: model:account.account,name:l10n_be.1_a4118 @@ -2421,7 +2419,7 @@ msgstr "Transferten" #: model:account.tax,description:l10n_be.1_attn_VAT-IN-V82-CAR-EXC-C1 #: model:account.tax.template,description:l10n_be.attn_VAT-IN-V82-CAR-EXC-C1 msgid "VAT 50% Non Déductible - Frais de voiture" -msgstr "" +msgstr "BTW 50% Niet Aftrekbaar - Auto kosten" #. module: l10n_be #: model:account.account,name:l10n_be.1_a7001 From cee15f7d90956b3e004f27f1e91e02ab59c450d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 15 Mar 2017 13:59:33 +0100 Subject: [PATCH 22/36] [FIX] mail: improve exception management when sending emails Commit 00bd7274c406fd8f69aebafcdd41dbc6b5885c96 introduced speed improvements when sending emails through batching and reusing an SMTP connection for a given batch. However exception management was slightly changed during that patch. Previously to this patch all errors in the sending process were considered as MailDeliveryException, except for MemoryError and psycopg errors. However now mail_mail.send() may raise another kind of exception in the SMTP connect process. Moreover a raise_exception parameter allows to choose to either raise an exception, or just set emails in exception state without raising an error. However since the patch it is not taken into account correctly. This leads to several issues, notably * auth_signup waits for a MailDeliveryException when sending a password request email. A badly configured SMTP server leads to a connection error that is not caught. This prevents creating users, which could be annoying. * chatter does not handle exceptions as notification emails are sent using raise_exception being False. Having an issue in the connect process crashes the chatter. This commit fixes the exception management so that it behaves like before the patch. --- addons/mail/models/mail_mail.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/addons/mail/models/mail_mail.py b/addons/mail/models/mail_mail.py index 20f1a8de7ce..6fcae69b21b 100644 --- a/addons/mail/models/mail_mail.py +++ b/addons/mail/models/mail_mail.py @@ -210,7 +210,6 @@ class MailMail(models.Model): for mail_batch in tools.split_every(batch_size, record_ids): yield server_id, mail_batch - @api.multi def send(self, auto_commit=False, raise_exception=False): """ Sends the selected emails immediately, ignoring their current @@ -231,6 +230,14 @@ class MailMail(models.Model): smtp_session = None try: smtp_session = self.env['ir.mail_server'].connect(mail_server_id=server_id) + except Exception as exc: + if raise_exception: + # To be consistent and backward compatible with mail_mail.send() raised + # exceptions, it is encapsulated into an Odoo MailDeliveryException + raise MailDeliveryException(_('Unable to connect to SMTP Server'), exc) + else: + self.browse(batch_ids).write({'state': 'exception', 'failure_reason': exc}) + else: self.browse(batch_ids)._send( auto_commit=auto_commit, raise_exception=raise_exception, From cc1c15327cddf2b512e01e0b7b31e2aa6a1d34fe Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Wed, 15 Mar 2017 17:11:16 +0100 Subject: [PATCH 23/36] [FIX] expression: improve o2m with m2o integer We sometimes use in Odoo a One2many field with an inverse Integer field instead of a usual Many2one. This allow for example in several instances to have a "Many2one" which can be reference from several models, eg: Model Ranking: name = String field res_id = Integer field res_model = String field Model Toy: rank = One2many [inverse: Ranking -> res_id] [domain: res_model == Toy] Model Tool: rank = One2many [inverse: Ranking -> res_id] [domain: res_model == Tool] This enable us to have a shared feature between otherwise unrelated models. But there was several issue when searching on these One2many: 1) if the Integer Many2one was not stored (eg. it came from an inherits) on the searched model, this could lead to an error. 2) when we searched: - by IDs (rank in ['55']) with at least one id not respecting the domain - by IDs with a negative operator - with a negative operator on unfound string (rank != "no rank has this") - with a false value (rank = False) we would not apply the One2many domain (eg. res_model == Toy) and thus possibly getting Toy 3 errenously because a Tool 3 was found without the domain being applied. This fix modify the search on One2many and for: 1. if the inverse is an Integer not stored field instead of Many2one manage it. 2. if the field is an Integer field instead of Many2one and there is a domain on the One2many: apply the domain on the inverse model found. So only some search on One2many with a domain whose inverse field is an Integer could be impacted. This would also be nice to have for all One2many with a domain but the probability of it being useful versus risk for performance is not judged high enough. opw-710508 --- odoo/addons/test_new_api/ir.model.access.csv | 3 + odoo/addons/test_new_api/models.py | 27 ++++++++ .../test_new_api/tests/test_one2many.py | 67 +++++++++++++++++++ odoo/osv/expression.py | 32 ++++++--- 4 files changed, 118 insertions(+), 11 deletions(-) diff --git a/odoo/addons/test_new_api/ir.model.access.csv b/odoo/addons/test_new_api/ir.model.access.csv index 3862f4ce84f..0dd4efcda72 100644 --- a/odoo/addons/test_new_api/ir.model.access.csv +++ b/odoo/addons/test_new_api/ir.model.access.csv @@ -5,6 +5,9 @@ access_message,test_new_api_message,test_new_api.model_test_new_api_message,,1,1 access_emailmessage,test_new_api_emailmessage,test_new_api.model_test_new_api_emailmessage,,1,1,1,1 access_multi,test_new_api_multi,test_new_api.model_test_new_api_multi,,1,1,1,1 access_multi_line,test_new_api_multi_line,test_new_api.model_test_new_api_multi_line,,1,1,1,1 +access_creativework_edition,test_new_api_creativework_edition,model_test_new_api_creativework_edition,,1,1,1,1 +access_creativework_book,test_new_api_creativework_book,model_test_new_api_creativework_book,,1,1,1,1 +access_creativework_movie,test_new_api_creativework_movie,model_test_new_api_creativework_movie,,1,1,1,1 access_mixed,test_new_api_mixed,test_new_api.model_test_new_api_mixed,,1,1,1,1 access_domain_bool,access_domain_bool,model_domain_bool,,1,1,1,1 access_test_new_api_foo,access_test_new_api_foo,model_test_new_api_foo,,1,1,1,1 diff --git a/odoo/addons/test_new_api/models.py b/odoo/addons/test_new_api/models.py index 0d2054e32e5..81e24fb5b5b 100644 --- a/odoo/addons/test_new_api/models.py +++ b/odoo/addons/test_new_api/models.py @@ -199,6 +199,33 @@ class MultiLine(models.Model): partner = fields.Many2one('res.partner') +class Edition(models.Model): + _name = 'test_new_api.creativework.edition' + + name = fields.Char() + res_id = fields.Integer(required=True) + res_model_id = fields.Many2one('ir.model', required=True) + res_model = fields.Char(related='res_model_id.model', store=True) + + +class Book(models.Model): + _name = 'test_new_api.creativework.book' + + name = fields.Char() + editions = fields.One2many( + 'test_new_api.creativework.edition', 'res_id', domain=[('res_model', '=', _name)] + ) + + +class Movie(models.Model): + _name = 'test_new_api.creativework.movie' + + name = fields.Char() + editions = fields.One2many( + 'test_new_api.creativework.edition', 'res_id', domain=[('res_model', '=', _name)] + ) + + class MixedModel(models.Model): _name = 'test_new_api.mixed' diff --git a/odoo/addons/test_new_api/tests/test_one2many.py b/odoo/addons/test_new_api/tests/test_one2many.py index 38dee13ab54..9ade2c0fe19 100644 --- a/odoo/addons/test_new_api/tests/test_one2many.py +++ b/odoo/addons/test_new_api/tests/test_one2many.py @@ -10,6 +10,36 @@ class One2manyCase(TransactionCase): "name": "What is up?" }) + # data for One2many with inverse field Integer + self.Edition = self.env["test_new_api.creativework.edition"] + self.Book = self.env["test_new_api.creativework.book"] + self.Movie = self.env["test_new_api.creativework.movie"] + + book_model_id = self.env['ir.model'].search([('model', '=', self.Book._name)]).id + movie_model_id = self.env['ir.model'].search([('model', '=', self.Movie._name)]).id + + books_data = ( + ('Imaginary book', ()), + ('Another imaginary book', ()), + ('Nineteen Eighty Four', ('First edition', 'Fourth Edition')) + ) + + movies_data = ( + ('The Gold Rush', ('1925 (silent)', '1942')), + ('Imaginary movie', ()), + ('Another imaginary movie', ()) + ) + + for name, editions in books_data: + book_id = self.Book.create({'name': name}).id + for edition in editions: + self.Edition.create({'res_model_id': book_model_id, 'name': edition, 'res_id': book_id}) + + for name, editions in movies_data: + movie_id = self.Movie.create({'name': name}).id + for edition in editions: + self.Edition.create({'res_model_id': movie_model_id, 'name': edition, 'res_id': movie_id}) + def operations(self): """Run operations on o2m fields to check all works fine.""" # Check the lines first @@ -63,3 +93,40 @@ class One2manyCase(TransactionCase): """Check lines created with RPC style and added in one step""" self.multi.lines = [(0, 0, {'name': str(name)}) for name in range(10)] self.operations() + + def test_many2one_integer(self): + """Test several models one2many with same inverse Integer field""" + # utility function to convert records to tuples with id,name + t = lambda records: records.mapped(lambda r: (r.id, r.name)) + + books = self.Book.search([]) + books_with_edition = books.filtered(lambda r: r.editions) + movies = self.Movie.search([]) + movies_without_edition = movies.filtered(lambda r: not r.editions) + movies_with_edition = movies.filtered(lambda r: r.editions) + movie_editions = movies_with_edition.mapped('editions') + one_movie_edition = movie_editions[0] + + res_movies_without_edition = self.Movie.search([('editions', '=', False)]) + self.assertItemsEqual(t(res_movies_without_edition), t(movies_without_edition)) + + res_movies_with_edition = self.Movie.search([('editions', '!=', False)]) + self.assertItemsEqual(t(res_movies_with_edition), t(movies_with_edition)) + + res_books_with_movie_edition = self.Book.search([('editions', 'in', movie_editions.ids)]) + self.assertFalse(t(res_books_with_movie_edition)) + + res_books_without_movie_edition = self.Book.search([('editions', 'not in', movie_editions.ids)]) + self.assertItemsEqual(t(res_books_without_movie_edition), t(books_with_edition)) + + res_books_without_one_movie_edition = self.Book.search([('editions', 'not in', movie_editions[:1].ids)]) + self.assertItemsEqual(t(res_books_without_one_movie_edition), t(books_with_edition)) + + res_books_with_one_movie_edition_name = self.Book.search([('editions', '=', movie_editions[:1].name)]) + self.assertFalse(t(res_books_with_one_movie_edition_name)) + + res_books_without_one_movie_edition_name = self.Book.search([('editions', '!=', movie_editions[:1].name)]) + self.assertItemsEqual(t(res_books_without_one_movie_edition_name), t(books_with_edition)) + + res_movies_not_of_edition_name = self.Movie.search([('editions', '!=', one_movie_edition.name)]) + self.assertItemsEqual(t(res_movies_not_of_edition_name), t(movies.filtered(lambda r: one_movie_edition not in r.editions))) diff --git a/odoo/osv/expression.py b/odoo/osv/expression.py index da093dad323..eea14988eb7 100644 --- a/odoo/osv/expression.py +++ b/odoo/osv/expression.py @@ -920,19 +920,23 @@ class expression(object): elif field.type == 'one2many': call_null = True + domain = field.domain + if callable(domain): + domain = domain(model) + is_integer_m2o = comodel._fields[field.inverse_name].type == 'integer' if right is not False: if isinstance(right, basestring): op = {'!=': '=', 'not like': 'like', 'not ilike': 'ilike'}.get(operator, operator) - domain = field.domain - if callable(domain): - domain = domain(model) ids2 = [x[0] for x in comodel.name_search(right, domain or [], op, limit=None)] if ids2: operator = 'not in' if operator in NEGATIVE_TERM_OPERATORS else 'in' - elif isinstance(right, collections.Iterable): - ids2 = right else: - ids2 = [right] + if isinstance(right, collections.Iterable): + ids2 = right + else: + ids2 = [right] + if ids2 and is_integer_m2o and domain: + ids2 = comodel.search([('id', 'in', ids2)] + domain).ids if not ids2: if operator in ['like', 'ilike', 'in', '=']: @@ -945,7 +949,9 @@ class expression(object): ids1 = select_from_where(cr, field.inverse_name, comodel._table, 'id', ids2, operator) else: recs = comodel.browse(ids2).sudo().with_context(prefetch_fields=False) - ids1 = recs.mapped(field.inverse_name).ids + ids1 = recs.mapped(field.inverse_name) + if not is_integer_m2o: + ids1 = ids1.ids if ids1: call_null = False o2m_op = 'not in' if operator in NEGATIVE_TERM_OPERATORS else 'in' @@ -958,12 +964,16 @@ class expression(object): if call_null: o2m_op = 'in' if operator in NEGATIVE_TERM_OPERATORS else 'not in' # determine ids from field.inverse_name - if comodel._fields[field.inverse_name].store: + if comodel._fields[field.inverse_name].store and not (is_integer_m2o and domain): ids1 = select_distinct_from_where_not_null(cr, field.inverse_name, comodel._table) else: - domain = [(field.inverse_name, '!=', False)] - recs = comodel.search(domain).sudo().with_context(prefetch_fields=False) - ids1 = recs.mapped(field.inverse_name).ids + comodel_domain = [(field.inverse_name, '!=', False)] + if is_integer_m2o and domain: + comodel_domain += domain + recs = comodel.search(comodel_domain).sudo().with_context(prefetch_fields=False) + ids1 = recs.mapped(field.inverse_name) + if not is_integer_m2o: + ids1 = ids1.ids push(create_substitution_leaf(leaf, ('id', o2m_op, ids1), model)) elif field.type == 'many2many': From e542b450a34d5c3723c92cb95d7132a288c46e60 Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Thu, 16 Mar 2017 13:15:46 +0100 Subject: [PATCH 24/36] [FIX] sale_stock: duplicate qty - Create a stockable product, create a SO selling 1 unit. - Confirm the SO, validate the Picking 1 => delivered qty is 1 - Return Picking 1 and validate Picking 2 => delivered qty is 1 - Return Picking 2 and validate Picking 3 => delivered qty is 2 The delivered quantity should remain 1. opw-715685 --- addons/sale_stock/sale_stock.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/sale_stock/sale_stock.py b/addons/sale_stock/sale_stock.py index 63f03f4a64f..2f817e09978 100644 --- a/addons/sale_stock/sale_stock.py +++ b/addons/sale_stock/sale_stock.py @@ -197,7 +197,8 @@ class SaleOrderLine(models.Model): #Note that we don't decrease quantity for customer returns on purpose: these are exeptions that must be treated manually. Indeed, #modifying automatically the delivered quantity may trigger an automatic reinvoicing (refund) of the SO, which is definitively not wanted if move.location_dest_id.usage == "customer": - qty += self.env['product.uom']._compute_qty_obj(move.product_uom, move.product_uom_qty, self.product_uom) + if not move.origin_returned_move_id: + qty += self.env['product.uom']._compute_qty_obj(move.product_uom, move.product_uom_qty, self.product_uom) return qty @api.multi From 0590af8b3f3f5c59ad93f405cfef392b5d525f1e Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Thu, 16 Mar 2017 11:41:49 +0100 Subject: [PATCH 25/36] [FIX] mrp_repair: tax included - Create a product with price tax included - Create Repair order - Add the product in tabs "Operation" or "Invoicing" The tax is added twice in the total. opw-709608 --- addons/mrp_repair/models/mrp_repair.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/mrp_repair/models/mrp_repair.py b/addons/mrp_repair/models/mrp_repair.py index 4273baf9271..5d2bcde290c 100644 --- a/addons/mrp_repair/models/mrp_repair.py +++ b/addons/mrp_repair/models/mrp_repair.py @@ -453,7 +453,7 @@ class RepairLine(models.Model): if not self.to_invoice: self.price_subtotal = 0.0 else: - taxes = self.env['account.tax'].compute_all(self.price_unit, self.repair_id.pricelist_id.currency_id, self.product_uom_qty, self.product_id, self.repair_id.partner_id) + taxes = self.tax_id.compute_all(self.price_unit, self.repair_id.pricelist_id.currency_id, self.product_uom_qty, self.product_id, self.repair_id.partner_id) self.price_subtotal = taxes['total_excluded'] @api.onchange('type', 'repair_id') @@ -536,7 +536,7 @@ class RepairFee(models.Model): if not self.to_invoice: self.price_subtotal = 0.0 else: - taxes = self.env['account.tax'].compute_all(self.price_unit, self.repair_id.pricelist_id.currency_id, self.product_uom_qty, self.product_id, self.repair_id.partner_id) + taxes = self.tax_id.compute_all(self.price_unit, self.repair_id.pricelist_id.currency_id, self.product_uom_qty, self.product_id, self.repair_id.partner_id) self.price_subtotal = taxes['total_excluded'] @api.onchange('repair_id', 'product_id', 'product_uom_qty') From be9dce625c55e1b2d6039573c7035d61f762edc8 Mon Sep 17 00:00:00 2001 From: Simon Lejeune Date: Mon, 13 Mar 2017 14:06:32 +0100 Subject: [PATCH 26/36] [FIX] stock: inventory adjustment and negative quants It is still possible to have negative and positive quants in the same location because of returns: if you send something to the customer that is not there and you return it, you will still be able to reserve the returned goods to send to another client. Before, if you would do an inventory adjustment, it would not take into account these returned quants and their negative counterpart, which made them difficult to get out of the system. This fix takes them into account by creating two movements for one inventory line: move the positive counterpart to the inventory location before getting back from this location the same quantity. This way, even if you have 0 as quantity on hand but you have those 2 quants, it will eliminate them. (if you are increasing the stock, part of the process might have done it automatically already). Test cases contributed by @jir-odoo --- addons/stock/models/stock_inventory.py | 58 +++++++---- addons/stock/tests/test_warehouse.py | 128 +++++++++++++++++++++++++ 2 files changed, 170 insertions(+), 16 deletions(-) diff --git a/addons/stock/models/stock_inventory.py b/addons/stock/models/stock_inventory.py index 5cc88ee7237..a95d394ce55 100644 --- a/addons/stock/models/stock_inventory.py +++ b/addons/stock/models/stock_inventory.py @@ -385,31 +385,57 @@ class InventoryLine(models.Model): ('owner_id', '=', self.partner_id.id), ('package_id', '=', self.package_id.id)]) + def _get_move_values(self, qty, location_id, location_dest_id): + self.ensure_one() + return { + 'name': _('INV:') + (self.inventory_id.name or ''), + 'product_id': self.product_id.id, + 'product_uom': self.product_uom_id.id, + 'product_uom_qty': qty, + 'date': self.inventory_id.date, + 'company_id': self.inventory_id.company_id.id, + 'inventory_id': self.inventory_id.id, + 'state': 'confirmed', + 'restrict_lot_id': self.prod_lot_id.id, + 'restrict_partner_id': self.partner_id.id, + 'location_id': location_id, + 'location_dest_id': location_dest_id, + } + + def _fixup_negative_quants(self): + """ This will handle the irreconciable quants created by a force availability followed by a + return. When generating the moves of an inventory line, we look for quants of this line's + product created to compensate a force availability. If there are some and if the quant + which it is propagated from is still in the same location, we move it to the inventory + adjustment location before getting it back. Getting the quantity from the inventory + location will allow the negative quant to be compensated. + """ + self.ensure_one() + for quant in self._get_quants().filtered(lambda q: q.propagated_from_id.location_id.id == self.location_id.id): + # send the quantity to the inventory adjustment location + move_out_vals = self._get_move_values(quant.qty, self.location_id.id, self.product_id.property_stock_inventory.id) + move_out = self.env['stock.move'].create(move_out_vals) + self.env['stock.quant'].quants_reserve([(quant, quant.qty)], move_out) + move_out.action_done() + + # get back the quantity from the inventory adjustment location + move_in_vals = self._get_move_values(quant.qty, self.product_id.property_stock_inventory.id, self.location_id.id) + move_in = self.env['stock.move'].create(move_in_vals) + move_in.action_done() + def _generate_moves(self): moves = self.env['stock.move'] Quant = self.env['stock.quant'] for line in self: + line._fixup_negative_quants() + if float_utils.float_compare(line.theoretical_qty, line.product_qty, precision_rounding=line.product_id.uom_id.rounding) == 0: continue diff = line.theoretical_qty - line.product_qty - vals = { - 'name': _('INV:') + (line.inventory_id.name or ''), - 'product_id': line.product_id.id, - 'product_uom': line.product_uom_id.id, - 'date': line.inventory_id.date, - 'company_id': line.inventory_id.company_id.id, - 'inventory_id': line.inventory_id.id, - 'state': 'confirmed', - 'restrict_lot_id': line.prod_lot_id.id, - 'restrict_partner_id': line.partner_id.id} if diff < 0: # found more than expected - vals['location_id'] = line.product_id.property_stock_inventory.id - vals['location_dest_id'] = line.location_id.id - vals['product_uom_qty'] = abs(diff) + vals = self._get_move_values(abs(diff), line.product_id.property_stock_inventory.id, line.location_id.id) else: - vals['location_id'] = line.location_id.id - vals['location_dest_id'] = line.product_id.property_stock_inventory.id - vals['product_uom_qty'] = diff + vals = self._get_move_values(abs(diff), line.location_id.id, line.product_id.property_stock_inventory.id) move = moves.create(vals) if diff > 0: diff --git a/addons/stock/tests/test_warehouse.py b/addons/stock/tests/test_warehouse.py index 6e71ec74276..ef18411a79e 100644 --- a/addons/stock/tests/test_warehouse.py +++ b/addons/stock/tests/test_warehouse.py @@ -103,6 +103,134 @@ class TestInventory(TestStockCommon): self.assertEqual(product.qty_available, 8.0) self.assertEqual(product.with_context(location=self.env.ref('stock.stock_location_customers').id).qty_available, 7.0) + def test_inventory_adjustment_and_negative_quants_1(self): + """Make sure negative quants from returns get wiped out with an inventory adjustment""" + productA = self.env['product.product'].create({'name': 'Product A', 'type': 'product'}) + stock_location = self.env.ref('stock.stock_location_stock') + customer_location = self.env.ref('stock.stock_location_customers') + location_loss = self.env.ref('stock.location_inventory') + + # Create a picking out and force availability + picking_out = self.env['stock.picking'].create({ + 'partner_id': self.env.ref('base.res_partner_2').id, + 'picking_type_id': self.env.ref('stock.picking_type_out').id, + 'location_id': stock_location.id, + 'location_dest_id': customer_location.id, + }) + self.env['stock.move'].create({ + 'name': productA.name, + 'product_id': productA.id, + 'product_uom_qty': 1, + 'product_uom': productA.uom_id.id, + 'picking_id': picking_out.id, + 'location_id': stock_location.id, + 'location_dest_id': customer_location.id, + }) + picking_out.action_confirm() + picking_out.force_assign() + picking_out.do_transfer() + + # Create return picking for all goods + default_data = self.env['stock.return.picking']\ + .with_context(active_ids=picking_out.ids, active_id=picking_out.ids[0])\ + .default_get([ + 'move_dest_exists', + 'original_location_id', + 'product_return_moves', + 'parent_location_id', + 'location_id', + ]) + return_wiz = self.env['stock.return.picking']\ + .with_context(active_ids=picking_out.ids, active_id=picking_out.ids[0])\ + .create(default_data) + res = return_wiz.create_returns() + return_pick = self.env['stock.picking'].browse(res['res_id']) + return_pick.action_assign() + return_pick.do_transfer() + + # Make an inventory adjustment to set the quantity to 0 + inventory = self.env['stock.inventory'].create({ + 'name': 'Starting for product_1', + 'filter': 'product', + 'location_id': stock_location.id, + 'product_id': productA.id, + }) + inventory.prepare_inventory() + self.assertEqual(len(inventory.line_ids), 1, "Wrong inventory lines generated.") + self.assertEqual(inventory.line_ids.theoretical_qty, 0, "Theoretical quantity should be zero.") + inventory.action_done() + + # The inventory adjustment should have created two moves + self.assertEqual(len(inventory.move_ids), 2) + quantity = inventory.move_ids.mapped('product_qty') + self.assertEqual(quantity, [1, 1], "Moves created with wrong quantity.") + location_ids = inventory.move_ids.mapped('location_id').ids + self.assertEqual(set(location_ids), {stock_location.id, location_loss.id}) + + # There should be no quant in the stock location + quants = self.env['stock.quant'].search([('product_id', '=', productA.id), ('location_id', '=', stock_location.id)]) + self.assertEqual(len(quants), 0) + + # There should be one quant in the inventory loss location + quant = self.env['stock.quant'].search([('product_id', '=', productA.id), ('location_id', '=', location_loss.id)]) + self.assertEqual(len(quant), 1) + self.assertEqual(quant.qty, 1) + + def test_inventory_adjustment_and_negative_quants_2(self): + """Make sure negative quants get wiped out with an inventory adjustment""" + productA = self.env['product.product'].create({'name': 'Product A', 'type': 'product'}) + stock_location = self.env.ref('stock.stock_location_stock') + customer_location = self.env.ref('stock.stock_location_customers') + location_loss = self.env.ref('stock.location_inventory') + + # Create a picking out and force availability + picking_out = self.env['stock.picking'].create({ + 'partner_id': self.env.ref('base.res_partner_2').id, + 'picking_type_id': self.env.ref('stock.picking_type_out').id, + 'location_id': stock_location.id, + 'location_dest_id': customer_location.id, + }) + self.env['stock.move'].create({ + 'name': productA.name, + 'product_id': productA.id, + 'product_uom_qty': 1, + 'product_uom': productA.uom_id.id, + 'picking_id': picking_out.id, + 'location_id': stock_location.id, + 'location_dest_id': customer_location.id, + }) + picking_out.action_confirm() + picking_out.force_assign() + picking_out.do_transfer() + + # Make an inventory adjustment to set the quantity to 0 + inventory = self.env['stock.inventory'].create({ + 'name': 'Starting for product_1', + 'filter': 'product', + 'location_id': stock_location.id, + 'product_id': productA.id, + }) + inventory.prepare_inventory() + self.assertEqual(len(inventory.line_ids), 1, "Wrong inventory lines generated.") + self.assertEqual(inventory.line_ids.theoretical_qty, -1, "Theoretical quantity should be -1.") + inventory.line_ids.product_qty = 0 # Put the quantity back to 0 + inventory.action_done() + + # The inventory adjustment should have created one + self.assertEqual(len(inventory.move_ids), 1) + quantity = inventory.move_ids.mapped('product_qty') + self.assertEqual(quantity, [1], "Moves created with wrong quantity.") + location_ids = inventory.move_ids.mapped('location_id').ids + self.assertEqual(set(location_ids), {location_loss.id}) + + # There should be no quant in the stock location + quants = self.env['stock.quant'].search([('product_id', '=', productA.id), ('location_id', '=', stock_location.id)]) + self.assertEqual(len(quants), 0) + + # There should be no quant in the inventory loss location + quant = self.env['stock.quant'].search([('product_id', '=', productA.id), ('location_id', '=', location_loss.id)]) + self.assertEqual(len(quant), 0) + class TestResupply(TestStockCommon): def setUp(self): From a5b9d05b6691ff292ef5013518188791b5fd4623 Mon Sep 17 00:00:00 2001 From: Pierre Masereel Date: Wed, 15 Mar 2017 14:44:08 +0100 Subject: [PATCH 27/36] [FIX] stock: multi-step routes When we are changing the incoming and outgoing routes steps of a warhouse through its settings, the push/pull rules are actually deleted and recreated, which raise a traceback if we have some move validated that are using those rules. The problem came after rev: https://github.com/odoo/odoo/commit/b1b3de1339a13504ac5e223aec465bd70417d11e Because we restrict the deletion of rules when they are used in stock moves. To fix this issue, we deactivate rules when we change the incoming and outgouing rules instead of unlink them --- addons/stock/models/stock_warehouse.py | 48 ++++++++++++++++++++------ 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/addons/stock/models/stock_warehouse.py b/addons/stock/models/stock_warehouse.py index a6c2b204ad8..013bccd1050 100644 --- a/addons/stock/models/stock_warehouse.py +++ b/addons/stock/models/stock_warehouse.py @@ -164,7 +164,7 @@ class Warehouse(models.Model): if to_add: warehouse.create_resupply_routes(to_add, warehouse.default_resupply_wh_id) if to_remove: - Route.search([('supplied_wh_id', '=', warehouse.id), ('supplier_wh_id', 'in', to_remove.ids)]).unlink() + Route.search([('supplied_wh_id', '=', warehouse.id), ('supplier_wh_id', 'in', to_remove.ids)]).write({'active': False}) # TDE FIXME: shouldn't we remove procurement rules also ? because this could make them global (not sure) return res @@ -279,8 +279,8 @@ class Warehouse(models.Model): if warehouse.reception_route_id: reception_route = warehouse.reception_route_id reception_route.write({'name': warehouse._format_routename(route_type=warehouse.reception_steps)}) - reception_route.pull_ids.unlink() - reception_route.push_ids.unlink() + reception_route.pull_ids.write({'active': False}) + reception_route.push_ids.write({'active': False}) else: reception_route = self.env['stock.location.route'].create(warehouse._get_reception_delivery_route_values(warehouse.reception_steps)) # push / procurement (pull) rules for reception @@ -289,9 +289,29 @@ class Warehouse(models.Model): routings, values={'active': True, 'route_id': reception_route.id}, push_values=None, pull_values={'procure_method': 'make_to_order'}) for push_vals in push_rules_list: - self.env['stock.location.path'].create(push_vals) + existing_push = self.env['stock.location.path'].search([ + ('picking_type_id', '=', push_vals['picking_type_id']), + ('location_from_id', '=', push_vals['location_from_id']), + ('location_dest_id', '=', push_vals['location_dest_id']), + ('route_id', '=', push_vals['route_id']), + ('active', '=', False), + ]) + if not existing_push: + self.env['stock.location.path'].create(push_vals) + else: + existing_push.write({'active': True}) for pull_vals in pull_rules_list: - self.env['procurement.rule'].create(pull_vals) + existing_pull = self.env['procurement.rule'].search([ + ('picking_type_id', '=', pull_vals['picking_type_id']), + ('location_src_id', '=', pull_vals['location_src_id']), + ('location_id', '=', pull_vals['location_id']), + ('route_id', '=', pull_vals['route_id']), + ('active', '=', False), + ]) + if not existing_pull: + self.env['procurement.rule'].create(pull_vals) + else: + existing_pull.write({'active': True}) return reception_route def _create_or_update_delivery_route(self, routes_data): @@ -301,7 +321,7 @@ class Warehouse(models.Model): if warehouse.delivery_route_id: delivery_route = warehouse.delivery_route_id delivery_route.write({'name': warehouse._format_routename(route_type=warehouse.delivery_steps)}) - delivery_route.pull_ids.unlink() + delivery_route.pull_ids.write({'active': False}) else: delivery_route = self.env['stock.location.route'].create(warehouse._get_reception_delivery_route_values(warehouse.delivery_steps)) # procurement (pull) rules for delivery @@ -309,7 +329,17 @@ class Warehouse(models.Model): dummy, pull_rules_list = warehouse._get_push_pull_rules_values( routings, values={'active': True, 'route_id': delivery_route.id}) for pull_vals in pull_rules_list: - self.env['procurement.rule'].create(pull_vals) + existing_pull = self.env['procurement.rule'].search([ + ('picking_type_id', '=', pull_vals['picking_type_id']), + ('location_src_id', '=', pull_vals['location_src_id']), + ('location_id', '=', pull_vals['location_id']), + ('route_id', '=', pull_vals['route_id']), + ('active', '=', False), + ]) + if not existing_pull: + self.env['procurement.rule'].create(pull_vals) + else: + existing_pull.write({'active': True}) return delivery_route def _create_or_update_mto_pull(self, routes_data): @@ -540,7 +570,7 @@ class Warehouse(models.Model): Pull.search([ '&', ('route_id', '=', self._get_mto_route().id), ('location_id.usage', '=', 'transit'), - ('location_src_id', '=', self.lot_stock_id.id)]).unlink() + ('location_src_id', '=', self.lot_stock_id.id)]).write({'active': False}) def _check_reception_resupply(self, new_location): """ Check routes being delivered by the warehouses (resupply routes) and @@ -555,9 +585,7 @@ class Warehouse(models.Model): routes_data = self.get_routes_dict() # change the default source and destination location and (de)activate operation types self._update_picking_type() - # update delivery route and rules: unlink the existing rules of the warehouse delivery route and recreate it self._create_or_update_delivery_route(routes_data) - # update receipt route and rules: unlink the existing rules of the warehouse receipt route and recreate it self._create_or_update_reception_route(routes_data) self._create_or_update_crossdock_route(routes_data) self._create_or_update_mto_pull(routes_data) From f50ba68be72c8b63af87e8dcd0e726e5e3b77092 Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Thu, 16 Mar 2017 17:42:39 +0100 Subject: [PATCH 28/36] [FIX] web_editor: handle margin:initial correctly The transcoder (which transforms stylesheet rules to inline style) did some compression of the padding and margin css properties to not always have margin-top + margin-right + margin-bottom + margin-left. This could cause an issue when the value of margin or padding contained an initial or inherit value because browsers (at least firefox and google chrome) doesn't allow it. Thus the preview could for example have bigger veritcal spaces arround `

` tag than what was seen when editing. With this fix instead of invalid: margin:initial initial initial initial we have: margin:initial And instead of invalid: margin:initial 5px 6px 7px we have: margin-top: initial; margin-right: 5px; margin-bottom: 6px; margin-left: 7px; opw-706535 --- addons/web_editor/static/src/js/transcoder.js | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/addons/web_editor/static/src/js/transcoder.js b/addons/web_editor/static/src/js/transcoder.js index d327252b63d..306369cddfa 100644 --- a/addons/web_editor/static/src/js/transcoder.js +++ b/addons/web_editor/static/src/js/transcoder.js @@ -99,20 +99,28 @@ var getMatchedCSSRules = function (a) { if (style.display === 'block') { delete style.display; } - if (style['margin-top']) { - style.margin = (style['margin-top'] || 0) + ' ' + (style['margin-right'] || 0) + ' ' + (style['margin-bottom'] || 0) + ' ' + (style['margin-left'] || 0); - delete style['margin-top']; - delete style['margin-right']; - delete style['margin-bottom']; - delete style['margin-left']; - } - if (style['padding-top']) { - style.padding = (style['padding-top'] || 0) + ' ' + (style['padding-right'] || 0) + ' ' + (style['padding-bottom'] || 0) + ' ' + (style['padding-left'] || 0); - delete style['padding-top']; - delete style['padding-right']; - delete style['padding-bottom']; - delete style['padding-left']; - } + + _.each(['margin', 'padding'], function(p) { + if (style[p+'-top'] || style[p+'-right'] || style[p+'-bottom'] || style[p+'-left']) { + if (style[p+'-top'] === style[p+'-right'] && style[p+'-top'] === style[p+'-bottom'] && style[p+'-top'] === style[p+'-left']) { + // keep => property: [top/right/bottom/left value]; + style[p] = style[p+'-top']; + } + else { + // keep => property: [top value] [right value] [bottom value] [left value]; + style[p] = (style[p+'-top'] || 0) + ' ' + (style[p+'-right'] || 0) + ' ' + (style[p+'-bottom'] || 0) + ' ' + (style[p+'-left'] || 0); + if (style[p].indexOf('inherit') !== -1 || style[p].indexOf('initial') !== -1) { + // keep => property-top: [top value]; property-right: [right value]; property-bottom: [bottom value]; property-left: [left value]; + delete style[p]; + return; + } + } + delete style[p+'-top']; + delete style[p+'-right']; + delete style[p+'-bottom']; + delete style[p+'-left']; + } + }); return a.className ? cache[a.tagName + "." +a.className] = style : style; }; From fb05d8845d92b1ca9013307664fa6d52be64aa3d Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Thu, 16 Mar 2017 16:07:29 +0100 Subject: [PATCH 29/36] [FIX] web_calendar: events not appearing in arabic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fullcalendar expect as `start` and `end` property of an event object: > When specifying Event Objects for events or eventSources, you may > specify a string in IETF format (ex: "Wed, 18 Oct 2009 13:00:00 EST"), > a string in ISO8601 format (ex: "2009-11-05T13:15:30Z") or a UNIX > timestamp. (as seen in https://fullcalendar.io/docs1/event_data/Event_Object/) Before this commit we could for example in arabic provide an invalid date string "٢٠١٧-٠٣-١٦ ١٦:٠٠:٠٦" instead of "2017-03-16 16:00:06". This commit solves this by always providing fullcalendar an ISO8601 date string. opw-705752 --- addons/web_calendar/static/src/js/web_calendar.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web_calendar/static/src/js/web_calendar.js b/addons/web_calendar/static/src/js/web_calendar.js index b98f155ad9a..89d125c48af 100644 --- a/addons/web_calendar/static/src/js/web_calendar.js +++ b/addons/web_calendar/static/src/js/web_calendar.js @@ -639,8 +639,8 @@ var CalendarView = View.extend({ date_stop = m_start.toDate(); } var r = { - 'start': moment(date_start).format('YYYY-MM-DD HH:mm:ss'), - 'end': moment(date_stop).format('YYYY-MM-DD HH:mm:ss'), + 'start': moment(date_start).toISOString(), + 'end': moment(date_stop).toISOString(), 'title': the_title, 'allDay': (this.fields[this.date_start].type == 'date' || (this.all_day && evt[this.all_day]) || false), 'id': evt.id, From e3eefa093588f4ddfd6fb2a18645a31e1d1224aa Mon Sep 17 00:00:00 2001 From: Nicolas Lempereur Date: Tue, 14 Mar 2017 18:11:33 +0100 Subject: [PATCH 30/36] [FIX] l10n_ch: zoom isr and have margin for title 1. A zoom is needed because the virtual viewport of wkhtml is bigger than a A4 paper size. Hence we go over the size of the A4 paper with the zoom and the content is then resized down to what we want. 2. There was also an issue for example with the title (outside the isr) which had no margin so could be over the report header. 3. Tidy-up some comments in the ISR report 4. Use OCR-B font for optical reference if available task-30535 --- addons/l10n_ch/report/isr_report.xml | 59 +++++++++---------- .../l10n_ch/static/src/less/report_isr.less | 39 +++++++++--- 2 files changed, 59 insertions(+), 39 deletions(-) diff --git a/addons/l10n_ch/report/isr_report.xml b/addons/l10n_ch/report/isr_report.xml index 312f2cbdb68..23ff2f70758 100644 --- a/addons/l10n_ch/report/isr_report.xml +++ b/addons/l10n_ch/report/isr_report.xml @@ -43,38 +43,37 @@ -