diff --git a/account_export_csv/README.rst b/account_export_csv/README.rst new file mode 100644 index 00000000..e4d132ac --- /dev/null +++ b/account_export_csv/README.rst @@ -0,0 +1,82 @@ +================== +Account Export CSV +================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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--financial--reporting-lightgray.png?logo=github + :target: https://github.com/OCA/account-financial-reporting/tree/12.0/account_export_csv + :alt: OCA/account-financial-reporting +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/account-financial-reporting-12-0/account-financial-reporting-12-0-account_export_csv + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/91/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + + +Add a wizard that allow you to export a csv file based on accounting +journal entries + +- Trial Balance +- Analytic Balance (with accounts) +- Journal Entries + +You can filter by date range + +**Table of contents** + +.. contents:: + :local: + +Known issues / Roadmap +====================== + + +* rearange wizard view with only one button to generate file plus define a selection list to select report type + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Camptocamp + +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. + +This module is part of the `OCA/account-financial-reporting `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_export_csv/__init__.py b/account_export_csv/__init__.py new file mode 100644 index 00000000..40272379 --- /dev/null +++ b/account_export_csv/__init__.py @@ -0,0 +1 @@ +from . import wizard diff --git a/account_export_csv/__manifest__.py b/account_export_csv/__manifest__.py new file mode 100644 index 00000000..dd3dcdc7 --- /dev/null +++ b/account_export_csv/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2013 Camptocamp SA +# Copyright 2017 ACSONE SA/NV +# Copyright 2017 Akretion +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Account Export CSV", + "summary": "Adds accounting CSV export", + "version": "14.0.0.0.1", + "depends": [ + "account", + "date_range", + ], + "author": "Camptocamp,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/account-financial-reporting", + "license": "AGPL-3", + "data": [ + "security/ir.model.access.csv", + "wizard/account_export_csv_view.xml", + ], + "installable": True, +} diff --git a/account_export_csv/i18n/account_export_csv.pot b/account_export_csv/i18n/account_export_csv.pot new file mode 100644 index 00000000..5158aa6e --- /dev/null +++ b/account_export_csv/i18n/account_export_csv.pot @@ -0,0 +1,294 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_export_csv +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.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_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:256 +#, python-format +msgid "ACCOUNT CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:175 +#: code:addons/account_export_csv/wizard/account_export_csv.py:267 +#, python-format +msgid "ACCOUNT NAME" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:269 +#, python-format +msgid "AMOUNT CURRENCY" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:263 +#, python-format +msgid "ANALYTIC ACCOUNT CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:271 +#, python-format +msgid "ANALYTIC ACCOUNT NAME" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:172 +#, python-format +msgid "ANALYTIC CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:173 +#, python-format +msgid "ANALYTIC NAME" +msgstr "" + +#. module: account_export_csv +#: model:ir.actions.act_window,name:account_export_csv.action_account_csv_export +#: model:ir.ui.menu,name:account_export_csv.menu_account_csv_export +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Accounting CSV Export" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Analytic Balance (with accounts)" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:121 +#: code:addons/account_export_csv/wizard/account_export_csv.py:178 +#: code:addons/account_export_csv/wizard/account_export_csv.py:268 +#, python-format +msgid "BALANCE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:275 +#, python-format +msgid "BANK STATEMENT" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:117 +#: code:addons/account_export_csv/wizard/account_export_csv.py:174 +#, python-format +msgid "CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:120 +#: code:addons/account_export_csv/wizard/account_export_csv.py:177 +#: code:addons/account_export_csv/wizard/account_export_csv.py:261 +#, python-format +msgid "CREDIT" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__data +msgid "CSV" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:270 +#, python-format +msgid "CURRENCY" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Close" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__company_id +msgid "Company" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_uid +msgid "Created by" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_date +msgid "Created on" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:254 +#, python-format +msgid "DATE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:119 +#: code:addons/account_export_csv/wizard/account_export_csv.py:176 +#: code:addons/account_export_csv/wizard/account_export_csv.py:260 +#, python-format +msgid "DEBIT" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:259 +#, python-format +msgid "DESCRIPTION" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Date" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_end +msgid "Date End" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_start +msgid "Date Start" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_range_id +msgid "Date range" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__display_name +msgid "Display Name" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:266 +#, python-format +msgid "ENTRY NUMBER" +msgstr "" + +#. module: account_export_csv +#: model:ir.model,name:account_export_csv.model_account_csv_export +msgid "Export Accounting" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__export_filename +msgid "Export CSV Filename" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:262 +#, python-format +msgid "FULL RECONCILE" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__id +msgid "ID" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,help:account_export_csv.field_account_csv_export__journal_ids +msgid "If empty, use all journals, only used for journal entries" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:272 +#, python-format +msgid "JOURNAL" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:255 +#, python-format +msgid "JOURNAL CODE" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Journal Entries" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__journal_ids +msgid "Journals" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export____last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:118 +#, python-format +msgid "NAME" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:257 +#, python-format +msgid "PARTNER NAME" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:258 +#, python-format +msgid "REF" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Report" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:273 +#, python-format +msgid "TAX CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:274 +#, python-format +msgid "TAX NAME" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Trial Balance" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "or" +msgstr "" + diff --git a/account_export_csv/i18n/es_AR.po b/account_export_csv/i18n/es_AR.po new file mode 100644 index 00000000..5cf73382 --- /dev/null +++ b/account_export_csv/i18n/es_AR.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_export_csv +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-09-10 19:00+0000\n" +"Last-Translator: Ignacio Buioli \n" +"Language-Team: none\n" +"Language: es_AR\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 3.10\n" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:256 +#, python-format +msgid "ACCOUNT CODE" +msgstr "CÓDIGO DE CUENTA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:175 +#: code:addons/account_export_csv/wizard/account_export_csv.py:267 +#, python-format +msgid "ACCOUNT NAME" +msgstr "NOMBRE DE CUENTA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:269 +#, python-format +msgid "AMOUNT CURRENCY" +msgstr "MONEDA DE LA CUENTA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:263 +#, python-format +msgid "ANALYTIC ACCOUNT CODE" +msgstr "CÓDIGO DE LA CUENTA ANALÍTICA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:271 +#, python-format +msgid "ANALYTIC ACCOUNT NAME" +msgstr "NOMBRE DE LA CUENTA ANALÍTICA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:172 +#, python-format +msgid "ANALYTIC CODE" +msgstr "CÓDIGO ANALÍTICO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:173 +#, python-format +msgid "ANALYTIC NAME" +msgstr "NOMBRE ANALÍTICO" + +#. module: account_export_csv +#: model:ir.actions.act_window,name:account_export_csv.action_account_csv_export +#: model:ir.ui.menu,name:account_export_csv.menu_account_csv_export +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Accounting CSV Export" +msgstr "Exportar CSV de Contabilidad" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Analytic Balance (with accounts)" +msgstr "Saldo Analítico (con cuentas)" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:121 +#: code:addons/account_export_csv/wizard/account_export_csv.py:178 +#: code:addons/account_export_csv/wizard/account_export_csv.py:268 +#, python-format +msgid "BALANCE" +msgstr "SALDO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:275 +#, python-format +msgid "BANK STATEMENT" +msgstr "DECLARACIÓN BANCARIA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:117 +#: code:addons/account_export_csv/wizard/account_export_csv.py:174 +#, python-format +msgid "CODE" +msgstr "CÓDIGO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:120 +#: code:addons/account_export_csv/wizard/account_export_csv.py:177 +#: code:addons/account_export_csv/wizard/account_export_csv.py:261 +#, python-format +msgid "CREDIT" +msgstr "CRÉDITO" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__data +msgid "CSV" +msgstr "CSV" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:270 +#, python-format +msgid "CURRENCY" +msgstr "MONEDA" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Close" +msgstr "Cerrar" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__company_id +msgid "Company" +msgstr "Compañía" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:254 +#, python-format +msgid "DATE" +msgstr "FECHA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:119 +#: code:addons/account_export_csv/wizard/account_export_csv.py:176 +#: code:addons/account_export_csv/wizard/account_export_csv.py:260 +#, python-format +msgid "DEBIT" +msgstr "DÉBITO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:259 +#, python-format +msgid "DESCRIPTION" +msgstr "DESCRIPCIÓN" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Date" +msgstr "Fecha" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_end +msgid "Date End" +msgstr "Fecha fin" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_start +msgid "Date Start" +msgstr "Fecha inicio" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_range_id +msgid "Date range" +msgstr "Periodo" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:266 +#, python-format +msgid "ENTRY NUMBER" +msgstr "NÚMERO DE ENTRADA" + +#. module: account_export_csv +#: model:ir.model,name:account_export_csv.model_account_csv_export +msgid "Export Accounting" +msgstr "Exportar Contabilidad" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__export_filename +msgid "Export CSV Filename" +msgstr "Exportar Nombre del archivo CSV" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:262 +#, python-format +msgid "FULL RECONCILE" +msgstr "RECONCILIACIÓN COMPLETA" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__id +msgid "ID" +msgstr "ID" + +#. module: account_export_csv +#: model:ir.model.fields,help:account_export_csv.field_account_csv_export__journal_ids +msgid "If empty, use all journals, only used for journal entries" +msgstr "" +"Si está vacío, usa todos los diarios, solo se usa para entradas de diario" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:272 +#, python-format +msgid "JOURNAL" +msgstr "DIARIO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:255 +#, python-format +msgid "JOURNAL CODE" +msgstr "CÓDIGO DEL DIARIO" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Journal Entries" +msgstr "Asientos Contables" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__journal_ids +msgid "Journals" +msgstr "Diarios" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_uid +msgid "Last Updated by" +msgstr "Última modificación por" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:118 +#, python-format +msgid "NAME" +msgstr "NOMBRE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:257 +#, python-format +msgid "PARTNER NAME" +msgstr "NOMBRE DEL SOCIO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:258 +#, python-format +msgid "REF" +msgstr "REF" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Report" +msgstr "Reporte" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:273 +#, python-format +msgid "TAX CODE" +msgstr "CÓDIGO DE IMPUESTO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:274 +#, python-format +msgid "TAX NAME" +msgstr "NOMBRE DE IMPUESTO" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Trial Balance" +msgstr "Balance de Sumas y Saldos" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "or" +msgstr "o" diff --git a/account_export_csv/i18n/fr.po b/account_export_csv/i18n/fr.po new file mode 100644 index 00000000..60b7cb18 --- /dev/null +++ b/account_export_csv/i18n/fr.po @@ -0,0 +1,306 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * account_export_csv +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-04-10 15:11+0000\n" +"PO-Revision-Date: 2020-10-16 10:09+0000\n" +"Last-Translator: vdewulf \n" +"Language-Team: \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 3.10\n" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:256 +#, python-format +msgid "ACCOUNT CODE" +msgstr "CODE DU COMPTE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:175 +#: code:addons/account_export_csv/wizard/account_export_csv.py:267 +#, python-format +msgid "ACCOUNT NAME" +msgstr "NOM DU COMPTE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:269 +#, python-format +msgid "AMOUNT CURRENCY" +msgstr "MONTANT" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:263 +#, python-format +msgid "ANALYTIC ACCOUNT CODE" +msgstr "CODE DU COMPTE ANALYTIQUE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:271 +#, python-format +msgid "ANALYTIC ACCOUNT NAME" +msgstr "NOM DU CODE ANALYTIQUE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:172 +#, python-format +msgid "ANALYTIC CODE" +msgstr "CODE ANALYTIQUE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:173 +#, python-format +msgid "ANALYTIC NAME" +msgstr "NOM ANALYTIQUE" + +#. module: account_export_csv +#: model:ir.actions.act_window,name:account_export_csv.action_account_csv_export +#: model:ir.ui.menu,name:account_export_csv.menu_account_csv_export +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Accounting CSV Export" +msgstr "Export comptable CSV" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Analytic Balance (with accounts)" +msgstr "Balance analytique (avec comptes)" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:121 +#: code:addons/account_export_csv/wizard/account_export_csv.py:178 +#: code:addons/account_export_csv/wizard/account_export_csv.py:268 +#, python-format +msgid "BALANCE" +msgstr "BALANCE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:275 +#, python-format +msgid "BANK STATEMENT" +msgstr "RELEVE BANCAIRE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:117 +#: code:addons/account_export_csv/wizard/account_export_csv.py:174 +#, fuzzy, python-format +msgid "CODE" +msgstr "CODE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:120 +#: code:addons/account_export_csv/wizard/account_export_csv.py:177 +#: code:addons/account_export_csv/wizard/account_export_csv.py:261 +#, python-format +msgid "CREDIT" +msgstr "CREDIT" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__data +msgid "CSV" +msgstr "CSV" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:270 +#, python-format +msgid "CURRENCY" +msgstr "DEVISE" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Close" +msgstr "Fermer" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__company_id +msgid "Company" +msgstr "Société" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:254 +#, python-format +msgid "DATE" +msgstr "Date" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:119 +#: code:addons/account_export_csv/wizard/account_export_csv.py:176 +#: code:addons/account_export_csv/wizard/account_export_csv.py:260 +#, python-format +msgid "DEBIT" +msgstr "Débit" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:259 +#, python-format +msgid "DESCRIPTION" +msgstr "DESCRIPTION" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Date" +msgstr "Date" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_end +msgid "Date End" +msgstr "Date de fin" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_start +msgid "Date Start" +msgstr "Date de début" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_range_id +msgid "Date range" +msgstr "Période" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:266 +#, python-format +msgid "ENTRY NUMBER" +msgstr "" + +#. module: account_export_csv +#: model:ir.model,name:account_export_csv.model_account_csv_export +msgid "Export Accounting" +msgstr "Export comptable" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__export_filename +msgid "Export CSV Filename" +msgstr "Nom du fichier CSV d'export" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:262 +#, python-format +msgid "FULL RECONCILE" +msgstr "RECONCILIATION COMPLETE" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__id +msgid "ID" +msgstr "ID" + +#. module: account_export_csv +#: model:ir.model.fields,help:account_export_csv.field_account_csv_export__journal_ids +msgid "If empty, use all journals, only used for journal entries" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:272 +#, python-format +msgid "JOURNAL" +msgstr "JOURNAL" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:255 +#, python-format +msgid "JOURNAL CODE" +msgstr "CODE DU JOURNAL" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Journal Entries" +msgstr "Mouvements du journal" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__journal_ids +msgid "Journals" +msgstr "Journaux" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:118 +#, python-format +msgid "NAME" +msgstr "NOM" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:257 +#, python-format +msgid "PARTNER NAME" +msgstr "NOM DU PARTENAIRE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:258 +#, python-format +msgid "REF" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Report" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:273 +#, python-format +msgid "TAX CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:274 +#, python-format +msgid "TAX NAME" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Trial Balance" +msgstr "Balance générale" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "or" +msgstr "" + +#~ msgid "All periods in the fiscal year if empty" +#~ msgstr "Toutes les périodes de l'année fiscale si vide" + +#~ msgid "Periods" +#~ msgstr "Périodes" + +#~ msgid "Fiscalyear" +#~ msgstr "Année fiscale" diff --git a/account_export_csv/i18n/hr.po b/account_export_csv/i18n/hr.po new file mode 100644 index 00000000..1db58e65 --- /dev/null +++ b/account_export_csv/i18n/hr.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_export_csv +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-03-05 12:13+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 3.10\n" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:256 +#, python-format +msgid "ACCOUNT CODE" +msgstr "ŠIFRA KONTA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:175 +#: code:addons/account_export_csv/wizard/account_export_csv.py:267 +#, python-format +msgid "ACCOUNT NAME" +msgstr "NAZIV KONTA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:269 +#, python-format +msgid "AMOUNT CURRENCY" +msgstr "IZNOS U VALUTI" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:263 +#, python-format +msgid "ANALYTIC ACCOUNT CODE" +msgstr "ŠIFRA ANALITIČKOG KONTA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:271 +#, python-format +msgid "ANALYTIC ACCOUNT NAME" +msgstr "NAZIV ANALITIČKOG KONTA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:172 +#, python-format +msgid "ANALYTIC CODE" +msgstr "ŠIFRA ANALITIKE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:173 +#, python-format +msgid "ANALYTIC NAME" +msgstr "NAZIV ANALITIKE" + +#. module: account_export_csv +#: model:ir.actions.act_window,name:account_export_csv.action_account_csv_export +#: model:ir.ui.menu,name:account_export_csv.menu_account_csv_export +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Accounting CSV Export" +msgstr "Izvoz podataka u CSV" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Analytic Balance (with accounts)" +msgstr "Analitički saldo (sa kontima)" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:121 +#: code:addons/account_export_csv/wizard/account_export_csv.py:178 +#: code:addons/account_export_csv/wizard/account_export_csv.py:268 +#, python-format +msgid "BALANCE" +msgstr "SALDO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:275 +#, python-format +msgid "BANK STATEMENT" +msgstr "BANKOVNI IZVOD" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:117 +#: code:addons/account_export_csv/wizard/account_export_csv.py:174 +#, python-format +msgid "CODE" +msgstr "ŠIFRA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:120 +#: code:addons/account_export_csv/wizard/account_export_csv.py:177 +#: code:addons/account_export_csv/wizard/account_export_csv.py:261 +#, python-format +msgid "CREDIT" +msgstr "POTRAŽUJE" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__data +msgid "CSV" +msgstr "CSV" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:270 +#, python-format +msgid "CURRENCY" +msgstr "VALUTA" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Close" +msgstr "Zatvori" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__company_id +msgid "Company" +msgstr "Tvrtka" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:254 +#, python-format +msgid "DATE" +msgstr "DATUM" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:119 +#: code:addons/account_export_csv/wizard/account_export_csv.py:176 +#: code:addons/account_export_csv/wizard/account_export_csv.py:260 +#, python-format +msgid "DEBIT" +msgstr "DUGUJE" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:259 +#, python-format +msgid "DESCRIPTION" +msgstr "OPIS" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Date" +msgstr "Datum" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_end +msgid "Date End" +msgstr "Završni datum" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_start +msgid "Date Start" +msgstr "Početni datum" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_range_id +msgid "Date range" +msgstr "Raspon datuma" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__display_name +msgid "Display Name" +msgstr "Naziv" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:266 +#, python-format +msgid "ENTRY NUMBER" +msgstr "BROJ STAVKE" + +#. module: account_export_csv +#: model:ir.model,name:account_export_csv.model_account_csv_export +msgid "Export Accounting" +msgstr "Izvoz podataka računovodstva" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__export_filename +msgid "Export CSV Filename" +msgstr "Naziv CVS datoteke" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:262 +#, python-format +msgid "FULL RECONCILE" +msgstr "POTPUNO ZATVORENO" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__id +msgid "ID" +msgstr "ID" + +#. module: account_export_csv +#: model:ir.model.fields,help:account_export_csv.field_account_csv_export__journal_ids +msgid "If empty, use all journals, only used for journal entries" +msgstr "Ako je prazno, koristi sve dnevnike, samo se odnosi na stavke dnevnika" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:272 +#, python-format +msgid "JOURNAL" +msgstr "DNEVNIK" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:255 +#, python-format +msgid "JOURNAL CODE" +msgstr "ŠIFRA DNEVNIKA" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Journal Entries" +msgstr "Stavke dnevnika" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__journal_ids +msgid "Journals" +msgstr "Dnevnici" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export____last_update +msgid "Last Modified on" +msgstr "Zadnje modificirano" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_uid +msgid "Last Updated by" +msgstr "Zadnje ažurirao" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:118 +#, python-format +msgid "NAME" +msgstr "NAZIV" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:257 +#, python-format +msgid "PARTNER NAME" +msgstr "NAZIV PARTNERA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:258 +#, python-format +msgid "REF" +msgstr "REF" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Report" +msgstr "Izvještaj" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:273 +#, python-format +msgid "TAX CODE" +msgstr "ŠIFRA POREZA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:274 +#, python-format +msgid "TAX NAME" +msgstr "NAZIV POREZA" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Trial Balance" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "or" +msgstr "ili" diff --git a/account_export_csv/i18n/nl.po b/account_export_csv/i18n/nl.po new file mode 100644 index 00000000..62169079 --- /dev/null +++ b/account_export_csv/i18n/nl.po @@ -0,0 +1,305 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# * account_export_csv +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-22 12:52+0000\n" +"PO-Revision-Date: 2013-08-22 12:52+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:256 +#, python-format +msgid "ACCOUNT CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:175 +#: code:addons/account_export_csv/wizard/account_export_csv.py:267 +#, python-format +msgid "ACCOUNT NAME" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:269 +#, python-format +msgid "AMOUNT CURRENCY" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:263 +#, python-format +msgid "ANALYTIC ACCOUNT CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:271 +#, python-format +msgid "ANALYTIC ACCOUNT NAME" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:172 +#, python-format +msgid "ANALYTIC CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:173 +#, python-format +msgid "ANALYTIC NAME" +msgstr "" + +#. module: account_export_csv +#: model:ir.actions.act_window,name:account_export_csv.action_account_csv_export +#: model:ir.ui.menu,name:account_export_csv.menu_account_csv_export +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Accounting CSV Export" +msgstr "CSV export financiën" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Analytic Balance (with accounts)" +msgstr "Kostenplaatsenbalans (met rekeningen)" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:121 +#: code:addons/account_export_csv/wizard/account_export_csv.py:178 +#: code:addons/account_export_csv/wizard/account_export_csv.py:268 +#, python-format +msgid "BALANCE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:275 +#, python-format +msgid "BANK STATEMENT" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:117 +#: code:addons/account_export_csv/wizard/account_export_csv.py:174 +#, python-format +msgid "CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:120 +#: code:addons/account_export_csv/wizard/account_export_csv.py:177 +#: code:addons/account_export_csv/wizard/account_export_csv.py:261 +#, python-format +msgid "CREDIT" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__data +msgid "CSV" +msgstr "CSV" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:270 +#, python-format +msgid "CURRENCY" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Close" +msgstr "Sluiten" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__company_id +msgid "Company" +msgstr "Bedrijf" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_uid +msgid "Created by" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_date +msgid "Created on" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:254 +#, python-format +msgid "DATE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:119 +#: code:addons/account_export_csv/wizard/account_export_csv.py:176 +#: code:addons/account_export_csv/wizard/account_export_csv.py:260 +#, python-format +msgid "DEBIT" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:259 +#, python-format +msgid "DESCRIPTION" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Date" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_end +msgid "Date End" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_start +msgid "Date Start" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_range_id +msgid "Date range" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__display_name +msgid "Display Name" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:266 +#, python-format +msgid "ENTRY NUMBER" +msgstr "" + +#. module: account_export_csv +#: model:ir.model,name:account_export_csv.model_account_csv_export +msgid "Export Accounting" +msgstr "Export Financiën" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__export_filename +msgid "Export CSV Filename" +msgstr "Export CSV bestandsnaam" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:262 +#, python-format +msgid "FULL RECONCILE" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__id +msgid "ID" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,help:account_export_csv.field_account_csv_export__journal_ids +msgid "If empty, use all journals, only used for journal entries" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:272 +#, python-format +msgid "JOURNAL" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:255 +#, python-format +msgid "JOURNAL CODE" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Journal Entries" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__journal_ids +msgid "Journals" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export____last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:118 +#, python-format +msgid "NAME" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:257 +#, python-format +msgid "PARTNER NAME" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:258 +#, python-format +msgid "REF" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Report" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:273 +#, python-format +msgid "TAX CODE" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:274 +#, python-format +msgid "TAX NAME" +msgstr "" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Trial Balance" +msgstr "Proefbalans" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "or" +msgstr "" + +#~ msgid "All periods in the fiscal year if empty" +#~ msgstr "Alle periodes van het boekjaar indien leeg" + +#~ msgid "Periods" +#~ msgstr "Periodes" + +#~ msgid "Fiscalyear" +#~ msgstr "Boekjaar" diff --git a/account_export_csv/i18n/pt.po b/account_export_csv/i18n/pt.po new file mode 100644 index 00000000..24a473d1 --- /dev/null +++ b/account_export_csv/i18n/pt.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_export_csv +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-06-17 23:19+0000\n" +"Last-Translator: Fernando Colus \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 3.10\n" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "" +msgstr "" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:256 +#, python-format +msgid "ACCOUNT CODE" +msgstr "CÓDIGO DE CONTA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:175 +#: code:addons/account_export_csv/wizard/account_export_csv.py:267 +#, python-format +msgid "ACCOUNT NAME" +msgstr "NOME DA CONTA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:269 +#, python-format +msgid "AMOUNT CURRENCY" +msgstr "MONTANTE DA MOEDA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:263 +#, python-format +msgid "ANALYTIC ACCOUNT CODE" +msgstr "CÓDIGO DE CONTA ANALÍTICA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:271 +#, python-format +msgid "ANALYTIC ACCOUNT NAME" +msgstr "NOME DA CONTA ANALÍTICA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:172 +#, python-format +msgid "ANALYTIC CODE" +msgstr "CÓDIGO ANALÍTICO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:173 +#, python-format +msgid "ANALYTIC NAME" +msgstr "NOME ANALÍTICO" + +#. module: account_export_csv +#: model:ir.actions.act_window,name:account_export_csv.action_account_csv_export +#: model:ir.ui.menu,name:account_export_csv.menu_account_csv_export +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Accounting CSV Export" +msgstr "Exportador de Contas csv" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Analytic Balance (with accounts)" +msgstr "Saldo Analítico (com contas)" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:121 +#: code:addons/account_export_csv/wizard/account_export_csv.py:178 +#: code:addons/account_export_csv/wizard/account_export_csv.py:268 +#, python-format +msgid "BALANCE" +msgstr "SALDO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:275 +#, python-format +msgid "BANK STATEMENT" +msgstr "EXTRATO BANCÁRIO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:117 +#: code:addons/account_export_csv/wizard/account_export_csv.py:174 +#, python-format +msgid "CODE" +msgstr "CÓDIGO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:120 +#: code:addons/account_export_csv/wizard/account_export_csv.py:177 +#: code:addons/account_export_csv/wizard/account_export_csv.py:261 +#, python-format +msgid "CREDIT" +msgstr "CRÉDITO" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__data +msgid "CSV" +msgstr "CSV" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:270 +#, python-format +msgid "CURRENCY" +msgstr "DIVISA" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Close" +msgstr "Fecho" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__company_id +msgid "Company" +msgstr "Empresa" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:254 +#, python-format +msgid "DATE" +msgstr "DATA" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:119 +#: code:addons/account_export_csv/wizard/account_export_csv.py:176 +#: code:addons/account_export_csv/wizard/account_export_csv.py:260 +#, python-format +msgid "DEBIT" +msgstr "DÉBITO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:259 +#, python-format +msgid "DESCRIPTION" +msgstr "DESCRIÇÃO" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Date" +msgstr "Data" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_end +msgid "Date End" +msgstr "Data Final" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_start +msgid "Date Start" +msgstr "Data Inicial" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__date_range_id +msgid "Date range" +msgstr "Período" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__display_name +msgid "Display Name" +msgstr "Exibir nome" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:266 +#, python-format +msgid "ENTRY NUMBER" +msgstr "NÚMERO DO MOVIMENTO" + +#. module: account_export_csv +#: model:ir.model,name:account_export_csv.model_account_csv_export +msgid "Export Accounting" +msgstr "Exportar Contabilidade" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__export_filename +msgid "Export CSV Filename" +msgstr "Exportar Ficheiro CSV" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:262 +#, python-format +msgid "FULL RECONCILE" +msgstr "RECONCILIAÇÃO COMPLETA" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__id +msgid "ID" +msgstr "ID" + +#. module: account_export_csv +#: model:ir.model.fields,help:account_export_csv.field_account_csv_export__journal_ids +msgid "If empty, use all journals, only used for journal entries" +msgstr "Se vazio, usa todos os diários, apenas usada para movimentos de diário" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:272 +#, python-format +msgid "JOURNAL" +msgstr "DIÁRIO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:255 +#, python-format +msgid "JOURNAL CODE" +msgstr "CÓDIGO DE DIÁRIO" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Journal Entries" +msgstr "Movimentos de Diário" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__journal_ids +msgid "Journals" +msgstr "Diários" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export____last_update +msgid "Last Modified on" +msgstr "Última modificação em" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_uid +msgid "Last Updated by" +msgstr "Última Atualização Feita em" + +#. module: account_export_csv +#: model:ir.model.fields,field_description:account_export_csv.field_account_csv_export__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:118 +#, python-format +msgid "NAME" +msgstr "NOME" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:257 +#, python-format +msgid "PARTNER NAME" +msgstr "NOME DO PARCEIRO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:258 +#, python-format +msgid "REF" +msgstr "REF" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Report" +msgstr "Relatório" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:273 +#, python-format +msgid "TAX CODE" +msgstr "CÓDIGO DE IMPOSTO" + +#. module: account_export_csv +#: code:addons/account_export_csv/wizard/account_export_csv.py:274 +#, python-format +msgid "TAX NAME" +msgstr "NOME DE IMPOSTO" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "Trial Balance" +msgstr "Balancete" + +#. module: account_export_csv +#: model_terms:ir.ui.view,arch_db:account_export_csv.account_csv_export_view +msgid "or" +msgstr "ou" diff --git a/account_export_csv/readme/CONTRBUTORS.rst b/account_export_csv/readme/CONTRBUTORS.rst new file mode 100644 index 00000000..5f39c61f --- /dev/null +++ b/account_export_csv/readme/CONTRBUTORS.rst @@ -0,0 +1,16 @@ +* Camptocamp + + * Yannick Vaucher + * Alexandre Fayolle + * Vincent Renaville + * Guewen Baconnier + +* Acsone + + * Stéphane Bidoul + * Laetitia Gangloff + * Adrien Peiffer + +* Akretion + + * David Béal diff --git a/account_export_csv/readme/DESCRIPTION.rst b/account_export_csv/readme/DESCRIPTION.rst new file mode 100644 index 00000000..2f682d54 --- /dev/null +++ b/account_export_csv/readme/DESCRIPTION.rst @@ -0,0 +1,9 @@ + +Add a wizard that allow you to export a csv file based on accounting +journal entries + +- Trial Balance +- Analytic Balance (with accounts) +- Journal Entries + +You can filter by date range diff --git a/account_export_csv/readme/ROADMAP.rst b/account_export_csv/readme/ROADMAP.rst new file mode 100644 index 00000000..b5b9cf59 --- /dev/null +++ b/account_export_csv/readme/ROADMAP.rst @@ -0,0 +1,2 @@ + +* rearange wizard view with only one button to generate file plus define a selection list to select report type diff --git a/account_export_csv/security/ir.model.access.csv b/account_export_csv/security/ir.model.access.csv new file mode 100644 index 00000000..f56a01d0 --- /dev/null +++ b/account_export_csv/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_csv_export,access_account_csv_export,model_account_csv_export,base.group_user,1,1,1,1 diff --git a/account_export_csv/static/description/icon.png b/account_export_csv/static/description/icon.png new file mode 100644 index 00000000..3a0328b5 Binary files /dev/null and b/account_export_csv/static/description/icon.png differ diff --git a/account_export_csv/static/description/index.html b/account_export_csv/static/description/index.html new file mode 100644 index 00000000..330d5721 --- /dev/null +++ b/account_export_csv/static/description/index.html @@ -0,0 +1,426 @@ + + + + + + +Account Export CSV + + + +
+

Account Export CSV

+ + +

Beta License: AGPL-3 OCA/account-financial-reporting Translate me on Weblate Try me on Runbot

+

Add a wizard that allow you to export a csv file based on accounting +journal entries

+
    +
  • Trial Balance
  • +
  • Analytic Balance (with accounts)
  • +
  • Journal Entries
  • +
+

You can filter by date range

+

Table of contents

+ +
+

Known issues / Roadmap

+
    +
  • rearange wizard view with only one button to generate file plus define a selection list to select report type
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Camptocamp
  • +
+
+
+

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.

+

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

+

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

+
+
+
+ + diff --git a/account_export_csv/tests/__init__.py b/account_export_csv/tests/__init__.py new file mode 100644 index 00000000..d94ad021 --- /dev/null +++ b/account_export_csv/tests/__init__.py @@ -0,0 +1 @@ +from . import test_account_export_csv diff --git a/account_export_csv/tests/test_account_export_csv.py b/account_export_csv/tests/test_account_export_csv.py new file mode 100644 index 00000000..26338c83 --- /dev/null +++ b/account_export_csv/tests/test_account_export_csv.py @@ -0,0 +1,51 @@ +# Copyright 2017 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import base64 +from datetime import date + +from dateutil import relativedelta + +from odoo import fields +from odoo.tests.common import TransactionCase + + +class TestAccountExportCsv(TransactionCase): + def setUp(self): + super(TestAccountExportCsv, self).setUp() + self.report_wizard = self.env["account.csv.export"] + today_dt = date.today() + next_month_date = today_dt + relativedelta.relativedelta(months=1) + self.report_date_start = fields.Date.to_string(today_dt) + self.report_date_end = fields.Date.to_string(next_month_date) + + def test_1(self): + report_wizard = self.report_wizard.create( + {"date_start": self.report_date_start, "date_end": self.report_date_end} + ) + report_wizard.action_manual_export_account() + + def test_2(self): + report_wizard = self.report_wizard.create( + {"date_start": self.report_date_start, "date_end": self.report_date_end} + ) + report_wizard.action_manual_export_analytic() + + def test_3(self): + report_wizard = self.report_wizard.create( + {"date_start": self.report_date_start, "date_end": self.report_date_end} + ) + report_wizard.action_manual_export_journal_entries() + + def test_file_content(self): + report_wizard = self.report_wizard.create( + { + "date_start": "2000-01-01", + "date_end": "2200-01-01", + } + ) + report_wizard.action_manual_export_journal_entries() + res = base64.decodebytes(report_wizard.data) + line_number = self.env["account.move.line"].search_count([]) + # check the number of lines in file: include header + EOF line + self.assertEqual(len(res.decode().split("\r\n")), line_number + 2) diff --git a/account_export_csv/wizard/__init__.py b/account_export_csv/wizard/__init__.py new file mode 100644 index 00000000..2c9e63ab --- /dev/null +++ b/account_export_csv/wizard/__init__.py @@ -0,0 +1 @@ +from . import account_export_csv diff --git a/account_export_csv/wizard/account_export_csv.py b/account_export_csv/wizard/account_export_csv.py new file mode 100644 index 00000000..467a6513 --- /dev/null +++ b/account_export_csv/wizard/account_export_csv.py @@ -0,0 +1,366 @@ +# Copyright 2013 Camptocamp SA +# Copyright 2017 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import base64 +import codecs +import csv +import itertools +import tempfile +from io import BytesIO, StringIO + +from odoo import _, api, fields, models + + +class AccountingWriter(object): + + """ + A CSV writer which will write rows to CSV file "f", + which is encoded in the given encoding. + """ + + def __init__(self, f, dialect=csv.excel, encoding="utf-8", **kwds): + # Redirect output to a queue + self.queue = StringIO() + # created a writer with Excel formating settings + self.writer = csv.writer(self.queue, dialect=dialect, **kwds) + self.stream = f + self.encoder = codecs.getincrementalencoder(encoding)() + + def writerow(self, row): + # we ensure that we do not try to encode none or bool + row = (x or "" for x in row) + self.writer.writerow(row) + # Fetch UTF-8 output from the queue ... + data = self.queue.getvalue() + # ... and reencode it into the target encoding as BytesIO + data = self.encoder.encode(data) + # write to the target stream + self.stream.write(data) + # seek() or truncate() have side effect if not used combinated + self.queue.truncate(0) + self.queue.seek(0) + # https://stackoverflow.com/questions/4330812/how-do-i-clear-a-stringio-object + # It fails when you use `self.queue = StringIO()` only add one line + + def writerows(self, rows): + for row in rows: + self.writerow(row) + # https://docs.python.org/3/library/io.html#io.IOBase.close + self.queue.close() + + +class AccountCSVExport(models.TransientModel): + _name = "account.csv.export" + _description = "Export Accounting" + + data = fields.Binary("CSV", readonly=True) + company_id = fields.Many2one( + comodel_name="res.company", + string="Company", + invisible=True, + default=lambda self: self._get_company_default(), + ) + date_start = fields.Date(required=True) + date_end = fields.Date(required=True) + date_range_id = fields.Many2one(comodel_name="date.range", string="Date range") + journal_ids = fields.Many2many( + comodel_name="account.journal", + string="Journals", + default=lambda s: s._get_journal_default(), + help="If empty, use all journals, only used for journal entries", + ) + export_filename = fields.Char( + string="Export CSV Filename", size=128, default="account_export.csv" + ) + + @api.model + def _get_journal_default(self): + """ Implements your own default """ + return False + + @api.model + def _get_company_default(self): + return self.env.user.company_id + + @api.onchange("date_range_id") + def _onchange_date_range(self): + if self.date_range_id: + self.date_start = self.date_range_id.date_start + self.date_end = self.date_range_id.date_end + + @api.onchange("date_start", "date_end") + def _onchange_dates(self): + if self.date_range_id: + if ( + self.date_start != self.date_range_id.date_start + or self.date_end != self.date_range_id.date_end + ): + self.date_range_id = False + + def action_manual_export_account(self): + self.ensure_one() + rows = self._get_data("account") + file_data = BytesIO() + try: + writer = AccountingWriter(file_data) + writer.writerows(rows) + file_value = file_data.getvalue() + self.write({"data": base64.encodebytes(file_value)}) + finally: + file_data.close() + return { + "type": "ir.actions.act_window", + "res_model": "account.csv.export", + "view_mode": "form", + "res_id": self.id, + "views": [(False, "form")], + "target": "new", + } + + def _get_header_account(self): + return [ + _("CODE"), + _("NAME"), + _("DEBIT"), + _("CREDIT"), + _("BALANCE"), + ] + + def _get_rows_account(self, journal_ids): + """ + Return list to generate rows of the CSV file + """ + self.ensure_one() + self.env.cr.execute( + """ + select ac.code,ac.name, + sum(debit) as sum_debit, + sum(credit) as sum_credit, + sum(debit) - sum(credit) as balance + from account_move_line as aml,account_account as ac + where aml.account_id = ac.id + AND aml.date >= %(date_start)s + AND aml.date <= %(date_end)s + group by ac.id,ac.code,ac.name + order by ac.code + """, + {"date_start": self.date_start, "date_end": self.date_end}, + ) + res = self.env.cr.fetchall() + + rows = [] + for line in res: + rows.append(list(line)) + return rows + + def action_manual_export_analytic(self): + self.ensure_one() + rows = self._get_data("analytic") + file_data = BytesIO() + try: + writer = AccountingWriter(file_data) + writer.writerows(rows) + file_value = file_data.getvalue() + self.write({"data": base64.encodebytes(file_value)}) + finally: + file_data.close() + return { + "type": "ir.actions.act_window", + "res_model": "account.csv.export", + "view_mode": "form", + "view_type": "form", + "res_id": self.id, + "views": [(False, "form")], + "target": "new", + } + + def _get_header_analytic(self): + return [ + _("ANALYTIC CODE"), + _("ANALYTIC NAME"), + _("CODE"), + _("ACCOUNT NAME"), + _("DEBIT"), + _("CREDIT"), + _("BALANCE"), + ] + + def _get_rows_analytic(self, journal_ids): + """ + Return list to generate rows of the CSV file + """ + self.ensure_one() + self.env.cr.execute( + """ select aac.code as analytic_code, + aac.name as analytic_name, + ac.code,ac.name, + sum(debit) as sum_debit, + sum(credit) as sum_credit, + sum(debit) - sum(credit) as balance + from account_move_line + left outer join account_analytic_account as aac + on (account_move_line.analytic_account_id = aac.id) + inner join account_account as ac + on account_move_line.account_id = ac.id + AND account_move_line.date >= %(date_start)s + AND account_move_line.date <= %(date_end)s + group by aac.id,aac.code,aac.name,ac.id,ac.code,ac.name + order by aac.code + """, + {"date_start": self.date_start, "date_end": self.date_end}, + ) + res = self.env.cr.fetchall() + + rows = [] + for line in res: + rows.append(list(line)) + return rows + + def action_manual_export_journal_entries(self): + """ + Here we use TemporaryFile to avoid full filling the Odoo worker + Memory + We also write the data to the wizard with SQL query as write seems + to use too much memory as well. + Those improvements permitted to improve the export from a 100k line to + 200k lines + with default `limit_memory_hard = 805306368` (768MB) with more lines, + you might encounter a MemoryError when trying to download the file even + if it has been generated. + To be able to export bigger volume of data, it is advised to set + limit_memory_hard to 2097152000 (2 GB) to generate the file and let + Odoo load it in the wizard when trying to download it. + Tested with up to a generation of 700k entry lines + """ + self.ensure_one() + rows = self._get_data("journal_entries") + with tempfile.TemporaryFile() as file_data: + writer = AccountingWriter(file_data) + writer.writerows(rows) + with tempfile.TemporaryFile() as base64_data: + file_data.seek(0) + base64.encode(file_data, base64_data) + base64_data.seek(0) + self.env.cr.execute( + """ + UPDATE account_csv_export + SET data = %s + WHERE id = %s""", + (base64_data.read(), self.id), + ) + return { + "type": "ir.actions.act_window", + "res_model": "account.csv.export", + "view_mode": "form", + "res_id": self.id, + "views": [(False, "form")], + "target": "new", + } + + def _get_header_journal_entries(self): + return [ + # Standard Sage export fields + _("DATE"), + _("JOURNAL CODE"), + _("ACCOUNT CODE"), + _("PARTNER NAME"), + _("REF"), + _("DESCRIPTION"), + _("DEBIT"), + _("CREDIT"), + _("FULL RECONCILE"), + _("ANALYTIC ACCOUNT CODE"), + # Other fields + _("ENTRY NUMBER"), + _("ACCOUNT NAME"), + _("BALANCE"), + _("AMOUNT CURRENCY"), + _("CURRENCY"), + _("ANALYTIC ACCOUNT NAME"), + _("JOURNAL"), + _("TAX CODE"), + _("TAX NAME"), + _("BANK STATEMENT"), + ] + + def _get_rows_journal_entries(self, journal_ids): + """ + Create a generator of rows of the CSV file + """ + self.ensure_one() + self.env.cr.execute( + """ + SELECT + account_move_line.date AS date, + account_journal.name as journal, + account_account.code AS account_code, + res_partner.name AS partner_name, + account_move_line.ref AS ref, + account_move_line.name AS description, + account_move_line.debit AS debit, + account_move_line.credit AS credit, + account_full_reconcile.name as full_reconcile, + account_analytic_account.code AS analytic_account_code, + account_move.name AS entry_number, + account_account.name AS account_name, + account_move_line.debit - account_move_line.credit AS balance, + account_move_line.amount_currency AS amount_currency, + res_currency.name AS currency, + account_analytic_account.name AS analytic_account_name, + account_journal.name as journal, + acct.description as tax_code, + acct.name as tax_name, + account_bank_statement.name AS bank_statement + FROM + public.account_move_line + JOIN account_account on + (account_account.id=account_move_line.account_id) + JOIN account_journal on + (account_journal.id = account_move_line.journal_id) + LEFT JOIN res_currency on + (res_currency.id=account_move_line.currency_id) + LEFT JOIN account_full_reconcile on + (account_full_reconcile.id = account_move_line.full_reconcile_id) + LEFT JOIN res_partner on + (res_partner.id=account_move_line.partner_id) + LEFT JOIN account_move on + (account_move.id=account_move_line.move_id) + LEFT JOIN account_analytic_account on + (account_analytic_account.id=account_move_line.analytic_account_id) + LEFT JOIN account_bank_statement on + (account_bank_statement.id=account_move_line.statement_id) + LEFT JOIN account_tax acct on + (acct.id=account_move_line.tax_line_id) + WHERE account_move_line.date >= %(date_start)s + AND account_move_line.date <= %(date_end)s + AND account_journal.id IN %(journal_ids)s + ORDER BY account_move_line.date + """, + { + "journal_ids": tuple(journal_ids), + "date_start": self.date_start, + "date_end": self.date_end, + }, + ) + while 1: + # http://initd.org/psycopg/docs/cursor.html#cursor.fetchmany + # Set cursor.arraysize to minimize network round trips + self.env.cr.arraysize = 100 + rows = self.env.cr.fetchmany() + if not rows: + break + for row in rows: + yield row + + def _get_data(self, result_type): + self.ensure_one() + get_header_func = getattr(self, ("_get_header_%s" % (result_type)), None) + get_rows_func = getattr(self, ("_get_rows_%s" % (result_type)), None) + if self.journal_ids: + journal_ids = [x.id for x in self.journal_ids] + else: + j_obj = self.env["account.journal"] + journal_ids = j_obj.search([]).ids + rows = itertools.chain((get_header_func(),), get_rows_func(journal_ids)) + return rows diff --git a/account_export_csv/wizard/account_export_csv_view.xml b/account_export_csv/wizard/account_export_csv_view.xml new file mode 100644 index 00000000..d0f7d776 --- /dev/null +++ b/account_export_csv/wizard/account_export_csv_view.xml @@ -0,0 +1,82 @@ + + + + + Accounting Entries CSV Export + account.csv.export + +
+ + + + + + + + + + + + +
+
+ + + + +
+
+ + +
+
+ + + Accounting CSV Export + account.csv.export + ir.actions.act_window + form + + new + + + + +
diff --git a/setup/account_export_csv/odoo/addons/account_export_csv b/setup/account_export_csv/odoo/addons/account_export_csv new file mode 120000 index 00000000..2682f5ae --- /dev/null +++ b/setup/account_export_csv/odoo/addons/account_export_csv @@ -0,0 +1 @@ +../../../../account_export_csv \ No newline at end of file diff --git a/setup/account_export_csv/setup.py b/setup/account_export_csv/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/account_export_csv/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)