From 4616703db3dbe9ab578c8d12b6bac7fe0e60b87d Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Mon, 23 Apr 2018 11:22:05 +0200 Subject: [PATCH] [MIG] account_operation_rule : Migration to 11.0 (account_reconcile_rule) --- account_reconcile_rule/README.rst | 117 +++++++++++ account_reconcile_rule/__init__.py | 1 + account_reconcile_rule/__manifest__.py | 21 ++ account_reconcile_rule/i18n/am.po | 181 +++++++++++++++++ account_reconcile_rule/i18n/ca.po | 181 +++++++++++++++++ account_reconcile_rule/i18n/de.po | 181 +++++++++++++++++ account_reconcile_rule/i18n/el_GR.po | 181 +++++++++++++++++ account_reconcile_rule/i18n/es.po | 181 +++++++++++++++++ account_reconcile_rule/i18n/es_ES.po | 181 +++++++++++++++++ account_reconcile_rule/i18n/fi.po | 182 +++++++++++++++++ account_reconcile_rule/i18n/fr.po | 183 +++++++++++++++++ account_reconcile_rule/i18n/gl.po | 181 +++++++++++++++++ account_reconcile_rule/i18n/hr_HR.po | 181 +++++++++++++++++ account_reconcile_rule/i18n/it.po | 161 +++++++++++++++ account_reconcile_rule/i18n/pt.po | 181 +++++++++++++++++ account_reconcile_rule/i18n/pt_BR.po | 185 ++++++++++++++++++ account_reconcile_rule/i18n/pt_PT.po | 181 +++++++++++++++++ account_reconcile_rule/i18n/sl.po | 182 +++++++++++++++++ account_reconcile_rule/i18n/tr.po | 181 +++++++++++++++++ account_reconcile_rule/models/__init__.py | 3 + .../models/account_journal.py | 15 ++ .../models/account_reconcile_rule.py | 165 ++++++++++++++++ .../models/account_statement_line.py | 14 ++ .../security/ir.model.access.csv | 2 + .../static/src/js/account_widgets.js | 50 +++++ account_reconcile_rule/tests/__init__.py | 7 + account_reconcile_rule/tests/common.py | 107 ++++++++++ account_reconcile_rule/tests/test_journal.py | 14 ++ .../tests/test_rule_currency.py | 154 +++++++++++++++ .../tests/test_rule_rounding.py | 146 ++++++++++++++ .../views/account_reconcile_rule.xml | 8 + .../views/account_reconcile_rule_view.xml | 105 ++++++++++ 32 files changed, 3813 insertions(+) create mode 100644 account_reconcile_rule/README.rst create mode 100644 account_reconcile_rule/__init__.py create mode 100644 account_reconcile_rule/__manifest__.py create mode 100644 account_reconcile_rule/i18n/am.po create mode 100644 account_reconcile_rule/i18n/ca.po create mode 100644 account_reconcile_rule/i18n/de.po create mode 100644 account_reconcile_rule/i18n/el_GR.po create mode 100644 account_reconcile_rule/i18n/es.po create mode 100644 account_reconcile_rule/i18n/es_ES.po create mode 100644 account_reconcile_rule/i18n/fi.po create mode 100644 account_reconcile_rule/i18n/fr.po create mode 100644 account_reconcile_rule/i18n/gl.po create mode 100644 account_reconcile_rule/i18n/hr_HR.po create mode 100644 account_reconcile_rule/i18n/it.po create mode 100644 account_reconcile_rule/i18n/pt.po create mode 100644 account_reconcile_rule/i18n/pt_BR.po create mode 100644 account_reconcile_rule/i18n/pt_PT.po create mode 100644 account_reconcile_rule/i18n/sl.po create mode 100644 account_reconcile_rule/i18n/tr.po create mode 100644 account_reconcile_rule/models/__init__.py create mode 100644 account_reconcile_rule/models/account_journal.py create mode 100644 account_reconcile_rule/models/account_reconcile_rule.py create mode 100644 account_reconcile_rule/models/account_statement_line.py create mode 100644 account_reconcile_rule/security/ir.model.access.csv create mode 100644 account_reconcile_rule/static/src/js/account_widgets.js create mode 100644 account_reconcile_rule/tests/__init__.py create mode 100644 account_reconcile_rule/tests/common.py create mode 100644 account_reconcile_rule/tests/test_journal.py create mode 100644 account_reconcile_rule/tests/test_rule_currency.py create mode 100644 account_reconcile_rule/tests/test_rule_rounding.py create mode 100644 account_reconcile_rule/views/account_reconcile_rule.xml create mode 100644 account_reconcile_rule/views/account_reconcile_rule_view.xml diff --git a/account_reconcile_rule/README.rst b/account_reconcile_rule/README.rst new file mode 100644 index 00000000..f5167b57 --- /dev/null +++ b/account_reconcile_rule/README.rst @@ -0,0 +1,117 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: https://www.gnu.org/licenses/agpl + :alt: License: AGPL-3 + +======================= +Account Reconcile Rules +======================= + +This module complements the Reconciliation of the bank statements. When +the bank statement matches one or more journal entry for a line and +there is a remaining balance, Odoo proposes you to click on buttons that +will generate write-off entries according to pre-configured *Reconciliation +Models*. The aim of this module is to automatically click +for you on these buttons (i.e. create the write-off journal entries) +when some rules are respected, rules that you can configure. + +It contains 2 types of rules (but can be extended with additional rules), +described below: + +Roundings + The most basic rule: when the remaining balance is within a range, 1 + or more operations are applied. + +Currencies + When the remaining balance is within a range and the currency of all + the lines is the same but different from the company's, and the amount + currency is the same, 1 or more operations are applied. + + +Configuration +------------- + +As this module aims to automatize the ``Reconciliation Models``, +you first want to ensure that you have at least one model configured. +You can find them in ``Invoicing > Dashboard > Bank card > More +> Reconciliation Models``. An example of a common operation is: + +=================== ========================== ======= ======== +Account Amount Type Amount Label +=================== ========================== ======= ======== +Depends of the l10n Percentage of open balance 100.0 % Rounding +=================== ========================== ======= ======== + +The configuration of the rules themselves happens in ``Invoicing > +Dashboard > Bank card > More > Reconciliation Rules``. Refer to +the description of the types of rules above in case of doubt. The form +is divided in 2 parts: **Rule** and **Result**. The rule part is where +you will set the conditions and the result part is what operations will +be done if the conditions are valid. + +For the **Roundings** rules, you will set a min. and a max. amount. It +can be negative or positive. The amount is compared to the remaining +balance when lines are matched in the bank statement. Example: if you +want to create a move line in a loss account when you received 1.- not +enough, you can create a rule with an min. amount of -1.0 and a max. +amount of 0.0. + +For the **Currencies** rules, the min. and max. amount have the same +properties, but you will also set the currencies for which the rule +applies. Setting the currency allows to configure different amounts +according to the currencies. + +Only the first rule matching the current situation is used, so if you +have several rules overlapping for some reason, be sure to order them +appropriately in the list view. + +Usage +----- + +When you use the *Reconcile* button of a bank statement, Odoo +automatically proposes you matching journal entries for each statement +line. This module automatically adds journal entries generated from the +*Reconciliation Models* if a rule matches with the current +situation, so there is nothing special to do once the rules are +configured. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/98/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 smash it by providing detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Guewen Baconnier +* Cyril Gaudin +* Akim Juillerat + +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_reconcile_rule/__init__.py b/account_reconcile_rule/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/account_reconcile_rule/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/account_reconcile_rule/__manifest__.py b/account_reconcile_rule/__manifest__.py new file mode 100644 index 00000000..3e537ccf --- /dev/null +++ b/account_reconcile_rule/__manifest__.py @@ -0,0 +1,21 @@ +# Author: Guewen Baconnier +# Copyright 2014-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +{'name': 'Account Reconcile Rules', + 'version': '11.0.1.0.0', + 'author': 'Camptocamp, Odoo Community Association (OCA)', + 'maintainer': 'Odoo Community Association (OCA)', + 'license': 'AGPL-3', + 'category': 'Accounting & Finance', + 'depends': [ + 'account', + ], + 'website': 'https://github.com/OCA/account-reconcile', + 'data': [ + 'views/account_reconcile_rule.xml', + 'views/account_reconcile_rule_view.xml', + 'security/ir.model.access.csv', + ], + } diff --git a/account_reconcile_rule/i18n/am.po b/account_reconcile_rule/i18n/am.po new file mode 100644 index 00000000..15fb3f47 --- /dev/null +++ b/account_reconcile_rule/i18n/am.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Amharic (https://www.transifex.com/oca/teams/23907/am/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: am\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Creado en" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/ca.po b/account_reconcile_rule/i18n/ca.po new file mode 100644 index 00000000..55366932 --- /dev/null +++ b/account_reconcile_rule/i18n/ca.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Creat per" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Creat el" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Darrera Actualització per" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Darrera Actualització el" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/de.po b/account_reconcile_rule/i18n/de.po new file mode 100644 index 00000000..16cddedf --- /dev/null +++ b/account_reconcile_rule/i18n/de.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-30 02:44+0000\n" +"PO-Revision-Date: 2016-06-30 02:44+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Kontoauszugzeile" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Angelegt durch" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Angelegt am" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Letzte Aktualisierung durch" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Letzte Aktualisierung am" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "Bezeichnung" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "Reihenfolge" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "Art" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/el_GR.po b/account_reconcile_rule/i18n/el_GR.po new file mode 100644 index 00000000..613f58c5 --- /dev/null +++ b/account_reconcile_rule/i18n/el_GR.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/el_GR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: el_GR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Δημιουργήθηκε από " + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Δημιουργήθηκε στις" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "Κωδικός" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Τελευταία ενημέρωση από" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Τελευταία ενημέρωση στις" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/es.po b/account_reconcile_rule/i18n/es.po new file mode 100644 index 00000000..2a0f5231 --- /dev/null +++ b/account_reconcile_rule/i18n/es.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\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_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Creado en" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "Nombre" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "Secuencia" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "Tipo" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/es_ES.po b/account_reconcile_rule/i18n/es_ES.po new file mode 100644 index 00000000..7823c766 --- /dev/null +++ b/account_reconcile_rule/i18n/es_ES.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/es_ES/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_ES\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Creado en" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/fi.po b/account_reconcile_rule/i18n/fi.po new file mode 100644 index 00000000..067aeea6 --- /dev/null +++ b/account_reconcile_rule/i18n/fi.po @@ -0,0 +1,182 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +# Jarmo Kortetjärvi , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: Jarmo Kortetjärvi , 2016\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Luonut" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Luotu" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "Nimi" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "Viimeksi muokattu" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Viimeksi päivittänyt" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Viimeksi päivitetty" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/fr.po b/account_reconcile_rule/i18n/fr.po new file mode 100644 index 00000000..2e66cd73 --- /dev/null +++ b/account_reconcile_rule/i18n/fr.po @@ -0,0 +1,183 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\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_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "Et" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "Et la devise est une des suivantes" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Ligne de relevé bancaire" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Créée par" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Créée le" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "Devises" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "Nom à afficher" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" +"Pour les règles 'Devises', vous pouvez sélectionner les devises pour " +"lesquelles la règle s'applique." + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "Si plusieurs règles correspondent, la première est utilisée." + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Dernière modification par" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Modifié le" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "Montant max." + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "Montant min." + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "Nom" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "Opérations" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "Résultat" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "Arrondis" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "Règle" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "Séquence" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "Règle d'opération de relevé" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "Règles d'opération de relevé" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "Alors l'opération suivant sera appliquée :" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "Type" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "Quand la balance est entre" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/gl.po b/account_reconcile_rule/i18n/gl.po new file mode 100644 index 00000000..94b665b2 --- /dev/null +++ b/account_reconcile_rule/i18n/gl.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Creado en" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "ültima actualización por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/hr_HR.po b/account_reconcile_rule/i18n/hr_HR.po new file mode 100644 index 00000000..3913b903 --- /dev/null +++ b/account_reconcile_rule/i18n/hr_HR.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# Bole , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-30 02:44+0000\n" +"PO-Revision-Date: 2016-06-30 02:44+0000\n" +"Last-Translator: Bole , 2016\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_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Stavka izvoda" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "Naziv" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "Dnevnik" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "Zadnja izmjena" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "Naziv" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "Tip" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/it.po b/account_reconcile_rule/i18n/it.po new file mode 100644 index 00000000..3c1ffd61 --- /dev/null +++ b/account_reconcile_rule/i18n/it.po @@ -0,0 +1,161 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: bank-statement-reconcile (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-20 02:39+0000\n" +"PO-Revision-Date: 2016-04-19 11:45+0000\n" +"Last-Translator: <>\n" +"Language-Team: Italian (http://www.transifex.com/oca/OCA-bank-statement-reconcile-8-0/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"

\n" +" Click to create a statement operation rule.\n" +"

\n" +" Those can be used to automatically create a move line when reconciling\n" +" your bank statements.\n" +"

\n" +" " +msgstr "" + +#. module: account_operation_rule +#: view:account.operation.rule:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: view:account.operation.rule:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Linea estratto conto" + +#. module: account_operation_rule +#: field:account.operation.rule,create_uid:0 +msgid "Created by" +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,create_date:0 +msgid "Created on" +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,currencies:0 +#: selection:account.operation.rule,rule_type:0 +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Dunning Fees" +msgstr "" + +#. module: account_operation_rule +#: help:account.operation.rule,currencies:0 +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,id:0 +msgid "ID" +msgstr "" + +#. module: account_operation_rule +#: help:account.operation.rule,sequence:0 +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,write_uid:0 +msgid "Last Updated by" +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,write_date:0 +msgid "Last Updated on" +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,amount_max:0 +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,amount_min:0 +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,name:0 +msgid "Name" +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,operations:0 +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: view:account.operation.rule:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: view:account.operation.rule:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: view:account.operation.rule:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: view:account.operation.rule:account_operation_rule.view_account_operation_rule_search +#: view:account.operation.rule:account_operation_rule.view_account_operation_rule_tree +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.menu,name:account_operation_rule.menu_action_account_operation_rule +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: view:account.operation.rule:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: field:account.operation.rule,rule_type:0 +msgid "Type" +msgstr "" + +#. module: account_operation_rule +#: view:account.operation.rule:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" diff --git a/account_reconcile_rule/i18n/pt.po b/account_reconcile_rule/i18n/pt.po new file mode 100644 index 00000000..d7a9abae --- /dev/null +++ b/account_reconcile_rule/i18n/pt.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\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_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Criado em" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Atualizado pela última vez por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Atualizado pela última vez em" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/pt_BR.po b/account_reconcile_rule/i18n/pt_BR.po new file mode 100644 index 00000000..bf4a2a92 --- /dev/null +++ b/account_reconcile_rule/i18n/pt_BR.po @@ -0,0 +1,185 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# Claudio Araujo Santos , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-08 02:45+0000\n" +"PO-Revision-Date: 2016-07-08 02:45+0000\n" +"Last-Translator: Claudio Araujo Santos , 2016\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "E" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "E a moeda é um dos" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Linha extrato bancário" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "Clique para criar uma regra de reconciliação." + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Criado em" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "Moedas" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "Mostrar Nome" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" +"Para regras 'Moeda', você pode escolher para quais moedas a regra será " +"aplicável." + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "Se houver várias regras, a primeiro é usada." + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "Diário" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "Modificada pela última vez" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Atualizado em" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "Max. Quantidade" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "Min. Quantidade" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "Nome" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "Operações" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "Regras de reconciliação" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "Resultado" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "Arredondamentos" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "Regra" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "Seqüência" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "Regra Operação declaração" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "Regras Declaração de Operação" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "Em seguida, as seguintes operações serão aplicados:" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" +"Essa pode ser usada para criar automaticamente uma linha de movimento quando" +" conciliar seus extratos bancários." + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "Tipo" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "Quando o saldo é entre" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "account.operation.rule" diff --git a/account_reconcile_rule/i18n/pt_PT.po b/account_reconcile_rule/i18n/pt_PT.po new file mode 100644 index 00000000..2bea6937 --- /dev/null +++ b/account_reconcile_rule/i18n/pt_PT.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/teams/23907/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Criado em" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Atualizado pela última vez por" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Atualizado pela última vez em" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/sl.po b/account_reconcile_rule/i18n/sl.po new file mode 100644 index 00000000..ad193509 --- /dev/null +++ b/account_reconcile_rule/i18n/sl.po @@ -0,0 +1,182 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "in" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "in je valuta ena izmed" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Postavka bančnega izpiska" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Ustvaril" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Ustvarjeno" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "Valute" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "Prikazni naziv" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" +"Pri pravilih 'valut' lahko izberete, na katere valute se pravilo nanaša." + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "Če se ujema več pravil, se uporabi prvo." + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "Zadnjič spremenjeno" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Zadnji posodobil" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "Maks. znesek" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "Min. znesek" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "Naziv" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "Operacije" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "Rezultat" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "Zaokroževanja" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "Pravilo" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "Zaporedje" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "Pravilo operacij z izpiski" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "Pravilo operacij z izpiski" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "se izvedejo naslednje operacije" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "Tip" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "Ko je stanje med" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/i18n/tr.po b/account_reconcile_rule/i18n/tr.po new file mode 100644 index 00000000..2f589539 --- /dev/null +++ b/account_reconcile_rule/i18n/tr.po @@ -0,0 +1,181 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_operation_rule +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-12 11:12+0000\n" +"PO-Revision-Date: 2016-09-12 11:12+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "And the currency is one of" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "Click to create a reconciliation rule." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_create_date +msgid "Created on" +msgstr "Oluşturuldu" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_currencies +msgid "Currencies" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_display_name +msgid "Display Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_currencies +msgid "" +"For 'Currencies' rules, you can choose for which currencies the rule will be" +" applicable." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_id +msgid "ID" +msgstr "ID" + +#. module: account_operation_rule +#: model:ir.model.fields,help:account_operation_rule.field_account_operation_rule_sequence +msgid "If several rules match, the first one is used." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_uid +msgid "Last Updated by" +msgstr "Son güncelleyen" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_write_date +msgid "Last Updated on" +msgstr "Son güncelleme" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_max +msgid "Max. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_amount_min +msgid "Min. Amount" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_name +msgid "Name" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_operations +msgid "Operations" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,name:account_operation_rule.action_account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.account_journal_dashboard_kanban_view +msgid "Reconciliation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Result" +msgstr "" + +#. module: account_operation_rule +#: selection:account.operation.rule,rule_type:0 +msgid "Roundings" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_sequence +msgid "Sequence" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Statement Operation Rule" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_search +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_tree +msgid "Statement Operation Rules" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "Then the following operations will be applied:" +msgstr "" + +#. module: account_operation_rule +#: model:ir.actions.act_window,help:account_operation_rule.action_account_operation_rule +msgid "" +"Those can be used to automatically create a move line when reconciling\n" +" your bank statements." +msgstr "" + +#. module: account_operation_rule +#: model:ir.model.fields,field_description:account_operation_rule.field_account_operation_rule_rule_type +msgid "Type" +msgstr "" + +#. module: account_operation_rule +#: model:ir.ui.view,arch_db:account_operation_rule.view_account_operation_rule_form +msgid "When the balance is between" +msgstr "" + +#. module: account_operation_rule +#: model:ir.model,name:account_operation_rule.model_account_operation_rule +msgid "account.operation.rule" +msgstr "" diff --git a/account_reconcile_rule/models/__init__.py b/account_reconcile_rule/models/__init__.py new file mode 100644 index 00000000..ff452809 --- /dev/null +++ b/account_reconcile_rule/models/__init__.py @@ -0,0 +1,3 @@ +from . import account_journal +from . import account_reconcile_rule +from . import account_statement_line diff --git a/account_reconcile_rule/models/account_journal.py b/account_reconcile_rule/models/account_journal.py new file mode 100644 index 00000000..f2cd8350 --- /dev/null +++ b/account_reconcile_rule/models/account_journal.py @@ -0,0 +1,15 @@ +# Copyright 2016 Cyril Gaudin (Camptocamp) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, models + + +class AccountJournal(models.Model): + _inherit = 'account.journal' + + @api.multi + def open_reconciliation_rules(self): + return self.env['ir.actions.act_window'].for_xml_id( + "account_reconcile_rule", + "action_account_reconcile_rule" + ) diff --git a/account_reconcile_rule/models/account_reconcile_rule.py b/account_reconcile_rule/models/account_reconcile_rule.py new file mode 100644 index 00000000..78d45a5e --- /dev/null +++ b/account_reconcile_rule/models/account_reconcile_rule.py @@ -0,0 +1,165 @@ +# Author: Guewen Baconnier +# Copyright 2014-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import models, fields, api +from odoo.addons import decimal_precision as dp + + +class AccountReconcileRule(models.Model): + _name = 'account.reconcile.rule' + + _order = 'sequence ASC, id ASC' + + name = fields.Char() + rule_type = fields.Selection( + selection=[('rounding', 'Roundings'), + ('currency', 'Currencies')], + string='Type', + default='rounding', + required=True, + ) + reconcile_model_ids = fields.Many2many( + comodel_name='account.reconcile.model', + string='Reconciliation models', + ) + amount_min = fields.Float( + string='Min. Amount', + digits=dp.get_precision('Account'), + ) + amount_max = fields.Float( + string='Max. Amount', + digits=dp.get_precision('Account'), + ) + currency_ids = fields.Many2many( + comodel_name='res.currency', + string='Currencies', + help="For 'Currencies' rules, you can choose for which currencies " + "the rule will be applicable.", + ) + sequence = fields.Integer( + default=20, + help="If several rules match, the first one is used.", + ) + + @staticmethod + def _between_with_bounds(low, value, high, currency): + """Equivalent to a three way comparison: ``min <= value <= high`` + + The comparisons are done with the currency to use the correct + precision. + """ + if currency.compare_amounts(value, low) == -1: + return False + if currency.compare_amounts(value, high) == 1: + return False + return True + + @api.multi + def _balance_in_range(self, balance, currency): + return self._between_with_bounds(self.amount_min, balance, + self.amount_max, currency) + + @api.model + def _is_multicurrency(self, statement_line): + currency = statement_line.currency_for_rules() + company_currency = statement_line.company_id.currency_id + return currency != company_currency + + @api.multi + def _is_valid_balance(self, statement_line, balance): + if self._is_multicurrency(statement_line): + return False + currency = statement_line.currency_for_rules() + return self._balance_in_range(balance, currency) + + @api.multi + def _is_valid_multicurrency(self, statement_line, move_lines, balance): + """Check if the multi-currency rule can be applied. + + The rule is applied if and only if: + * The currency is not company's one + * The currency of the statement line and all the lines is the same + * The balance of the amount currencies is 0 + * The balance is between the bounds configured on the rule + """ + if not self._is_multicurrency(statement_line): + return False + currency = statement_line.currency_for_rules() + if currency not in self.currency_ids: + return False + amount_currency = statement_line.amount_currency + for move_line in move_lines: + if move_line.currency_id != statement_line.currency_id: + # use case not supported, no rule found + return False + amount_currency -= move_line.amount_currency + + # amount in currency is the same, so the balance is + # a difference due to currency rates + if statement_line.currency_id.is_zero(amount_currency): + return self._balance_in_range(balance, currency) + return False + + @api.multi + def is_valid(self, statement_line, move_lines, balance): + """Check if a rule applies to a group of statement_line + move lines. + + This is the public method where the rule is evaluated whatever + its type is. When a rule returns True, it means that it is a + candidate for the current reconciliation. The rule with the lowest + number in the ``sequence`` field is chosen. + + :param statement_line: the line to reconcile + :param move_lines: the selected move lines for reconciliation + :param balance: the balance between the statement_line and the + move_lines. It could be computed here but it is + computed before to avoid to compute it for each + rule when called on multiple rules. + """ + self.ensure_one() + if self.rule_type == 'rounding': + return self._is_valid_balance(statement_line, balance) + elif self.rule_type == 'currency': + return self._is_valid_multicurrency(statement_line, + move_lines, + balance) + + @api.model + def find_first_rule(self, statement_line, move_lines): + """Find rules to apply to given statement line and move lines. + + :param statement_line: the line to reconcile + :param move_lines: the selected move lines for reconciliation + """ + balance = statement_line.amount + for move_line in move_lines: + balance += move_line.credit - move_line.debit + + currency = statement_line.currency_for_rules() + if currency.is_zero(balance): + return self.browse() + + rules = self.search([]) + # return the first applicable rule + for rule in rules: + if rule.is_valid(statement_line, move_lines, balance): + return rule + return self.browse() + + @api.model + @api.returns('account.reconcile.model') + def models_for_reconciliation(self, statement_line_id, move_line_ids): + """Find the reconcile models for the for given statement and move lines. + + Look for the first reconciliation rule to apply and return its + reconciliation models. + + Called from the javascript reconciliation view. + """ + line_obj = self.env['account.bank.statement.line'] + move_line_obj = self.env['account.move.line'] + statement_line = line_obj.browse(statement_line_id) + move_lines = move_line_obj.browse(move_line_ids) + rules = self.find_first_rule(statement_line, move_lines) + return rules.reconcile_model_ids diff --git a/account_reconcile_rule/models/account_statement_line.py b/account_reconcile_rule/models/account_statement_line.py new file mode 100644 index 00000000..56d1dada --- /dev/null +++ b/account_reconcile_rule/models/account_statement_line.py @@ -0,0 +1,14 @@ +# Author: Guewen Baconnier +# Copyright 2014-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +from odoo import models, api + + +class AccountBankStatementLine(models.Model): + _inherit = 'account.bank.statement.line' + + @api.multi + def currency_for_rules(self): + return self.currency_id or self.statement_id.currency_id diff --git a/account_reconcile_rule/security/ir.model.access.csv b/account_reconcile_rule/security/ir.model.access.csv new file mode 100644 index 00000000..007b87bb --- /dev/null +++ b/account_reconcile_rule/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_reconcile_rule,account.statement.reconcile.rule,model_account_reconcile_rule,account.group_account_user,1,1,1,1 diff --git a/account_reconcile_rule/static/src/js/account_widgets.js b/account_reconcile_rule/static/src/js/account_widgets.js new file mode 100644 index 00000000..cd0282f4 --- /dev/null +++ b/account_reconcile_rule/static/src/js/account_widgets.js @@ -0,0 +1,50 @@ +odoo.define('account_reconcile_rule', function (require) { + "use strict"; + + var core = require('web.core'); + var reconciliation_renderer = require('account.ReconciliationRenderer'); + + /** + * Automatically apply reconciliation models according to the + * reconciliation rules matching the current statement line and move + * lines being reconciled. + */ + reconciliation_renderer.LineRenderer.include({ + /** + * Get the reconciliation models to apply through RPC call and + * create the write off entries. + */ + reconciliation_rule_models: function() { + var self = this; + // Get the statement line + var line = this.model.getLine(this.handle) + // Call the models_for_reconciliation through RPC + this._rpc({ + model: 'account.reconcile.rule', + method: 'models_for_reconciliation', + args: [ + line.st_line.id, + _.pluck(line.reconciliation_proposition, 'id') + ], + }).done(function(rule_models) { + // Loop on each models and create the corresponding write off + // entries + _.each(rule_models, function (rule_model_id) { + self.trigger_up('quick_create_proposition', + {'data': rule_model_id}); + }) + }) + }, + /* + * Add the write off entries after the the line renderer is ready + */ + start: function () { + var self = this; + var deferred = this._super(); + if (deferred) { + deferred.done(this.reconciliation_rule_models()); + } + return deferred; + }, + }); +}); diff --git a/account_reconcile_rule/tests/__init__.py b/account_reconcile_rule/tests/__init__.py new file mode 100644 index 00000000..996cc068 --- /dev/null +++ b/account_reconcile_rule/tests/__init__.py @@ -0,0 +1,7 @@ +# Author: Guewen Baconnier +# Copyright 2014-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import test_journal +from . import test_rule_rounding +from . import test_rule_currency diff --git a/account_reconcile_rule/tests/common.py b/account_reconcile_rule/tests/common.py new file mode 100644 index 00000000..2e852a9c --- /dev/null +++ b/account_reconcile_rule/tests/common.py @@ -0,0 +1,107 @@ +# Author: Guewen Baconnier +# Copyright 2014-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import SavepointCase + + +class AccountReconciliationModelTestCase(SavepointCase): + + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.reconcile_model_obj = cls.env['account.reconcile.model'] + cls.rule_obj = cls.env['account.reconcile.rule'] + cls.journal_obj = cls.env['account.journal'] + cls.account_type_obj = cls.env['account.account.type'] + cls.account_obj = cls.env['account.account'] + cls.cash_journal = cls.journal_obj.create({ + 'name': 'Unittest Cash journal', + 'code': 'CASH', + 'type': 'cash', + }) + cls.sale_journal = cls.journal_obj.create({ + 'name': 'Unittest Customer Invoices', + 'code': 'INV', + 'type': 'sale', + }) + receivable_type = cls.account_type_obj.create({ + 'name': 'Receivable', + 'type': 'receivable' + }) + cls.account_receivable = cls.account_obj.create({ + 'name': 'Unittest Account Receivable', + 'user_type_id': receivable_type.id, + 'code': 'TEST101200', + 'reconcile': True, + }) + income_type = cls.account_type_obj.create({ + 'name': 'Unittest Income', + 'type': 'other' + }) + cls.account_sale = cls.account_obj.create({ + 'name': 'Unittest Account Sale', + 'user_type_id': income_type.id, + 'code': 'TEST200000', + 'reconcile': False, + }) + + def prepare_statement(self, difference, + statement_line_currency=None, + move_line_currency=None, + amount_currency_difference=0): + """ Prepare a bank statement line and a move line + + The difference is applied on the bank statement line relatively to + the move line. + """ + + amount = 100 + amount_currency = 120 + + statement = self.env['account.bank.statement'].create({ + 'name': '/', + 'journal_id': self.cash_journal.id + }) + line_vals = { + 'name': '001', + 'amount': amount + difference, + 'statement_id': statement.id, + } + if statement_line_currency: + line_vals.update({ + 'currency_id': statement_line_currency.id, + 'amount_currency': + amount_currency + amount_currency_difference, + }) + + statement_line = self.env['account.bank.statement.line'].create( + line_vals + ) + debit_line_vals = { + 'name': '001', + 'account_id': self.account_receivable.id, + 'debit': amount, + } + if move_line_currency: + debit_line_vals.update({ + 'currency_id': move_line_currency.id, + 'amount_currency': amount_currency, + }) + + credit_line_vals = { + 'name': '001', + 'account_id': self.account_sale.id, + 'credit': amount, + } + if move_line_currency: + credit_line_vals['currency_id'] = move_line_currency.id + + move = self.env['account.move'].create({ + 'journal_id': self.sale_journal.id, + 'line_ids': [(0, 0, debit_line_vals), (0, 0, credit_line_vals)], + }) + + return statement_line, move.line_ids.filtered( + lambda l: l.debit != 0.0 + ) diff --git a/account_reconcile_rule/tests/test_journal.py b/account_reconcile_rule/tests/test_journal.py new file mode 100644 index 00000000..75b506c5 --- /dev/null +++ b/account_reconcile_rule/tests/test_journal.py @@ -0,0 +1,14 @@ +# Copyright 2016 Cyril Gaudin (Camptocamp) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import TransactionCase + + +class TestJournal(TransactionCase): + + def test_open_reconciliation_rules(self): + # Just test that method returned the good view + + result = self.env['account.journal'].open_reconciliation_rules() + self.assertEqual('account.reconcile.rule', result['res_model']) + self.assertEqual('form', result['view_type']) diff --git a/account_reconcile_rule/tests/test_rule_currency.py b/account_reconcile_rule/tests/test_rule_currency.py new file mode 100644 index 00000000..bb82165c --- /dev/null +++ b/account_reconcile_rule/tests/test_rule_currency.py @@ -0,0 +1,154 @@ +# Author: Guewen Baconnier +# Copyright 2014-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from .common import AccountReconciliationModelTestCase + + +class TestRuleCurrency(AccountReconciliationModelTestCase): + + @classmethod + def setUpClass(cls): + super().setUpClass() + + cls.aed = cls.env.ref('base.AED') + cls.aed.active = True + cls.afn = cls.env.ref('base.AFN') + cls.afn.active = True + cls.all = cls.env.ref('base.ALL') + cls.all.active = True + cls.amd = cls.env.ref('base.AMD') + cls.amd.active = True + cls.aoa = cls.env.ref('base.AOA') + cls.aoa.active = True + + cls.reconcile_model_currency_1 = cls.reconcile_model_obj.create({ + 'name': 'Currency AED, AFR, ALL -1.0 to 0.0', + 'label': 'Currency', + 'account_id': cls.account_receivable.id, + 'amount_type': 'percentage', + 'amount': 100.0, + }) + cls.rule_currency_1 = cls.rule_obj.create({ + 'name': 'Currency AED, AFR, ALL -1.0 to 0.0', + 'rule_type': 'currency', + 'reconcile_model_ids': [ + (6, 0, (cls.reconcile_model_currency_1.id,))], + 'amount_min': -1.0, + 'amount_max': 0, + 'sequence': 1, + 'currency_ids': [(6, 0, [cls.aed.id, cls.afn.id, cls.all.id])], + }) + + cls.reconcile_model_currency_2 = cls.reconcile_model_obj.create({ + 'name': 'Currency AED, AFR, ALL -2.0 to -1.0', + 'label': 'Currency', + 'amount_type': 'percentage', + 'amount': 100.0, + }) + cls.rule_currency_2 = cls.rule_obj.create({ + 'name': 'Currency AED, AFR, ALL -2.0 to 1.0', + 'rule_type': 'currency', + 'reconcile_model_ids': [ + (6, 0, (cls.reconcile_model_currency_2.id, ))], + 'amount_min': -2.0, + 'amount_max': -1.0, + 'sequence': 2, + 'currency_ids': [(6, 0, [cls.aed.id, cls.afn.id, cls.all.id])], + }) + + cls.reconcile_model_currency_3 = cls.reconcile_model_obj.create({ + 'name': 'Currency AMD, AOA -2.0 to 0.0', + 'label': 'Currency', + 'amount_type': 'percentage', + 'amount': 100.0, + + }) + cls.rule_currency_3 = cls.rule_obj.create({ + 'name': 'Currency AMD, AOA -2.0 to 0.0', + 'rule_type': 'currency', + 'reconcile_model_ids': [ + (6, 0, (cls.reconcile_model_currency_3.id, ))], + 'amount_min': -2, + 'amount_max': 0, + 'sequence': 2, + 'currency_ids': [(6, 0, [cls.amd.id, cls.aoa.id])], + }) + + def test_no_currency_match(self): + """No rules for the current currency""" + sek = self.browse_ref('base.SEK') + statement_line, move_line = self.prepare_statement( + -0.5, + statement_line_currency=sek, + move_line_currency=sek) + ops = self.rule_obj.models_for_reconciliation(statement_line.id, + move_line.ids) + self.assertFalse(ops) + + def test_rounding_lines(self): + """No Currencies rules on lines with company currency""" + statement_line, move_line = self.prepare_statement(-0.5) + ops = self.rule_obj.models_for_reconciliation(statement_line.id, + move_line.ids) + self.assertFalse(ops) + + def test_currency_rule_1(self): + """Rule 1 is found with -0.5 AED""" + statement_line, move_line = self.prepare_statement( + -0.5, + statement_line_currency=self.aed, + move_line_currency=self.aed, + amount_currency_difference=0) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_currency_1) + + def test_currency_rule_2(self): + """Rule 2 is found with -2 AED""" + statement_line, move_line = self.prepare_statement( + -2, + statement_line_currency=self.aed, + move_line_currency=self.aed, + amount_currency_difference=0) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_currency_2) + + def test_currency_rule_3(self): + """Rule 3 is found with -2 AOA""" + statement_line, move_line = self.prepare_statement( + -2, + statement_line_currency=self.aoa, + move_line_currency=self.aoa, + amount_currency_difference=0) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_currency_3) + + def test_currency_rule_not_in_bounds(self): + """No rule is found with -3 AOA""" + statement_line, move_line = self.prepare_statement( + -3, + statement_line_currency=self.aoa, + move_line_currency=self.aoa, + amount_currency_difference=0) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertFalse(rule) + + def test_no_rule_amount_currency_different(self): + """No rule when amount currency is different""" + statement_line, move_line = self.prepare_statement( + -0.5, + statement_line_currency=self.aed, + move_line_currency=self.aed, + amount_currency_difference=0.5) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertFalse(rule) + + def test_rule_amount_currency_difference_near_zero(self): + """Apply the rule when the difference is near 0""" + statement_line, move_line = self.prepare_statement( + -0.5, + statement_line_currency=self.aed, + move_line_currency=self.aed, + amount_currency_difference=-0.001) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_currency_1) diff --git a/account_reconcile_rule/tests/test_rule_rounding.py b/account_reconcile_rule/tests/test_rule_rounding.py new file mode 100644 index 00000000..b8d44942 --- /dev/null +++ b/account_reconcile_rule/tests/test_rule_rounding.py @@ -0,0 +1,146 @@ +# Author: Guewen Baconnier +# Copyright 2014-2016 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +from .common import AccountReconciliationModelTestCase + + +class TestRuleRounding(AccountReconciliationModelTestCase): + + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.reconcile_model_round_1 = cls.reconcile_model_obj.create({ + 'name': 'Rounding -1.0 to 0.0', + 'label': 'Rounding', + 'amount_type': 'percentage', + 'amount': 100.0, + + }) + cls.rule_round_1 = cls.rule_obj.create({ + 'name': 'Rounding -1.0 to 0.0', + 'rule_type': 'rounding', + 'reconcile_model_ids': [ + (6, 0, (cls.reconcile_model_round_1.id, ))], + 'amount_min': -1.0, + 'amount_max': 0, + 'sequence': 1, + }) + cls.reconcile_model_round_2 = cls.reconcile_model_obj.create({ + 'name': 'Rounding -2.0 to -1.0', + 'label': 'Rounding', + 'amount_type': 'percentage', + 'amount': 100.0, + + }) + cls.rule_round_2 = cls.rule_obj.create({ + 'name': 'Rounding -1.0 to 0.0', + 'rule_type': 'rounding', + 'reconcile_model_ids': [ + (6, 0, (cls.reconcile_model_round_2.id, ))], + 'amount_min': -2.0, + 'amount_max': -1.0, + 'sequence': 2, + }) + cls.reconcile_model_round_3 = cls.reconcile_model_obj.create({ + 'name': 'Rounding 0.0 to 2.0', + 'label': 'Rounding', + 'amount_type': 'percentage', + 'amount': 100.0, + + }) + cls.rule_round_3 = cls.rule_obj.create({ + 'name': 'Rounding 0.0 to 2.0', + 'rule_type': 'rounding', + 'reconcile_model_ids': [ + (6, 0, (cls.reconcile_model_round_3.id, ))], + 'amount_min': 0, + 'amount_max': 2, + 'sequence': 2, + }) + + def test_rule_round_1(self): + """-0.5 => rule round 1""" + statement_line, move_line = self.prepare_statement(-0.5) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_round_1) + + def test_rule_round_1_limit(self): + """-1 => rule round 1""" + statement_line, move_line = self.prepare_statement(-1) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_round_1) + + def test_rule_round_1_near_limit(self): + """-1.0001 => rule round 1""" + statement_line, move_line = self.prepare_statement(-1.0001) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_round_1) + + def test_rule_round_2(self): + """-1.01 => rule round 2""" + statement_line, move_line = self.prepare_statement(-1.01) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_round_2) + + def test_rule_round_2_limit(self): + """-2 => rule round 2""" + statement_line, move_line = self.prepare_statement(-2) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_round_2) + + def test_rule_round_3(self): + """+1.5 => rule round 3""" + statement_line, move_line = self.prepare_statement(1.5) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_round_3) + + def test_rule_round_3_limit(self): + """+2 => rule round 3""" + statement_line, move_line = self.prepare_statement(2) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertEqual(rule, self.rule_round_3) + + def test_rule_no_round_below(self): + """-3 => no rule""" + statement_line, move_line = self.prepare_statement(-3) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertFalse(rule) + + def test_rule_no_round_above(self): + """+3 => no rule""" + statement_line, move_line = self.prepare_statement(3) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertFalse(rule) + + def test_rule_no_round_zero(self): + """0 => no rule""" + statement_line, move_line = self.prepare_statement(0) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertFalse(rule) + + def test_rule_no_round_near_zero(self): + """0.0001 => no rule""" + statement_line, move_line = self.prepare_statement(0.0001) + rule = self.rule_obj.find_first_rule(statement_line, [move_line]) + self.assertFalse(rule) + + def test_operations(self): + """test models_for_reconciliation()""" + statement_line, move_line = self.prepare_statement(-0.5) + ops = self.rule_obj.models_for_reconciliation(statement_line.id, + move_line.ids) + self.assertEqual(ops, self.reconcile_model_round_1) + + def test_multicurrency_lines(self): + """No rounding rules on multi-currency lines""" + currency = self.env.ref('base.AED') + statement_line, move_line = self.prepare_statement( + -0.5, + statement_line_currency=currency, + move_line_currency=currency + ) + ops = self.rule_obj.models_for_reconciliation(statement_line.id, + move_line.ids) + self.assertFalse(ops) diff --git a/account_reconcile_rule/views/account_reconcile_rule.xml b/account_reconcile_rule/views/account_reconcile_rule.xml new file mode 100644 index 00000000..7873ff9e --- /dev/null +++ b/account_reconcile_rule/views/account_reconcile_rule.xml @@ -0,0 +1,8 @@ + + + + diff --git a/account_reconcile_rule/views/account_reconcile_rule_view.xml b/account_reconcile_rule/views/account_reconcile_rule_view.xml new file mode 100644 index 00000000..2f51f410 --- /dev/null +++ b/account_reconcile_rule/views/account_reconcile_rule_view.xml @@ -0,0 +1,105 @@ + + + + + account.reconcile.rule.form + account.reconcile.rule + +
+ +
+
+ + + + + + + + + +
+
+
+
+ + + + account.reconcile.rule.tree + account.reconcile.rule + + + + + + + + + + + + + + + account.reconcile.rule.search + account.reconcile.rule + + + + + + + + + + + + + + Reconciliation Rules + account.reconcile.rule + form + tree,form + + +

+ Click to create a reconciliation rule. +

+ Those can be used to automatically create a move line when reconciling + your bank statements. +

+
+
+ + + + account.journal.dashboard.kanban.inherit + account.journal + + + + + + + + +