diff --git a/account_tax_balance/README.rst b/account_tax_balance/README.rst new file mode 100644 index 00000000..dfb0c29e --- /dev/null +++ b/account_tax_balance/README.rst @@ -0,0 +1,63 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +============ +Tax Balances +============ + +This module allows to compute tax balances within a certain date range. +It depends on date_range module and exposes 'compute' methods that can be called by other modules (like localization ones) + +Usage +===== + +Accounting --> Reporting --> Taxes Balance + +Select the company, the date range, the target moves and 'open taxes' + +.. figure:: /account_tax_balance/static/description/tax_balance.png + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/91/11.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Lorenzo Battistini +* Giovanni Capalbo +* Tecnativa - Antonio Espinosa +* Tecnativa - Pedro M. Baeza +* ACSONE SA/NV - Stéphane Bidoul + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/account_tax_balance/__init__.py b/account_tax_balance/__init__.py new file mode 100644 index 00000000..7ef5132c --- /dev/null +++ b/account_tax_balance/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2016 Lorenzo Battistini - Agile Business Group +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models +from . import wizard diff --git a/account_tax_balance/__manifest__.py b/account_tax_balance/__manifest__.py new file mode 100644 index 00000000..dbf44f33 --- /dev/null +++ b/account_tax_balance/__manifest__.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 Lorenzo Battistini - Agile Business Group +# Copyright 2016 Tecnativa - Antonio Espinosa +# Copyright 2016 ACSONE SA/NV - Stéphane Bidoul +# Copyright 2017 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Tax Balance", + "summary": "Compute tax balances based on date range", + "version": "11.0.1.0.0", + "category": "Accounting & Finance", + "website": "https://www.agilebg.com/", + "author": "Agile Business Group, Therp BV, Tecnativa, ACSONE SA/NV, " + "Odoo Community Association (OCA)", + "license": "AGPL-3", + "application": False, + "installable": True, + "depends": [ + "account", + "date_range", + ], + "data": [ + "wizard/open_tax_balances_view.xml", + "views/account_move_view.xml", + "views/account_tax_view.xml", + ], + "images": [ + 'images/tax_balance.png', + ] +} diff --git a/account_tax_balance/i18n/es.po b/account_tax_balance/i18n/es.po new file mode 100644 index 00000000..d9430fe3 --- /dev/null +++ b/account_tax_balance/i18n/es.po @@ -0,0 +1,266 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_tax_balance +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 01:37+0000\n" +"PO-Revision-Date: 2017-01-19 01:37+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Account" +msgstr "Cuenta" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_account_move +msgid "Account Entry" +msgstr "Asiento contable" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Account Tax" +msgstr "Cuenta de impuesto" + +#. module: account_tax_balance +#: selection:wizard.open.tax.balances,target_move:0 +msgid "All Entries" +msgstr "Todos los asientos" + +#. module: account_tax_balance +#: selection:wizard.open.tax.balances,target_move:0 +msgid "All Posted Entries" +msgstr "Todos los asientos asentados" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance_regular +msgid "Balance" +msgstr "Cuota" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance_refund +msgid "Balance Refund" +msgstr "Cuota devoluciones" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance_regular +msgid "Base Balance" +msgstr "Base imponible" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance_refund +msgid "Base Balance Refund" +msgstr "Base devoluciones" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Base Total" +msgstr "Base total" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_company_id +msgid "Company" +msgstr "Compañía" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_create_date +msgid "Created on" +msgstr "Creado en" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_date_range_id +msgid "Date range" +msgstr "Periodo" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_display_name +msgid "Display Name" +msgstr "Nombre a mostrar" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_from_date +msgid "From date" +msgstr "Desde" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Group By" +msgstr "Agrupar por" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_id +msgid "ID" +msgstr "ID" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_write_uid +msgid "Last Updated by" +msgstr "Última modificación por" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Liquidity" +msgstr "Liquidez" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_move_move_type +#: model:ir.ui.view,arch_db:account_tax_balance.view_account_move_filter +msgid "Move type" +msgstr "Tipo de operación" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Open Taxes" +msgstr "Ver impuestos" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Other" +msgstr "Otro" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Payable" +msgstr "A pagar" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Payable refund" +msgstr "Devoluciones a cobrar" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Receivable" +msgstr "A cobrar" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Receivable refund" +msgstr "Devoluciones a pagar" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Short Name" +msgstr "Nombre corto" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_target_move +msgid "Target Moves" +msgstr "Movimientos destino" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_account_tax +msgid "Tax" +msgstr "Impuesto" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Tax Group" +msgstr "Grupo del impuesto" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Tax Scope" +msgstr "Uso del impuesto" + +#. module: account_tax_balance +#: model:ir.actions.act_window,name:account_tax_balance.action_open_tax_balances +#: model:ir.actions.act_window,name:account_tax_balance.action_tax_balances_tree +#: model:ir.ui.menu,name:account_tax_balance.menu_action_open_tax_balances +#: model:ir.ui.menu,name:account_tax_balance.menu_tax_balances +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Taxes Balance" +msgstr "Tabla de impuestos" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_to_date +msgid "To date" +msgstr "Hasta" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Total" +msgstr "Total" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance +msgid "Total Balance" +msgstr "Total cuota" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance +msgid "Total Base Balance" +msgstr "Total base imponible" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base lines" +msgstr "Ver líneas de base imponible" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base refund lines" +msgstr "Ver líneas de base imponible de devoluciones" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base regular lines" +msgstr "Ver líneas de base imponible de operaciones corrientes" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax lines" +msgstr "Ver líneas de cuota" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax refund lines" +msgstr "Ver líneas de cuota de devoluciones" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax regular lines" +msgstr "Ver líneas de cuota de operaciones corrientes" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "or" +msgstr "o" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_wizard_open_tax_balances +msgid "wizard.open.tax.balances" +msgstr "wizard.open.tax.balances" diff --git a/account_tax_balance/i18n/fr.po b/account_tax_balance/i18n/fr.po new file mode 100644 index 00000000..da50c21a --- /dev/null +++ b/account_tax_balance/i18n/fr.po @@ -0,0 +1,266 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_tax_balance +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-01-19 01:37+0000\n" +"PO-Revision-Date: 2017-01-19 01:37+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Account" +msgstr "Compte" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_account_move +msgid "Account Entry" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Account Tax" +msgstr "" + +#. module: account_tax_balance +#: selection:wizard.open.tax.balances,target_move:0 +msgid "All Entries" +msgstr "Écritures comptabilisées + non-comptabilisées" + +#. module: account_tax_balance +#: selection:wizard.open.tax.balances,target_move:0 +msgid "All Posted Entries" +msgstr "Écritures comptabilisées seulement" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance_regular +msgid "Balance" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance_refund +msgid "Balance Refund" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance_regular +msgid "Base Balance" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance_refund +msgid "Base Balance Refund" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Base Total" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Cancel" +msgstr "Annuler" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_company_id +msgid "Company" +msgstr "Société" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_create_date +msgid "Created on" +msgstr "Créé le" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_date_range_id +msgid "Date range" +msgstr "Plage de date" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_from_date +msgid "From date" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Group By" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_id +msgid "ID" +msgstr "ID" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances___last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Liquidity" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_move_move_type +#: model:ir.ui.view,arch_db:account_tax_balance.view_account_move_filter +msgid "Move type" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Open Taxes" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Other" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Payable" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Payable refund" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Receivable" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Receivable refund" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Short Name" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_target_move +msgid "Target Moves" +msgstr "Écritures ciblées" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_account_tax +msgid "Tax" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Tax Group" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Tax Scope" +msgstr "" + +#. module: account_tax_balance +#: model:ir.actions.act_window,name:account_tax_balance.action_open_tax_balances +#: model:ir.actions.act_window,name:account_tax_balance.action_tax_balances_tree +#: model:ir.ui.menu,name:account_tax_balance.menu_action_open_tax_balances +#: model:ir.ui.menu,name:account_tax_balance.menu_tax_balances +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Taxes Balance" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_to_date +msgid "To date" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Total" +msgstr "Total" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance +msgid "Total Balance" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance +msgid "Total Base Balance" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base refund lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base regular lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax refund lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax regular lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "or" +msgstr "ou" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_wizard_open_tax_balances +msgid "wizard.open.tax.balances" +msgstr "" diff --git a/account_tax_balance/i18n/hr_HR.po b/account_tax_balance/i18n/hr_HR.po new file mode 100644 index 00000000..c2c05101 --- /dev/null +++ b/account_tax_balance/i18n/hr_HR.po @@ -0,0 +1,277 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_tax_balance +# +# Translators: +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 13:07+0000\n" +"PO-Revision-Date: 2017-05-01 13:07+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/hr_HR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: hr_HR\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Account" +msgstr "Konto" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_account_move +msgid "Account Entry" +msgstr "Stavka konta" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Account Tax" +msgstr "Porez konta" + +#. module: account_tax_balance +#: selection:wizard.open.tax.balances,target_move:0 +msgid "All Entries" +msgstr "Sve stavke" + +#. module: account_tax_balance +#: selection:wizard.open.tax.balances,target_move:0 +msgid "All Posted Entries" +msgstr "Sve proknjižene stavke" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance_regular +msgid "Balance" +msgstr "Saldo" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance_refund +msgid "Balance Refund" +msgstr "Saldo povrata" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance_regular +msgid "Base Balance" +msgstr "Saldo osnovice" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance_refund +msgid "Base Balance Refund" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Base Total" +msgstr "Osnovica ukupno" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Cancel" +msgstr "Otkaži" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_company_id +msgid "Company" +msgstr "Tvrtka" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_date_range_id +msgid "Date range" +msgstr "Raspon datuma" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_display_name +msgid "Display Name" +msgstr "Naziv " + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_from_date +msgid "From date" +msgstr "Od datuma" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Group By" +msgstr "Grupiraj po" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_has_moves +msgid "Has balance in period" +msgstr "Ima saldo u periodu" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_id +msgid "ID" +msgstr "ID" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Liquidity" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_move_move_type +#: model:ir.ui.view,arch_db:account_tax_balance.view_account_move_filter +msgid "Move type" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Open Taxes" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Other" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Payable" +msgstr "Dugovno" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Payable refund" +msgstr "Dugovni povrat" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Receivable" +msgstr "Potražno" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Receivable refund" +msgstr "Potražni povrat" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Short Name" +msgstr "Kratki naziv" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_target_move +msgid "Target Moves" +msgstr "Ciljane stavke" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_account_tax +msgid "Tax" +msgstr "Porez" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Tax Group" +msgstr "Grupa poreza" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Tax Scope" +msgstr "Opseg poreza" + +#. module: account_tax_balance +#: model:ir.actions.act_window,name:account_tax_balance.action_open_tax_balances +#: model:ir.actions.act_window,name:account_tax_balance.action_tax_balances_tree +#: model:ir.ui.menu,name:account_tax_balance.menu_action_open_tax_balances +#: model:ir.ui.menu,name:account_tax_balance.menu_tax_balances +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Taxes Balance" +msgstr "Saldo poreza" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_to_date +msgid "To date" +msgstr "Do datuma" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Total" +msgstr "Ukupno" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance +msgid "Total Balance" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance +msgid "Total Base Balance" +msgstr "" + +#. module: account_tax_balance +#: code:addons/account_tax_balance/models/account_tax.py:87 +#, python-format +msgid "Unsupported search operator" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base refund lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base regular lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax refund lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax regular lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "or" +msgstr "ili" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_wizard_open_tax_balances +msgid "wizard.open.tax.balances" +msgstr "wizard.open.tax.balances" diff --git a/account_tax_balance/i18n/nl_NL.po b/account_tax_balance/i18n/nl_NL.po new file mode 100644 index 00000000..dcd12490 --- /dev/null +++ b/account_tax_balance/i18n/nl_NL.po @@ -0,0 +1,277 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_tax_balance +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-23 22:18+0000\n" +"PO-Revision-Date: 2017-06-23 22:18+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: nl_NL\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Account" +msgstr "Rekening" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_account_move +msgid "Account Entry" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Account Tax" +msgstr "" + +#. module: account_tax_balance +#: selection:wizard.open.tax.balances,target_move:0 +msgid "All Entries" +msgstr "" + +#. module: account_tax_balance +#: selection:wizard.open.tax.balances,target_move:0 +msgid "All Posted Entries" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance_regular +msgid "Balance" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance_refund +msgid "Balance Refund" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance_regular +msgid "Base Balance" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance_refund +msgid "Base Balance Refund" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Base Total" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Cancel" +msgstr "Annuleer" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_company_id +msgid "Company" +msgstr "Bedrijf" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_create_uid +msgid "Created by" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_create_date +msgid "Created on" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_date_range_id +msgid "Date range" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_display_name +msgid "Display Name" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_from_date +msgid "From date" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Group By" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_has_moves +msgid "Has balance in period" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_id +msgid "ID" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Liquidity" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_move_move_type +#: model:ir.ui.view,arch_db:account_tax_balance.view_account_move_filter +msgid "Move type" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Open Taxes" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Other" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Payable" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Payable refund" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Receivable" +msgstr "" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Receivable refund" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Short Name" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_target_move +msgid "Target Moves" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_account_tax +msgid "Tax" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Tax Group" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Tax Scope" +msgstr "" + +#. module: account_tax_balance +#: model:ir.actions.act_window,name:account_tax_balance.action_open_tax_balances +#: model:ir.actions.act_window,name:account_tax_balance.action_tax_balances_tree +#: model:ir.ui.menu,name:account_tax_balance.menu_action_open_tax_balances +#: model:ir.ui.menu,name:account_tax_balance.menu_tax_balances +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Taxes Balance" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_to_date +msgid "To date" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Total" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance +msgid "Total Balance" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance +msgid "Total Base Balance" +msgstr "" + +#. module: account_tax_balance +#: code:addons/account_tax_balance/models/account_tax.py:87 +#, python-format +msgid "Unsupported search operator" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base refund lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base regular lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax refund lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax regular lines" +msgstr "" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "or" +msgstr "" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_wizard_open_tax_balances +msgid "wizard.open.tax.balances" +msgstr "" diff --git a/account_tax_balance/i18n/pt.po b/account_tax_balance/i18n/pt.po new file mode 100644 index 00000000..53dd52cf --- /dev/null +++ b/account_tax_balance/i18n/pt.po @@ -0,0 +1,277 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_tax_balance +# +# Translators: +# Pedro Castro Silva , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-31 05:59+0000\n" +"PO-Revision-Date: 2017-05-31 05:59+0000\n" +"Last-Translator: Pedro Castro Silva , 2017\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Account" +msgstr "Conta" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_account_move +msgid "Account Entry" +msgstr "Conta de lançamento" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Account Tax" +msgstr "Conta de Imposto" + +#. module: account_tax_balance +#: selection:wizard.open.tax.balances,target_move:0 +msgid "All Entries" +msgstr "Todos os lançamentos" + +#. module: account_tax_balance +#: selection:wizard.open.tax.balances,target_move:0 +msgid "All Posted Entries" +msgstr "Todos os lançamentos publicados" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance_regular +msgid "Balance" +msgstr "Saldo" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance_refund +msgid "Balance Refund" +msgstr "Saldo de créditos" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance_regular +msgid "Base Balance" +msgstr "Saldo da base" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance_refund +msgid "Base Balance Refund" +msgstr "Saldo da base de créditos" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Base Total" +msgstr "Total da base" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_company_id +msgid "Company" +msgstr "Empresa" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_create_date +msgid "Created on" +msgstr "Criado em" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_date_range_id +msgid "Date range" +msgstr "Período" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_display_name +msgid "Display Name" +msgstr "Exibir nome" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_from_date +msgid "From date" +msgstr "Da data" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Group By" +msgstr "Agrupar por" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_has_moves +msgid "Has balance in period" +msgstr "Como o saldo do período" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_id +msgid "ID" +msgstr "ID" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances___last_update +msgid "Last Modified on" +msgstr "Última modificação em" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_write_uid +msgid "Last Updated by" +msgstr "Última atualização em" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_write_date +msgid "Last Updated on" +msgstr "Última atualização por" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Liquidity" +msgstr "Liquidez" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_move_move_type +#: model:ir.ui.view,arch_db:account_tax_balance.view_account_move_filter +msgid "Move type" +msgstr "Tipo de movimento" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Open Taxes" +msgstr "Abrir impostos" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Other" +msgstr "Outro" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Payable" +msgstr "A pagar" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Payable refund" +msgstr "Crédito a pagar" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Receivable" +msgstr "A receber" + +#. module: account_tax_balance +#: selection:account.move,move_type:0 +msgid "Receivable refund" +msgstr "Crédito a receber" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Short Name" +msgstr "Nome curto" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_target_move +msgid "Target Moves" +msgstr "Movimentos alvo" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_account_tax +msgid "Tax" +msgstr "Imposto" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Tax Group" +msgstr "Grupo de imposto" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_search_balance +msgid "Tax Scope" +msgstr "Âmbito do imposto" + +#. module: account_tax_balance +#: model:ir.actions.act_window,name:account_tax_balance.action_open_tax_balances +#: model:ir.actions.act_window,name:account_tax_balance.action_tax_balances_tree +#: model:ir.ui.menu,name:account_tax_balance.menu_action_open_tax_balances +#: model:ir.ui.menu,name:account_tax_balance.menu_tax_balances +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "Taxes Balance" +msgstr "Saldo de impostos" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_wizard_open_tax_balances_to_date +msgid "To date" +msgstr "Até à data" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "Total" +msgstr "Total" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_balance +msgid "Total Balance" +msgstr "Saldo total" + +#. module: account_tax_balance +#: model:ir.model.fields,field_description:account_tax_balance.field_account_tax_base_balance +msgid "Total Base Balance" +msgstr "Saldo da base total" + +#. module: account_tax_balance +#: code:addons/account_tax_balance/models/account_tax.py:87 +#, python-format +msgid "Unsupported search operator" +msgstr "Operador de pesquisa não suportado" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base lines" +msgstr "Ver linhas da base" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base refund lines" +msgstr "Ver linhas da base de créditos" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View base regular lines" +msgstr "Ver linhas da base de faturas" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax lines" +msgstr "Ver linhas de imposto" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax refund lines" +msgstr "Ver linhas de imposto de créditos" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.view_tax_tree_balance +msgid "View tax regular lines" +msgstr "Ver linhas de imposto de faturas" + +#. module: account_tax_balance +#: model:ir.ui.view,arch_db:account_tax_balance.wizard_open_tax_balances +msgid "or" +msgstr "ou" + +#. module: account_tax_balance +#: model:ir.model,name:account_tax_balance.model_wizard_open_tax_balances +msgid "wizard.open.tax.balances" +msgstr "wizard.open.tax.balances" diff --git a/account_tax_balance/models/__init__.py b/account_tax_balance/models/__init__.py new file mode 100644 index 00000000..b2a132ed --- /dev/null +++ b/account_tax_balance/models/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# © 2016 Lorenzo Battistini - Agile Business Group +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import account_move +from . import account_tax +from . import account_move_line diff --git a/account_tax_balance/models/account_move.py b/account_tax_balance/models/account_move.py new file mode 100644 index 00000000..be5ff189 --- /dev/null +++ b/account_tax_balance/models/account_move.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# © 2016 Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp import models, fields, api + + +class AccountMove(models.Model): + _inherit = 'account.move' + + move_type = fields.Selection( + string="Move type", selection=[ + ('other', 'Other'), + ('liquidity', 'Liquidity'), + ('receivable', 'Receivable'), + ('receivable_refund', 'Receivable refund'), + ('payable', 'Payable'), + ('payable_refund', 'Payable refund'), + ], compute='_compute_move_type', store=True, readonly=True) + + @api.multi + @api.depends( + 'line_ids.account_id.internal_type', 'line_ids.balance', + 'line_ids.account_id.user_type_id.type' + ) + def _compute_move_type(self): + def _balance_get(line_ids, internal_type): + return sum(line_ids.filtered( + lambda x: x.account_id.internal_type == internal_type).mapped( + 'balance')) + + for move in self: + internal_types = move.line_ids.mapped('account_id.internal_type') + if 'liquidity' in internal_types: + move.move_type = 'liquidity' + elif 'payable' in internal_types: + balance = _balance_get(move.line_ids, 'payable') + move.move_type = ( + 'payable' if balance < 0 else 'payable_refund') + elif 'receivable' in internal_types: + balance = _balance_get(move.line_ids, 'receivable') + move.move_type = ( + 'receivable' if balance > 0 else 'receivable_refund') + else: + move.move_type = 'other' diff --git a/account_tax_balance/models/account_move_line.py b/account_tax_balance/models/account_move_line.py new file mode 100644 index 00000000..d4c52465 --- /dev/null +++ b/account_tax_balance/models/account_move_line.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class AccountMoveLine(models.Model): + + _inherit = 'account.move.line' + + @api.model_cr + def init(self): + res = super(AccountMoveLine, self).init() + self._cr.execute(""" + SELECT indexname FROM pg_indexes + WHERE indexname = 'account_move_line_date_tax_line_id_idx' + """) + if not self._cr.fetchone(): + self._cr.execute(""" + CREATE INDEX account_move_line_date_tax_line_id_idx + ON account_move_line (date, tax_line_id) + """) + return res diff --git a/account_tax_balance/models/account_tax.py b/account_tax_balance/models/account_tax.py new file mode 100644 index 00000000..81344736 --- /dev/null +++ b/account_tax_balance/models/account_tax.py @@ -0,0 +1,212 @@ +# -*- coding: utf-8 -*- +# © 2016 Lorenzo Battistini - Agile Business Group +# © 2016 Antonio Espinosa +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp import models, fields, api, _ + + +class AccountTax(models.Model): + _inherit = 'account.tax' + + balance = fields.Float( + string="Total Balance", compute="_compute_balance", + ) + base_balance = fields.Float( + string="Total Base Balance", compute="_compute_balance", + ) + balance_regular = fields.Float( + string="Balance", compute="_compute_balance", + ) + base_balance_regular = fields.Float( + string="Base Balance", compute="_compute_balance", + ) + balance_refund = fields.Float( + string="Balance Refund", compute="_compute_balance", + ) + base_balance_refund = fields.Float( + string="Base Balance Refund", compute="_compute_balance", + ) + has_moves = fields.Boolean( + string="Has balance in period", + compute="_compute_has_moves", + search="_search_has_moves", + ) + + def get_context_values(self): + context = self.env.context + return ( + context.get('from_date', fields.Date.context_today(self)), + context.get('to_date', fields.Date.context_today(self)), + context.get('company_id', self.env.user.company_id.id), + context.get('target_move', 'posted') + ) + + def _account_tax_ids_with_moves(self): + """ Return all account.tax ids for which there is at least + one account.move.line in the context period + for the user company. + + Caveat: this ignores record rules and ACL but it is good + enough for filtering taxes with activity during the period. + """ + req = """ + SELECT id + FROM account_tax at + WHERE + company_id = %s AND + EXISTS ( + SELECT 1 FROM account_move_Line aml + WHERE + date >= %s AND + date <= %s AND + company_id = %s AND ( + tax_line_id = at.id OR + EXISTS ( + SELECT 1 FROM account_move_line_account_tax_rel + WHERE account_move_line_id = aml.id AND + account_tax_id = at.id + ) + ) + ) + """ + from_date, to_date, company_id, target_move = self.get_context_values() + self.env.cr.execute( + req, (company_id, from_date, to_date, company_id)) + return [r[0] for r in self.env.cr.fetchall()] + + @api.multi + def _compute_has_moves(self): + ids_with_moves = set(self._account_tax_ids_with_moves()) + for tax in self: + tax.has_moves = tax.id in ids_with_moves + + @api.model + def _search_has_moves(self, operator, value): + if operator != '=' or not value: + raise ValueError(_("Unsupported search operator")) + ids_with_moves = self._account_tax_ids_with_moves() + return [('id', 'in', ids_with_moves)] + + def _compute_balance(self): + for tax in self: + tax.balance_regular = tax.compute_balance( + tax_or_base='tax', move_type='regular') + tax.base_balance_regular = tax.compute_balance( + tax_or_base='base', move_type='regular') + tax.balance_refund = tax.compute_balance( + tax_or_base='tax', move_type='refund') + tax.base_balance_refund = tax.compute_balance( + tax_or_base='base', move_type='refund') + tax.balance = tax.balance_regular + tax.balance_refund + tax.base_balance = ( + tax.base_balance_regular + tax.base_balance_refund) + + def get_target_type_list(self, move_type=None): + if move_type == 'refund': + return ['receivable_refund', 'payable_refund'] + elif move_type == 'regular': + return ['receivable', 'payable', 'liquidity', 'other'] + return [] + + def get_target_state_list(self, target_move="posted"): + if target_move == 'posted': + state = ['posted'] + elif target_move == 'all': + state = ['posted', 'draft'] + else: + state = [] + return state + + def get_move_line_partial_domain(self, from_date, to_date, company_id): + return [ + ('date', '<=', to_date), + ('date', '>=', from_date), + ('company_id', '=', company_id), + ] + + def compute_balance(self, tax_or_base='tax', move_type=None): + self.ensure_one() + domain = self.get_move_lines_domain( + tax_or_base=tax_or_base, move_type=move_type) + # balance is debit - credit whereas on tax return you want to see what + # vat has to be paid so: + # VAT on sales (credit) - VAT on purchases (debit). + + balance = self.env['account.move.line'].\ + read_group(domain, ['balance'], [])[0]['balance'] + return balance and -balance or 0 + + def get_balance_domain(self, state_list, type_list): + domain = [ + ('move_id.state', 'in', state_list), + ('tax_line_id', '=', self.id), + ('tax_exigible', '=', True) + ] + if type_list: + domain.append(('move_id.move_type', 'in', type_list)) + return domain + + def get_base_balance_domain(self, state_list, type_list): + domain = [ + ('move_id.state', 'in', state_list), + ('tax_ids', 'in', self.id), + ('tax_exigible', '=', True) + ] + if type_list: + domain.append(('move_id.move_type', 'in', type_list)) + return domain + + def get_move_lines_domain(self, tax_or_base='tax', move_type=None): + from_date, to_date, company_id, target_move = self.get_context_values() + state_list = self.get_target_state_list(target_move) + type_list = self.get_target_type_list(move_type) + domain = self.get_move_line_partial_domain( + from_date, to_date, company_id) + balance_domain = [] + if tax_or_base == 'tax': + balance_domain = self.get_balance_domain(state_list, type_list) + elif tax_or_base == 'base': + balance_domain = self.get_base_balance_domain( + state_list, type_list) + domain.extend(balance_domain) + return domain + + def get_lines_action(self, tax_or_base='tax', move_type=None): + domain = self.get_move_lines_domain( + tax_or_base=tax_or_base, move_type=move_type) + action = self.env.ref('account.action_account_moves_all_tree') + vals = action.read()[0] + vals['context'] = {} + vals['domain'] = domain + return vals + + @api.multi + def view_tax_lines(self): + self.ensure_one() + return self.get_lines_action(tax_or_base='tax') + + @api.multi + def view_base_lines(self): + self.ensure_one() + return self.get_lines_action(tax_or_base='base') + + @api.multi + def view_tax_regular_lines(self): + self.ensure_one() + return self.get_lines_action(tax_or_base='tax', move_type='regular') + + @api.multi + def view_base_regular_lines(self): + self.ensure_one() + return self.get_lines_action(tax_or_base='base', move_type='regular') + + @api.multi + def view_tax_refund_lines(self): + self.ensure_one() + return self.get_lines_action(tax_or_base='tax', move_type='refund') + + @api.multi + def view_base_refund_lines(self): + self.ensure_one() + return self.get_lines_action(tax_or_base='base', move_type='refund') diff --git a/account_tax_balance/static/description/icon.png b/account_tax_balance/static/description/icon.png new file mode 100644 index 00000000..3a0328b5 Binary files /dev/null and b/account_tax_balance/static/description/icon.png differ diff --git a/account_tax_balance/static/description/tax_balance.png b/account_tax_balance/static/description/tax_balance.png new file mode 100644 index 00000000..b5063a44 Binary files /dev/null and b/account_tax_balance/static/description/tax_balance.png differ diff --git a/account_tax_balance/tests/__init__.py b/account_tax_balance/tests/__init__.py new file mode 100644 index 00000000..b1bcc511 --- /dev/null +++ b/account_tax_balance/tests/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2016 Lorenzo Battistini - Agile Business Group +# © 2016 Giovanni Capalbo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_account_tax_balance diff --git a/account_tax_balance/tests/test_account_tax_balance.py b/account_tax_balance/tests/test_account_tax_balance.py new file mode 100644 index 00000000..22da0826 --- /dev/null +++ b/account_tax_balance/tests/test_account_tax_balance.py @@ -0,0 +1,182 @@ +# -*- coding: utf-8 -*- +# © 2016 Lorenzo Battistini - Agile Business Group +# © 2016 Giovanni Capalbo +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp.fields import Date +from openerp.tests.common import TransactionCase +from datetime import datetime +from dateutil.rrule import MONTHLY + + +class TestAccountTaxBalance(TransactionCase): + + def setUp(self): + super(TestAccountTaxBalance, self).setUp() + self.range_type = self.env['date.range.type'].create( + {'name': 'Fiscal year', + 'company_id': False, + 'allow_overlap': False}) + self.range_generator = self.env['date.range.generator'] + self.current_year = datetime.now().year + self.current_month = datetime.now().month + range_generator = self.range_generator.create({ + 'date_start': '%s-01-01' % self.current_year, + 'name_prefix': '%s-' % self.current_year, + 'type_id': self.range_type.id, + 'duration_count': 1, + 'unit_of_time': MONTHLY, + 'count': 12}) + range_generator.action_apply() + self.range = self.env['date.range'] + + def test_tax_balance(self): + tax_account_id = self.env['account.account'].search( + [('name', '=', 'Tax Paid')], limit=1).id + tax = self.env['account.tax'].create({ + 'name': 'Tax 10.0%', + 'amount': 10.0, + 'amount_type': 'percent', + 'account_id': tax_account_id, + }) + invoice_account_id = self.env['account.account'].search( + [('user_type_id', '=', self.env.ref( + 'account.data_account_type_receivable' + ).id)], limit=1).id + invoice_line_account_id = self.env['account.account'].search( + [('user_type_id', '=', self.env.ref( + 'account.data_account_type_expenses').id)], limit=1).id + invoice = self.env['account.invoice'].create({ + 'partner_id': self.env.ref('base.res_partner_2').id, + 'account_id': invoice_account_id, + 'type': 'out_invoice', + }) + + self.env['account.invoice.line'].create({ + 'product_id': self.env.ref('product.product_product_4').id, + 'quantity': 1.0, + 'price_unit': 100.0, + 'invoice_id': invoice.id, + 'name': 'product that cost 100', + 'account_id': invoice_line_account_id, + 'invoice_line_tax_ids': [(6, 0, [tax.id])], + }) + invoice._onchange_invoice_line_ids() + invoice._convert_to_write(invoice._cache) + self.assertEqual(invoice.state, 'draft') + + # change the state of invoice to open by clicking Validate button + invoice.action_invoice_open() + + self.assertEqual(tax.base_balance, 100.) + self.assertEqual(tax.balance, 10.) + self.assertEqual(tax.base_balance_regular, 100.) + self.assertEqual(tax.balance_regular, 10.) + self.assertEqual(tax.base_balance_refund, 0.) + self.assertEqual(tax.balance_refund, 0.) + + # testing wizard + current_range = self.range.search([ + ('date_start', '=', '%s-%s-01' % ( + self.current_year, self.current_month)) + ]) + wizard = self.env['wizard.open.tax.balances'].new({}) + self.assertFalse(wizard.from_date) + self.assertFalse(wizard.to_date) + wizard = self.env['wizard.open.tax.balances'].new({ + 'date_range_id': current_range[0].id, + }) + wizard.onchange_date_range_id() + wizard._convert_to_write(wizard._cache) + action = wizard.open_taxes() + self.assertEqual( + action['context']['from_date'], current_range[0].date_start) + self.assertEqual( + action['context']['to_date'], current_range[0].date_end) + self.assertEqual( + action['xml_id'], 'account_tax_balance.action_tax_balances_tree') + + # exercise search has_moves = True + taxes = self.env['account.tax'].search([('has_moves', '=', True)]) + self.assertEqual(len(taxes), 1) + self.assertEqual(taxes[0].name, "Tax 10.0%") + + # testing buttons + tax_action = tax.view_tax_lines() + base_action = tax.view_base_lines() + tax_action_move_lines = self.env['account.move.line'].\ + search(tax_action['domain']) + self.assertTrue(invoice.move_id.line_ids & tax_action_move_lines) + self.assertEqual( + tax_action['xml_id'], 'account.action_account_moves_all_tree') + base_action_move_lines = self.env['account.move.line'].\ + search(base_action['domain']) + self.assertTrue(invoice.move_id.line_ids & base_action_move_lines) + self.assertEqual( + base_action['xml_id'], 'account.action_account_moves_all_tree') + + # test specific method + state_list = tax.get_target_state_list(target_move='all') + self.assertEqual(state_list, ['posted', 'draft']) + state_list = tax.get_target_state_list(target_move='whatever') + self.assertEqual(state_list, []) + + refund = self.env['account.invoice'].create({ + 'partner_id': self.env.ref('base.res_partner_2').id, + 'account_id': invoice_account_id, + 'type': 'out_refund', + }) + + self.env['account.invoice.line'].create({ + 'product_id': self.env.ref('product.product_product_2').id, + 'quantity': 1.0, + 'price_unit': 25.0, + 'invoice_id': refund.id, + 'name': 'returned product that cost 25', + 'account_id': invoice_line_account_id, + 'invoice_line_tax_ids': [(6, 0, [tax.id])], + }) + refund._onchange_invoice_line_ids() + refund._convert_to_write(invoice._cache) + self.assertEqual(refund.state, 'draft') + + # change the state of refund to open by clicking Validate button + refund.action_invoice_open() + + self.assertEqual(tax.base_balance, 75.) + self.assertEqual(tax.balance, 7.5) + self.assertEqual(tax.base_balance_regular, 100.) + self.assertEqual(tax.balance_regular, 10.) + self.assertEqual(tax.base_balance_refund, -25.) + self.assertEqual(tax.balance_refund, -2.5) + + # Taxes on liquidity type moves are included + liquidity_account_id = self.env['account.account'].search( + [('internal_type', '=', 'liquidity')], limit=1).id + self.env['account.move'].create({ + 'date': Date.context_today(self.env.user), + 'journal_id': self.env['account.journal'].search( + [('type', '=', 'bank')], limit=1).id, + 'name': 'Test move', + 'line_ids': [(0, 0, { + 'account_id': liquidity_account_id, + 'debit': 110, + 'credit': 0, + 'name': 'Bank Fees', + }), (0, 0, { + 'account_id': invoice_line_account_id, + 'debit': 0, + 'credit': 100, + 'name': 'Bank Fees', + 'tax_ids': [(4, tax.id)] + }), (0, 0, { + 'account_id': tax.account_id.id, + 'debit': 0, + 'credit': 10, + 'name': 'Bank Fees', + 'tax_line_id': tax.id, + })], + }).post() + tax.refresh() + self.assertEqual(tax.base_balance, 175.) + self.assertEqual(tax.balance, 17.5) diff --git a/account_tax_balance/views/account_move_view.xml b/account_tax_balance/views/account_move_view.xml new file mode 100644 index 00000000..5211c056 --- /dev/null +++ b/account_tax_balance/views/account_move_view.xml @@ -0,0 +1,40 @@ + + + + + + + Add move type column + account.move + + + + + + + + + + Add move type field + account.move + + + + + + + + + + Add move type group by + account.move + + + + + + + + + diff --git a/account_tax_balance/views/account_tax_view.xml b/account_tax_balance/views/account_tax_view.xml new file mode 100644 index 00000000..6c5ce910 --- /dev/null +++ b/account_tax_balance/views/account_tax_view.xml @@ -0,0 +1,68 @@ + + + + + + account.tax.tree.balance + account.tax + + + + + + + +