diff --git a/account_reconcile_oca/README.rst b/account_reconcile_oca/README.rst new file mode 100644 index 0000000000..31b508d25c --- /dev/null +++ b/account_reconcile_oca/README.rst @@ -0,0 +1,109 @@ +===================== +Account Reconcile Oca +===================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:16b43da41ef5c88bfe152cb46cf7ea980d4a355557cb86822ab6f9d65b6f1069 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--reconcile-lightgray.png?logo=github + :target: https://github.com/OCA/account-reconcile/tree/18.0/account_reconcile_oca + :alt: OCA/account-reconcile +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/account-reconcile-18-0/account-reconcile-18-0-account_reconcile_oca + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/account-reconcile&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This addon allows to reconcile bank statements and account marked as +reconcile. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Bank reconcile +-------------- + +Access Invoicing / Dashboard with a user with Full Acounting +capabilities. Select reconcile on the journal of your choice. + +Account reconcile +----------------- + +Access Invoicing / Accounting / Actions / Reconcile All the possible +reconcile options will show and you will be able to reconcile properly. +You can access the same widget from accounts and Partners. + +Known issues / Roadmap +====================== + +The following bugs are already detected: + +- Creation of activities on the chatter do show automatically + +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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* CreuBlanca +* Dixmit + +Contributors +------------ + +- Enric Tobella + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +.. |maintainer-etobella| image:: https://github.com/etobella.png?size=40px + :target: https://github.com/etobella + :alt: etobella + +Current `maintainer `__: + +|maintainer-etobella| + +This module is part of the `OCA/account-reconcile `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_reconcile_oca/__init__.py b/account_reconcile_oca/__init__.py new file mode 100644 index 0000000000..cc6b6354ad --- /dev/null +++ b/account_reconcile_oca/__init__.py @@ -0,0 +1,2 @@ +from . import models +from .hooks import post_init_hook diff --git a/account_reconcile_oca/__manifest__.py b/account_reconcile_oca/__manifest__.py new file mode 100644 index 0000000000..06448dbd93 --- /dev/null +++ b/account_reconcile_oca/__manifest__.py @@ -0,0 +1,45 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Account Reconcile Oca", + "summary": """ + Reconcile addons for Odoo CE accounting""", + "version": "18.0.1.0.0", + "license": "AGPL-3", + "author": "CreuBlanca,Dixmit,Odoo Community Association (OCA)", + "maintainers": ["etobella"], + "website": "https://github.com/OCA/account-reconcile", + "depends": [ + "account_statement_base", + "account_reconcile_model_oca", + "base_sparse_field", + ], + "data": [ + "views/res_config_settings.xml", + "security/ir.model.access.csv", + "views/account_account_reconcile.xml", + "views/account_bank_statement_line.xml", + "views/account_move_line.xml", + "views/account_journal.xml", + "views/account_move.xml", + "views/account_account.xml", + "views/account_bank_statement.xml", + ], + "demo": ["demo/demo.xml"], + "post_init_hook": "post_init_hook", + "assets": { + "web.assets_backend": [ + "account_reconcile_oca/static/src/js/widgets/reconcile_data_widget.esm.js", + "account_reconcile_oca/static/src/js/widgets/reconcile_chatter_field.esm.js", + "account_reconcile_oca/static/src/js/widgets/selection_badge_uncheck.esm.js", + "account_reconcile_oca/static/src/js/widgets/reconcile_move_line_widget.esm.js", + "account_reconcile_oca/static/src/js/reconcile_move_line/*.esm.js", + "account_reconcile_oca/static/src/js/reconcile_form/*.esm.js", + "account_reconcile_oca/static/src/js/reconcile_manual/*.esm.js", + "account_reconcile_oca/static/src/js/reconcile/*.esm.js", + "account_reconcile_oca/static/src/xml/reconcile.xml", + "account_reconcile_oca/static/src/scss/reconcile.scss", + ], + }, +} diff --git a/account_reconcile_oca/demo/demo.xml b/account_reconcile_oca/demo/demo.xml new file mode 100644 index 0000000000..a6c68518d2 --- /dev/null +++ b/account_reconcile_oca/demo/demo.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/account_reconcile_oca/hooks.py b/account_reconcile_oca/hooks.py new file mode 100644 index 0000000000..ce21fab54f --- /dev/null +++ b/account_reconcile_oca/hooks.py @@ -0,0 +1,8 @@ +def post_init_hook(env): + env.cr.execute( + """ + UPDATE account_bank_statement_line + SET reconcile_mode = 'edit' + WHERE is_reconciled + """ + ) diff --git a/account_reconcile_oca/i18n/account_reconcile_oca.pot b/account_reconcile_oca/i18n/account_reconcile_oca.pot new file mode 100644 index 0000000000..043c4ab4b2 --- /dev/null +++ b/account_reconcile_oca/i18n/account_reconcile_oca.pot @@ -0,0 +1,693 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "" diff --git a/account_reconcile_oca/i18n/ca.po b/account_reconcile_oca/i18n/ca.po new file mode 100644 index 0000000000..f1620c1a3f --- /dev/null +++ b/account_reconcile_oca/i18n/ca.po @@ -0,0 +1,708 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-20 17:34+0000\n" +"Last-Translator: Enric Tobella \n" +"Language-Team: none\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" +".\n" +"
\n" +" Potser vols definir la factura com" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "Compte" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "Conciliació de compte comptable" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "Conciliació de Compte abstracte" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "Afegir un apunt comptable" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "Afegir una línea d'extracte bancari" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "Import" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "Import en divisa" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "Dsitribució analítica" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "Precisió analítica" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "Estas segur que vols desconciliar aquest apunt?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "Banc" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Línea d'extracte bancari" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "Concilicació bancària" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "Es pot conciliar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "Cancel·la" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "Efectiu" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "Missatges" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "Neteja" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "Companyia" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "Companyia relacionada amb el diari" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "Crea" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "Creat per" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "Creat el" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "Crèdit" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "Moneda" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "Dades" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "Data" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "Dèbit" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "Nóm a mostrar" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "Edita moviment" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "Moneda extrangera" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "De comptes a pagar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "De comptes a cobrar" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "Factura" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "Conciliat" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "Elements" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "Diari" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "Divisa del diari" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "Entrada del diari" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "Element del diari" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "Mantenir comptes transitoris" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "Etiqueta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "Última actualització per" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "Última actualització per" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "Compte manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "Import manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "Divisa manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "Esborrat manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "Tipus manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "Línea manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "Model manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "Assentament manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "Tipus d'assentament manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "Nom manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "Import original manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "Contacte manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "Referencia manual" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "Operació manual" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "Variat" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "Nom" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "Narració" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "No està permés usar líneas transitòries" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "Res a comprobar" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "Res a conciliar" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "Empresa" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "A pagar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "Compres" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "A cobrar" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "Conciliar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "Data de concilicació" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "Informació de conciliació" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "Mode de concilicació" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "Conciliar líneas d'extracte bancari" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "" +"Model de dades per emmagatzemar dades de concilicació a nivell d'usuari" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "Conciliat" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "Restablir concilicació" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "Ventes" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "Guardar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "Buscar apunts comptables" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "Marcar com revisat" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "L'altra divisa opcional si es tracta d'una entrada multidivisa." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "A revisar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "A revisar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "Transaccions" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "Indefinit" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "Desconciliar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "Usuari" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "Validar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "Veure" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "Veure assentament" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "Ben fet! Tot s'ha conciliat" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "Completament pagat" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "a revisar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "será reduit en" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "amb un import pendent" + +#, python-format +#~ msgid "Keep suspense move lines mode cannot be unreconciled" +#~ msgstr "" +#~ "La modalitat mantenir els comptes transitoris no permet desconciliar" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificació el" diff --git a/account_reconcile_oca/i18n/es.po b/account_reconcile_oca/i18n/es.po new file mode 100644 index 0000000000..d2ac9d2510 --- /dev/null +++ b/account_reconcile_oca/i18n/es.po @@ -0,0 +1,718 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-12-20 13:06+0000\n" +"Last-Translator: Víctor Martínez \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" +".\n" +"
\n" +" Podrías querer establecer la factura como" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "Cuenta" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "Conciliación de cuenta contable" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "Resumen de conciliación de cuenta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "Añadir apunte contable" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "Añadir línea de extracto bancario" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "Agregar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "Nombre agregado" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "Agregación para usar en la vista de conciliación" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "Importe" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "Importe en Divisa" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "Distribución analítica" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "Precisión analítica" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "¿Estás seguro de que el apunte se debería desconciliar?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "Banco" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "Extracto bancario" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Línea de extracto bancario" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "Conciliación bancaria" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "Se puede conciliar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "Efectivo" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "Charla" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "Limpiar" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "Compañías" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "Compañía" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "Compañía relacionada al diario" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "Ajustes de configuración" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "Crear" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "Haber" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "Moneda" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "Datos" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "Fecha" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "Día" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "Debe" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "Nombre Mostrado" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "Editar extracto bancario" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "Editar movimiento" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "Moneda Extranjera" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "De cuentas comerciales por pagar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "De cuentas comerciales por cobrar" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "Balance global" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "Factura" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "Conciliado" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "Elementos" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "Diario" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "Divisa del diario" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "Entrada de diario" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "Elemento de diario" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "Mantener cuentas transitorias" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "Etiqueta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "Última modficación por" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "Cuenta manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "Importe manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "Divisa manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "Borrado manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "Tipo manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "Apunte manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "Modelo manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "Asiento manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "Tipo de asiento manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "Nombre manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "Importe original manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "Partner manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "Referencia manual" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "Operación manual" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "Vario" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "Mes" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "Nombre" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "Narración" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "No se permiten líneas en suspenso al conciliar" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "Nada que comprobar" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "Nada para conciliar" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "Empresa" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "A pagar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "Compras" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "A cobrar" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "Conciliar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "Conciliar agregado" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "Fecha de conciliación" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "Información de Conciliación de Datos" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "Modo de conciliación" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "Conciliar agregación" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "Conciliar líneas de extracto bancario" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "Modelo de datos de conciliación para almacenar información de usuarios" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "Conciliado" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "Restablecer conciliación" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "Ventas" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "Guardar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "Buscar apuntes" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "Marcar como revisado" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "Agregación estándar para usar en la conciliación bancaria" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "Extracto" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "Líneas de extracto" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "La otra divisa opcional si se trata de una entrada multidivisa." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "Para revisar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "Para revisar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "Transacciones" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "Indefinido" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "No Conciliado" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "Usuario" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "Validar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "Ver" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "Ver asiento" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "Semana" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "¡Bien hecho! Todo ha sido conciliado" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "" +"Sólo puede conciliar partidas de diario que pertenezcan a la misma cuenta." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "totalmente pagado" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "Para revisar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "será disminuido por" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "con un importe pendiente" + +#, python-format +#~ msgid "Keep suspense move lines mode cannot be unreconciled" +#~ msgstr "" +#~ "Mantener en modo suspenso las líneas que no pueden ser desconciliadas" + +#~ msgid "Due Date" +#~ msgstr "Fecha de vencimiento" + +#~ msgid "Last Modified on" +#~ msgstr "Última modficación en" + +#, python-format +#~ msgid "You must reconcile information on the same partner" +#~ msgstr "Debe conciliar la información sobre el mismo socio" + +#~ msgid "Reset" +#~ msgstr "Restablecer" diff --git a/account_reconcile_oca/i18n/fr.po b/account_reconcile_oca/i18n/fr.po new file mode 100644 index 0000000000..ae2ad9fa02 --- /dev/null +++ b/account_reconcile_oca/i18n/fr.po @@ -0,0 +1,713 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-01-01 13:49+0000\n" +"Last-Translator: \"Stéphane Bidoul (ACSONE)\" \n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" +".\n" +"
\n" +" Vous pouvez définir la facture comme" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "Compte" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "Lettrage" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "Modèle Abstrait de lettrage" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "Ajouter une écriture comptable" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "Ajouter une ligne de relevé de compte" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "Montant" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "Montant en devise" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "Distribution analytique" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "Précision analytique" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "Êtes-vous sûr que la ligne doit être délettrée ?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "Banque" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Ligne de relevé bancaire" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "Lettrage des comptes bancaires" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "Peut se lettrer" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "Annuler" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "Espèces" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "Chatter" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "Nettoyer" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "Société" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "Société liée à ce journal" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "Créer" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "Crédit" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "Devise" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "Données" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "Date" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "Débit" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "Modifier la pièce" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "Devise étrangère" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "Depuis comptes fournisseur" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "Depuis comptes client" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "Facture" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "Est lettré" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "Articles" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "Journal" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "Devise du journal" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "Pièce comptable" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "Écriture comptable" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "Conserver les comptes d'attente" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "Libellé" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "Compte manuel" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "Montant manuel" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "Devise manuelle" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "Suppression manuelle" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "Type manuel" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "Écriture manuelle" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "Modèle manuel" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "Pièce manuelle" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "Type de pièce manuelle" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "Libellé manuel" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "Montant original manuel" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "Partenaire manuel" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "Référence manuelle" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "Opération manuelle" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "Divers" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "Nom" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "Commentaire" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "Aucune ligne d'attente n'est autorisée lors du lettrage" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "Rien à vérifier" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "Rien à lettrer" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "Partenaire" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "Compte fournisseur" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "Achats" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "Compte client" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "Lettrer" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "Données de lettrage" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "Informations de données de lettrage" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "Mode de lettrage" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "Lettrer les lignes de relevé de compte" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "" +"Modèle de données de lettrage pour stocker les informations relatives à " +"l'utilisateur" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "Lettré" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "Réinitialiser le rapprochement" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "Ventes" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "Sauvegarder" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "Rechercher des écritures comptables" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "Marquer comme vérifié" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "L'autre devise facultative s'il s'agit d'une entrée multidevise." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "À vérifier" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "À vérifier" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "Transactions" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "Non défini" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "Délettrer" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "Utilisateur" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "Valider" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "Voir" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "Voir la pièce" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "Bravo ! Tout a été lettré" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "entièrement payé" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "à vérifier" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "sera réduite de" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "avec un montant ouvert" + +#, python-format +#~ msgid "Keep suspense move lines mode cannot be unreconciled" +#~ msgstr "" +#~ "Conserver les comptes d'attente sur les écritures qui ne peuvent être " +#~ "délettrées" + +#~ msgid "Last Modified on" +#~ msgstr "Dernière modification le" + +#~ msgid "Reset" +#~ msgstr "Réinitialiser" diff --git a/account_reconcile_oca/i18n/hr.po b/account_reconcile_oca/i18n/hr.po new file mode 100644 index 0000000000..8b1966e31d --- /dev/null +++ b/account_reconcile_oca/i18n/hr.po @@ -0,0 +1,703 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-05-25 13:09+0000\n" +"Last-Translator: Bole \n" +"Language-Team: none\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \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" +"X-Generator: Weblate 4.17\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" +".\n" +"
\n" +" Možda želite postaviti račun kao" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "Konto" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "Zatvaranje konta" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "Apstraktno zatvaranje konta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "Dodaj stavku temeljnice" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "Dodaj stavku izvoda" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "Iznos" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "Analitička distribucija" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "Preciznost analitike" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "Jeste li sigurni da temeljnica treba biti rastvorena?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "Banka" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Stavka izvoda banke" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "Zatvaranje banke" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "Može zatvoriti" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "Otkaži" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "Gotovina" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "Razgovor" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "Očisti" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "Tvrtka" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "Tvrtka povezana sa ovim dnevnikom" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "Kreiraj" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "Potražuje" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "Podaci" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "Datum" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "Duguje" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "Uredi temeljnicu" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "Iz konta dugovanja" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "Iz konta potraživanja" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "Račun" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "Je zatvoren" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "Stavke" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "Dnevnik" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "Zapis dnevnika" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "Stavka dnevnika" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "Natpis" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "Zadnje ažuriranje" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "Ručni konto" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "Ručni iznos" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "Ručno brisanje" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "Vrsta ručne obrade" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "Stavka ručne obrade" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "Model ručne obrade" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "Partner" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "Za plaćanje" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "Nabave" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "Za naplatu" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "Zatvori" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "Podaci zatvaranja" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "Info podataka o zatvaranju" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "Način zatvaranja" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "Zatvori stavke izvoda" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "Model podataka o zatvaranju za pohranu korisničkih informacija" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "Zatvoreno" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "Prodaje" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "Spremi" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "Pretraži stavke dnevnika" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "Postavi kao Provjereno" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "Za provjeru" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "Za provjeru" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "Transakcije" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "Nedefinirano" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "Korisnik" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "Potvrdi" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "Pogled" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "Pregledaj temeljnicu" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "Odlično! Sve je pozatvarano" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "potpuno plaćeno" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "za provjeru" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "će biti umanjeno za" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "pa početnim iznosom" + +#~ msgid "Last Modified on" +#~ msgstr "Zadnje modificirano" diff --git a/account_reconcile_oca/i18n/it.po b/account_reconcile_oca/i18n/it.po new file mode 100644 index 0000000000..ebe3f65852 --- /dev/null +++ b/account_reconcile_oca/i18n/it.po @@ -0,0 +1,710 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-10-10 10:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" +".\n" +"
\n" +" Potrest voler impostare la fattura come" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "Conto" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "Conto riconciliazione contabile" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "Sintesi riconciliazione contabile" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "Aggiungi riga movimento contabile" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "Aggiungi riga estratto conto" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "Aggrega" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "Aggrega nome" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "Aggregazione da utilizzare nella vista riconciliazione" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "Importo" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "Importo in valuta" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "Importo in valuta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "Distribuzione analitica" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "Precisione analitica" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "Si è sicuri che la riconciliazione del movimento sia da annullare?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "Banca" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "Estratto conto bancario" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Riga estratto conto" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "Riconcilia banca" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "Può rinconciliare" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "Annulla" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "Contanti" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "Elenco messaggi" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "Pulisci" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "Aziende" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "Azienda" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "Valuta aziendale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "Azienda collegata a questo registro" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni configurazione" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "Crea" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "Credito" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "Dati" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "Data" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "Giorno" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "Debito" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "Modifica estratto conto" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "Modifica movimento" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "Valuta estera" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "Da conti debiti commerciali" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "Da conti crediti commerciali" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "Saldo globale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "Fattura" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "È riconciliato" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "Movimenti" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "Registro" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "Valuta registro" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "Registrazione contabile" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "Movimento contabile" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "Mantiene conti sospesi" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "Etichetta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "Conto Manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "Importo manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "Acconto manuale in valuta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "Valuta manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "Cancellazione manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "Controparte scambio manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "Manuale in valuta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "Manuale in valuta?" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "Tipologia manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "Riga manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "Modello manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "Movimento manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "Tipo movimento manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "Nome manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "Importo originale manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "Partner manuale" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "Riferimento manuale" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "Operazione manuale" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "Varie" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "Mese" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "Nome" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "Note" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "Non sono consentite righe sospese durante la riconciliazione" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "Niente da controllare" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "Niente da riconciliare" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "Partner" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "Debito" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "Acquisti" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "Credito" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "Riconcilia" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "Aggregato riconciliazione" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "Dati riconciliazione" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "Info dati riconciliazione" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "Modalità riconciliazione" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "Aggregazione riconciliazione" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "Riconcilia righe estratto conto" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "Modello dati riconciliazione per registrare info utente" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "Riconciliata" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "Annulla riconciliazione" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "Inverso di: %s" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "Vendite" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "Salva" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "Ricerca movimenti contabili" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "Imposta come controllato" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "Aggregazione standard da utilizzare nella riconciliazione bancaria" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "Dichiarazione" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "Righe dichiarazione" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "L'altra valuta opzionale se è un elemento multi-valuta." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "Da controllare" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "Da controllare" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "Transazioni" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "Non definito" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "Annulla riconciliazione" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "Utente" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "Valida" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "Vista" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "Vedi movimento" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "Settimana" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "Ben fatto! Tutto è stato riconciliato" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "" +"Si possono riconciliare solo registrazioni contabili che appartengono allo " +"stesso conto." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "pagato interamente" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "da controllare" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "sarà ridotto di" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "con un importo aperto" + +#, python-format +#~ msgid "Keep suspense move lines mode cannot be unreconciled" +#~ msgstr "" +#~ "Con la modalità mantieni le righe sospese non si può annullare la " +#~ "riconciliazione" + +#~ msgid "Due Date" +#~ msgstr "Scadenza" diff --git a/account_reconcile_oca/i18n/nl.po b/account_reconcile_oca/i18n/nl.po new file mode 100644 index 0000000000..86ce2bff8e --- /dev/null +++ b/account_reconcile_oca/i18n/nl.po @@ -0,0 +1,708 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-28 17:34+0000\n" +"Last-Translator: Yung-Wa \n" +"Language-Team: none\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" +".\n" +"
\n" +" Je kunt de factuur instellen als" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "Rekening" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "Boekhouding Rekening Aflettering" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "Rekening Aflettering Samenvatting" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "Toevoegen Boekingsregel" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "Toevoegen Bankafschriftregel" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "Bedrag" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "Valutabedrag" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "Analytische Verdeling" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "Analytische Precisie" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "Weet je zeker dat de boeking niet moet worden afgeletterd?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "Bank" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Bankafschriftregel" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "Bank aflettering" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "Kan Afletteren" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "Annuleer" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "Contant" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "Logging" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "Opschonen" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "Bedrijf" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "Bedrijf gerelateerd aan dit dagboek" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "Aanmaken" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "Credit" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "Data" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "Datum" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "Debet" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "Weergavenaam" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "Bewerk Boeking" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "Vreemde valuta" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "Van Crediteurenrekeningen" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "Van debiteurenrekeningen" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "Factuur" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "Is Afgeletterd" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "Regels" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "Dagboek" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "Dagboek Valuta" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "Boeking" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "Boekingsregel" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "Tussenrekeningen aanhouden" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "Label" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "Laatst gewijzigd door" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "Laatst gewijzigd op" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "Handmatige Rekening" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "Handmatige Bedrag" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "Handmatige Valuta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "Handmatig Verwijderen" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "Handmatige Soort" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "Handmatige Regel" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "Handmatige Model" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "Handmatige Boeking" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "Handmatige Boekingstype" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "Handmatige Naam" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "Handmatige Origineel Bedrag" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "Handmatige Partner" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "Handmatige Referentie" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "Handmatige Verwerking" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "Diverse" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "Naam" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "Notitie" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "Bij aflettering zijn tussenrekening regels niet toegestaan" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "Niets te controleren" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "Niet af te letteren" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "Partner" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "Crediteuren" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "Inkopen" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "Debiteuren" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "Afletteren" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "Afletteringsdata" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "Afletteringsdata informatie" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "Afletteringsmodus" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "Bankafschriftregels afletteren" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "Afletteringsmodel aanpassen om gebruikersinfo op te slaan" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "Afgeletterd" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "Herstel aflettering" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "Verkoop" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "Opslaan" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "Zoek in boekingsregels" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "Stel in als Gecontroleerd" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "De optionele andere valuta als het invoer in meerdere valuta is." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "Te Controleren" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "Te controleren" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "Transacties" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "Ongedefinieerd" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "Afletteren ongedaan maken" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "Gebruiker" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "Bevestig" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "Weergave" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "Boeking weergeven" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "Goed gedaan! Alles is afgeletterd" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "volledig betaald" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "Te controleren" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "wordt verminderd met" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "met een open bedrag" + +#, python-format +#~ msgid "Keep suspense move lines mode cannot be unreconciled" +#~ msgstr "" +#~ "De modes, houd tussenrekening boekingsregels, kan niet ongedaan worden " +#~ "gemaakt" + +#~ msgid "Last Modified on" +#~ msgstr "Laatst gewijzigd op" diff --git a/account_reconcile_oca/i18n/pt.po b/account_reconcile_oca/i18n/pt.po new file mode 100644 index 0000000000..344cd383ba --- /dev/null +++ b/account_reconcile_oca/i18n/pt.po @@ -0,0 +1,699 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-07-08 17:58+0000\n" +"Last-Translator: Pedro Castro Silva \n" +"Language-Team: none\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" +".\n" +"
\n" +" Talvez queira definir a fatura como" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "Conta" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "Reconciliação de Conta" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "Abstrato de Reconciliação de Conta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "Adicionar Linha de Lançamento de Diário" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "Adicionar Linha de Extrato Bancário" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "Agregado" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "Nome Agregado" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "Agregação a ser usada na visualização de reconciliação" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "Valor" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "Valor na Moeda" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "Distribuição Analítica" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "Precisão Analítica" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "Tem a certeza de que o lançamento deve ser desconciliado?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "Banco" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "Extrato Bancário" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Linha de Extrato Bancário" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "Reconciliação bancária" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "Pode Reconciliar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "Numerário" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "Chatter" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "Limpar" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "Empresas" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "Empresa" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "Empresa relacionada com este diário" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "Parâmetros de Configuração" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "Criar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "Crédito" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "Dados" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "Data" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "Dia" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "Débito" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "Nome" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "Editar extrato bancário" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "Editar movimento" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "Moeda Estrangeira" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "De Contas a Pagar Comerciais" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "De Contas a Receber Comerciais" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "Saldo Global" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "Fatura" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "Está Reconciliada" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "Itens" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "Diário" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "Moeda do Diário" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "Lançamento de Diário" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "Item do Diário" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "Manter Contas Suspensas" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "Rótulo" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "Conta Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "Valor Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "Moeda Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "Exclusão Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "Tipo Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "Linha Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "Modelo Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "Movimento Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "Tipo de Movimento Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "Nome Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "Valor Original Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "Parceiro Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "Referência Manual" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "Operação manual" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "Miscelânea" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "Mês" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "Nome" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "Narração" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "Nenhuma linha suspensa é permitida durante a reconciliação" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "Nada para verificar" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "Nada para conciliar" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "Parceiro" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "A Pagar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "Compras" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "A Receber" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "Reconciliar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "Agregado de Reconciliação" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "Dados de Reconciliação" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "Dados de Informação de Reconciliação" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "Modo de Reconciliação" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "Agregação de Reconciliação" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "Reconciliar linhas de extrato bancário" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "O modelo de dados de reconciliação para armazenar info do utilizador" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "Reconciliado" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "Redefinir reconciliação" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "Reversão de: %s" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "Vendas" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "Guardar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "Pesquisar Itens do Diário" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "Definir como Verificado" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "Agregação padrão para usar na reconciliação bancária" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "Extrato" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "Linhas de extrato" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "A outra moeda opcional, se é um movimento multi-moeda." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "Para Verificar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "Para verificar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "Transações" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "Indefinido" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "Desconciliar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "Utilizador" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "Validar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "Ver" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "Ver movimento" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "Semana" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "Bom trabalho! Tudo foi reconciliado" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "Só pode reconciliar itens de diário pertencentes à mesma conta." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "totalmente pago" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "para verificar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "será reduzido em" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "com um valor em aberto" diff --git a/account_reconcile_oca/i18n/pt_BR.po b/account_reconcile_oca/i18n/pt_BR.po new file mode 100644 index 0000000000..36220cad26 --- /dev/null +++ b/account_reconcile_oca/i18n/pt_BR.po @@ -0,0 +1,714 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-28 23:54+0000\n" +"Last-Translator: Adriano Prado \n" +"Language-Team: none\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" +".\n" +"
\n" +" Voce pode querer definir a fatura como" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "Conta" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "Reconciliação de conta" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "Resumo de reconciliação de conta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "Add Linha de Movimentação da Conta" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "Add Linha Extrato Bancário" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "Valor" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "Valor na moeda" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "Distribuição Analítica" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "Precisão Analítica" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "Tem certeza de que a mudança deve ser irreconciliável?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "Banco" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Linha Extrato Banco" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "Reconciliar Banco" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "Pode Reconciliar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "Cancelar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "Dinheiro" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "Conversa" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "Limpar" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "Empresa" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "Empresa relacionada a este diário" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "Criar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "Crédito" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "Dados" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "Data" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "Débito" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "Nome Exibição" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "Editar Movimento" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "Moeda Estrangeira" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "De contas a Pagar comerciais" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "De contas a Receber comerciais" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "Fatura" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "Reconciliado" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "Itens" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "Diário" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "Moeda Diário" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "Entrada Diário" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "Item Diário" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "Manter contas suspensas" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "Rótulo" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "Conta Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "Valor Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "Moeda Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "Exclusão Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "Tipo Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "Linha Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "Modelo Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "Movimento Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "Tipo Movimento Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "Nome Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "Valor Original Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "Parceiro Manual" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "Referencia Manual" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "Operação Manual" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "Outros" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "Nome" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "Narração" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "Nenhuma linha supensa é permitida ao reconciliar" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "Nada para verificar" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "Nada para Reconciliar" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "Parceiro" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "Pagavel" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "Compras" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "Recebíveis" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "Reconciliar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "Reconciliar dados" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "Reconciliar Informações dos Dados" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "Modo de reconciliação" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "Reconciliar linhas de extrato bancário" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "Reconciliar modelo de dados para armazenar informações do usuário" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "Reconciliado" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "Redefinir Reconciliação" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "Vendas" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "Salvar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "Procurar Itens do Diário" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "Def. como Verificado" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "A outra moeda opcional se for uma entrada em várias moedas." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "Para Verificar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "Para Verificar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "Transações" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "Indefinido" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "Desconciliar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "Usuário" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "Validar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "Ver" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "Ver movimento" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "Bom trabalho! Tudo foi reconciliado" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "totalmente pago" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "para verificar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "será reduzido em" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "com um valor em aberto" + +#, python-format +#~ msgid "Keep suspense move lines mode cannot be unreconciled" +#~ msgstr "" +#~ "O modo Manter suspenso linhas de movimento não pode ser irreconciliado" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificação em" + +#, python-format +#~ msgid "You must reconcile information on the same partner" +#~ msgstr "Você deve reconciliar informações sobre o mesmo parceiro" + +#~ msgid "Reset" +#~ msgstr "Reiniciar" diff --git a/account_reconcile_oca/i18n/sv.po b/account_reconcile_oca/i18n/sv.po new file mode 100644 index 0000000000..b1293bab8c --- /dev/null +++ b/account_reconcile_oca/i18n/sv.po @@ -0,0 +1,702 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-06-05 11:39+0000\n" +"Last-Translator: jakobkrabbe \n" +"Language-Team: none\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" +".\n" +"
\n" +" Du kanske vill ställa in fakturan som" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "Konto" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "Kontoavstämning" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "Sammanfattning av kontoavstämning" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "Lägg till konto, move_line" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "Lägg till kontoutdragsrad" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "Sammanslagna" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "Aggregatets namn" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "Aggregering som ska användas i avstämningsvyn" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "Belopp" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "Belopp i valuta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "Objekt distribution" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "Objekt precision" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "Är du säker på att flytten borde vara oförenlig?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "Bank" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "Kontoutdrag från bank" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Bankkontoutdragsrad" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "Bankavstämning" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "Kan förenas" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "Avbryt" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "Cash" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "Chatter" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "Rensa" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "Företag" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "Företag" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "Företag relaterad till denna journalen" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "Konfigureringsinställningar" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "Skapa" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "Skapad av" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "Skapad den" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "Kreditera" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "Data" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "Datum" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "Dag" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "Debitera" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "Visningsnamn" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "Redigera kontoutdrag" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "Redigera Move" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "Utländsk valuta" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "Från Leverantörsskulder" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "Från kundfordringar" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "Global balans" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "Faktura" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "Är försonad" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "Föremål" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "Dagbok" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "Dagboksvaluta" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "Dagboksanteckning" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "Dagboksanteckning" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "Håll avstängningskonton" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "Etikett" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "Senast uppdaterad den" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "Senast uppdaterad på" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "Manuellt konto" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "Manuellt belopp" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "Manuell valuta" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "Manuell radering" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "Manuell typ" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "Manuell Linje" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "Manuell modell" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "Manuell Move" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "Manuell flytt Typ" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "Manuellt namn" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "Manuell ursprunglig summa" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "Manuell partner" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "Manuell referens" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "Manuell operation" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "Diverse" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "Månad" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "Namn" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "Berättande" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "Inga supensrader är tillåtna vid avstämning" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "Inget att kontrollera" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "Inget att förena" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "Partner" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "Betalbar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "Inköp" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "Mottagningsbar" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "Avstämma" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "Avstämning Aggregat" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "Avstämning av data" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "Avstämma datainfo" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "Avstämningsläge" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "Avstämning av aggregering" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "Stämma av kontoutdragsrader" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "Avstämma datamodell för att lagra användarinformation" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "Avstämnd" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "Återställ avstämning" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "Återföring av: %s" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "Försäljning" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "Spara" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "Sök journalföremål" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "Ställ in som markerad" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "Standardaggregat att använda vid bankavstämning" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "Uttalande" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "Utlåtande linjer" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "Den valfria andra valutan om det är en post i flera valutor." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "Att kontrollera" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "Att kontrollera" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "Transaktioner" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "Odefinierad" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "Ett råd" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "Användare" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "Bekräfta" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "Vy" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "Visa move" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "Veckan" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "Bra gjort! Allt har blivit avstämmt" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "Du kan bara stämma av verifikat som hör till samma konto." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "fullt betald" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "att kontrollera" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "kommer att reduceras med" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "med ett valfritt belopp" + +#~ msgid "Last Modified on" +#~ msgstr "Senast ändrad den" diff --git a/account_reconcile_oca/i18n/tr.po b/account_reconcile_oca/i18n/tr.po new file mode 100644 index 0000000000..f2f6af9f1f --- /dev/null +++ b/account_reconcile_oca/i18n/tr.po @@ -0,0 +1,704 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-07-16 12:58+0000\n" +"Last-Translator: Metin GÜLSOY \n" +"Language-Team: none\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "Hesap" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "Hesap Hesap Mutabakatı" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "Toplu" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "Toplu Ad" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "Uzlaştırma görünümünde kullanılacak toplamı" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "Tutar" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "Para birimi cinsinden tutar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "Analitik Dağıtım" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "Analitik Hassasiyet" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "Hareketin uzlaşmasız olması gerektiğinden emin misiniz?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "Banka" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "Banka Ektresi" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "Banka Ekstre Satırı" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "Banka Uzlaştırma" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "Uzlaşabilir" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "İptal" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "Nakit" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "Mesajlaşma" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "Temiz" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "Şirketler" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "Firma" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "İlişkili olduğu şirket" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "Yapılandırma Ayarları" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "Oluştur" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "Oluşturuldu" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "Alacak" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "Para Birimi" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "Veri" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "Tarih" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "Gün" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "Borç" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "Ad Görünümü" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "Banka Ektresi Düzenleme" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "Hareketi Düzenle" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "Yabancı Para Birimi" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "Ticari Borç hesaplarından" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "Ticari Alacak hesaplarından" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "Genel Bakiye" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "Fatura" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "Uzlaştırıldı mı" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "Öğe" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "Yevmiye" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "Yevmiye Para Birimi" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "Yevmiye Girişi" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "Yevmiye Öğesi" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "Askı Hesapları Tutun" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "Etiket" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "Son Güncelleyen" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "Son Güncelleme" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "Manuel Hesap" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "Manuel Tutar" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "Manuel Para Birimi" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "Manuel Silme" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "Manuel Tür" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "Manuel Satır" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "Manuel Model" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "Manuel Hareket" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "Manuel Hareket Türü" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "Manuel Adı" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "Manuel Orijinal Miktarı" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "Manuel İş Ortağı" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "Manuel Referans" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "Manuel İşlem" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "Çeşitli" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "Ay" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "Adı" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "Notlar" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "Uzlaştırma yapılırken bekleyen satırlara izin verilmez" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "Kontrol edilecek bir şey yok" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "Uzlaşaçak kayıt yok" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "İş Ortağı" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "Borç" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "Satınalma" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "Alacak" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "Uzlaştırma" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "Toplu Uzlaştırma" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "Uzlaştırma Verisi" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "Uzlaştırma Veri Bilgisi" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "Uzlaştırma Modu" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "Toplam uzlaştırma" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "Banka ekstresi satırlarını uzlaştırma" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "Kullanıcı bilgilerini depolamak için veri modelini uzlaştırın" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "Uzlaştırılan" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "Sıfırla" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "Satış" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "Kaydet" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "Yemiye Öğelerini Ara" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "Gözden Geçirme İşaretlendi" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "Banka uzlaştırmada kullanılacak standart toplama yöntemi" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "Hesap Ektresi" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "Hesap ektresi satırı" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "Çoklu para birimi girişi ise isteğe bağlı diğer para birimi." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "Kontrol Edilecek" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "Kontrol edilecek" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "İşlemler" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "Tanımsız" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "Uzlaşmayı Kaldır" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "Kullanıcı" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "Doğrulama" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "Görme" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "Hareketi görüntüle" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "Hafta" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "Tebrikler! Her şey uzlaştırldı" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "" +"Yalnızca aynı hesaba ait olan yevmiye kalemlerinin uzlaşmasını " +"yapabilirsiniz." + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "tamamen ödenmiş" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "Kontrol Edilecek" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "kadar azaltılacak" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "açık bir miktarla" + +#~ msgid "Last Modified on" +#~ msgstr "Son Değiştirilme" + +#~ msgid "Reset" +#~ msgstr "Sıfırla" diff --git a/account_reconcile_oca/i18n/zh.po b/account_reconcile_oca/i18n/zh.po new file mode 100644 index 0000000000..a16d1090f1 --- /dev/null +++ b/account_reconcile_oca/i18n/zh.po @@ -0,0 +1,694 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: zh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "" diff --git a/account_reconcile_oca/i18n/zh_CN.po b/account_reconcile_oca/i18n/zh_CN.po new file mode 100644 index 0000000000..44940d9d76 --- /dev/null +++ b/account_reconcile_oca/i18n/zh_CN.po @@ -0,0 +1,699 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_reconcile_oca +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-06-14 09:45+0000\n" +"Last-Translator: xtanuiha \n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.17\n" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "" +".\n" +"
\n" +" You might want to set the invoice as" +msgstr "" +".\n" +"
\n" +" 您可能需要将此发票设置为" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__account_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Account" +msgstr "科目" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile +msgid "Account Account Reconcile" +msgstr "会计科目对账" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_reconcile_abstract +msgid "Account Reconcile Abstract" +msgstr "对账摘要" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__add_account_move_line_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__add_account_move_line_id +msgid "Add Account Move Line" +msgstr "添加会计分录" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_create +msgid "Add Bank Statement Line" +msgstr "添加银行对账单明细" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_id +msgid "Aggregate" +msgstr "汇总" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__aggregate_name +msgid "Aggregate Name" +msgstr "汇总名称" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_journal__reconcile_aggregate +msgid "Aggregation to use on reconcile view" +msgstr "用于对账界面上的汇总" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount" +msgstr "科目" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Amount in Currency" +msgstr "" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Amount in currency" +msgstr "外币金额" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_distribution +msgid "Analytic Distribution" +msgstr "分析分配" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__analytic_precision +msgid "Analytic Precision" +msgstr "分析精度" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Are you sure that the move should be unreconciled?" +msgstr "您确定要将这笔分标记为未对账状态吗?" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Bank" +msgstr "银行" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_bank_statement_form_edit +msgid "Bank Statement" +msgstr "银行对账单" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "银行对账单明细" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_form_view +msgid "Bank reconcile" +msgstr "银行对账" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__can_reconcile +msgid "Can Reconcile" +msgstr "允许对账" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Cancel" +msgstr "取消" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Cash" +msgstr "现金" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Chatter" +msgstr "沟通" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +msgid "Clean" +msgstr "清理" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_company +msgid "Companies" +msgstr "公司" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_id +msgid "Company" +msgstr "公司" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__company_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__company_currency_id +msgid "Company Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__company_id +msgid "Company related to this journal" +msgstr "关联到此日记账的公司" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_res_config_settings +msgid "Config Settings" +msgstr "设置" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Create" +msgstr "创建" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_uid +msgid "Created by" +msgstr "创建者" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__create_date +msgid "Created on" +msgstr "创建于" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Credit" +msgstr "贷方" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__currency_id +msgid "Currency" +msgstr "币种" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__data +msgid "Data" +msgstr "数据" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Date" +msgstr "日期" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__day +msgid "Day" +msgstr "天" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Debit" +msgstr "货方" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__display_name +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_bank_statement_action_edit +msgid "Edit Bank Statement" +msgstr "编辑银行对账单" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__edit +msgid "Edit Move" +msgstr "编辑凭证" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__foreign_currency_id +msgid "Foreign Currency" +msgstr "外币" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Payable accounts" +msgstr "从交易的应付科目" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "From Trade Receivable accounts" +msgstr "从交易的应收科目" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Global Balance" +msgstr "整体余额" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__id +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__id +msgid "ID" +msgstr "ID" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Invoice" +msgstr "发票" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__is_reconciled +msgid "Is Reconciled" +msgstr "已对账" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Items" +msgstr "项" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_journal +msgid "Journal" +msgstr "日记账" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__currency_id +msgid "Journal Currency" +msgstr "日记账币种" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Entry" +msgstr "会计凭证" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_move_line +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Journal Item" +msgstr "会计分录" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_mode__keep +msgid "Keep Suspense Accounts" +msgstr "保留挂账科目" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#, python-format +msgid "Label" +msgstr "摘要" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_uid +msgid "Last Updated by" +msgstr "最后更新者" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__write_date +msgid "Last Updated on" +msgstr "最后更新于" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_account_id +msgid "Manual Account" +msgstr "手工科目" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount +msgid "Manual Amount" +msgstr "手工金额" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_amount_in_currency +msgid "Manual Amount In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_currency_id +msgid "Manual Currency" +msgstr "手工币种" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_delete +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_delete +msgid "Manual Delete" +msgstr "手工删除" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_exchange_counterpart +msgid "Manual Exchange Counterpart" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency_id +msgid "Manual In Currency" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_in_currency +msgid "Manual In Currency?" +msgstr "" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_kind +msgid "Manual Kind" +msgstr "手工类型" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_line_id +msgid "Manual Line" +msgstr "手工明细" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_model_id +msgid "Manual Model" +msgstr "手工模型" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_id +msgid "Manual Move" +msgstr "手工凭证" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_move_type +msgid "Manual Move Type" +msgstr "手工凭证类型" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_name +msgid "Manual Name" +msgstr "手工操作名称" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_original_amount +msgid "Manual Original Amount" +msgstr "手工原金额" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_partner_id +msgid "Manual Partner" +msgstr "手工业务伙伴" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__manual_reference +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__manual_reference +msgid "Manual Reference" +msgstr "手工参考号" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Manual operation" +msgstr "手工操作" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Miscellaneous" +msgstr "杂项" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__month +msgid "Month" +msgstr "月" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__name +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Name" +msgstr "名称" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Narration" +msgstr "描述" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "No supense lines are allowed when reconciling" +msgstr "在对账时不允许有挂账行" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Nothing to check" +msgstr "无待复核内容" + +#. module: account_reconcile_oca +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile +#: model_terms:ir.actions.act_window,help:account_reconcile_oca.action_bank_statement_line_reconcile_all +msgid "Nothing to reconcile" +msgstr "无未对账内容" + +#. module: account_reconcile_oca +#. odoo-javascript +#: code:addons/account_reconcile_oca/static/src/xml/reconcile.xml:0 +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__partner_id +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#, python-format +msgid "Partner" +msgstr "合作伙伴" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Payable" +msgstr "应付" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Purchases" +msgstr "采购" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Receivable" +msgstr "应收" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.account_account_reconcile_act_window +#: model:ir.actions.act_window,name:account_reconcile_oca.res_partner_account_account_reconcile_act_window +#: model:ir.actions.server,name:account_reconcile_oca.action_reconcile +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__reconcile_id +#: model:ir.ui.menu,name:account_reconcile_oca.account_account_reconcile_menu +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_account_reconcile_form_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.view_account_list +msgid "Reconcile" +msgstr "对账" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_company__reconcile_aggregate +#: model:ir.model.fields,field_description:account_reconcile_oca.field_res_config_settings__reconcile_aggregate +msgid "Reconcile Aggregate" +msgstr "对账汇总" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data +msgid "Reconcile Data" +msgstr "对账数据" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_data_info +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_reconcile_abstract__reconcile_data_info +msgid "Reconcile Data Info" +msgstr "对账数据信息" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_bank_statement_line__reconcile_mode +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_mode +msgid "Reconcile Mode" +msgstr "对账模式" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_journal__reconcile_aggregate +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Reconcile aggregation" +msgstr "对账汇总" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_move_view_reconcile +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_all +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile_to_check +msgid "Reconcile bank statement lines" +msgstr "对账银行对账单明细" + +#. module: account_reconcile_oca +#: model:ir.model,name:account_reconcile_oca.model_account_account_reconcile_data +msgid "Reconcile data model to store user info" +msgstr "存储用户信息的对账模型" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Reconciled" +msgstr "已对账" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Reset reconciliation" +msgstr "重置对账" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Reversal of: %s" +msgstr "冲销:%s" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Sales" +msgstr "销售" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_add_view +msgid "Save" +msgstr "保存" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_search_reconcile_view +msgid "Search Journal Items" +msgstr "搜索会计分录" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Set as Checked" +msgstr "标记为已复核" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.res_config_settings_form_view +msgid "Standard aggregation to use on bank reconciliation" +msgstr "银行对账时使用的标准汇总方法" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__statement +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "Statement" +msgstr "对账单" + +#. module: account_reconcile_oca +#: model:ir.actions.act_window,name:account_reconcile_oca.action_bank_statement_line_reconcile +msgid "Statement lines" +msgstr "对账单明细" + +#. module: account_reconcile_oca +#: model:ir.model.fields,help:account_reconcile_oca.field_account_bank_statement_line__foreign_currency_id +msgid "The optional other currency if it is a multi-currency entry." +msgstr "如果是一个多货币分录,则为可选的其他货币。" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "To Check" +msgstr "待复核" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_reconcile_view +msgid "To check" +msgstr "待复核" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "Transactions" +msgstr "交易" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_bank_statement_line.py:0 +#, python-format +msgid "Undefined" +msgstr "未定义的" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Unreconcile" +msgstr "未对账" + +#. module: account_reconcile_oca +#: model:ir.model.fields,field_description:account_reconcile_oca.field_account_account_reconcile_data__user_id +msgid "User" +msgstr "用户" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "Validate" +msgstr "验证" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_move_line_tree_reconcile_view +msgid "View" +msgstr "查看" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "View move" +msgstr "查看凭证" + +#. module: account_reconcile_oca +#: model:ir.model.fields.selection,name:account_reconcile_oca.selection__account_journal__reconcile_aggregate__week +msgid "Week" +msgstr "周" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_journal.py:0 +#, python-format +msgid "Well done! Everything has been reconciled" +msgstr "干得好!全部对账都已完成" + +#. module: account_reconcile_oca +#. odoo-python +#: code:addons/account_reconcile_oca/models/account_move_line.py:0 +#, python-format +msgid "You can only reconcile journal items belonging to the same account." +msgstr "您只能对属于同一科目的会计分录进行对账。" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "fully paid" +msgstr "已全额支付" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.account_journal_dashboard_kanban_view +msgid "to check" +msgstr "待复核" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "will be reduced by" +msgstr "将被减少" + +#. module: account_reconcile_oca +#: model_terms:ir.ui.view,arch_db:account_reconcile_oca.bank_statement_line_form_reconcile_view +msgid "with an open amount" +msgstr "的未结金额" diff --git a/account_reconcile_oca/models/__init__.py b/account_reconcile_oca/models/__init__.py new file mode 100644 index 0000000000..da04aa8da7 --- /dev/null +++ b/account_reconcile_oca/models/__init__.py @@ -0,0 +1,8 @@ +from . import account_reconcile_abstract +from . import account_journal +from . import account_bank_statement_line +from . import account_bank_statement +from . import account_account_reconcile +from . import account_move_line +from . import res_company +from . import res_config_settings diff --git a/account_reconcile_oca/models/account_account_reconcile.py b/account_reconcile_oca/models/account_account_reconcile.py new file mode 100644 index 0000000000..0987f35e43 --- /dev/null +++ b/account_reconcile_oca/models/account_account_reconcile.py @@ -0,0 +1,191 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class CharId(fields.Id): + type = "string" + column_type = ("varchar", fields.pg_varchar()) + + +class AccountAccountReconcile(models.Model): + _name = "account.account.reconcile" + _description = "Account Account Reconcile" + _inherit = "account.reconcile.abstract" + _auto = False + + reconcile_data_info = fields.Serialized(inverse="_inverse_reconcile_data_info") + + partner_id = fields.Many2one("res.partner", readonly=True) + account_id = fields.Many2one("account.account", readonly=True) + name = fields.Char(readonly=True) + is_reconciled = fields.Boolean(readonly=True) + + @property + def _table_query(self): + query = ( + f"{self._select()} {self._from()} {self._where()} " + f"{self._groupby()} {self._having()}" + ) + return query + + def _select(self): + account_account_name_field = ( + self.env["ir.model.fields"] + .sudo() + .search([("model", "=", "account.account"), ("name", "=", "name")]) + ) + account_name = ( + f"a.name ->> '{self.env.user.lang}'" + if account_account_name_field.translate + else "a.name" + ) + return f""" + SELECT + min(aml.id) as id, + MAX({account_name}) as name, + CASE + WHEN a.account_type in ('asset_receivable', 'liability_payable') + THEN aml.partner_id + ELSE NULL + END as partner_id, + a.id as account_id, + FALSE as is_reconciled, + aml.currency_id as currency_id, + am.company_id, + null as foreign_currency_id + """ + + def _from(self): + return """ + FROM + account_account a + INNER JOIN account_move_line aml ON aml.account_id = a.id + INNER JOIN account_move am ON am.id = aml.move_id + """ + + def _where(self): + return """ + WHERE a.reconcile + AND am.state = 'posted' + AND aml.amount_residual != 0 + """ + + def _groupby(self): + return """ + GROUP BY + a.id, + CASE + WHEN a.account_type in ('asset_receivable', 'liability_payable') + THEN aml.partner_id + ELSE NULL + END, + aml.currency_id, + am.company_id + """ + + def _having(self): + return """ + HAVING + SUM(aml.debit) > 0 + AND SUM(aml.credit) > 0 + """ + + def _compute_reconcile_data_info(self): + data_obj = self.env["account.account.reconcile.data"] + for record in self: + if self.env.context.get("default_account_move_lines"): + data = { + "data": [], + "counterparts": self.env.context.get("default_account_move_lines"), + } + record.reconcile_data_info = self._recompute_data(data) + continue + data_record = data_obj.search( + [("user_id", "=", self.env.user.id), ("reconcile_id", "=", record.id)] + ) + if data_record: + record.reconcile_data_info = data_record.data + else: + record.reconcile_data_info = {"data": [], "counterparts": []} + + def _inverse_reconcile_data_info(self): + data_obj = self.env["account.account.reconcile.data"] + for record in self: + data_record = data_obj.search( + [("user_id", "=", self.env.user.id), ("reconcile_id", "=", record.id)] + ) + if data_record: + data_record.data = record.reconcile_data_info + else: + data_obj.create( + { + "reconcile_id": record.id, + "user_id": self.env.user.id, + "data": record.reconcile_data_info, + } + ) + + @api.onchange("add_account_move_line_id") + def _onchange_add_account_move_line(self): + if self.add_account_move_line_id: + data = self.reconcile_data_info + if self.add_account_move_line_id.id not in data["counterparts"]: + data["counterparts"].append(self.add_account_move_line_id.id) + else: + del data["counterparts"][ + data["counterparts"].index(self.add_account_move_line_id.id) + ] + self.reconcile_data_info = self._recompute_data(data) + self.add_account_move_line_id = False + + @api.onchange("manual_reference", "manual_delete") + def _onchange_manual_reconcile_reference(self): + self.ensure_one() + data = self.reconcile_data_info + counterparts = [] + for line in data["data"]: + if line["reference"] == self.manual_reference: + if self.manual_delete: + continue + counterparts.append(line["id"]) + data["counterparts"] = counterparts + self.reconcile_data_info = self._recompute_data(data) + self.manual_delete = False + self.manual_reference = False + + def _recompute_data(self, data): + new_data = {"data": [], "counterparts": data["counterparts"]} + counterparts = data["counterparts"] + amount = 0.0 + for line_id in counterparts: + lines = self._get_reconcile_line( + self.env["account.move.line"].browse(line_id), "other", True, amount + ) + new_data["data"] += lines + amount += sum(line["amount"] for line in lines) + return new_data + + def clean_reconcile(self): + self.ensure_one() + self.reconcile_data_info = {"data": [], "counterparts": []} + + def reconcile(self): + lines = self.env["account.move.line"].browse( + self.reconcile_data_info["counterparts"] + ) + lines.reconcile() + data_record = self.env["account.account.reconcile.data"].search( + [("user_id", "=", self.env.user.id), ("reconcile_id", "=", self.id)] + ) + data_record.unlink() + + +class AccountAccountReconcileData(models.TransientModel): + _name = "account.account.reconcile.data" + _description = "Reconcile data model to store user info" + + user_id = fields.Many2one("res.users", required=True) + reconcile_id = fields.Integer(required=True) + data = fields.Serialized() diff --git a/account_reconcile_oca/models/account_bank_statement.py b/account_reconcile_oca/models/account_bank_statement.py new file mode 100644 index 0000000000..8ad1c39428 --- /dev/null +++ b/account_reconcile_oca/models/account_bank_statement.py @@ -0,0 +1,30 @@ +# Copyright 2024 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo import models +from odoo.tools.safe_eval import safe_eval + + +class AccountBankStatement(models.Model): + _inherit = "account.bank.statement" + + def action_open_statement(self): + self.ensure_one() + action = self.env["ir.actions.act_window"]._for_xml_id( + "account_reconcile_oca.account_bank_statement_action_edit" + ) + action["res_id"] = self.id + return action + + def action_open_statement_lines(self): + """Open in reconciling view directly""" + self.ensure_one() + if not self: + return {} + action = self.env["ir.actions.act_window"]._for_xml_id( + "account_reconcile_oca.action_bank_statement_line_reconcile" + ) + action["domain"] = [("statement_id", "=", self.id)] + action["context"] = safe_eval( + action["context"], locals_dict={"active_id": self._context.get("active_id")} + ) + return action diff --git a/account_reconcile_oca/models/account_bank_statement_line.py b/account_reconcile_oca/models/account_bank_statement_line.py new file mode 100644 index 0000000000..3071fea493 --- /dev/null +++ b/account_reconcile_oca/models/account_bank_statement_line.py @@ -0,0 +1,998 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from collections import defaultdict + +from dateutil import rrule +from dateutil.relativedelta import relativedelta + +from odoo import Command, _, api, fields, models, tools +from odoo.exceptions import UserError +from odoo.tools import float_is_zero + + +class AccountBankStatementLine(models.Model): + _name = "account.bank.statement.line" + _inherit = ["account.bank.statement.line", "account.reconcile.abstract"] + + reconcile_data_info = fields.Serialized(inverse="_inverse_reconcile_data_info") + reconcile_mode = fields.Selection( + selection=lambda self: self.env["account.journal"] + ._fields["reconcile_mode"] + .selection + ) + reconcile_data = fields.Serialized() + manual_line_id = fields.Many2one( + "account.move.line", + store=False, + default=False, + prefetch=False, + ) + manual_kind = fields.Char( + store=False, + default=False, + prefetch=False, + ) + manual_account_id = fields.Many2one( + "account.account", + check_company=True, + store=False, + default=False, + prefetch=False, + ) + manual_partner_id = fields.Many2one( + "res.partner", + domain=[("parent_id", "=", False)], + check_company=True, + store=False, + default=False, + prefetch=False, + ) + analytic_distribution = fields.Json( + store=False, + default=False, + prefetch=False, + ) + analytic_precision = fields.Integer( + store=False, + default=lambda self: self.env["decimal.precision"].precision_get( + "Percentage Analytic" + ), + ) + manual_in_currency = fields.Boolean( + readonly=True, store=False, prefetch=False, string="Manual In Currency?" + ) + manual_in_currency_id = fields.Many2one( + "res.currency", + readonly=True, + store=False, + prefetch=False, + string="Manual In Currency", + ) + manual_amount_in_currency = fields.Monetary( + store=False, + default=False, + prefetch=False, + currency_field="manual_in_currency_id", + ) + manual_exchange_counterpart = fields.Boolean( + store=False, + ) + manual_model_id = fields.Many2one( + "account.reconcile.model", + check_company=True, + store=False, + default=False, + prefetch=False, + domain=[("rule_type", "=", "writeoff_button")], + ) + manual_name = fields.Char(store=False, default=False, prefetch=False) + manual_amount = fields.Monetary( + store=False, default=False, prefetch=False, currency_field="manual_currency_id" + ) + manual_currency_id = fields.Many2one( + "res.currency", readonly=True, store=False, prefetch=False + ) + manual_original_amount = fields.Monetary( + default=False, store=False, prefetch=False, readonly=True + ) + manual_move_type = fields.Selection( + lambda r: r.env["account.move"]._fields["move_type"].selection, + default=False, + store=False, + prefetch=False, + readonly=True, + ) + manual_move_id = fields.Many2one( + "account.move", default=False, store=False, prefetch=False, readonly=True + ) + can_reconcile = fields.Boolean(sparse="reconcile_data_info") + reconcile_aggregate = fields.Char(compute="_compute_reconcile_aggregate") + aggregate_id = fields.Integer(compute="_compute_reconcile_aggregate") + aggregate_name = fields.Char(compute="_compute_reconcile_aggregate") + + @api.model + def _reconcile_aggregate_map(self): + lang = self.env["res.lang"]._lang_get(self.env.user.lang) + week_start = rrule.weekday(int(lang.week_start) - 1) + return { + False: lambda s: (False, False), + "statement": lambda s: (s.statement_id.id, s.statement_id.name), + "day": lambda s: (s.date.toordinal(), s.date.strftime(lang.date_format)), + "week": lambda s: ( + (s.date + relativedelta(weekday=week_start(-1))).toordinal(), + (s.date + relativedelta(weekday=week_start(-1))).strftime( + lang.date_format + ), + ), + "month": lambda s: ( + s.date.replace(day=1).toordinal(), + s.date.replace(day=1).strftime(lang.date_format), + ), + } + + @api.depends("company_id", "journal_id") + def _compute_reconcile_aggregate(self): + reconcile_aggregate_map = self._reconcile_aggregate_map() + for record in self: + reconcile_aggregate = ( + record.journal_id.reconcile_aggregate + or record.company_id.reconcile_aggregate + ) + record.reconcile_aggregate = reconcile_aggregate + record.aggregate_id, record.aggregate_name = reconcile_aggregate_map[ + reconcile_aggregate + ](record) + + def save(self): + return {"type": "ir.actions.act_window_close"} + + @api.model + def action_new_line(self): + action = self.env["ir.actions.act_window"]._for_xml_id( + "account_reconcile_oca.action_bank_statement_line_create" + ) + action["context"] = self.env.context + return action + + @api.onchange("manual_model_id") + def _onchange_manual_model_id(self): + if self.manual_model_id: + data = [] + for line in self.reconcile_data_info.get("data", []): + if line.get("kind") != "suspense": + data.append(line) + self.reconcile_data_info = self._recompute_suspense_line( + *self._reconcile_data_by_model( + data, + self.manual_model_id, + self.reconcile_data_info["reconcile_auxiliary_id"], + ), + self.manual_reference, + ) + else: + # Refreshing data + self.reconcile_data_info = self.browse( + self.id.origin + )._default_reconcile_data() + self.can_reconcile = self.reconcile_data_info.get("can_reconcile", False) + + @api.onchange("add_account_move_line_id") + def _onchange_add_account_move_line_id(self): + if self.add_account_move_line_id: + data = self.reconcile_data_info["data"] + new_data = [] + is_new_line = True + pending_amount = 0.0 + for line in data: + if line["kind"] != "suspense": + pending_amount += line["amount"] + if self.add_account_move_line_id.id in line.get( + "counterpart_line_ids", [] + ): + is_new_line = False + else: + new_data.append(line) + if is_new_line: + reconcile_auxiliary_id, lines = self._get_reconcile_line( + self.add_account_move_line_id, "other", True, pending_amount + ) + new_data += lines + self.reconcile_data_info = self._recompute_suspense_line( + new_data, + self.reconcile_data_info["reconcile_auxiliary_id"], + self.manual_reference, + ) + self.can_reconcile = self.reconcile_data_info.get("can_reconcile", False) + self.add_account_move_line_id = False + + def _recompute_suspense_line(self, data, reconcile_auxiliary_id, manual_reference): + can_reconcile = True + total_amount = 0 + new_data = [] + suspense_line = False + counterparts = [] + for line in data: + if line.get("counterpart_line_ids"): + counterparts += line["counterpart_line_ids"] + if ( + line["account_id"][0] == self.journal_id.suspense_account_id.id + or not line["account_id"][0] + ) and line["kind"] != "suspense": + can_reconcile = False + if line["kind"] != "suspense": + new_data.append(line) + total_amount += line["amount"] + else: + suspense_line = line + if not float_is_zero( + total_amount, precision_digits=self.currency_id.decimal_places + ): + can_reconcile = False + if suspense_line: + suspense_line.update( + { + "amount": -total_amount, + "credit": total_amount if total_amount > 0 else 0.0, + "debit": -total_amount if total_amount < 0 else 0.0, + } + ) + else: + account = self.journal_id.suspense_account_id + if self.partner_id and total_amount > 0: + can_reconcile = True + account = self.partner_id.property_account_receivable_id + elif self.partner_id and total_amount < 0: + can_reconcile = True + account = self.partner_id.property_account_payable_id + suspense_line = { + "reference": f"reconcile_auxiliary;{reconcile_auxiliary_id}", + "id": False, + "account_id": [account.id, account.display_name], + "partner_id": self.partner_id + and [self.partner_id.id, self.partner_id.display_name] + or (self.partner_name and (False, self.partner_name)) + or False, + "date": fields.Date.to_string(self.date), + "name": self.payment_ref or self.name, + "amount": -total_amount, + "credit": total_amount if total_amount > 0 else 0.0, + "debit": -total_amount if total_amount < 0 else 0.0, + "kind": "suspense", + "currency_id": self.company_id.currency_id.id, + "line_currency_id": self.company_id.currency_id.id, + "currency_amount": -total_amount, + } + reconcile_auxiliary_id += 1 + new_data.append(suspense_line) + return { + "data": new_data, + "counterparts": counterparts, + "reconcile_auxiliary_id": reconcile_auxiliary_id, + "can_reconcile": can_reconcile, + "manual_reference": manual_reference, + } + + def _check_line_changed(self, line): + return ( + not float_is_zero( + self.manual_amount - line["amount"], + precision_digits=self.company_id.currency_id.decimal_places, + ) + or self.manual_account_id.id != line["account_id"][0] + or self.manual_name != line["name"] + or (self.manual_partner_id and self.manual_partner_id.display_name or False) + != line.get("partner_id") + or self.analytic_distribution != line.get("analytic_distribution", False) + ) + + def _get_manual_delete_vals(self): + return { + "manual_reference": False, + "manual_account_id": False, + "manual_amount": False, + "manual_exchange_counterpart": False, + "manual_in_currency_id": False, + "manual_in_currency": False, + "manual_name": False, + "manual_partner_id": False, + "manual_line_id": False, + "manual_move_id": False, + "manual_move_type": False, + "manual_kind": False, + "manual_original_amount": False, + "manual_currency_id": False, + "analytic_distribution": False, + } + + def _process_manual_reconcile_from_line(self, line): + self.manual_account_id = line["account_id"][0] + self.manual_amount = line["amount"] + self.manual_currency_id = line["currency_id"] + self.manual_in_currency_id = line.get("line_currency_id") + self.manual_in_currency = line.get("line_currency_id") and line[ + "currency_id" + ] != line.get("line_currency_id") + self.manual_amount_in_currency = line.get("currency_amount") + self.manual_name = line["name"] + self.manual_exchange_counterpart = line.get("is_exchange_counterpart", False) + self.manual_partner_id = line.get("partner_id") and line["partner_id"][0] + manual_line = self.env["account.move.line"].browse(line["id"]).exists() + self.manual_line_id = manual_line + self.analytic_distribution = line.get("analytic_distribution", {}) + if self.manual_line_id: + self.manual_move_id = self.manual_line_id.move_id + self.manual_move_type = self.manual_line_id.move_id.move_type + self.manual_kind = line["kind"] + self.manual_original_amount = line.get("original_amount", 0.0) + + @api.onchange("manual_reference", "manual_delete") + def _onchange_manual_reconcile_reference(self): + self.ensure_one() + data = self.reconcile_data_info.get("data", []) + new_data = [] + related_move_line_id = False + for line in data: + if line.get("reference") == self.manual_reference: + related_move_line_id = line.get("id") + break + for line in data: + if ( + self.manual_delete + and related_move_line_id + and line.get("original_exchange_line_id") == related_move_line_id + ): + # We should remove the related exchange rate line + continue + if line["reference"] == self.manual_reference: + if self.manual_delete: + self.update(self._get_manual_delete_vals()) + continue + else: + self._process_manual_reconcile_from_line(line) + new_data.append(line) + self.update({"manual_delete": False}) + self.reconcile_data_info = self._recompute_suspense_line( + new_data, + self.reconcile_data_info["reconcile_auxiliary_id"], + self.manual_reference, + ) + self.can_reconcile = self.reconcile_data_info.get("can_reconcile", False) + + @api.onchange("manual_amount_in_currency") + def _onchange_manual_amount_in_currency(self): + if self.manual_line_id.exists() and self.manual_line_id: + self.manual_amount = self.manual_in_currency_id._convert( + self.manual_amount_in_currency, + self.company_id.currency_id, + self.company_id, + self.manual_line_id.date, + ) + self._onchange_manual_reconcile_vals() + + def _get_manual_reconcile_vals(self): + return { + "name": self.manual_name, + "partner_id": ( + self.manual_partner_id + and [self.manual_partner_id.id, self.manual_partner_id.display_name] + or (self.partner_name and (False, self.partner_name)) + or False + ), + "account_id": ( + [self.manual_account_id.id, self.manual_account_id.display_name] + if self.manual_account_id + else [False, _("Undefined")] + ), + "amount": self.manual_amount, + "credit": -self.manual_amount if self.manual_amount < 0 else 0.0, + "debit": self.manual_amount if self.manual_amount > 0 else 0.0, + "analytic_distribution": self.analytic_distribution, + } + + @api.onchange( + "manual_account_id", + "manual_partner_id", + "manual_name", + "manual_amount", + "analytic_distribution", + ) + def _onchange_manual_reconcile_vals(self): + self.ensure_one() + data = self.reconcile_data_info.get("data", []) + new_data = [] + for line in data: + if line["reference"] == self.manual_reference: + if self._check_line_changed(line): + line_vals = self._get_manual_reconcile_vals() + line_vals["kind"] = ( + line["kind"] if line["kind"] != "suspense" else "other" + ) + line.update(line_vals) + if line["kind"] == "liquidity": + self._update_move_partner() + if self.manual_line_id and self.manual_line_id.id == line.get( + "original_exchange_line_id" + ): + # Now, we should edit the amount of the exchange rate + amount = self._get_exchange_rate_amount( + self.manual_amount, + self.manual_amount_in_currency, + self.manual_line_id.currency_id, + self.manual_line_id, + ) + line.update( + { + "amount": amount, + "credit": -amount if amount < 0 else 0.0, + "debit": amount if amount > 0 else 0.0, + } + ) + new_data.append(line) + self.reconcile_data_info = self._recompute_suspense_line( + new_data, + self.reconcile_data_info["reconcile_auxiliary_id"], + self.manual_reference, + ) + self.can_reconcile = self.reconcile_data_info.get("can_reconcile", False) + + def _update_move_partner(self): + if self.partner_id == self.manual_partner_id: + return + self.partner_id = self.manual_partner_id + + @api.depends("reconcile_data", "is_reconciled") + def _compute_reconcile_data_info(self): + for record in self: + if record.reconcile_data: + record.reconcile_data_info = record.reconcile_data + else: + record.reconcile_data_info = record._default_reconcile_data( + from_unreconcile=record.is_reconciled + ) + record.can_reconcile = record.reconcile_data_info.get( + "can_reconcile", False + ) + + def action_show_move(self): + self.ensure_one() + action = self.env["ir.actions.act_window"]._for_xml_id( + "account.action_move_journal_line" + ) + action.update( + {"res_id": self.move_id.id, "views": [[False, "form"]], "view_mode": "form"} + ) + return action + + def _inverse_reconcile_data_info(self): + for record in self: + record.reconcile_data = record.reconcile_data_info + + def _reconcile_data_by_model(self, data, reconcile_model, reconcile_auxiliary_id): + new_data = [] + liquidity_amount = 0.0 + for line_data in data: + if line_data["kind"] == "suspense": + continue + new_data.append(line_data) + liquidity_amount += line_data["amount"] + + for line in reconcile_model._get_write_off_move_lines_dict( + -liquidity_amount, self._retrieve_partner().id + ): + new_line = line.copy() + amount = line.get("balance") + if self.foreign_currency_id: + amount = self.foreign_currency_id.compute( + amount, self.journal_id.currency_id or self.company_currency_id + ) + new_line.update( + { + "reference": f"reconcile_auxiliary;{reconcile_auxiliary_id}", + "id": False, + "amount": amount, + "debit": amount if amount > 0 else 0, + "credit": -amount if amount < 0 else 0, + "kind": "other", + "account_id": [ + line["account_id"], + self.env["account.account"] + .browse(line["account_id"]) + .display_name, + ], + "date": fields.Date.to_string(self.date), + "line_currency_id": self.company_id.currency_id.id, + "currency_id": self.company_id.currency_id.id, + "currency_amount": amount, + "name": line.get("name") or self.payment_ref, + } + ) + reconcile_auxiliary_id += 1 + if line.get("partner_id"): + new_line["partner_id"] = ( + line["partner_id"], + self.env["res.partner"].browse(line["partner_id"]).display_name, + ) + elif self.partner_id: + new_line["partner_id"] = ( + self.partner_id.id, + self.partner_id.display_name, + ) + new_data.append(new_line) + return new_data, reconcile_auxiliary_id + + def _default_reconcile_data(self, from_unreconcile=False): + liquidity_lines, suspense_lines, other_lines = self._seek_for_lines() + data = [] + reconcile_auxiliary_id = 1 + for line in liquidity_lines: + reconcile_auxiliary_id, lines = self._get_reconcile_line( + line, "liquidity", reconcile_auxiliary_id=reconcile_auxiliary_id + ) + data += lines + if not from_unreconcile: + res = ( + self.env["account.reconcile.model"] + .search( + [ + ( + "rule_type", + "in", + ["invoice_matching", "writeoff_suggestion"], + ), + ("company_id", "=", self.company_id.id), + ] + ) + ._apply_rules(self, self._retrieve_partner()) + ) + if res and res.get("status", "") == "write_off": + return self._recompute_suspense_line( + *self._reconcile_data_by_model( + data, res["model"], reconcile_auxiliary_id + ), + self.manual_reference, + ) + elif res and res.get("amls"): + amount = self.amount_total_signed + for line in res.get("amls", []): + reconcile_auxiliary_id, line_data = self._get_reconcile_line( + line, + "other", + is_counterpart=True, + max_amount=amount, + reconcile_auxiliary_id=reconcile_auxiliary_id, + ) + amount -= sum(line.get("amount") for line in line_data) + data += line_data + if res.get("auto_reconcile"): + self.reconcile_bank_line() + return self._recompute_suspense_line( + data, + reconcile_auxiliary_id, + self.manual_reference, + ) + for line in other_lines: + reconcile_auxiliary_id, lines = self._get_reconcile_line( + line, "other", from_unreconcile=from_unreconcile + ) + data += lines + return self._recompute_suspense_line( + data, + reconcile_auxiliary_id, + self.manual_reference, + ) + + def clean_reconcile(self): + self.reconcile_data_info = self._default_reconcile_data() + self.can_reconcile = self.reconcile_data_info.get("can_reconcile", False) + + def reconcile_bank_line(self): + self.ensure_one() + self.reconcile_mode = self.journal_id.reconcile_mode + result = getattr(self, f"_reconcile_bank_line_{self.reconcile_mode}")( + self._prepare_reconcile_line_data(self.reconcile_data_info["data"]) + ) + self.reconcile_data = False + return result + + def _reconcile_bank_line_edit(self, data): + _liquidity_lines, suspense_lines, other_lines = self._seek_for_lines() + lines_to_remove = [ + Command.delete(line.id) for line in suspense_lines + other_lines + ] + + # Cleanup previous lines. + move = self.move_id + container = {"records": move, "self": move} + to_reconcile = [] + with move._check_balanced(container): + move.with_context( + skip_account_move_synchronization=True, + force_delete=True, + skip_invoice_sync=True, + skip_readonly_check=True, + ).write( + { + "line_ids": lines_to_remove, + } + ) + for line_vals in data: + if line_vals["kind"] == "liquidity": + continue + line = ( + self.env["account.move.line"] + .with_context( + check_move_validity=False, + skip_sync_invoice=True, + skip_invoice_sync=True, + validate_analytic=True, + ) + .create(self._reconcile_move_line_vals(line_vals)) + ) + if line_vals.get("counterpart_line_ids"): + to_reconcile.append( + self.env["account.move.line"].browse( + line_vals.get("counterpart_line_ids") + ) + + line + ) + for reconcile_items in to_reconcile: + reconcile_items.reconcile() + + def _reconcile_bank_line_keep_move_vals(self): + return { + "journal_id": self.journal_id.id, + } + + def _reconcile_bank_line_keep(self, data): + move = ( + self.env["account.move"] + .with_context(skip_invoice_sync=True) + .create(self._reconcile_bank_line_keep_move_vals()) + ) + _liquidity_lines, suspense_lines, other_lines = self._seek_for_lines() + container = {"records": move, "self": move} + to_reconcile = defaultdict(lambda: self.env["account.move.line"]) + with move._check_balanced(container): + for line in suspense_lines | other_lines: + to_reconcile[line.account_id.id] |= line + line_data = line.with_context( + active_test=False, + include_business_fields=True, + ).copy_data({"move_id": move.id})[0] + to_reconcile[line.account_id.id] |= ( + self.env["account.move.line"] + .with_context( + check_move_validity=False, + skip_sync_invoice=True, + skip_invoice_sync=True, + ) + .create(line_data) + ) + move.write( + { + "line_ids": [ + Command.update( + line.id, + { + "balance": -line.balance, + "amount_currency": -line.amount_currency, + }, + ) + for line in move.line_ids + if line.move_id.move_type == "entry" + or line.display_type == "cogs" + ] + } + ) + for line_vals in data: + if line_vals["kind"] == "liquidity": + continue + if line_vals["kind"] == "suspense": + raise UserError(_("No supense lines are allowed when reconciling")) + line = ( + self.env["account.move.line"] + .with_context(check_move_validity=False, skip_invoice_sync=True) + .create(self._reconcile_move_line_vals(line_vals, move.id)) + ) + if line_vals.get("counterpart_line_ids") and line.account_id.reconcile: + to_reconcile[line.account_id.id] |= ( + self.env["account.move.line"].browse( + line_vals.get("counterpart_line_ids") + ) + | line + ) + move.invalidate_recordset() + move._post() + for _account, lines in to_reconcile.items(): + lines.reconcile() + + def unreconcile_bank_line(self): + self.ensure_one() + return getattr( + self, "_unreconcile_bank_line_%s" % (self.reconcile_mode or "edit") + )() + + def _unreconcile_bank_line_edit(self): + self.reconcile_data_info = self._default_reconcile_data(from_unreconcile=True) + self.action_undo_reconciliation() + + def _unreconcile_bank_line_keep(self): + self.reconcile_data_info = self._default_reconcile_data(from_unreconcile=True) + # Reverse reconciled journal entry + to_reverse = ( + self.line_ids._all_reconciled_lines() + .filtered( + lambda line: line.move_id != self.move_id + and (line.matched_debit_ids or line.matched_credit_ids) + ) + .mapped("move_id") + ) + if to_reverse: + default_values_list = [ + { + "date": move.date, + "ref": _("Reversal of: %s", move.name), + } + for move in to_reverse + ] + to_reverse._reverse_moves(default_values_list, cancel=True) + + def _reconcile_move_line_vals(self, line, move_id=False): + return { + "move_id": move_id or self.move_id.id, + "account_id": line["account_id"][0], + "partner_id": line.get("partner_id") and line["partner_id"][0], + "credit": line["credit"], + "debit": line["debit"], + "tax_ids": line.get("tax_ids", []), + "tax_tag_ids": line.get("tax_tag_ids", []), + "group_tax_id": line.get("group_tax_id"), + "tax_repartition_line_id": line.get("tax_repartition_line_id"), + "analytic_distribution": line.get("analytic_distribution"), + "name": line.get("name"), + "reconcile_model_id": line.get("reconcile_model_id"), + } + + @api.model_create_multi + def create(self, mvals): + result = super().create(mvals) + if tools.config["test_enable"] and not self.env.context.get( + "_test_account_reconcile_oca" + ): + return result + models = self.env["account.reconcile.model"].search( + [ + ("rule_type", "in", ["invoice_matching", "writeoff_suggestion"]), + ("company_id", "in", result.company_id.ids), + ("auto_reconcile", "=", True), + ] + ) + for record in result: + res = models._apply_rules(record, record._retrieve_partner()) + if not res: + continue + liquidity_lines, suspense_lines, other_lines = record._seek_for_lines() + data = [] + for line in liquidity_lines: + reconcile_auxiliary_id, lines = record._get_reconcile_line( + line, "liquidity" + ) + data += lines + reconcile_auxiliary_id = 1 + if res.get("status", "") == "write_off": + data = record._recompute_suspense_line( + *record._reconcile_data_by_model( + data, res["model"], reconcile_auxiliary_id + ), + self.manual_reference, + ) + elif res.get("amls"): + amount = self.amount + for line in res.get("amls", []): + reconcile_auxiliary_id, line_datas = record._get_reconcile_line( + line, "other", is_counterpart=True, max_amount=amount + ) + amount -= sum(line_data.get("amount") for line_data in line_datas) + data += line_datas + data = record._recompute_suspense_line( + data, + reconcile_auxiliary_id, + self.manual_reference, + ) + if not data.get("can_reconcile"): + continue + getattr(record, f"_reconcile_bank_line_{record.journal_id.reconcile_mode}")( + self._prepare_reconcile_line_data(data["data"]) + ) + return result + + def _prepare_reconcile_line_data(self, lines): + new_lines = [] + reverse_lines = {} + for line in lines: + if not line.get("id") and not line.get("original_exchange_line_id"): + new_lines.append(line) + elif not line.get("original_exchange_line_id"): + reverse_lines[line["id"]] = line + for line in lines: + if line.get("original_exchange_line_id"): + reverse_lines[line["original_exchange_line_id"]].update( + { + "amount": reverse_lines[line["original_exchange_line_id"]][ + "amount" + ] + + line["amount"], + "credit": reverse_lines[line["original_exchange_line_id"]][ + "credit" + ] + + line["credit"], + "debit": reverse_lines[line["original_exchange_line_id"]][ + "debit" + ] + + line["debit"], + } + ) + return new_lines + list(reverse_lines.values()) + + def button_manual_reference_full_paid(self): + self.ensure_one() + if not self.reconcile_data_info["manual_reference"]: + return + manual_reference = self.reconcile_data_info["manual_reference"] + data = self.reconcile_data_info.get("data", []) + new_data = [] + reconcile_auxiliary_id = self.reconcile_data_info["reconcile_auxiliary_id"] + for line in data: + if line["reference"] == manual_reference and line.get("id"): + total_amount = -line["amount"] + line["original_amount_unsigned"] + original_amount = line["original_amount_unsigned"] + reconcile_auxiliary_id, lines = self._get_reconcile_line( + self.env["account.move.line"].browse(line["id"]), + "other", + is_counterpart=True, + reconcile_auxiliary_id=reconcile_auxiliary_id, + max_amount=original_amount, + ) + new_data += lines + new_data.append( + { + "reference": f"reconcile_auxiliary;{reconcile_auxiliary_id}", + "id": False, + "account_id": line["account_id"], + "partner_id": line.get("partner_id"), + "date": line["date"], + "name": line["name"], + "amount": -total_amount, + "credit": total_amount if total_amount > 0 else 0.0, + "debit": -total_amount if total_amount < 0 else 0.0, + "kind": "other", + "currency_id": line["currency_id"], + "line_currency_id": line["currency_id"], + "currency_amount": -total_amount, + } + ) + reconcile_auxiliary_id += 1 + else: + new_data.append(line) + self.reconcile_data_info = self._recompute_suspense_line( + new_data, + reconcile_auxiliary_id, + self.manual_reference, + ) + self.can_reconcile = self.reconcile_data_info.get("can_reconcile", False) + + def action_to_check(self): + self.ensure_one() + self.move_id.write({"checked": False}) + if self.can_reconcile and self.journal_id.reconcile_mode == "edit": + self.reconcile_bank_line() + + def action_checked(self): + self.ensure_one() + self.move_id.write({"checked": True}) + + def _get_reconcile_line( + self, + line, + kind, + is_counterpart=False, + max_amount=False, + from_unreconcile=False, + reconcile_auxiliary_id=False, + ): + new_vals = super()._get_reconcile_line( + line, + kind, + is_counterpart=is_counterpart, + max_amount=max_amount, + from_unreconcile=from_unreconcile, + ) + rates = [] + for vals in new_vals: + if vals["partner_id"] is False: + vals["partner_id"] = (False, self.partner_name) + reconcile_auxiliary_id, rate = self._compute_exchange_rate( + vals, line, reconcile_auxiliary_id + ) + if rate: + rates.append(rate) + new_vals += rates + return reconcile_auxiliary_id, new_vals + + def _get_exchange_rate_amount(self, amount, currency_amount, currency, line): + return ( + currency._convert( + currency_amount, + self.company_id.currency_id, + self.company_id, + self.date, + ) + - amount + ) + + def _compute_exchange_rate( + self, + vals, + line, + reconcile_auxiliary_id, + ): + foreign_currency = ( + self.currency_id != self.company_id.currency_id + or self.foreign_currency_id + or vals["currency_id"] != vals["line_currency_id"] + ) + if not foreign_currency or self.is_reconciled: + return reconcile_auxiliary_id, False + currency = self.env["res.currency"].browse(vals["line_currency_id"]) + amount = self._get_exchange_rate_amount( + vals.get("amount", 0), vals.get("currency_amount", 0), currency, line + ) + if currency.is_zero(amount): + return reconcile_auxiliary_id, False + account = self.company_id.expense_currency_exchange_account_id + if amount < 0: + account = self.company_id.income_currency_exchange_account_id + data = { + "is_exchange_counterpart": True, + "original_exchange_line_id": line.id, + "reference": f"reconcile_auxiliary;{reconcile_auxiliary_id}", + "id": False, + "account_id": (account.id, account.display_name), + "partner_id": False, + "date": fields.Date.to_string(self.date), + "name": self.payment_ref or self.name, + "amount": amount, + "net_amount": amount, + "credit": -amount if amount < 0 else 0.0, + "debit": amount if amount > 0 else 0.0, + "kind": "other", + "currency_id": self.company_id.currency_id.id, + "line_currency_id": self.company_id.currency_id.id, + "currency_amount": amount, + } + reconcile_auxiliary_id += 1 + return reconcile_auxiliary_id, data + + def add_statement(self): + self.ensure_one() + action = self.env["ir.actions.act_window"]._for_xml_id( + "account_reconcile_oca.account_bank_statement_action_edit" + ) + previous_line_with_statement = self.env["account.bank.statement.line"].search( + [ + ("internal_index", "<", self.internal_index), + ("journal_id", "=", self.journal_id.id), + ("state", "=", "posted"), + ("statement_id", "!=", self.statement_id.id), + ("statement_id", "!=", False), + ], + limit=1, + ) + balance = previous_line_with_statement.statement_id.balance_end_real + action["context"] = { + "default_journal_id": self.journal_id.id, + "default_balance_start": balance, + "split_line_id": self.id, + } + return action diff --git a/account_reconcile_oca/models/account_journal.py b/account_reconcile_oca/models/account_journal.py new file mode 100644 index 0000000000..2c317d1970 --- /dev/null +++ b/account_reconcile_oca/models/account_journal.py @@ -0,0 +1,45 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import _, fields, models + + +class AccountJournal(models.Model): + _inherit = "account.journal" + + reconcile_mode = fields.Selection( + [("edit", "Edit Move"), ("keep", "Keep Suspense Accounts")], + default="edit", + required=True, + ) + company_currency_id = fields.Many2one( + related="company_id.currency_id", string="Company Currency" + ) + reconcile_aggregate = fields.Selection( + [ + ("statement", "Statement"), + ("day", "Day"), + ("week", "Week"), + ("month", "Month"), + ], + string="Reconcile aggregation", + help="Aggregation to use on reconcile view", + ) + + def get_rainbowman_message(self): + self.ensure_one() + if ( + self._get_journal_dashboard_data_batched()[self.id]["number_to_reconcile"] + > 0 + ): + return False + return _("Well done! Everything has been reconciled") + + def open_action(self): + self.ensure_one() + if self.type not in ["bank", "cash"]: + return super().open_action() + action = self.env["ir.actions.actions"]._for_xml_id( + "account_reconcile_oca.action_bank_statement_line_reconcile_all" + ) + return action diff --git a/account_reconcile_oca/models/account_move_line.py b/account_reconcile_oca/models/account_move_line.py new file mode 100644 index 0000000000..f105145734 --- /dev/null +++ b/account_reconcile_oca/models/account_move_line.py @@ -0,0 +1,33 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import _, models +from odoo.exceptions import ValidationError + + +class AccountMoveLine(models.Model): + _inherit = "account.move.line" + + def action_reconcile_manually(self): + if not self: + return {} + accounts = self.mapped("account_id") + if len(accounts) > 1: + raise ValidationError( + _("You can only reconcile journal items belonging to the same account.") + ) + partner = self.mapped("partner_id") + action = self.env["ir.actions.act_window"]._for_xml_id( + "account_reconcile_oca.account_account_reconcile_act_window" + ) + action["domain"] = [("account_id", "=", self.mapped("account_id").id)] + if len(partner) == 1 and self.account_id.account_type in [ + "asset_receivable", + "liability_payable", + ]: + action["domain"] += [("partner_id", "=", partner.id)] + action["context"] = self.env.context.copy() + action["context"]["default_account_move_lines"] = self.filtered( + lambda r: not r.reconciled + ).ids + return action diff --git a/account_reconcile_oca/models/account_reconcile_abstract.py b/account_reconcile_oca/models/account_reconcile_abstract.py new file mode 100644 index 0000000000..3516e8ff78 --- /dev/null +++ b/account_reconcile_oca/models/account_reconcile_abstract.py @@ -0,0 +1,101 @@ +# Copyright 2023 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models +from odoo.tools import float_is_zero + + +class AccountReconcileAbstract(models.AbstractModel): + _name = "account.reconcile.abstract" + _description = "Account Reconcile Abstract" + + reconcile_data_info = fields.Serialized( + compute="_compute_reconcile_data_info", + prefetch=False, + ) + company_id = fields.Many2one("res.company") + add_account_move_line_id = fields.Many2one( + "account.move.line", + check_company=True, + store=False, + default=False, + prefetch=False, + ) + manual_reference = fields.Char(store=False, default=False, prefetch=False) + manual_delete = fields.Boolean( + store=False, + default=False, + prefetch=False, + ) + currency_id = fields.Many2one("res.currency", readonly=True) + foreign_currency_id = fields.Many2one("res.currency") + company_currency_id = fields.Many2one( + related="company_id.currency_id", string="Company Currency" + ) + + def _get_reconcile_line( + self, line, kind, is_counterpart=False, max_amount=False, from_unreconcile=False + ): + date = self.date if "date" in self._fields else line.date + original_amount = amount = net_amount = line.debit - line.credit + if is_counterpart: + currency_amount = -line.amount_residual_currency or line.amount_residual + amount = -line.amount_residual + currency = line.currency_id or self.company_id.currency_id + original_amount = net_amount = -line.amount_residual + if max_amount: + currency_max_amount = self.company_id.currency_id._convert( + max_amount, currency, self.company_id, date + ) + if ( + -currency_amount > currency_max_amount > 0 + or -currency_amount < currency_max_amount < 0 + ): + amount = currency_max_amount + net_amount = -max_amount + currency_amount = -amount + amount = currency._convert( + currency_amount, + self.company_id.currency_id, + self.company_id, + date, + ) + else: + currency_amount = line.amount_currency + vals = { + "reference": f"account.move.line;{line.id}", + "id": line.id, + "account_id": [line.account_id.id, line.account_id.display_name], + "partner_id": [line.partner_id.id, line.partner_id.display_name] + if line.partner_id + else False, + "date": fields.Date.to_string(line.date), + "name": line.name, + "debit": amount if amount > 0 else 0.0, + "credit": -amount if amount < 0 else 0.0, + "amount": amount, + "net_amount": amount - net_amount, + "currency_id": self.company_id.currency_id.id, + "line_currency_id": line.currency_id.id, + "currency_amount": currency_amount, + "analytic_distribution": line.analytic_distribution, + "kind": kind, + } + if from_unreconcile: + vals.update( + { + "id": False, + "counterpart_line_ids": ( + line.matched_debit_ids.mapped("debit_move_id") + | line.matched_credit_ids.mapped("credit_move_id") + ).ids, + } + ) + if not float_is_zero( + amount - original_amount, precision_digits=line.currency_id.decimal_places + ): + vals["original_amount"] = abs(original_amount) + vals["original_amount_unsigned"] = original_amount + if is_counterpart: + vals["counterpart_line_ids"] = line.ids + return [vals] diff --git a/account_reconcile_oca/models/res_company.py b/account_reconcile_oca/models/res_company.py new file mode 100644 index 0000000000..3ed88cb62f --- /dev/null +++ b/account_reconcile_oca/models/res_company.py @@ -0,0 +1,14 @@ +# Copyright 2024 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResCompany(models.Model): + _inherit = "res.company" + + reconcile_aggregate = fields.Selection( + selection=lambda self: self.env["account.journal"] + ._fields["reconcile_aggregate"] + .selection + ) diff --git a/account_reconcile_oca/models/res_config_settings.py b/account_reconcile_oca/models/res_config_settings.py new file mode 100644 index 0000000000..8bcc218564 --- /dev/null +++ b/account_reconcile_oca/models/res_config_settings.py @@ -0,0 +1,12 @@ +# Copyright 2024 Dixmit +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + reconcile_aggregate = fields.Selection( + related="company_id.reconcile_aggregate", readonly=False + ) diff --git a/account_reconcile_oca/pyproject.toml b/account_reconcile_oca/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/account_reconcile_oca/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/account_reconcile_oca/readme/CONTRIBUTORS.md b/account_reconcile_oca/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..c84bf49d7c --- /dev/null +++ b/account_reconcile_oca/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Enric Tobella diff --git a/account_reconcile_oca/readme/DESCRIPTION.md b/account_reconcile_oca/readme/DESCRIPTION.md new file mode 100644 index 0000000000..ddb9739412 --- /dev/null +++ b/account_reconcile_oca/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This addon allows to reconcile bank statements and account marked as +reconcile. diff --git a/account_reconcile_oca/readme/ROADMAP.md b/account_reconcile_oca/readme/ROADMAP.md new file mode 100644 index 0000000000..412733360f --- /dev/null +++ b/account_reconcile_oca/readme/ROADMAP.md @@ -0,0 +1,3 @@ +The following bugs are already detected: + +- Creation of activities on the chatter do show automatically diff --git a/account_reconcile_oca/readme/USAGE.md b/account_reconcile_oca/readme/USAGE.md new file mode 100644 index 0000000000..2a053a39f6 --- /dev/null +++ b/account_reconcile_oca/readme/USAGE.md @@ -0,0 +1,10 @@ +## Bank reconcile + +Access Invoicing / Dashboard with a user with Full Acounting +capabilities. Select reconcile on the journal of your choice. + +## Account reconcile + +Access Invoicing / Accounting / Actions / Reconcile All the possible +reconcile options will show and you will be able to reconcile properly. +You can access the same widget from accounts and Partners. diff --git a/account_reconcile_oca/security/ir.model.access.csv b/account_reconcile_oca/security/ir.model.access.csv new file mode 100644 index 0000000000..d73fa145dd --- /dev/null +++ b/account_reconcile_oca/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_account_reconcile,account.account.reconcile,model_account_account_reconcile,account.group_account_user,1,1,0,0 +access_account_account_reconcile_data,account.account.reconcile,model_account_account_reconcile_data,account.group_account_user,1,1,1,1 diff --git a/account_reconcile_oca/static/description/icon.png b/account_reconcile_oca/static/description/icon.png new file mode 100644 index 0000000000..3a0328b516 Binary files /dev/null and b/account_reconcile_oca/static/description/icon.png differ diff --git a/account_reconcile_oca/static/description/index.html b/account_reconcile_oca/static/description/index.html new file mode 100644 index 0000000000..4dd1d0a485 --- /dev/null +++ b/account_reconcile_oca/static/description/index.html @@ -0,0 +1,454 @@ + + + + + +Account Reconcile Oca + + + +
+

Account Reconcile Oca

+ + +

Beta License: AGPL-3 OCA/account-reconcile Translate me on Weblate Try me on Runboat

+

This addon allows to reconcile bank statements and account marked as +reconcile.

+

Table of contents

+ +
+

Usage

+
+

Bank reconcile

+

Access Invoicing / Dashboard with a user with Full Acounting +capabilities. Select reconcile on the journal of your choice.

+
+
+

Account reconcile

+

Access Invoicing / Accounting / Actions / Reconcile All the possible +reconcile options will show and you will be able to reconcile properly. +You can access the same widget from accounts and Partners.

+
+
+
+

Known issues / Roadmap

+

The following bugs are already detected:

+
    +
  • Creation of activities on the chatter do show automatically
  • +
+
+
+

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 to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • CreuBlanca
  • +
  • Dixmit
  • +
+
+
+

Contributors

+
    +
  • Enric Tobella
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

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.

+

Current maintainer:

+

etobella

+

This module is part of the OCA/account-reconcile project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/account_reconcile_oca/static/src/js/reconcile/reconcile_controller.esm.js b/account_reconcile_oca/static/src/js/reconcile/reconcile_controller.esm.js new file mode 100644 index 0000000000..21281cc917 --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile/reconcile_controller.esm.js @@ -0,0 +1,146 @@ +const {onMounted, onWillStart, useState, useSubEnv} = owl; +import {useBus, useService} from "@web/core/utils/hooks"; +import {KanbanController} from "@web/views/kanban/kanban_controller"; +import {View} from "@web/views/view"; +import {formatMonetary} from "@web/views/fields/formatters"; +import {router} from "@web/core/browser/router"; + +export class ReconcileController extends KanbanController { + async setup() { + super.setup(); + this.state = useState({ + selectedRecordId: null, + journalBalance: 0, + currency: false, + }); + useSubEnv({ + parentController: this, + exposeController: this.exposeController.bind(this), + }); + this.effect = useService("effect"); + this.orm = useService("orm"); + this.action = useService("action"); + this.activeActions = this.props.archInfo.activeActions; + useBus(this.model.bus, "update", () => { + this.selectRecord(); + }); + onWillStart(() => { + this.updateJournalInfo(); + }); + onMounted(() => { + this.selectRecord(); + }); + } + get journalId() { + if (this.props.context.active_model === "account.journal") { + return this.props.context.active_id; + } + return false; + } + async updateJournalInfo() { + var journalId = this.journalId; + if (!journalId) { + return; + } + var result = await this.orm.call("account.journal", "read", [ + [journalId], + ["current_statement_balance", "currency_id", "company_currency_id"], + ]); + this.state.journalBalance = result[0].current_statement_balance; + this.state.currency = (result[0].currency_id || + result[0].company_currency_id)[0]; + } + get journalBalanceStr() { + if (!this.state.journalBalance) { + return ""; + } + return formatMonetary(this.state.journalBalance, { + currencyId: this.state.currency, + }); + } + exposeController(controller) { + this.form_controller = controller; + } + async onClickNewButton() { + const action = await this.orm.call(this.props.resModel, "action_new_line", [], { + context: this.props.context, + }); + this.action.doAction(action, { + onClose: async () => { + await this.model.root.load(); + await this.updateJournalInfo(); + this.render(true); + }, + }); + } + async setRainbowMan(message) { + this.effect.add({ + message, + type: "rainbow_man", + }); + } + get viewReconcileInfo() { + return { + resId: this.state.selectedRecordId, + type: "form", + noBreadcrumbs: true, + context: { + ...(this.props.context || {}), + form_view_ref: this.props.context.view_ref, + }, + display: {controlPanel: false}, + mode: this.props.mode || "edit", + resModel: this.props.resModel, + }; + } + async selectRecord(record) { + var resId = false; + if (record === undefined && this.props.resId) { + resId = this.props.resId; + } else if (record === undefined) { + var records = this.model.root.records.filter( + (modelRecord) => + !modelRecord.data.is_reconciled || modelRecord.data.to_check + ); + if (records.length === 0) { + records = this.model.root.records; + if (records.length === 0) { + this.state.selectedRecordId = false; + return; + } + } + resId = records[0].resId; + } else { + resId = record.resId; + } + if (this.state.selectedRecordId && this.state.selectedRecordId !== resId) { + if (this.form_controller && this.form_controller.model.root.isDirty) { + await this.form_controller.model.root.save({ + noReload: true, + stayInEdition: true, + useSaveErrorDialog: true, + }); + await this.model.root.load(); + await this.render(true); + } + } + if (!this.state.selectedRecordId || this.state.selectedRecordId !== resId) { + this.state.selectedRecordId = resId; + } + this.updateURL(resId); + } + async openRecord(record) { + this.selectRecord(record); + } + updateURL(resId) { + router.pushState({id: resId}); + } +} + +ReconcileController.components = { + ...ReconcileController.components, + View, +}; + +ReconcileController.template = "account_reconcile_oca.ReconcileController"; +ReconcileController.defaultProps = {}; diff --git a/account_reconcile_oca/static/src/js/reconcile/reconcile_kanban_record.esm.js b/account_reconcile_oca/static/src/js/reconcile/reconcile_kanban_record.esm.js new file mode 100644 index 0000000000..329801c7b5 --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile/reconcile_kanban_record.esm.js @@ -0,0 +1,12 @@ +import {KanbanRecord} from "@web/views/kanban/kanban_record"; + +export class ReconcileKanbanRecord extends KanbanRecord { + getRecordClasses() { + var result = super.getRecordClasses(); + if (this.props.selectedRecordId === this.props.record.resId) { + result += " o_kanban_record_reconcile_oca_selected"; + } + return result; + } +} +ReconcileKanbanRecord.props = [...KanbanRecord.props, "selectedRecordId?"]; diff --git a/account_reconcile_oca/static/src/js/reconcile/reconcile_renderer.esm.js b/account_reconcile_oca/static/src/js/reconcile/reconcile_renderer.esm.js new file mode 100644 index 0000000000..b092e93ccc --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile/reconcile_renderer.esm.js @@ -0,0 +1,61 @@ +import {KanbanRenderer} from "@web/views/kanban/kanban_renderer"; +import {ReconcileKanbanRecord} from "./reconcile_kanban_record.esm.js"; +import {formatMonetary} from "@web/views/fields/formatters"; +import {useService} from "@web/core/utils/hooks"; + +export class ReconcileRenderer extends KanbanRenderer { + setup() { + super.setup(); + this.action = useService("action"); + this.orm = useService("orm"); + } + getAggregates() { + if ( + this.env.parentController.props.resModel !== "account.bank.statement.line" + ) { + return []; + } + const {list} = this.props; + const aggregates = []; + for (const record of list.records) { + const aggregateId = record.data.aggregate_id && record.data.aggregate_id; + if ( + aggregateId && + (!aggregates.length || aggregates[0].id !== aggregateId) + ) { + aggregates.push({ + id: aggregateId, + name: record.data.aggregate_name, + balance: record.data.statement_balance_end_real, + balanceStr: formatMonetary(record.data.statement_balance_end_real, { + currencyId: record.data.currency_id[0], + }), + }); + } + } + return aggregates; + } + async onClickStatement(statementId) { + const action = await this.orm.call( + "account.bank.statement", + "action_open_statement", + [[statementId]], + { + context: this.props.context, + } + ); + const model = this.props.list.model; + this.action.doAction(action, { + async onClose() { + model.root.load(); + }, + }); + } +} + +ReconcileRenderer.components = { + ...KanbanRenderer.components, + KanbanRecord: ReconcileKanbanRecord, +}; +ReconcileRenderer.template = "account_reconcile_oca.ReconcileRenderer"; +ReconcileRenderer.props = [...KanbanRenderer.props, "selectedRecordId?"]; diff --git a/account_reconcile_oca/static/src/js/reconcile/reconcile_view.esm.js b/account_reconcile_oca/static/src/js/reconcile/reconcile_view.esm.js new file mode 100644 index 0000000000..a10642b925 --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile/reconcile_view.esm.js @@ -0,0 +1,14 @@ +import {ReconcileController} from "./reconcile_controller.esm.js"; +import {ReconcileRenderer} from "./reconcile_renderer.esm.js"; +import {kanbanView} from "@web/views/kanban/kanban_view"; +import {registry} from "@web/core/registry"; + +export const reconcileView = { + ...kanbanView, + Renderer: ReconcileRenderer, + Controller: ReconcileController, + buttonTemplate: "account_reconcile.ReconcileView.Buttons", + searchMenuTypes: ["filter"], +}; + +registry.category("views").add("reconcile", reconcileView); diff --git a/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_controller.esm.js b/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_controller.esm.js new file mode 100644 index 0000000000..b0c8effc14 --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_controller.esm.js @@ -0,0 +1,43 @@ +import {FormController} from "@web/views/form/form_controller"; +import {useService} from "@web/core/utils/hooks"; +import {useViewButtons} from "@web/views/view_button/view_button_hook"; +const {useRef} = owl; + +export class ReconcileFormController extends FormController { + setup() { + super.setup(...arguments); + this.env.exposeController(this); + this.orm = useService("orm"); + const rootRef = useRef("root"); + useViewButtons(rootRef, { + reload: this.reloadFormController.bind(this), + beforeExecuteAction: this.beforeExecuteActionButton.bind(this), + afterExecuteAction: this.afterExecuteActionButton.bind(this), + }); + } + displayName() { + return this.env.config.getDisplayName(); + } + async reloadFormController() { + var is_reconciled = this.model.root.data.is_reconciled; + await this.model.root.load(); + if (this.env.parentController) { + // We will update the parent controller every time we reload the form. + await this.env.parentController.model.root.load(); + await this.env.parentController.render(true); + if (!is_reconciled && this.model.root.data.is_reconciled) { + // This only happens when we press the reconcile button for showing rainbow man + const message = await this.orm.call( + "account.journal", + "get_rainbowman_message", + [[this.model.root.data.journal_id[0]]] + ); + if (message) { + this.env.parentController.setRainbowMan(message); + } + // Refreshing + this.env.parentController.selectRecord(); + } + } + } +} diff --git a/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_notebook.esm.js b/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_notebook.esm.js new file mode 100644 index 0000000000..1b6bc9a9e6 --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_notebook.esm.js @@ -0,0 +1,31 @@ +import {Notebook} from "@web/core/notebook/notebook"; +import {onWillDestroy} from "@odoo/owl"; + +export class ReconcileFormNotebook extends Notebook { + setup() { + super.setup(...arguments); + const onPageNavigate = this.onPageNavigate.bind(this); + this.env.bus.addEventListener("RECONCILE_PAGE_NAVIGATE", onPageNavigate); + + onWillDestroy(() => { + this.env.bus.removeEventListener("RECONCILE_PAGE_NAVIGATE", onPageNavigate); + }); + } + onPageNavigate(ev) { + for (const page of this.pages) { + if ( + ev.detail.detail.name === page[1].name && + this.state.currentPage !== page[0] + ) { + ev.preventDefault(); + ev.detail.detail.originalEv.preventDefault(); + this.state.currentPage = page[0]; + return; + } + } + } +} + +ReconcileFormNotebook.props = { + ...Notebook.props, +}; diff --git a/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_renderer.esm.js b/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_renderer.esm.js new file mode 100644 index 0000000000..ce178dd5ba --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_renderer.esm.js @@ -0,0 +1,9 @@ +import {FormRenderer} from "@web/views/form/form_renderer"; +import {ReconcileFormNotebook} from "./reconcile_form_notebook.esm.js"; + +export class ReconcileFormRenderer extends FormRenderer {} + +ReconcileFormRenderer.components = { + ...ReconcileFormRenderer.components, + Notebook: ReconcileFormNotebook, +}; diff --git a/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_view.esm.js b/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_view.esm.js new file mode 100644 index 0000000000..e7617aa47d --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile_form/reconcile_form_view.esm.js @@ -0,0 +1,12 @@ +import {ReconcileFormController} from "./reconcile_form_controller.esm.js"; +import {ReconcileFormRenderer} from "./reconcile_form_renderer.esm.js"; +import {formView} from "@web/views/form/form_view"; +import {registry} from "@web/core/registry"; + +export const ReconcileFormView = { + ...formView, + Controller: ReconcileFormController, + Renderer: ReconcileFormRenderer, +}; + +registry.category("views").add("reconcile_form", ReconcileFormView); diff --git a/account_reconcile_oca/static/src/js/reconcile_manual/reconcile_manual_controller.esm.js b/account_reconcile_oca/static/src/js/reconcile_manual/reconcile_manual_controller.esm.js new file mode 100644 index 0000000000..ad52a54146 --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile_manual/reconcile_manual_controller.esm.js @@ -0,0 +1,31 @@ +import {FormController} from "@web/views/form/form_controller"; +import {useViewButtons} from "@web/views/view_button/view_button_hook"; +const {useRef} = owl; + +export class ReconcileManualController extends FormController { + setup() { + super.setup(...arguments); + this.env.exposeController(this); + const rootRef = useRef("root"); + useViewButtons(this.model, rootRef, { + reload: this.reloadFormController.bind(this), + beforeExecuteAction: this.beforeExecuteActionButton.bind(this), + afterExecuteAction: this.afterExecuteActionButton.bind(this), + }); + } + displayName() { + return this.env.config.getDisplayName(); + } + async reloadFormController() { + try { + await this.model.root.load(); + } catch (error) { + // This should happen when we reconcile a line (no more possible data...) + if (this.env.parentController) { + await this.env.parentController.model.root.load(); + await this.env.parentController.render(true); + this.env.parentController.selectRecord(); + } + } + } +} diff --git a/account_reconcile_oca/static/src/js/reconcile_manual/reconcile_manual_view.esm.js b/account_reconcile_oca/static/src/js/reconcile_manual/reconcile_manual_view.esm.js new file mode 100644 index 0000000000..dc5e9608eb --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile_manual/reconcile_manual_view.esm.js @@ -0,0 +1,10 @@ +import {ReconcileManualController} from "./reconcile_manual_controller.esm.js"; +import {formView} from "@web/views/form/form_view"; +import {registry} from "@web/core/registry"; + +export const FormManualReconcileView = { + ...formView, + Controller: ReconcileManualController, +}; + +registry.category("views").add("reconcile_manual", FormManualReconcileView); diff --git a/account_reconcile_oca/static/src/js/reconcile_move_line/reconcile_move_line_controller.esm.js b/account_reconcile_oca/static/src/js/reconcile_move_line/reconcile_move_line_controller.esm.js new file mode 100644 index 0000000000..596b706038 --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile_move_line/reconcile_move_line_controller.esm.js @@ -0,0 +1,16 @@ +import {ListController} from "@web/views/list/list_controller"; + +export class ReconcileMoveLineController extends ListController { + async openRecord(record) { + var data = {}; + data[this.props.parentField] = [record.resId, record.display_name]; + this.props.parentRecord.update(data); + } +} + +ReconcileMoveLineController.template = `account_reconcile_oca.ReconcileMoveLineController`; +ReconcileMoveLineController.props = { + ...ListController.props, + parentRecord: {type: Object, optional: true}, + parentField: {type: String, optional: true}, +}; diff --git a/account_reconcile_oca/static/src/js/reconcile_move_line/reconcile_move_line_renderer.esm.js b/account_reconcile_oca/static/src/js/reconcile_move_line/reconcile_move_line_renderer.esm.js new file mode 100644 index 0000000000..445835ae51 --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile_move_line/reconcile_move_line_renderer.esm.js @@ -0,0 +1,20 @@ +import {ListRenderer} from "@web/views/list/list_renderer"; + +export class ReconcileMoveLineRenderer extends ListRenderer { + getRowClass(record) { + var classes = super.getRowClass(record); + if ( + this.props.parentRecord.data.reconcile_data_info.counterparts.includes( + record.resId + ) + ) { + classes += " o_field_account_reconcile_oca_move_line_selected table-info"; + } + return classes; + } +} +ReconcileMoveLineRenderer.props = [ + ...ListRenderer.props, + "parentRecord", + "parentField", +]; diff --git a/account_reconcile_oca/static/src/js/reconcile_move_line/reconcile_move_line_view.esm.js b/account_reconcile_oca/static/src/js/reconcile_move_line/reconcile_move_line_view.esm.js new file mode 100644 index 0000000000..f9aeb0f064 --- /dev/null +++ b/account_reconcile_oca/static/src/js/reconcile_move_line/reconcile_move_line_view.esm.js @@ -0,0 +1,13 @@ +import {ReconcileMoveLineController} from "./reconcile_move_line_controller.esm.js"; +import {ReconcileMoveLineRenderer} from "./reconcile_move_line_renderer.esm.js"; + +import {listView} from "@web/views/list/list_view"; +import {registry} from "@web/core/registry"; + +export const ReconcileMoveLineView = { + ...listView, + Controller: ReconcileMoveLineController, + Renderer: ReconcileMoveLineRenderer, +}; + +registry.category("views").add("reconcile_move_line", ReconcileMoveLineView); diff --git a/account_reconcile_oca/static/src/js/widgets/reconcile_chatter_field.esm.js b/account_reconcile_oca/static/src/js/widgets/reconcile_chatter_field.esm.js new file mode 100644 index 0000000000..1a154f13e1 --- /dev/null +++ b/account_reconcile_oca/static/src/js/widgets/reconcile_chatter_field.esm.js @@ -0,0 +1,21 @@ +// Import {ChatterContainer} from "@mail/components/chatter_container/chatter_container"; +// import {Chatter} from "@mail/core/web/chatter"; +import {Chatter} from "@mail/chatter/web_portal/chatter"; + +import {registry} from "@web/core/registry"; +import {standardFieldProps} from "@web/views/fields/standard_field_props"; + +const {Component} = owl; + +export class AccountReconcileChatterWidget extends Component {} +AccountReconcileChatterWidget.props = {...standardFieldProps}; +AccountReconcileChatterWidget.template = + "account_reconcile_oca.AccountReconcileChatterWidget"; +AccountReconcileChatterWidget.components = {...Component.components, Chatter}; +export const AccountReconcileChatterWidgetField = { + component: AccountReconcileChatterWidget, + supportedTypes: [], +}; +registry + .category("fields") + .add("account_reconcile_oca_chatter", AccountReconcileChatterWidgetField); diff --git a/account_reconcile_oca/static/src/js/widgets/reconcile_data_widget.esm.js b/account_reconcile_oca/static/src/js/widgets/reconcile_data_widget.esm.js new file mode 100644 index 0000000000..f7356c3f26 --- /dev/null +++ b/account_reconcile_oca/static/src/js/widgets/reconcile_data_widget.esm.js @@ -0,0 +1,81 @@ +import {formatDate, parseDate} from "@web/core/l10n/dates"; +import {formatMonetary} from "@web/views/fields/formatters"; +import {registry} from "@web/core/registry"; + +const {Component} = owl; + +export class AccountReconcileDataWidget extends Component { + setup() { + super.setup(...arguments); + this.foreignCurrency = + this.props && + this.props.record && + (this.props.record.data.foreign_currency_id || + this.props.record.data.currency_id[0] !== + this.props.record.data.company_currency_id[0] || + this.props.record.data[this.props.name].data.some( + (item) => item.line_currency_id !== item.currency_id + )); + } + getReconcileLines() { + var data = this.props.record.data[this.props.name].data; + for (var line in data) { + data[line].amount_format = formatMonetary(data[line].amount, { + currencyId: data[line].currency_id, + }); + data[line].debit_format = formatMonetary(data[line].debit, { + currencyId: data[line].currency_id, + }); + data[line].credit_format = formatMonetary(data[line].credit, { + currencyId: data[line].currency_id, + }); + data[line].amount_currency_format = formatMonetary( + data[line].currency_amount, + undefined, + { + currencyId: data[line].line_currency_id, + } + ); + if (data[line].original_amount) { + data[line].original_amount_format = formatMonetary( + data[line].original_amount, + { + currencyId: data[line].currency_id, + } + ); + } + data[line].date_format = formatDate( + parseDate(data[line].date, undefined, {isUTC: true}) + ); + } + return data; + } + onTrashLine(ev, line) { + ev.stopPropagation(); + this.props.record.update({ + manual_reference: line.reference, + manual_delete: true, + }); + } + selectReconcileLine(ev, line) { + this.props.record.update({ + manual_reference: line.reference, + }); + const triggerEv = new CustomEvent("reconcile-page-navigate", { + detail: { + name: "manual", + originalEv: ev, + }, + }); + this.env.bus.trigger("RECONCILE_PAGE_NAVIGATE", triggerEv); + } +} +AccountReconcileDataWidget.template = "account_reconcile_oca.ReconcileDataWidget"; + +export const AccountReconcileDataWidgetField = { + component: AccountReconcileDataWidget, + supportedTypes: [], +}; +registry + .category("fields") + .add("account_reconcile_oca_data", AccountReconcileDataWidgetField); diff --git a/account_reconcile_oca/static/src/js/widgets/reconcile_move_line_widget.esm.js b/account_reconcile_oca/static/src/js/widgets/reconcile_move_line_widget.esm.js new file mode 100644 index 0000000000..e6eee759af --- /dev/null +++ b/account_reconcile_oca/static/src/js/widgets/reconcile_move_line_widget.esm.js @@ -0,0 +1,105 @@ +import {View} from "@web/views/view"; +import {evaluateBooleanExpr} from "@web/core/py_js/py"; +import {getFieldContext} from "@web/model/relational_model/utils"; +import {registry} from "@web/core/registry"; +import {standardFieldProps} from "@web/views/fields/standard_field_props"; + +const {Component, useSubEnv} = owl; + +export class AccountReconcileMatchWidget extends Component { + setup() { + // Necessary in order to avoid a loop + useSubEnv({ + config: {}, + parentController: this.env.parentController, + }); + } + + getDomain() { + let domain = this.props.domain; + if (typeof domain === "function") { + domain = domain(); + } + return domain; + } + get listViewProperties() { + return { + type: "list", + display: { + controlPanel: { + // Hiding the control panel buttons + "top-left": false, + "bottom-left": false, + layoutActions: false, + }, + }, + noBreadcrumbs: true, + resModel: this.props.record.fields[this.props.name].relation, + searchMenuTypes: ["filter"], + domain: this.getDomain(), + context: { + ...this.props.context, + ...getFieldContext(this.props.record, this.props.name), + }, + // Disables selector + allowSelectors: false, + // We need to force the search view in order to show the right one + searchViewId: false, + parentRecord: this.props.record, + parentField: this.props.name, + }; + } +} +AccountReconcileMatchWidget.props = { + ...standardFieldProps, + placeholder: {type: String, optional: true}, + canOpen: {type: Boolean, optional: true}, + canCreate: {type: Boolean, optional: true}, + canWrite: {type: Boolean, optional: true}, + canQuickCreate: {type: Boolean, optional: true}, + canCreateEdit: {type: Boolean, optional: true}, + context: {type: String, optional: true}, + domain: {type: [Array, Function], optional: true}, + nameCreateField: {type: String, optional: true}, + searchLimit: {type: Number, optional: true}, + relation: {type: String, optional: true}, + string: {type: String, optional: true}, + canScanBarcode: {type: Boolean, optional: true}, + update: {type: Function, optional: true}, + value: {optional: true}, + decorations: {type: Object, optional: true}, +}; +AccountReconcileMatchWidget.template = "account_reconcile_oca.ReconcileMatchWidget"; +AccountReconcileMatchWidget.components = { + ...AccountReconcileMatchWidget.components, + View, +}; + +export const AccountReconcileMatchWidgetField = { + component: AccountReconcileMatchWidget, + supportedTypes: [], + extractProps({attrs, context, decorations, options}, dynamicInfo) { + const hasCreatePermission = attrs.can_create + ? evaluateBooleanExpr(attrs.can_create) + : true; + const hasWritePermission = attrs.can_write + ? evaluateBooleanExpr(attrs.can_write) + : true; + const canCreate = options.no_create ? false : hasCreatePermission; + return { + placeholder: attrs.placeholder, + canOpen: !options.no_open, + canCreate, + canWrite: hasWritePermission, + canQuickCreate: canCreate && !options.no_quick_create, + canCreateEdit: canCreate && !options.no_create_edit, + context: context, + decorations, + domain: dynamicInfo.domain, + }; + }, +}; + +registry + .category("fields") + .add("account_reconcile_oca_match", AccountReconcileMatchWidgetField); diff --git a/account_reconcile_oca/static/src/js/widgets/selection_badge_uncheck.esm.js b/account_reconcile_oca/static/src/js/widgets/selection_badge_uncheck.esm.js new file mode 100644 index 0000000000..cd5ec2e7a1 --- /dev/null +++ b/account_reconcile_oca/static/src/js/widgets/selection_badge_uncheck.esm.js @@ -0,0 +1,28 @@ +import { + BadgeSelectionField, + badgeSelectionField, +} from "@web/views/fields/badge_selection/badge_selection_field"; +import {registry} from "@web/core/registry"; + +export class FieldSelectionBadgeUncheck extends BadgeSelectionField { + async onChange(value) { + var old_value = this.props.value; + if (this.props.type === "many2one") { + old_value = old_value[0]; + } + if (value === old_value) { + this.props.update(false); + return; + } + super.onChange(...arguments); + } +} + +export const FieldSelectionBadgeUncheckField = { + ...badgeSelectionField, + component: FieldSelectionBadgeUncheck, + supportedTypes: ["many2one"], +}; +registry + .category("fields") + .add("selection_badge_uncheck", FieldSelectionBadgeUncheckField); diff --git a/account_reconcile_oca/static/src/scss/reconcile.scss b/account_reconcile_oca/static/src/scss/reconcile.scss new file mode 100644 index 0000000000..c89632b5e0 --- /dev/null +++ b/account_reconcile_oca/static/src/scss/reconcile.scss @@ -0,0 +1,82 @@ +.o_account_reconcile_oca { + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-flex-flow: row wrap; + flex-flow: row wrap; + height: 100%; + .o_kanban_renderer.o_kanban_ungrouped .o_kanban_record { + &:hover { + .o_reconcile_create_statement { + opacity: 100; + } + } + .row { + // We need to add this in order to make remove horizontal scroll + margin: 0; + } + margin: 0 0 0; + min-width: fit-content; + width: 100%; + .o_reconcile_create_statement { + position: absolute; + height: 0px; + margin: 0; + padding: 0 0 0 0; + border: 0; + top: -14px; + opacity: 0; + } + > div { + border-right: thick solid rgba(0, 0, 0, 0); + } + &.o_kanban_record_reconcile_oca_selected > div { + border-right: thick solid $o-brand-primary; + } + } + .o_account_reconcile_oca_selector { + width: 30%; + height: 100%; + padding: 0; + position: relative; + border-right: 1px solid $o-gray-300; + overflow: auto; + } + .o_account_reconcile_oca_info { + width: 70%; + height: 100%; + overflow: auto; + } + .o_form_view { + .o_form_statusbar.o_account_reconcile_oca_statusbar { + height: 40px; + } + .o_field_account_reconcile_oca_data { + .o_field_account_reconcile_oca_balance_float { + .o_field_account_reconcile_oca_balance_original_float { + text-decoration: line-through; + } + } + } + .o_field_widget.o_field_account_reconcile_oca_match { + display: inline; + } + .o_field_account_reconcile_oca_move_line_selected { + background-color: rgba($o-brand-primary, 0.2); + color: #000; + } + .o_reconcile_widget_table { + .o_reconcile_widget_line { + &.liquidity { + font-weight: bold; + } + &.selected { + background-color: rgba($o-brand-primary, 0.2); + } + } + } + } +} +.o_field_account_reconcile_oca_chatter { + width: 100%; +} diff --git a/account_reconcile_oca/static/src/xml/reconcile.xml b/account_reconcile_oca/static/src/xml/reconcile.xml new file mode 100644 index 0000000000..100e889a80 --- /dev/null +++ b/account_reconcile_oca/static/src/xml/reconcile.xml @@ -0,0 +1,192 @@ + + + + +
+ Global Balance + +
+ +
+ + + +
+ + + +
+
+
+ + + + + + props.selectedRecordId + +
+ + + + state.selectedRecordId + + + model.useSampleModel ? 'o_view_sample_data o_account_reconcile_oca' : 'o_account_reconcile_oca' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AccountPartnerDateLabel + Amount in currency + DebitCredit +
+ + + + + + +
+
+ + + + + + props.parentRecord + props.parentField + + +
diff --git a/account_reconcile_oca/tests/__init__.py b/account_reconcile_oca/tests/__init__.py new file mode 100644 index 0000000000..17f193edb5 --- /dev/null +++ b/account_reconcile_oca/tests/__init__.py @@ -0,0 +1,2 @@ +from . import test_bank_account_reconcile +from . import test_account_reconcile diff --git a/account_reconcile_oca/tests/test_account_reconcile.py b/account_reconcile_oca/tests/test_account_reconcile.py new file mode 100644 index 0000000000..c5d5c5b02c --- /dev/null +++ b/account_reconcile_oca/tests/test_account_reconcile.py @@ -0,0 +1,287 @@ +from odoo import Command +from odoo.tests import Form, tagged + +from odoo.addons.account_reconcile_model_oca.tests.common import ( + TestAccountReconciliationCommon, +) + + +@tagged("post_install", "-at_install") +class TestReconciliationWidget(TestAccountReconciliationCommon): + @classmethod + def _setup_context(cls): + return {**cls.env.context, "_test_account_reconcile_oca": True} + + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + cls.acc_bank_stmt_model = cls.env["account.bank.statement"] + cls.acc_bank_stmt_line_model = cls.env["account.bank.statement.line"] + cls.bank_journal_usd.suspense_account_id = ( + cls.env.company.account_journal_suspense_account_id + ) + cls.bank_journal_euro.suspense_account_id = ( + cls.env.company.account_journal_suspense_account_id + ) + cls.current_assets_account = ( + cls.env["account.account"] + .search( + [ + ("account_type", "=", "asset_current"), + ("company_ids", "in", cls.env.company.id), + ], + limit=1, + ) + .copy() + ) + cls.current_assets_account.reconcile = True + cls.asset_receivable_account = ( + cls.env["account.account"] + .search( + [ + ("account_type", "=", "asset_receivable"), + ("company_ids", "in", cls.env.company.id), + ], + limit=1, + ) + .copy() + ) + cls.asset_receivable_account.reconcile = True + cls.equity_account = ( + cls.env["account.account"] + .search( + [ + ("account_type", "=", "equity"), + ("company_ids", "in", cls.env.company.id), + ], + limit=1, + ) + .copy() + ) + cls.non_current_assets_account = ( + cls.env["account.account"] + .search( + [ + ("account_type", "=", "asset_non_current"), + ("company_ids", "in", cls.env.company.id), + ], + limit=1, + ) + .copy() + ) + cls.non_current_assets_account.reconcile = True + cls.move_1 = cls.env["account.move"].create( + { + "line_ids": [ + Command.create( + { + "account_id": cls.current_assets_account.id, + "name": "DEMO", + "credit": 100, + } + ), + Command.create( + { + "account_id": cls.non_current_assets_account.id, + "name": "DEMO", + "debit": 100, + } + ), + ] + } + ) + cls.move_1.action_post() + cls.move_2 = cls.env["account.move"].create( + { + "line_ids": [ + Command.create( + { + "account_id": cls.non_current_assets_account.id, + "name": "DEMO", + "credit": 50, + } + ), + Command.create( + { + "account_id": cls.equity_account.id, + "name": "DEMO", + "debit": 50, + } + ), + ] + } + ) + cls.move_2.action_post() + cls.move_3 = cls.env["account.move"].create( + { + "line_ids": [ + Command.create( + { + "account_id": cls.non_current_assets_account.id, + "name": "DEMO", + "credit": 50, + } + ), + Command.create( + { + "account_id": cls.equity_account.id, + "name": "DEMO", + "debit": 50, + } + ), + ] + } + ) + cls.move_3.action_post() + + def test_reconcile(self): + account = self.non_current_assets_account + reconcile_account = self.env["account.account.reconcile"].search( + [("account_id", "=", account.id)] + ) + self.assertTrue(reconcile_account) + with Form(reconcile_account) as f: + f.add_account_move_line_id = self.move_1.line_ids.filtered( + lambda r: r.account_id == account + ) + f.add_account_move_line_id = self.move_2.line_ids.filtered( + lambda r: r.account_id == account + ) + reconcile_account.reconcile() + reconcile_account = self.env["account.account.reconcile"].search( + [("account_id", "=", account.id)] + ) + self.assertTrue(reconcile_account) + with Form(reconcile_account) as f: + f.add_account_move_line_id = self.move_1.line_ids.filtered( + lambda r: r.account_id == account + ) + f.add_account_move_line_id = self.move_3.line_ids.filtered( + lambda r: r.account_id == account + ) + reconcile_account.reconcile() + reconcile_account = self.env["account.account.reconcile"].search( + [("account_id", "=", account.id)] + ) + self.assertFalse(reconcile_account) + + def test_clean_reconcile(self): + account = self.non_current_assets_account + reconcile_account = self.env["account.account.reconcile"].search( + [("account_id", "=", account.id)] + ) + self.assertTrue(reconcile_account) + with Form(reconcile_account) as f: + f.add_account_move_line_id = self.move_1.line_ids.filtered( + lambda r: r.account_id == account + ) + f.add_account_move_line_id = self.move_2.line_ids.filtered( + lambda r: r.account_id == account + ) + self.assertTrue(reconcile_account.reconcile_data_info.get("counterparts")) + reconcile_account.clean_reconcile() + self.assertFalse(reconcile_account.reconcile_data_info.get("counterparts")) + + def test_cannot_reconcile(self): + """ + There is not enough records to reconcile for this account + """ + reconcile_account = self.env["account.account.reconcile"].search( + [("account_id", "=", self.current_assets_account.id)] + ) + self.assertFalse(reconcile_account) + + def test_cannot_reconcile_different_partners(self): + """ + We can only reconcile lines with the same account and partner. + """ + reconcile_account = self.env["account.account.reconcile"].search( + [ + ("account_id", "=", self.asset_receivable_account.id), + ] + ) + self.assertFalse(reconcile_account) + move_1 = self.env["account.move"].create( + { + "line_ids": [ + Command.create( + { + "account_id": self.current_assets_account.id, + "name": "DEMO", + "credit": 100, + } + ), + Command.create( + { + "account_id": self.asset_receivable_account.id, + "partner_id": self.env.user.partner_id.id, + "name": "DEMO", + "debit": 100, + } + ), + ] + } + ) + move_1.action_post() + self.env.flush_all() + move_2 = self.env["account.move"].create( + { + "line_ids": [ + Command.create( + { + "account_id": self.current_assets_account.id, + "name": "DEMO", + "debit": 100, + } + ), + Command.create( + { + "account_id": self.asset_receivable_account.id, + "partner_id": self.env.company.partner_id.id, + "name": "DEMO", + "credit": 100, + } + ), + ] + } + ) + move_2.action_post() + self.env.flush_all() + reconcile_account = self.env["account.account.reconcile"].search( + [ + ("account_id", "=", self.asset_receivable_account.id), + ] + ) + self.assertFalse(reconcile_account) + + move_3 = self.env["account.move"].create( + { + "line_ids": [ + Command.create( + { + "account_id": self.current_assets_account.id, + "name": "DEMO", + "debit": 100, + } + ), + Command.create( + { + "account_id": self.asset_receivable_account.id, + "partner_id": self.env.user.partner_id.id, + "name": "DEMO", + "credit": 100, + } + ), + ] + } + ) + move_3.action_post() + self.env.flush_all() + reconcile_account = self.env["account.account.reconcile"].search( + [ + ("account_id", "=", self.asset_receivable_account.id), + ] + ) + self.assertTrue(reconcile_account) + self.assertEqual(reconcile_account.partner_id, self.env.user.partner_id) diff --git a/account_reconcile_oca/tests/test_bank_account_reconcile.py b/account_reconcile_oca/tests/test_bank_account_reconcile.py new file mode 100644 index 0000000000..fbfce7830a --- /dev/null +++ b/account_reconcile_oca/tests/test_bank_account_reconcile.py @@ -0,0 +1,1227 @@ +import time + +from odoo import Command +from odoo.tests import Form, tagged + +from odoo.addons.account_reconcile_model_oca.tests.common import ( + TestAccountReconciliationCommon, +) + + +@tagged("post_install", "-at_install") +class TestReconciliationWidget(TestAccountReconciliationCommon): + @classmethod + def _setup_context(cls): + return {**cls.env.context, "_test_account_reconcile_oca": True} + + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=cls._setup_context()) + # Auto-disable reconciliation model created automatically with + # generate_account_reconcile_model() to avoid side effects in tests + cls.invoice_matching_models = cls.env["account.reconcile.model"].search( + [ + ("rule_type", "=", "invoice_matching"), + ("auto_reconcile", "=", True), + ("company_id", "=", cls.company.id), + ] + ) + cls.invoice_matching_models.active = False + + cls.acc_bank_stmt_model = cls.env["account.bank.statement"] + cls.acc_bank_stmt_line_model = cls.env["account.bank.statement.line"] + cls.bank_journal_usd.suspense_account_id = ( + cls.env.company.account_journal_suspense_account_id + ) + cls.bank_journal_euro.suspense_account_id = ( + cls.env.company.account_journal_suspense_account_id + ) + cls.current_assets_account = cls.env["account.account"].search( + [ + ("account_type", "=", "asset_current"), + ("company_ids", "in", cls.env.company.id), + ], + limit=1, + ) + cls.current_assets_account.reconcile = True + + cls.rule = cls.env["account.reconcile.model"].create( + { + "name": "write-off model", + "rule_type": "writeoff_button", + "match_partner": True, + "match_partner_ids": [], + "line_ids": [ + Command.create({"account_id": cls.current_assets_account.id}) + ], + } + ) + cls.tax_10 = cls.env["account.tax"].create( + { + "name": "tax_10", + "amount_type": "percent", + "amount": 10.0, + } + ) + # We need to make some fields visible in order to make the tests work + cls.env["ir.ui.view"].create( + { + "name": "DEMO Account bank statement", + "model": "account.bank.statement.line", + "inherit_id": cls.env.ref( + "account_reconcile_oca.bank_statement_line_form_reconcile_view" + ).id, + "arch": """ + + + 0 + + + 0 + + + 0 + + + """, + } + ) + + # Testing reconcile action + + def test_reconcile_invoice_currency(self): + inv1 = self.create_invoice(currency_id=self.currency_usd_id, invoice_amount=100) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 50, + "amount_currency": 100, + "foreign_currency_id": self.currency_usd_id, + "date": time.strftime("%Y-07-15"), + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(f.can_reconcile) + + def test_reconcile_invoice_reconcile_full(self): + """ + We want to test the reconcile widget for bank statements on invoices. + As we use edit mode by default, we will also check what happens when + we press unreconcile + """ + inv1 = self.create_invoice( + currency_id=self.currency_euro_id, invoice_amount=100 + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 50, + "date": time.strftime("%Y-07-15"), + } + ) + receivable1 = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = receivable1 + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(f.can_reconcile) + f.manual_reference = f"account.move.line;{receivable1.id}" + self.assertEqual(-50, f.manual_amount) + self.assertEqual(2, len(bank_stmt_line.reconcile_data_info["data"])) + bank_stmt_line.button_manual_reference_full_paid() + self.assertEqual(3, len(bank_stmt_line.reconcile_data_info["data"])) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + f.manual_reference = f"account.move.line;{receivable1.id}" + self.assertEqual(-100, f.manual_amount) + + def test_reconcile_invoice_unreconcile(self): + """ + We want to test the reconcile widget for bank statements on invoices. + As we use edit mode by default, we will also check what happens when + we press unreconcile + """ + inv1 = self.create_invoice( + currency_id=self.currency_euro_id, invoice_amount=100 + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(f.can_reconcile) + self.assertFalse(bank_stmt_line.is_reconciled) + self.assertTrue( + bank_stmt_line.move_id.line_ids.filtered( + lambda r: r.account_id == self.bank_journal_euro.suspense_account_id + ) + ) + number_of_lines = len(bank_stmt_line.reconcile_data_info["data"]) + bank_stmt_line.reconcile_bank_line() + self.assertEqual( + number_of_lines, len(bank_stmt_line.reconcile_data_info["data"]) + ) + self.assertTrue(bank_stmt_line.is_reconciled) + self.assertFalse( + bank_stmt_line.move_id.line_ids.filtered( + lambda r: r.account_id == self.bank_journal_euro.suspense_account_id + ) + ) + bank_stmt_line.unreconcile_bank_line() + self.assertFalse(bank_stmt_line.is_reconciled) + self.assertTrue( + bank_stmt_line.move_id.line_ids.filtered( + lambda r: r.account_id == self.bank_journal_euro.suspense_account_id + ) + ) + + def test_reconcile_invoice_partial(self): + """ + We want to partially reconcile two invoices from a single payment. + As a result, both invoices must be partially reconciled + """ + inv1 = self.create_invoice( + currency_id=self.currency_euro_id, invoice_amount=100 + ) + inv2 = self.create_invoice( + currency_id=self.currency_euro_id, invoice_amount=100 + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + receivable1 = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + receivable2 = inv2.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = receivable1 + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(f.can_reconcile) + f.manual_reference = f"account.move.line;{receivable1.id}" + self.assertEqual(f.manual_amount, -100) + f.manual_amount = -70 + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = receivable2 + f.manual_reference = f"account.move.line;{receivable2.id}" + self.assertEqual(f.manual_amount, -30) + self.assertTrue(f.can_reconcile) + self.assertEqual(inv1.amount_residual_signed, 100) + self.assertEqual(inv2.amount_residual_signed, 100) + number_of_lines = len(bank_stmt_line.reconcile_data_info["data"]) + bank_stmt_line.reconcile_bank_line() + self.assertEqual( + number_of_lines, len(bank_stmt_line.reconcile_data_info["data"]) + ) + self.assertEqual(inv1.amount_residual_signed, 30) + self.assertEqual(inv2.amount_residual_signed, 70) + + def test_reconcile_invoice_partial_supplier(self): + """ + We want to partially reconcile two invoices from a single payment. + As a result, both invoices must be partially reconciled + """ + inv1 = self.create_invoice( + currency_id=self.currency_euro_id, + invoice_amount=100, + move_type="in_invoice", + ) + inv2 = self.create_invoice( + currency_id=self.currency_euro_id, + invoice_amount=100, + move_type="in_invoice", + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": -100, + "date": time.strftime("%Y-07-15"), + } + ) + receivable1 = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "liability_payable" + ) + receivable2 = inv2.line_ids.filtered( + lambda line: line.account_id.account_type == "liability_payable" + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = receivable1 + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(f.can_reconcile) + f.manual_reference = f"account.move.line;{receivable1.id}" + self.assertEqual(f.manual_amount, 100) + f.manual_amount = 70 + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = receivable2 + f.manual_reference = f"account.move.line;{receivable2.id}" + self.assertEqual(f.manual_amount, 30) + self.assertTrue(f.can_reconcile) + self.assertEqual(inv1.amount_residual_signed, -100) + self.assertEqual(inv2.amount_residual_signed, -100) + number_of_lines = len(bank_stmt_line.reconcile_data_info["data"]) + bank_stmt_line.reconcile_bank_line() + self.assertEqual( + number_of_lines, len(bank_stmt_line.reconcile_data_info["data"]) + ) + self.assertEqual(inv1.amount_residual_signed, -30) + self.assertEqual(inv2.amount_residual_signed, -70) + + def test_reconcile_model(self): + """ + We want to test what happens when we select an reconcile model to fill a + bank statement. + """ + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.manual_model_id = self.rule + self.assertTrue(f.can_reconcile) + number_of_lines = len(bank_stmt_line.reconcile_data_info["data"]) + bank_stmt_line.reconcile_bank_line() + self.assertEqual( + number_of_lines, len(bank_stmt_line.reconcile_data_info["data"]) + ) + self.assertEqual(2, len(bank_stmt_line.move_id.line_ids)) + self.assertTrue( + bank_stmt_line.move_id.line_ids.filtered( + lambda r: r.account_id == self.current_assets_account + ) + ) + + def test_reconcile_model_tax_included(self): + """ + We want to test what happens when we select an reconcile model to fill a + bank statement. + """ + self.rule.line_ids.write( + {"tax_ids": [Command.link(self.tax_10.id)], "force_tax_included": True} + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.manual_model_id = self.rule + self.assertTrue(f.can_reconcile) + number_of_lines = len(bank_stmt_line.reconcile_data_info["data"]) + bank_stmt_line.reconcile_bank_line() + self.assertEqual( + number_of_lines, len(bank_stmt_line.reconcile_data_info["data"]) + ) + self.assertEqual(3, len(bank_stmt_line.move_id.line_ids)) + self.assertTrue( + bank_stmt_line.move_id.line_ids.filtered( + lambda r: r.account_id == self.current_assets_account + and r.tax_ids == self.tax_10 + ) + ) + self.assertTrue( + bank_stmt_line.move_id.line_ids.filtered( + lambda r: r.tax_line_id == self.tax_10 + ) + ) + + def test_reconcile_invoice_model(self): + """ + We want to test what happens when we select a reconcile model to fill a + bank statement prefilled with an invoice. + + The result should be the reconcile of the invoice, and the rest set to the model + """ + + inv1 = self.create_invoice(currency_id=self.currency_euro_id) + + receivable1 = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = receivable1 + self.assertFalse(f.can_reconcile) + f.manual_model_id = self.rule + self.assertTrue(f.can_reconcile) + number_of_lines = len(bank_stmt_line.reconcile_data_info["data"]) + bank_stmt_line.reconcile_bank_line() + self.assertEqual( + number_of_lines, len(bank_stmt_line.reconcile_data_info["data"]) + ) + self.assertNotEqual(self.current_assets_account, receivable1.account_id) + self.assertTrue( + bank_stmt_line.move_id.line_ids.filtered( + lambda r: r.account_id == self.current_assets_account + ) + ) + self.assertTrue( + bank_stmt_line.move_id.line_ids.filtered( + lambda r: r.account_id == receivable1.account_id + ) + ) + self.assertEqual(0, inv1.amount_residual) + + def test_reconcile_rule_on_create(self): + """ + Testing the fill of the bank statment line with + writeoff suggestion reconcile model with auto_reconcile + """ + self.env["account.reconcile.model"].create( + { + "name": "write-off model suggestion", + "rule_type": "writeoff_suggestion", + "match_label": "contains", + "match_label_param": "DEMO WRITEOFF", + "auto_reconcile": True, + "line_ids": [ + Command.create({"account_id": self.current_assets_account.id}) + ], + } + ) + + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "DEMO WRITEOFF", + "payment_ref": "DEMO WRITEOFF", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + self.assertTrue(bank_stmt_line.is_reconciled) + + def test_reconcile_invoice_keep(self): + """ + We want to test how the keep mode works, keeping the original move lines. + When unreconciling, the entry created for the reconciliation is reversed. + """ + self.bank_journal_euro.reconcile_mode = "keep" + self.bank_journal_euro.suspense_account_id.reconcile = True + inv1 = self.create_invoice( + currency_id=self.currency_euro_id, invoice_amount=100 + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + receivable1 = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = receivable1 + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(bank_stmt_line.can_reconcile) + number_of_lines = len(bank_stmt_line.reconcile_data_info["data"]) + bank_stmt_line.reconcile_bank_line() + self.assertEqual( + number_of_lines, len(bank_stmt_line.reconcile_data_info["data"]) + ) + self.assertIn( + self.bank_journal_euro.suspense_account_id, + bank_stmt_line.mapped("move_id.line_ids.account_id"), + ) + # Reset reconciliation + reconcile_move = ( + bank_stmt_line.line_ids._all_reconciled_lines() + .filtered(lambda line: line.move_id != bank_stmt_line.move_id) + .move_id + ) + bank_stmt_line.unreconcile_bank_line() + self.assertTrue(reconcile_move.reversal_move_ids) + self.assertFalse(bank_stmt_line.is_reconciled) + + # Testing to check functionality + + def test_reconcile_invoice_to_check_reconciled(self): + """ + We want to test the reconcile widget for bank statements on invoices. + As we use edit mode by default, we will also check what happens when + we press unreconcile + """ + inv1 = self.create_invoice( + currency_id=self.currency_euro_id, invoice_amount=100 + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + receivable1 = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = receivable1 + self.assertTrue(f.can_reconcile) + self.assertFalse(bank_stmt_line.is_reconciled) + self.assertTrue(bank_stmt_line.checked) + bank_stmt_line.action_to_check() + self.assertTrue(bank_stmt_line.is_reconciled) + self.assertFalse(bank_stmt_line.checked) + bank_stmt_line.action_checked() + self.assertTrue(bank_stmt_line.is_reconciled) + self.assertTrue(bank_stmt_line.checked) + + def test_reconcile_invoice_to_check_not_reconciled(self): + """ + We want to test the reconcile widget for bank statements on invoices. + As we use edit mode by default, we will also check what happens when + we press unreconcile + """ + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + self.assertFalse(bank_stmt_line.is_reconciled) + self.assertTrue(bank_stmt_line.checked) + bank_stmt_line.action_to_check() + self.assertFalse(bank_stmt_line.is_reconciled) + self.assertFalse(bank_stmt_line.checked) + bank_stmt_line.action_checked() + self.assertFalse(bank_stmt_line.is_reconciled) + self.assertTrue(bank_stmt_line.checked) + + # Testing widget + + def test_widget_invoice_clean(self): + """ + We want to test how the clean works on an already defined bank statement + """ + inv1 = self.create_invoice( + currency_id=self.currency_euro_id, invoice_amount=100 + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + receivable1 = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = receivable1 + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(bank_stmt_line.can_reconcile) + bank_stmt_line.clean_reconcile() + self.assertFalse(bank_stmt_line.can_reconcile) + + def test_widget_invoice_delete(self): + """ + We need to test the possibility to remove a line from the reconcile widget + """ + inv1 = self.create_invoice( + currency_id=self.currency_euro_id, invoice_amount=100 + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + receivable1 = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = receivable1 + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(f.can_reconcile) + f.manual_reference = f"account.move.line;{receivable1.id}" + self.assertEqual(f.manual_amount, -100) + f.manual_delete = True + self.assertFalse(f.can_reconcile) + + def test_widget_invoice_unselect(self): + """ + We want to test how selection and unselection of an account move lines is + managed by the system. + """ + inv1 = self.create_invoice( + currency_id=self.currency_euro_id, invoice_amount=100 + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(f.can_reconcile) + f.add_account_move_line_id = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + self.assertFalse(f.add_account_move_line_id) + self.assertFalse(f.can_reconcile) + + def test_widget_invoice_change_partner(self): + """ + We want to know how the change of partner of + a bank statement line is managed + """ + inv1 = self.create_invoice( + currency_id=self.currency_euro_id, invoice_amount=100 + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + liquidity_lines, suspense_lines, other_lines = bank_stmt_line._seek_for_lines() + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + self.assertFalse(f.partner_id) + f.manual_reference = f"account.move.line;{liquidity_lines.id}" + f.manual_partner_id = inv1.partner_id + self.assertEqual(f.partner_id, inv1.partner_id) + bank_stmt_line.clean_reconcile() + # As we have set a partner, the cleaning should assign the invoice automatically + self.assertTrue(bank_stmt_line.can_reconcile) + + def test_widget_model_clean(self): + """ + We want to test what happens when we select an reconcile model to fill a + bank statement. + """ + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.manual_model_id = self.rule + self.assertTrue(f.can_reconcile) + # We need to check what happens when we uncheck it too + f.manual_model_id = self.env["account.reconcile.model"] + self.assertFalse(f.can_reconcile) + f.manual_model_id = self.rule + self.assertTrue(f.can_reconcile) + + # Testing actions + + def test_bank_statement_rainbowman(self): + message = self.bank_journal_euro.get_rainbowman_message() + self.assertTrue(message) + self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + self.env.flush_all() + message = self.bank_journal_euro.get_rainbowman_message() + self.assertFalse(message) + + def test_bank_statement_line_actions(self): + """ + Testing the actions of bank statement + """ + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + move_action = bank_stmt_line.action_show_move() + self.assertEqual( + bank_stmt_line.move_id, + self.env[move_action["res_model"]].browse(move_action["res_id"]), + ) + + # Testing filters + + def test_filter_partner(self): + """ + When a partner is set, the system might try to define an existent + invoice automatically + """ + inv1 = self.create_invoice(currency_id=self.currency_euro_id) + inv2 = self.create_invoice(currency_id=self.currency_euro_id) + partner = inv1.partner_id + + receivable1 = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + self.assertTrue(receivable1) + receivable2 = inv2.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + self.assertTrue(receivable2) + + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + + # Without a partner set, No default data + + bkstmt_data = bank_stmt_line.reconcile_data_info + mv_lines_ids = bkstmt_data["counterparts"] + self.assertNotIn(receivable1.id, mv_lines_ids) + self.assertNotIn(receivable2.id, mv_lines_ids) + + # This is like input a partner in the widget + + bank_stmt_line.partner_id = partner + bank_stmt_line.flush_recordset() + bank_stmt_line.invalidate_recordset() + bkstmt_data = bank_stmt_line.reconcile_data_info + mv_lines_ids = bkstmt_data["counterparts"] + + self.assertIn(receivable1.id, mv_lines_ids) + self.assertIn(receivable2.id, mv_lines_ids) + + # With a partner set, type the invoice reference in the filter + bank_stmt_line.payment_ref = inv1.payment_reference + bank_stmt_line.flush_recordset() + bank_stmt_line.invalidate_recordset() + bkstmt_data = bank_stmt_line.reconcile_data_info + mv_lines_ids = bkstmt_data["counterparts"] + + self.assertIn(receivable1.id, mv_lines_ids) + self.assertNotIn(receivable2.id, mv_lines_ids) + + def test_partner_name_with_parent(self): + parent_partner = self.env["res.partner"].create( + { + "name": "test_account_reconcile_oca", + } + ) + child_partner = self.env["res.partner"].create( + { + "name": "test_account_reconcile_oca", + "parent_id": parent_partner.id, + "type": "delivery", + } + ) + self.create_invoice_partner( + currency_id=self.currency_euro_id, partner_id=child_partner.id + ) + + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_euro.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + self.invoice_matching_models.active = True + self.invoice_matching_models.match_text_location_label = False + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "statement_id": bank_stmt.id, + "journal_id": self.bank_journal_euro.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + "payment_ref": "test", + "partner_name": "test_account_reconcile_oca", + } + ) + bkstmt_data = bank_stmt_line.reconcile_data_info + self.assertEqual(len(bkstmt_data["counterparts"]), 1) + self.assertEqual( + self.env["account.move.line"] + .browse(bkstmt_data["counterparts"]) + .partner_id, + parent_partner, + ) + + def test_journal_foreign_currency(self): + inv1 = self.create_invoice(currency_id=self.currency_usd_id, invoice_amount=100) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_usd.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_usd.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + self.assertFalse(f.can_reconcile) + f.add_account_move_line_id = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(f.can_reconcile) + self.assertTrue(bank_stmt_line.can_reconcile) + number_of_lines = len(bank_stmt_line.reconcile_data_info["data"]) + bank_stmt_line.reconcile_bank_line() + self.assertEqual( + number_of_lines, len(bank_stmt_line.reconcile_data_info["data"]) + ) + self.assertEqual(0, inv1.amount_residual) + self.assertTrue( + inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ).full_reconcile_id + ) + + def test_journal_foreign_currency_change(self): + self.env["res.currency.rate"].create( + { + "currency_id": self.env.ref("base.EUR").id, + "name": time.strftime("%Y-07-14"), + "rate": 1.15, + } + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_usd.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_usd.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + line = f.reconcile_data_info["data"][0] + self.assertEqual( + line["currency_amount"], + 100, + ) + self.env["res.currency.rate"].create( + { + "currency_id": self.env.ref("base.EUR").id, + "name": time.strftime("%Y-07-15"), + "rate": 1.2, + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + line = f.reconcile_data_info["data"][0] + self.assertEqual( + line["currency_amount"], + 100, + ) + + def test_invoice_foreign_currency_change(self): + self.env["res.currency.rate"].create( + { + "currency_id": self.env.ref("base.EUR").id, + "name": time.strftime("%Y-07-14"), + "rate": 1.15, + } + ) + self.env["res.currency.rate"].create( + { + "currency_id": self.env.ref("base.EUR").id, + "name": time.strftime("%Y-07-15"), + "rate": 1.2, + } + ) + inv1 = self._create_invoice( + currency_id=self.currency_usd_id, + invoice_amount=100, + date_invoice="2021-07-14", + auto_validate=True, + ) + bank_stmt = self.acc_bank_stmt_model.create( + { + "company_id": self.env.ref("base.main_company").id, + "journal_id": self.bank_journal_usd.id, + "date": time.strftime("%Y-07-15"), + "name": "test", + } + ) + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_usd.id, + "statement_id": bank_stmt.id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + with Form( + bank_stmt_line, + view="account_reconcile_oca.bank_statement_line_form_reconcile_view", + ) as f: + line = f.reconcile_data_info["data"][0] + self.assertEqual( + line["currency_amount"], + 100, + ) + f.add_account_move_line_id = inv1.line_ids.filtered( + lambda line: line.account_id.account_type == "asset_receivable" + ) + self.assertFalse(f.add_account_move_line_id) + self.assertTrue(f.can_reconcile) + self.assertEqual(3, len(f.reconcile_data_info["data"])) + + def test_receivable_line(self): + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "partner_id": self.partner_agrolait_id, + "amount": 100, + "date": time.strftime("%Y-07-15"), + } + ) + self.assertTrue(bank_stmt_line.can_reconcile) + suspense_line = False + for line in bank_stmt_line.reconcile_data_info["data"]: + if line["kind"] == "suspense": + suspense_line = line + break + self.assertTrue(suspense_line) + self.assertEqual( + self.env["account.account"] + .browse(suspense_line["account_id"][0]) + .account_type, + "asset_receivable", + ) + + def test_payable_line(self): + bank_stmt_line = self.acc_bank_stmt_line_model.create( + { + "name": "testLine", + "journal_id": self.bank_journal_euro.id, + "partner_id": self.partner_agrolait_id, + "amount": -100, + "date": time.strftime("%Y-07-15"), + } + ) + self.assertTrue(bank_stmt_line.can_reconcile) + suspense_line = False + for line in bank_stmt_line.reconcile_data_info["data"]: + if line["kind"] == "suspense": + suspense_line = line + break + self.assertTrue(suspense_line) + self.assertEqual( + self.env["account.account"] + .browse(suspense_line["account_id"][0]) + .account_type, + "liability_payable", + ) diff --git a/account_reconcile_oca/views/account_account.xml b/account_reconcile_oca/views/account_account.xml new file mode 100644 index 0000000000..b3abb21229 --- /dev/null +++ b/account_reconcile_oca/views/account_account.xml @@ -0,0 +1,21 @@ + + + + + account.account.list (in account_reconcile_oca) + account.account + + + + . + + + + + + + + + + + + + + + + + + + Statement lines + account.bank.statement.line + [('journal_id', '=', active_id)] + + {'default_journal_id': active_id, 'search_default_not_reconciled': True, 'view_ref': 'account_reconcile_oca.bank_statement_line_form_reconcile_view'} + + kanban,list + + +

+ Nothing to reconcile +

+
+
+ + Reconcile bank statement lines + account.bank.statement.line + [('journal_id', '=', active_id)] + {'default_journal_id': active_id, 'view_ref': 'account_reconcile_oca.bank_statement_line_form_reconcile_view'} + kanban,list + + +

+ Nothing to reconcile +

+
+
+ + Reconcile bank statement lines + account.bank.statement.line + [('journal_id', '=', active_id)] + + {'default_journal_id': active_id, 'search_default_to_check': True, 'view_ref': 'account_reconcile_oca.bank_statement_line_form_reconcile_view'} + + kanban + + +

+ Nothing to check +

+
+
+ + + Reconcile bank statement lines + account.bank.statement.line + {'search_default_move_id': active_id} + kanban + + +

+ Nothing to reconcile +

+
+
+ + Add Bank Statement Line + account.bank.statement.line + form + + new + +
diff --git a/account_reconcile_oca/views/account_journal.xml b/account_reconcile_oca/views/account_journal.xml new file mode 100644 index 0000000000..48819db625 --- /dev/null +++ b/account_reconcile_oca/views/account_journal.xml @@ -0,0 +1,75 @@ + + + + + account.journal.form.inherit + account.journal + + + + + + + + + + account.journal.kanban.inherit + account.journal + + + + + + + +
+ +
+ + + +
+
+
+
+ + + + +
+
+
diff --git a/account_reconcile_oca/views/account_move.xml b/account_reconcile_oca/views/account_move.xml new file mode 100644 index 0000000000..bf04b26cdc --- /dev/null +++ b/account_reconcile_oca/views/account_move.xml @@ -0,0 +1,23 @@ + + + + + account.move.form (in account_reconcile_oca) + account.move + + +
+
+
+
+
diff --git a/account_reconcile_oca/views/account_move_line.xml b/account_reconcile_oca/views/account_move_line.xml new file mode 100644 index 0000000000..0c82e6db16 --- /dev/null +++ b/account_reconcile_oca/views/account_move_line.xml @@ -0,0 +1,118 @@ + + + + + account.move.line.list.reconcile + account.move.line + 99 + + + + + + + + + + + + + + +