From c68ed1d3723258db5ad06b0d6588b5b9d17e2866 Mon Sep 17 00:00:00 2001 From: expert Date: Mon, 24 Jun 2024 13:54:07 +0300 Subject: [PATCH] Add odex25_accounting --- README.md | 2 +- .../abs_customer_validation/__init__.py | 22 + .../abs_customer_validation/__manifest__.py | 37 + .../models/__init__.py | 21 + .../models/res_partner.py | 75 + .../security/security.xml | 10 + .../static/description/banner.png | Bin 0 -> 52107 bytes .../static/description/company-logo.png | Bin 0 -> 33323 bytes .../static/description/icon.png | Bin 0 -> 99549 bytes .../static/description/index.html | 60 + .../README.rst | 66 + .../__init__.py | 3 + .../__manifest__.py | 21 + .../data/excel.dimensions.csv | 4 + .../i18n/ar.po | 278 ++ .../models/__init__.py | 1 + .../models/excel_dimensions.py | 57 + .../security/ir.model.access.csv | 3 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/fonts/ae_AlMohanad.ttf | Bin 0 -> 120920 bytes .../static/src/css/website_rtl.css | 22 + .../tests/__init__.py | 1 + .../tests/test_import_bank_statement.py | 86 + .../tests/test_ofx_file/test_ofx.ofx | 100 + .../tests/test_ofx_file/test_ofx_iban.ofx | 101 + .../tests/test_ofx_file/test_ofx_wrong.ofx | 100 + .../views/excel_dimensions_views.xml | 133 + .../view_account_bank_statement_import.xml | 12 + .../wizard/__init__.py | 1 + .../wizard/account_bank_statement_import.py | 278 ++ .../account_budget_custom/__init__.py | 5 + .../account_budget_custom/__manifest__.py | 25 + .../data/budget_operation_data.xml | 15 + .../account_budget_custom/i18n/ar.po | 797 +++++ .../account_budget_custom/i18n/ar_001.po | 992 ++++++ .../account_budget_custom/models/__init__.py | 5 + .../models/account_budget.py | 234 ++ .../models/budget_confirmation.py | 248 ++ .../models/budget_operations.py | 142 + .../account_budget_custom/reports/__init__.py | 1 + .../reports/budget_report_xlsx.py | 111 + .../account_budget_custom/reports/reports.xml | 10 + .../security/budget_groups.xml | 26 + .../security/ir.model.access.csv | 9 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/fonts/ae_AlMohanad.ttf | Bin 0 -> 120920 bytes .../static/src/css/website_rtl.css | 22 + .../views/account_budget_views.xml | 114 + .../views/budget_confirmation_view.xml | 148 + .../views/budget_operations_view.xml | 315 ++ .../account_budget_custom/views/menus.xml | 57 + .../account_chart_of_accounts/__init__.py | 4 + .../account_chart_of_accounts/__manifest__.py | 36 + .../data/account.account.csv | 221 ++ .../data/data_account_type.xml | 11 + .../account_chart_of_accounts/i18n/ar.po | 185 + .../models/__init__.py | 6 + .../models/account_account.py | 147 + .../models/account_journal.py | 92 + .../account_chart_of_accounts/models/base.py | 12 + .../models/res_config_settings.py | 89 + .../reports/__init__.py | 3 + .../reports/account_report_coa.py | 366 ++ .../reports/account_report_coa.xml | 13 + .../security/account_security.xml | 40 + .../security/ir.model.access.csv | 4 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/fonts/ae_AlMohanad.ttf | Bin 0 -> 120920 bytes .../static/src/scss/account_searchpanel.scss | 30 + .../views/account_account_view.xml | 75 + .../views/res_config_settings_views.xml | 74 + .../account_configuration/__init__.py | 3 + .../account_configuration/__manifest__.py | 18 + .../account_configuration/i18n/ar.po | 101 + .../account_configuration/models/__init__.py | 3 + .../models/res_config_settings.py | 26 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../views/res_config_settings_views.xml | 111 + .../account_financial_report/README.rst | 161 + .../account_financial_report/__init__.py | 7 + .../account_financial_report/__manifest__.py | 52 + .../account_financial_report/i18n/ar.po | 1971 ++++++++++ .../account_financial_report/i18n/ca.po | 1869 ++++++++++ .../account_financial_report/i18n/de.po | 2192 ++++++++++++ .../account_financial_report/i18n/es.po | 1987 +++++++++++ .../account_financial_report/i18n/es_AR.po | 1905 ++++++++++ .../account_financial_report/i18n/es_MX.po | 1805 ++++++++++ .../account_financial_report/i18n/fr.po | 2125 +++++++++++ .../account_financial_report/i18n/fr_CH.po | 2112 +++++++++++ .../account_financial_report/i18n/fr_FR.po | 1843 ++++++++++ .../account_financial_report/i18n/hr.po | 1801 ++++++++++ .../account_financial_report/i18n/hr_HR.po | 1840 ++++++++++ .../account_financial_report/i18n/it.po | 1978 ++++++++++ .../account_financial_report/i18n/ja.po | 1815 ++++++++++ .../account_financial_report/i18n/nl.po | 2194 ++++++++++++ .../account_financial_report/i18n/nl_NL.po | 1828 ++++++++++ .../account_financial_report/i18n/pt.po | 1862 ++++++++++ .../account_financial_report/i18n/pt_BR.po | 2245 ++++++++++++ .../account_financial_report/i18n/ro.po | 2028 +++++++++++ .../account_financial_report/menuitems.xml | 45 + .../models/__init__.py | 4 + .../models/account.py | 14 + .../models/account_group.py | 73 + .../models/account_move_line.py | 40 + .../models/ir_actions_report.py | 25 + .../readme/CONTRIBUTORS.rst | 37 + .../readme/DESCRIPTION.rst | 16 + .../readme/HISTORY.rst | 19 + .../readme/ROADMAP.rst | 7 + .../report/__init__.py | 19 + .../report/abstract_report.py | 126 + .../report/abstract_report_xlsx.py | 732 ++++ .../report/aged_partner_balance.py | 428 +++ .../report/aged_partner_balance_xlsx.py | 325 ++ .../report/general_ledger.py | 869 +++++ .../report/general_ledger_xlsx.py | 346 ++ .../report/journal_ledger.py | 365 ++ .../report/journal_ledger_xlsx.py | 269 ++ .../report/open_items.py | 274 ++ .../report/open_items_xlsx.py | 216 ++ .../report/templates/aged_partner_balance.xml | 714 ++++ .../report/templates/general_ledger.xml | 1299 +++++++ .../report/templates/journal_ledger.xml | 520 +++ .../report/templates/layouts.xml | 32 + .../report/templates/open_items.xml | 322 ++ .../report/templates/trial_balance.xml | 1626 +++++++++ .../report/templates/vat_report.xml | 169 + .../report/trial_balance.py | 827 +++++ .../report/trial_balance_xlsx.py | 478 +++ .../report/vat_report.py | 239 ++ .../report/vat_report_xlsx.py | 61 + .../account_financial_report/reports.xml | 175 + .../security/ir.model.access.csv | 7 + .../static/description/icon.png | Bin 0 -> 15230 bytes .../static/description/index.html | 515 +++ .../static/src/css/report.css | 218 ++ .../static/src/js/action_manager_report.js | 35 + .../static/src/js/client_action.js | 58 + .../static/src/js/report.js | 58 + .../static/src/xml/report.xml | 17 + .../tests/__init__.py | 9 + .../tests/test_aged_partner_balance.py | 34 + .../tests/test_general_ledger.py | 723 ++++ .../tests/test_journal_ledger.py | 273 ++ .../tests/test_open_items.py | 31 + .../tests/test_trial_balance.py | 859 +++++ .../tests/test_vat_report.py | 388 ++ .../view/account_view.xml | 14 + .../view/report_aged_partner_balance.xml | 9 + .../view/report_general_ledger.xml | 9 + .../view/report_journal_ledger.xml | 9 + .../view/report_open_items.xml | 9 + .../view/report_template.xml | 31 + .../view/report_trial_balance.xml | 9 + .../view/report_vat_report.xml | 9 + .../wizard/__init__.py | 7 + .../wizard/abstract_wizard.py | 51 + .../wizard/aged_partner_balance_wizard.py | 154 + .../aged_partner_balance_wizard_view.xml | 102 + .../wizard/general_ledger_wizard.py | 359 ++ .../wizard/general_ledger_wizard_view.xml | 206 ++ .../wizard/journal_ledger_wizard.py | 157 + .../wizard/journal_ledger_wizard_view.xml | 75 + .../wizard/open_items_wizard.py | 173 + .../wizard/open_items_wizard_view.xml | 117 + .../wizard/trial_balance_wizard.py | 290 ++ .../wizard/trial_balance_wizard_view.xml | 164 + .../wizard/vat_report_wizard.py | 101 + .../wizard/vat_report_wizard_view.xml | 60 + .../__init__.py | 1 + .../__manifest__.py | 28 + .../i18n/ar_SY.po | 126 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/fonts/ae_AlMohanad.ttf | Bin 0 -> 120920 bytes .../static/src/css/website_rtl.css | 22 + .../wizards/__init__.py | 1 + .../wizards/account_common_report.py | 42 + .../wizards/accounting_report.xml | 68 + .../account_fiscal_year/README.rst | 93 + .../account_fiscal_year/__init__.py | 4 + .../account_fiscal_year/__manifest__.py | 28 + .../account_fiscal_year/i18n/ar_001.po | 801 +++++ .../account_fiscal_year/i18n/fr.po | 125 + .../account_fiscal_year/i18n/fr_FR.po | 127 + .../account_fiscal_year/i18n/it.po | 128 + .../account_fiscal_year/i18n/nl.po | 127 + .../account_fiscal_year/models/__init__.py | 7 + .../models/account_budget.py | 64 + .../models/account_fiscal_year.py | 310 ++ .../models/account_fiscalyears_periods.py | 179 + .../models/account_move.py | 82 + .../account_fiscal_year/models/res_company.py | 82 + .../readme/CONTRIBUTORS.rst | 5 + .../readme/DESCRIPTION.rst | 3 + .../account_fiscal_year/readme/ROADMAP.rst | 1 + .../security/account_fiscal_year_rule.xml | 23 + .../security/ir.model.access.csv | 5 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 432 +++ .../account_fiscal_year/tests/__init__.py | 3 + .../tests/test_account_fiscal_year.py | 132 + .../views/account_budget_views.xml | 79 + .../views/account_fiscal_year_views.xml | 187 + .../views/account_view.xml | 101 + .../account_fiscal_year/wizard/__init__.py | 2 + .../wizard/account_opening.py | 23 + .../wizard/account_opening_view.xml | 16 + .../account_gl_custom/__init__.py | 3 + .../account_gl_custom/__manifest__.py | 20 + .../data/ir_sequence_data.xml | 15 + .../account_gl_custom/i18n/ar.po | 43 + .../account_gl_custom/i18n/en.po | 92 + .../account_gl_custom/models/__init__.py | 2 + .../account_gl_custom/models/account_move.py | 15 + .../iWesabe-Apps-Journal-Entry-Report.png | Bin 0 -> 102717 bytes .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/fonts/ae_AlMohanad.ttf | Bin 0 -> 120920 bytes .../static/src/css/website_rtl.css | 22 + .../views/account_move_view.xml | 39 + odex25_accounting/account_loan/README.rst | 108 + odex25_accounting/account_loan/__init__.py | 4 + .../account_loan/__manifest__.py | 23 + .../account_loan/data/ir_sequence_data.xml | 14 + odex25_accounting/account_loan/i18n/am.po | 937 +++++ odex25_accounting/account_loan/i18n/ar.po | 937 +++++ odex25_accounting/account_loan/i18n/bg.po | 935 +++++ odex25_accounting/account_loan/i18n/bs.po | 937 +++++ odex25_accounting/account_loan/i18n/ca.po | 939 +++++ odex25_accounting/account_loan/i18n/ca_ES.po | 935 +++++ odex25_accounting/account_loan/i18n/cs.po | 936 +++++ odex25_accounting/account_loan/i18n/da.po | 934 +++++ odex25_accounting/account_loan/i18n/de.po | 959 +++++ odex25_accounting/account_loan/i18n/el_GR.po | 936 +++++ odex25_accounting/account_loan/i18n/en_AU.po | 935 +++++ odex25_accounting/account_loan/i18n/en_GB.po | 937 +++++ odex25_accounting/account_loan/i18n/es.po | 955 +++++ odex25_accounting/account_loan/i18n/es_AR.po | 935 +++++ odex25_accounting/account_loan/i18n/es_CL.po | 935 +++++ odex25_accounting/account_loan/i18n/es_CO.po | 940 +++++ odex25_accounting/account_loan/i18n/es_CR.po | 937 +++++ odex25_accounting/account_loan/i18n/es_DO.po | 935 +++++ odex25_accounting/account_loan/i18n/es_EC.po | 937 +++++ odex25_accounting/account_loan/i18n/es_ES.po | 935 +++++ odex25_accounting/account_loan/i18n/es_MX.po | 937 +++++ odex25_accounting/account_loan/i18n/es_PE.po | 935 +++++ odex25_accounting/account_loan/i18n/es_PY.po | 935 +++++ odex25_accounting/account_loan/i18n/es_VE.po | 936 +++++ odex25_accounting/account_loan/i18n/et.po | 936 +++++ odex25_accounting/account_loan/i18n/eu.po | 934 +++++ odex25_accounting/account_loan/i18n/fa.po | 934 +++++ odex25_accounting/account_loan/i18n/fi.po | 935 +++++ odex25_accounting/account_loan/i18n/fr.po | 940 +++++ odex25_accounting/account_loan/i18n/fr_CA.po | 936 +++++ odex25_accounting/account_loan/i18n/fr_CH.po | 936 +++++ odex25_accounting/account_loan/i18n/fr_FR.po | 939 +++++ odex25_accounting/account_loan/i18n/gl.po | 938 +++++ odex25_accounting/account_loan/i18n/gl_ES.po | 935 +++++ odex25_accounting/account_loan/i18n/gu.po | 934 +++++ odex25_accounting/account_loan/i18n/he.po | 934 +++++ odex25_accounting/account_loan/i18n/hi.po | 934 +++++ odex25_accounting/account_loan/i18n/hr.po | 940 +++++ odex25_accounting/account_loan/i18n/hr_HR.po | 940 +++++ odex25_accounting/account_loan/i18n/hu.po | 936 +++++ odex25_accounting/account_loan/i18n/id.po | 936 +++++ odex25_accounting/account_loan/i18n/it.po | 939 +++++ odex25_accounting/account_loan/i18n/ja.po | 936 +++++ odex25_accounting/account_loan/i18n/ko.po | 934 +++++ odex25_accounting/account_loan/i18n/lo.po | 934 +++++ odex25_accounting/account_loan/i18n/lt.po | 937 +++++ odex25_accounting/account_loan/i18n/lt_LT.po | 936 +++++ odex25_accounting/account_loan/i18n/lv.po | 935 +++++ odex25_accounting/account_loan/i18n/mk.po | 936 +++++ odex25_accounting/account_loan/i18n/mn.po | 936 +++++ odex25_accounting/account_loan/i18n/nb.po | 937 +++++ odex25_accounting/account_loan/i18n/nb_NO.po | 936 +++++ odex25_accounting/account_loan/i18n/nl.po | 939 +++++ odex25_accounting/account_loan/i18n/nl_BE.po | 937 +++++ odex25_accounting/account_loan/i18n/nl_NL.po | 936 +++++ odex25_accounting/account_loan/i18n/pl.po | 938 +++++ odex25_accounting/account_loan/i18n/pt.po | 946 +++++ odex25_accounting/account_loan/i18n/pt_BR.po | 949 +++++ odex25_accounting/account_loan/i18n/pt_PT.po | 940 +++++ odex25_accounting/account_loan/i18n/ro.po | 937 +++++ odex25_accounting/account_loan/i18n/ru.po | 938 +++++ odex25_accounting/account_loan/i18n/sk.po | 934 +++++ odex25_accounting/account_loan/i18n/sk_SK.po | 936 +++++ odex25_accounting/account_loan/i18n/sl.po | 940 +++++ odex25_accounting/account_loan/i18n/sr.po | 935 +++++ .../account_loan/i18n/sr@latin.po | 937 +++++ odex25_accounting/account_loan/i18n/sv.po | 936 +++++ odex25_accounting/account_loan/i18n/th.po | 935 +++++ odex25_accounting/account_loan/i18n/tr.po | 936 +++++ odex25_accounting/account_loan/i18n/tr_TR.po | 937 +++++ odex25_accounting/account_loan/i18n/uk.po | 935 +++++ odex25_accounting/account_loan/i18n/vi.po | 935 +++++ odex25_accounting/account_loan/i18n/vi_VN.po | 935 +++++ odex25_accounting/account_loan/i18n/zh_CN.po | 937 +++++ odex25_accounting/account_loan/i18n/zh_TW.po | 937 +++++ .../account_loan/model/__init__.py | 6 + .../account_loan/model/account_loan.py | 483 +++ .../account_loan/model/account_loan_line.py | 444 +++ .../account_loan/model/account_move.py | 34 + .../account_loan/readme/CONTRIBUTORS.rst | 3 + .../account_loan/readme/DESCRIPTION.rst | 12 + .../account_loan/readme/USAGE.rst | 18 + .../security/account_loan_security.xml | 11 + .../account_loan/security/ir.model.access.csv | 9 + .../account_loan/static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 455 +++ .../account_loan/tests/__init__.py | 3 + .../account_loan/tests/test_loan.py | 465 +++ .../account_loan/views/account_loan_view.xml | 229 ++ .../account_loan/views/account_move_view.xml | 20 + .../account_loan/wizard/__init__.py | 5 + .../wizard/account_loan_generate_entries.py | 43 + .../account_loan_generate_entries_view.xml | 42 + .../wizard/account_loan_pay_amount.py | 100 + .../wizard/account_loan_pay_amount_view.xml | 39 + .../account_loan/wizard/account_loan_post.py | 93 + .../wizard/account_loan_post_view.xml | 36 + odex25_accounting/account_log/__init__.py | 3 + odex25_accounting/account_log/__manifest__.py | 23 + odex25_accounting/account_log/i18n/ar.po | 52 + .../account_log/models/__init__.py | 2 + .../account_log/models/account_chatter.py | 186 + .../account_log/static/description/icon.png | Bin 0 -> 32929 bytes .../views/account_chatter_view.xml | 48 + .../account_move_line_product/README.rst | 84 + .../account_move_line_product/__init__.py | 1 + .../account_move_line_product/__manifest__.py | 15 + .../account_move_line_product/i18n/ca.po | 24 + .../account_move_line_product/i18n/cs_CZ.po | 25 + .../account_move_line_product/i18n/de.po | 24 + .../account_move_line_product/i18n/el_GR.po | 25 + .../account_move_line_product/i18n/es.po | 24 + .../account_move_line_product/i18n/es_ES.po | 25 + .../account_move_line_product/i18n/eu.po | 24 + .../account_move_line_product/i18n/fi.po | 24 + .../account_move_line_product/i18n/fr.po | 24 + .../account_move_line_product/i18n/fr_CH.po | 25 + .../account_move_line_product/i18n/fr_FR.po | 25 + .../account_move_line_product/i18n/gl.po | 24 + .../account_move_line_product/i18n/hr.po | 25 + .../account_move_line_product/i18n/hr_HR.po | 26 + .../account_move_line_product/i18n/it.po | 24 + .../account_move_line_product/i18n/nl.po | 24 + .../account_move_line_product/i18n/nl_NL.po | 25 + .../account_move_line_product/i18n/pt.po | 24 + .../account_move_line_product/i18n/pt_BR.po | 25 + .../account_move_line_product/i18n/ro.po | 25 + .../account_move_line_product/i18n/ru.po | 26 + .../account_move_line_product/i18n/sl.po | 25 + .../account_move_line_product/i18n/tr.po | 24 + .../account_move_line_product/i18n/tr_TR.po | 25 + .../account_move_line_product/i18n/vi_VN.po | 25 + .../account_move_line_product/i18n/zh_CN.po | 25 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/DESCRIPTION.rst | 6 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 426 +++ .../views/account_move_line_view.xml | 48 + .../account_payment_credit_card/README.rst | 122 + .../account_payment_credit_card/__init__.py | 4 + .../__manifest__.py | 17 + .../account_payment_credit_card/i18n/nl.po | 55 + .../models/__init__.py | 5 + .../models/account.py | 11 + .../models/account_move.py | 40 + .../readme/CONFIGURE.rst | 3 + .../readme/CONTRIBUTORS.rst | 10 + .../readme/DESCRIPTION.rst | 17 + .../readme/USAGE.rst | 5 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 458 +++ .../tests/__init__.py | 3 + .../tests/test_payment_credit_card.py | 72 + .../views/account_view.xml | 24 + .../account_payment_mode/README.rst | 90 + .../account_payment_mode/__init__.py | 1 + .../account_payment_mode/__manifest__.py | 23 + .../demo/payment_demo.xml | 110 + .../account_payment_mode/i18n/am.po | 343 ++ .../account_payment_mode/i18n/ca.po | 394 ++ .../account_payment_mode/i18n/da_DK.po | 344 ++ .../account_payment_mode/i18n/de.po | 359 ++ .../account_payment_mode/i18n/el_GR.po | 344 ++ .../account_payment_mode/i18n/es.po | 415 +++ .../account_payment_mode/i18n/es_AR.po | 404 +++ .../account_payment_mode/i18n/es_CL.po | 394 ++ .../account_payment_mode/i18n/es_ES.po | 344 ++ .../account_payment_mode/i18n/fi.po | 344 ++ .../account_payment_mode/i18n/fr.po | 388 ++ .../account_payment_mode/i18n/fr_FR.po | 395 ++ .../account_payment_mode/i18n/gl.po | 343 ++ .../account_payment_mode/i18n/hr.po | 345 ++ .../account_payment_mode/i18n/it.po | 346 ++ .../account_payment_mode/i18n/nb_NO.po | 345 ++ .../account_payment_mode/i18n/nl.po | 394 ++ .../account_payment_mode/i18n/pt.po | 384 ++ .../account_payment_mode/i18n/pt_BR.po | 368 ++ .../account_payment_mode/i18n/pt_PT.po | 344 ++ .../account_payment_mode/i18n/sl.po | 351 ++ .../account_payment_mode/i18n/sv.po | 380 ++ .../account_payment_mode/i18n/sv_SE.po | 339 ++ .../account_payment_mode/i18n/tr.po | 343 ++ .../account_payment_mode/i18n/zh_CN.po | 339 ++ .../account_payment_mode/models/__init__.py | 1 + .../models/account_journal.py | 65 + .../models/account_payment_method.py | 48 + .../models/account_payment_mode.py | 137 + .../account_payment_mode/readme/CONFIGURE.rst | 2 + .../readme/CONTRIBUTORS.rst | 3 + .../readme/DESCRIPTION.rst | 2 + .../account_payment_mode/readme/USAGE.rst | 1 + .../security/account_payment_mode.xml | 10 + .../security/ir.model.access.csv | 4 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 435 +++ .../account_payment_mode/tests/__init__.py | 2 + .../tests/test_account_payment_mode.py | 129 + .../views/account_journal.xml | 16 + .../views/account_payment_method.xml | 82 + .../views/account_payment_mode.xml | 89 + .../account_payment_order/README.rst | 137 + .../account_payment_order/__init__.py | 4 + .../account_payment_order/__manifest__.py | 43 + .../data/payment_seq.xml | 22 + .../demo/payment_demo.xml | 47 + .../account_payment_order/hooks.py | 16 + .../account_payment_order/i18n/am.po | 1243 +++++++ .../account_payment_order/i18n/ar.po | 1244 +++++++ .../account_payment_order/i18n/ca.po | 1498 ++++++++ .../account_payment_order/i18n/ca_ES.po | 1239 +++++++ .../account_payment_order/i18n/cs.po | 1243 +++++++ .../account_payment_order/i18n/da_DK.po | 1260 +++++++ .../account_payment_order/i18n/de.po | 1317 +++++++ .../account_payment_order/i18n/el_GR.po | 1248 +++++++ .../account_payment_order/i18n/es.po | 1497 ++++++++ .../account_payment_order/i18n/es_AR.po | 1482 ++++++++ .../account_payment_order/i18n/es_CL.po | 1469 ++++++++ .../account_payment_order/i18n/es_CR.po | 1244 +++++++ .../account_payment_order/i18n/es_EC.po | 1244 +++++++ .../account_payment_order/i18n/es_ES.po | 1244 +++++++ .../account_payment_order/i18n/es_MX.po | 1244 +++++++ .../account_payment_order/i18n/es_VE.po | 1244 +++++++ .../account_payment_order/i18n/et.po | 1243 +++++++ .../account_payment_order/i18n/fi.po | 1243 +++++++ .../account_payment_order/i18n/fr.po | 1485 ++++++++ .../account_payment_order/i18n/gl.po | 1243 +++++++ .../account_payment_order/i18n/hr.po | 1257 +++++++ .../account_payment_order/i18n/it.po | 1436 ++++++++ .../account_payment_order/i18n/lt.po | 1244 +++++++ .../account_payment_order/i18n/nb_NO.po | 1278 +++++++ .../account_payment_order/i18n/nl.po | 1396 ++++++++ .../account_payment_order/i18n/nl_BE.po | 1244 +++++++ .../account_payment_order/i18n/nl_NL.po | 1248 +++++++ .../account_payment_order/i18n/pl.po | 1244 +++++++ .../account_payment_order/i18n/pt.po | 1243 +++++++ .../account_payment_order/i18n/pt_BR.po | 1274 +++++++ .../account_payment_order/i18n/pt_PT.po | 1244 +++++++ .../account_payment_order/i18n/ro.po | 1244 +++++++ .../account_payment_order/i18n/ru.po | 1245 +++++++ .../account_payment_order/i18n/sl.po | 1276 +++++++ .../account_payment_order/i18n/sv.po | 1407 ++++++++ .../account_payment_order/i18n/th.po | 1243 +++++++ .../account_payment_order/i18n/tr.po | 1243 +++++++ .../account_payment_order/i18n/vi.po | 1243 +++++++ .../migrations/14.0.1.3.0/pre-migration.py | 10 + .../migrations/14.0.2.0.0/post-migration.py | 178 + .../migrations/14.0.2.0.0/pre-migration.py | 8 + .../account_payment_order/models/__init__.py | 9 + .../models/account_journal.py | 29 + .../models/account_move.py | 166 + .../models/account_move_line.py | 122 + .../models/account_payment.py | 45 + .../models/account_payment_line.py | 219 ++ .../models/account_payment_method.py | 15 + .../models/account_payment_mode.py | 94 + .../models/account_payment_order.py | 497 +++ .../account_payment_order/models/res_bank.py | 24 + .../readme/CONFIGURE.rst | 2 + .../readme/CONTRIBUTORS.rst | 31 + .../readme/DESCRIPTION.rst | 1 + .../account_payment_order/readme/INSTALL.rst | 7 + .../account_payment_order/readme/USAGE.rst | 7 + .../account_payment_order/report/__init__.py | 1 + .../report/account_payment_order.py | 46 + .../report/account_payment_order.xml | 160 + .../report/print_account_payment_order.xml | 23 + .../security/ir.model.access.csv | 8 + .../security/payment_security.xml | 29 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 481 +++ .../account_payment_order/tests/__init__.py | 5 + .../tests/test_account_payment.py | 120 + .../account_payment_order/tests/test_bank.py | 13 + .../tests/test_payment_mode.py | 70 + .../tests/test_payment_order_inbound.py | 143 + .../tests/test_payment_order_outbound.py | 495 +++ .../views/account_invoice_view.xml | 82 + .../views/account_move_line.xml | 38 + .../views/account_payment_line.xml | 83 + .../views/account_payment_method.xml | 20 + .../views/account_payment_mode.xml | 65 + .../views/account_payment_order.xml | 287 ++ .../views/account_payment_views.xml | 27 + .../views/ir_attachment.xml | 28 + .../account_payment_order/wizard/__init__.py | 2 + .../account_invoice_payment_line_multi.py | 18 + ...ccount_invoice_payment_line_multi_view.xml | 31 + .../wizard/account_payment_line_create.py | 178 + .../account_payment_line_create_view.xml | 88 + .../account_payment_partner/README.rst | 135 + .../account_payment_partner/__init__.py | 5 + .../account_payment_partner/__manifest__.py | 28 + .../demo/partner_demo.xml | 35 + .../account_payment_partner/hooks.py | 22 + .../account_payment_partner/i18n/ca.po | 302 ++ .../account_payment_partner/i18n/da_DK.po | 269 ++ .../account_payment_partner/i18n/de.po | 281 ++ .../account_payment_partner/i18n/es.po | 312 ++ .../account_payment_partner/i18n/es_AR.po | 287 ++ .../account_payment_partner/i18n/es_CL.po | 275 ++ .../account_payment_partner/i18n/fr.po | 299 ++ .../account_payment_partner/i18n/fr_FR.po | 277 ++ .../account_payment_partner/i18n/hr.po | 273 ++ .../account_payment_partner/i18n/it.po | 277 ++ .../account_payment_partner/i18n/nb_NO.po | 278 ++ .../account_payment_partner/i18n/nl.po | 289 ++ .../account_payment_partner/i18n/pt.po | 277 ++ .../account_payment_partner/i18n/pt_BR.po | 273 ++ .../account_payment_partner/i18n/sl.po | 272 ++ .../account_payment_partner/i18n/sv.po | 276 ++ .../models/__init__.py | 1 + .../models/account_move.py | 171 + .../models/account_move_line.py | 43 + .../models/account_payment_mode.py | 78 + .../models/res_partner.py | 32 + .../readme/CONTRIBUTORS.rst | 16 + .../readme/DESCRIPTION.rst | 22 + .../readme/HISTORY.rst | 5 + .../account_payment_partner/readme/USAGE.rst | 9 + .../reports/__init__.py | 1 + .../reports/account_invoice_report.py | 18 + .../reports/account_invoice_report_view.xml | 24 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 478 +++ .../account_payment_partner/tests/__init__.py | 1 + .../tests/test_account_payment_partner.py | 573 +++ .../views/account_move_line.xml | 47 + .../views/account_move_view.xml | 65 + .../views/account_payment_mode.xml | 30 + .../views/report_invoice.xml | 37 + .../views/res_partner_view.xml | 20 + .../account_standard_report/LICENSE | 674 ++++ .../account_standard_report/README.md | 54 + .../account_standard_report/__init__.py | 5 + .../account_standard_report/__manifest__.py | 31 + .../data/report_paperformat.xml | 18 + .../data/res_currency_data.xml | 11 + .../account_standard_report/i18n/fr.po | 1145 ++++++ .../images/main_screenshot.png | Bin 0 -> 272611 bytes .../models/__init__.py | 5 + .../account_standard_report/models/account.py | 10 + .../account_standard_report_template.py | 70 + .../models/res_currency.py | 8 + .../report/__init__.py | 3 + .../report/report_account_standard_excel.py | 477 +++ .../report/report_account_standard_report.xml | 411 +++ .../report/report_standard_report.xml | 20 + .../security/ir.model.access.csv | 7 + .../static/description/aged.png | Bin 0 -> 222387 bytes .../static/description/excel.png | Bin 0 -> 634150 bytes .../static/description/general.png | Bin 0 -> 393621 bytes .../static/description/icon.png | Bin 0 -> 4703 bytes .../static/description/index.html | 130 + .../static/description/install.png | Bin 0 -> 79237 bytes .../static/description/main_screenshot.png | Bin 0 -> 272611 bytes .../static/description/partner.png | Bin 0 -> 288482 bytes .../static/description/pdf.png | Bin 0 -> 445168 bytes .../views/account_standard.xml | 136 + .../account_standard_report_template_view.xml | 74 + .../views/account_view.xml | 15 + .../views/res_currency_views.xml | 14 + .../wizard/__init__.py | 3 + .../wizard/account_standard_report.py | 1005 ++++++ .../wizard/account_standard_report_view.xml | 81 + .../advance_cash_flow_statements/README.rst | 13 + .../advance_cash_flow_statements/__init__.py | 24 + .../__manifest__.py | 45 + .../controllers/__init__.py | 23 + .../controllers/main.py | 56 + .../doc/RELEASE_NOTES.md | 6 + .../report/pdf_template.xml | 218 ++ .../report/print_report.xml | 11 + .../security/ir.model.access.csv | 3 + .../description/assets/icons/chevron.png | Bin 0 -> 310 bytes .../static/description/assets/icons/cogs.png | Bin 0 -> 1377 bytes .../description/assets/icons/consultation.png | Bin 0 -> 1458 bytes .../description/assets/icons/ecom-black.png | Bin 0 -> 576 bytes .../assets/icons/education-black.png | Bin 0 -> 733 bytes .../description/assets/icons/hotel-black.png | Bin 0 -> 911 bytes .../description/assets/icons/license.png | Bin 0 -> 1095 bytes .../description/assets/icons/lifebuoy.png | Bin 0 -> 1199 bytes .../assets/icons/manufacturing-black.png | Bin 0 -> 673 bytes .../description/assets/icons/pos-black.png | Bin 0 -> 878 bytes .../description/assets/icons/puzzle.png | Bin 0 -> 653 bytes .../assets/icons/restaurant-black.png | Bin 0 -> 905 bytes .../assets/icons/service-black.png | Bin 0 -> 839 bytes .../assets/icons/trading-black.png | Bin 0 -> 427 bytes .../description/assets/icons/training.png | Bin 0 -> 627 bytes .../description/assets/icons/update.png | Bin 0 -> 1225 bytes .../static/description/assets/icons/user.png | Bin 0 -> 988 bytes .../description/assets/icons/wrench.png | Bin 0 -> 1205 bytes .../static/description/banner.png | Bin 0 -> 63285 bytes .../static/description/icon.png | Bin 0 -> 18171 bytes .../images/advance_cash_flow_statements-1.png | Bin 0 -> 194355 bytes .../advance_cash_flow_statements-10.png | Bin 0 -> 74015 bytes .../images/advance_cash_flow_statements-2.png | Bin 0 -> 111980 bytes .../images/advance_cash_flow_statements-3.png | Bin 0 -> 29198 bytes .../images/advance_cash_flow_statements-4.png | Bin 0 -> 40854 bytes .../images/advance_cash_flow_statements-5.png | Bin 0 -> 28445 bytes .../images/advance_cash_flow_statements-6.png | Bin 0 -> 45596 bytes .../images/advance_cash_flow_statements-7.png | Bin 0 -> 56236 bytes .../images/advance_cash_flow_statements-8.png | Bin 0 -> 77939 bytes .../images/advance_cash_flow_statements-9.png | Bin 0 -> 55782 bytes .../static/description/images/checked.png | Bin 0 -> 22017 bytes .../static/description/images/hero.png | Bin 0 -> 139102 bytes .../static/description/images/logo.png | Bin 0 -> 3452 bytes .../images/modules/approval_image.png | Bin 0 -> 51818 bytes .../images/modules/dynamic_image.png | Bin 0 -> 53356 bytes .../images/modules/mulitple-ref_image.png | Bin 0 -> 53918 bytes .../description/images/modules/pos_image.png | Bin 0 -> 53403 bytes .../images/modules/project_gantt_image.png | Bin 0 -> 57644 bytes .../images/modules/shopify_image.png | Bin 0 -> 55162 bytes .../static/description/index.html | 753 ++++ .../static/src/js/action_manager.js | 49 + .../views/action_manager.xml | 9 + .../wizard/__init__.py | 24 + .../wizard/account_wizard.py | 406 +++ .../wizard/account_wizard.xml | 54 + .../wizard/report_account_wizard.py | 193 + .../budget_hierarchical_report/__init__.py | 3 + .../__manifest__.py | 23 + .../budget_hierarchical_report/i18n/ar_SY.po | 58 + .../models/__init__.py | 3 + .../models/budget_line.py | 107 + .../security/ir.model.access.csv | 2 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/src/css/buttons.jqueryui.min.css | 1 + .../src/css/dataTables.jqueryui.min.css | 1 + .../static/src/css/datatables.min.css | 18 + .../src/css/jquery-simple-tree-table.css | 1 + .../src/css/themes/default-dark/32px.png | Bin 0 -> 1525 bytes .../src/css/themes/default-dark/40px.png | Bin 0 -> 6526 bytes .../src/css/themes/default-dark/style.css | 1146 ++++++ .../src/css/themes/default-dark/style.min.css | 1 + .../src/css/themes/default-dark/throbber.gif | Bin 0 -> 1464 bytes .../static/src/css/themes/default/32px.png | Bin 0 -> 5667 bytes .../static/src/css/themes/default/40px.png | Bin 0 -> 2218 bytes .../static/src/css/themes/default/style.css | 1102 ++++++ .../src/css/themes/default/style.min.css | 1 + .../src/css/themes/default/throbber.gif | Bin 0 -> 1464 bytes .../static/src/js/hierarchical_report.js | 94 + .../static/src/xml/report_template.xml | 80 + .../views/client_action_budget.xml | 18 + .../views/views.xml | 25 + .../cheque_management/__init__.py | 6 + .../cheque_management/__manifest__.py | 35 + .../cheque_management/controllers/__init__.py | 4 + .../cheque_management/controllers/main.py | 47 + .../data/cheque_attribute_data.xml | 45 + .../cheque_management/i18n/ar_SY.po | 715 ++++ .../cheque_management/models/__init__.py | 3 + .../cheque_management/models/bank_cheque.py | 271 ++ .../security/ir.model.access.csv | 7 + .../static/description/1.png | Bin 0 -> 99200 bytes .../static/description/10.png | Bin 0 -> 180723 bytes .../static/description/10a.png | Bin 0 -> 141451 bytes .../static/description/11.png | Bin 0 -> 149942 bytes .../static/description/12.png | Bin 0 -> 147195 bytes .../static/description/13.png | Bin 0 -> 509077 bytes .../static/description/14.png | Bin 0 -> 50177 bytes .../static/description/2.png | Bin 0 -> 250389 bytes .../static/description/3.png | Bin 0 -> 401298 bytes .../static/description/4.png | Bin 0 -> 337615 bytes .../static/description/5.png | Bin 0 -> 338063 bytes .../static/description/6.png | Bin 0 -> 245236 bytes .../static/description/7.png | Bin 0 -> 378788 bytes .../static/description/8.png | Bin 0 -> 109658 bytes .../static/description/9.png | Bin 0 -> 159044 bytes .../static/description/Banner.png | Bin 0 -> 346564 bytes .../description/Dynamic-Bank-Cheque-Print.png | Bin 0 -> 9231 bytes .../static/description/icon.png | Bin 0 -> 3889 bytes .../static/description/index.html | 357 ++ .../static/src/css/im_chat_backend.css | 0 .../static/src/css/im_chat_common.css | 0 .../static/src/css/my_module_name.css | 0 .../static/src/js/bank_cheque.js | 55 + .../static/src/js/jquery.min.js | 4 + .../static/src/js/jquery_Jcrop.js | 1694 +++++++++ .../static/src/js/wk_manual_close.js | 9 + .../static/src/less/my_module_name.less | 0 .../static/src/xml/my_module_name.xml | 0 .../views/account_payment_view.xml | 28 + .../views/bank_cheque_views.xml | 229 ++ .../cheque_management/views/cheque_report.xml | 131 + .../views/website_template_view.xml | 262 ++ .../cheque_management/wizard/__init__.py | 3 + .../wizard/print_cheque_transient.py | 143 + .../wizard/print_cheque_transient_views.xml | 58 + .../custom_account_payment/__init__.py | 1 + .../custom_account_payment/__manifest__.py | 22 + .../custom_account_payment/models/__init__.py | 1 + .../models/account_payment.py | 40 + .../views/account_payment.xml | 27 + .../eg_account_invoice_balance/README.rst | 4 + .../eg_account_invoice_balance/__init__.py | 1 + .../__manifest__.py | 20 + .../models/__init__.py | 1 + .../models/account_move.py | 17 + .../reports/account_report_template.xml | 12 + .../static/description/banner.png | Bin 0 -> 66136 bytes .../static/description/company_logo.png | Bin 0 -> 46861 bytes .../static/description/divider.png | Bin 0 -> 3151 bytes .../description/eg_cancel_quotation.png | Bin 0 -> 24651 bytes .../eg_inventory_user_signature_report.png | Bin 0 -> 36046 bytes .../description/eg_merge_purchase_order.png | Bin 0 -> 12634 bytes .../static/description/eg_po_from_so.png | Bin 0 -> 31028 bytes .../eg_product_sale_price_history.png | Bin 0 -> 23423 bytes .../description/eg_sendcloud_delivery.png | Bin 0 -> 53248 bytes .../description/eg_split_quotation_order.png | Bin 0 -> 11213 bytes .../eg_whatsapp_all_in_one_integration.png | Bin 0 -> 45633 bytes .../eg_whatsapp_sale_integration.png | Bin 0 -> 23363 bytes .../static/description/icon.png | Bin 0 -> 30453 bytes .../static/description/images/1(a).png | Bin 0 -> 75544 bytes .../static/description/images/1.png | Bin 0 -> 201479 bytes .../static/description/images/2(a).png | Bin 0 -> 75456 bytes .../static/description/images/2.png | Bin 0 -> 214669 bytes .../static/description/index.html | 388 ++ .../views/account_move_view.xml | 14 + .../exp_asset_base/.idea/exp_asset_base.iml | 12 + .../inspectionProfiles/profiles_settings.xml | 6 + .../exp_asset_base/.idea/misc.xml | 4 + .../exp_asset_base/.idea/modules.xml | 8 + .../exp_asset_base/.idea/workspace.xml | 38 + odex25_accounting/exp_asset_base/__init__.py | 5 + .../exp_asset_base/__manifest__.py | 42 + .../exp_asset_base/data/asset_cron.xml | 13 + .../exp_asset_base/data/asset_data.xml | 41 + odex25_accounting/exp_asset_base/i18n/ar.po | 1410 ++++++++ .../exp_asset_base/i18n/ar_001.po | 892 +++++ .../exp_asset_base/i18n/ar_SY.po | 1481 ++++++++ .../exp_asset_base/models/__init__.py | 8 + .../exp_asset_base/models/account_asset.py | 297 ++ .../models/account_asset_adjustment.py | 115 + .../exp_asset_base/models/asset_modify.py | 179 + .../exp_asset_base/models/asset_pause.py | 29 + .../exp_asset_base/models/asset_sell.py | 60 + .../exp_asset_base/reports/__init__.py | 4 + .../reports/abstract_report_xlsx.py | 688 ++++ .../reports/asset_depreciation_report_xlsx.py | 126 + .../reports/asset_register_report.py | 74 + .../reports/asset_register_report.xml | 59 + .../reports/asset_register_report_xlsx.py | 126 + .../exp_asset_base/reports/reports.xml | 19 + .../exp_asset_base/security/groups.xml | 11 + .../security/ir.model.access.csv | 13 + .../static/description/assets.png | Bin 0 -> 24904 bytes .../static/description/icon.png | Bin 0 -> 32929 bytes .../views/account_asset_adjustment_view.xml | 97 + .../views/account_asset_view.xml | 351 ++ .../views/asset_modify_views.xml | 81 + .../views/asset_pause_views.xml | 56 + .../exp_asset_base/views/asset_sell_views.xml | 65 + .../exp_asset_base/views/menus.xml | 84 + .../exp_asset_custody/__init__.py | 4 + .../exp_asset_custody/__manifest__.py | 30 + .../exp_asset_custody/data/asset_data.xml | 34 + .../exp_asset_custody/i18n/ar.po | 878 +++++ .../exp_asset_custody/models/__init__.py | 7 + .../exp_asset_custody/models/account_asset.py | 67 + .../models/account_asset_adjustment.py | 44 + .../models/account_asset_multi_operation.py | 150 + .../models/account_asset_operation.py | 150 + .../reports/asset_adjustment_report.xml | 232 ++ .../security/ir.model.access.csv | 6 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../views/account_asset_adjustment_view.xml | 21 + .../account_asset_custody_multi_operation.xml | 285 ++ .../account_asset_custody_operation_view.xml | 326 ++ .../views/account_asset_view.xml | 51 + .../exp_asset_custody/views/menus.xml | 56 + .../exp_asset_custody_link/__init__.py | 3 + .../exp_asset_custody_link/__manifest__.py | 23 + .../exp_asset_custody_link/i18n/ar_001.po | 266 ++ .../exp_asset_custody_link/models/__init__.py | 4 + .../models/account_asset_operation.py | 70 + .../models/employee_custody.py | 117 + .../security/ir.model.access.csv | 2 + .../views/employee_custody_action.xml | 90 + .../exp_budget_check/__init__.py | 4 + .../exp_budget_check/__manifest__.py | 37 + .../exp_budget_check/controllers/__init__.py | 3 + .../controllers/controllers.py | 20 + .../exp_budget_check/demo/demo.xml | 30 + odex25_accounting/exp_budget_check/i18n/ar.po | 266 ++ .../exp_budget_check/models/__init__.py | 6 + .../exp_budget_check/models/account_budget.py | 64 + .../models/account_invoice.py | 209 ++ .../models/analytic_account.py | 14 + .../exp_budget_check/models/hr_expense.py | 167 + .../security/ir.model.access.csv | 2 + .../views/account_invoice_view.xml | 107 + .../views/hr_expense_view.xml | 18 + .../exp_multi_unaffected_earnings/__init__.py | 3 + .../__manifest__.py | 17 + .../models/__init__.py | 2 + .../models/account_account.py | 20 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../views/account_view.xml | 16 + .../hr_expense_petty_cash/README.rst | 127 + .../hr_expense_petty_cash/__init__.py | 5 + .../hr_expense_petty_cash/__manifest__.py | 26 + .../data/hr_expense_data.xml | 8 + .../data/petty_cash_data.xml | 15 + .../hr_expense_petty_cash/i18n/ar.po | 640 ++++ .../hr_expense_petty_cash/i18n/ar_001.po | 1016 ++++++ .../hr_expense_petty_cash/models/__init__.py | 8 + .../models/account_move.py | 312 ++ .../models/hr_expense.py | 119 + .../models/hr_expense_sheet.py | 418 +++ .../models/petty_cash.py | 288 ++ .../models/petty_cash_configuration.py | 31 + .../readme/CONFIGURE.rst | 9 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/DESCRIPTION.rst | 8 + .../hr_expense_petty_cash/readme/USAGE.rst | 27 + .../report/hr_expense_report.xml | 19 + .../security/ir.model.access.csv | 4 + .../security/security.xml | 30 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/description/index.html | 475 +++ .../static/description/odoo_icon.png | Bin 0 -> 19659 bytes .../hr_expense_petty_cash/tests/__init__.py | 4 + .../tests/test_hr_expense_petty_cash.py | 265 ++ .../views/account_move_views.xml | 83 + .../views/hr.employee.xml | 20 + .../views/hr_expense_sheet_views.xml | 153 + .../views/hr_expense_views.xml | 72 + .../views/menu_security_cus.xml | 7 + .../views/petty_cash_configuration_views.xml | 80 + .../views/petty_cash_views.xml | 239 ++ .../hr_expense_petty_cash/wizards/__init__.py | 1 + .../wizards/cancel_petty_cash.py | 31 + .../wizards/cancel_purchase_request.xml | 19 + .../wizards/convert_to_contract.xml | 41 + .../journal_entry_report/__init__.py | 3 + .../journal_entry_report/__manifest__.py | 20 + .../journal_entry_report/i18n/ar.po | 106 + .../journal_entry_report/models/__init__.py | 2 + .../models/account_move_line.py | 9 + .../reports/report_journal_entry.xml | 152 + .../iWesabe-Apps-Journal-Entry-Report.png | Bin 0 -> 102717 bytes .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/fonts/ae_AlMohanad.ttf | Bin 0 -> 120920 bytes .../static/src/css/website_rtl.css | 22 + .../views/account_move_view.xml | 15 + odex25_accounting/l10n_exp/__init__.py | 23 + odex25_accounting/l10n_exp/__manifest__.py | 25 + .../data/account.account.template.csv | 220 ++ .../l10n_exp/data/account.chart.template.csv | 2 + .../data/account_chart_template_data.xml | 8 + .../l10n_exp/data/l10n_exp_chart_data.xml | 15 + odex25_accounting/l10n_exp/i18n/ar.po | 1117 ++++++ .../l10n_exp/static/description/icon.png | Bin 0 -> 32929 bytes odex25_accounting/mis_builder/README.rst | 597 ++++ odex25_accounting/mis_builder/__init__.py | 6 + odex25_accounting/mis_builder/__manifest__.py | 36 + .../mis_builder/datas/ir_cron.xml | 13 + odex25_accounting/mis_builder/i18n/ca.po | 2023 +++++++++++ odex25_accounting/mis_builder/i18n/de.po | 1858 ++++++++++ odex25_accounting/mis_builder/i18n/el.po | 1776 +++++++++ odex25_accounting/mis_builder/i18n/el_GR.po | 1776 +++++++++ odex25_accounting/mis_builder/i18n/es.po | 2021 +++++++++++ odex25_accounting/mis_builder/i18n/fr.po | 1997 +++++++++++ odex25_accounting/mis_builder/i18n/hr.po | 1887 ++++++++++ odex25_accounting/mis_builder/i18n/it.po | 1776 +++++++++ odex25_accounting/mis_builder/i18n/nl.po | 2009 +++++++++++ odex25_accounting/mis_builder/i18n/nl_NL.po | 2012 +++++++++++ odex25_accounting/mis_builder/i18n/pt.po | 1780 +++++++++ odex25_accounting/mis_builder/i18n/pt_BR.po | 1965 ++++++++++ .../migrations/8.0.2.0.0/post-migration.py | 29 + .../migrations/8.0.2.0.0/pre-migration.py | 20 + .../mis_builder/models/__init__.py | 10 + .../mis_builder/models/accounting_none.py | 215 ++ odex25_accounting/mis_builder/models/aep.py | 549 +++ .../mis_builder/models/aggregate.py | 129 + .../mis_builder/models/data_error.py | 17 + .../models/expression_evaluator.py | 76 + .../mis_builder/models/kpimatrix.py | 544 +++ .../mis_builder/models/mis_kpi_data.py | 112 + .../mis_builder/models/mis_report.py | 981 +++++ .../mis_builder/models/mis_report_instance.py | 908 +++++ .../mis_builder/models/mis_report_style.py | 311 ++ .../models/mis_report_subreport.py | 66 + .../mis_builder/models/mis_safe_eval.py | 33 + .../models/prorata_read_group_mixin.py | 96 + .../mis_builder/models/simple_array.py | 184 + .../mis_builder/readme/CONTRIBUTORS.rst | 23 + .../mis_builder/readme/DESCRIPTION.rst | 5 + .../mis_builder/readme/DEVELOP.rst | 6 + .../mis_builder/readme/HISTORY.rst | 428 +++ .../mis_builder/readme/INSTALL.rst | 7 + .../mis_builder/readme/ROADMAP.rst | 3 + .../mis_builder/readme/USAGE.rst | 26 + .../readme/newsfragments/.gitignore | 0 .../mis_builder/report/__init__.py | 5 + .../report/mis_report_instance_qweb.py | 28 + .../report/mis_report_instance_qweb.xml | 116 + .../report/mis_report_instance_xlsx.py | 174 + .../report/mis_report_instance_xlsx.xml | 11 + .../mis_builder/security/ir.model.access.csv | 22 + .../security/mis_builder_security.xml | 10 + .../static/description/ex_report_preview.png | Bin 0 -> 96172 bytes .../static/description/ex_report_settings.png | Bin 0 -> 103790 bytes .../static/description/ex_report_template.png | Bin 0 -> 100278 bytes .../mis_builder/static/description/icon.png | Bin 0 -> 4770 bytes .../mis_builder/static/description/index.html | 949 +++++ .../mis_builder/static/src/css/custom.css | 29 + .../mis_builder/static/src/css/report.css | 46 + .../static/src/js/mis_report_widget.js | 450 +++ .../static/src/xml/mis_report_widget.xml | 98 + .../mis_builder/tests/__init__.py | 16 + odex25_accounting/mis_builder/tests/common.py | 80 + .../mis_builder/tests/test_accounting_none.py | 8 + .../mis_builder/tests/test_aep.py | 412 +++ .../mis_builder/tests/test_aggregate.py | 7 + .../tests/test_analytic_filters.py | 115 + .../mis_builder/tests/test_data_sources.py | 221 ++ .../mis_builder/tests/test_kpi_data.py | 143 + .../tests/test_mis_report_instance.py | 551 +++ .../mis_builder/tests/test_mis_safe_eval.py | 25 + .../tests/test_multi_company_aep.py | 207 ++ .../mis_builder/tests/test_period_dates.py | 159 + .../mis_builder/tests/test_render.py | 317 ++ .../mis_builder/tests/test_simple_array.py | 7 + .../mis_builder/tests/test_subreport.py | 96 + .../mis_builder/tests/test_utc_midnight.py | 19 + .../mis_builder/views/mis_report.xml | 321 ++ .../mis_builder/views/mis_report_instance.xml | 408 +++ .../mis_builder/views/mis_report_style.xml | 110 + .../mis_builder/wizard/__init__.py | 4 + .../wizard/mis_builder_dashboard.py | 92 + .../wizard/mis_builder_dashboard.xml | 36 + .../mis_builder_cash_flow/README.rst | 109 + .../mis_builder_cash_flow/__init__.py | 4 + .../mis_builder_cash_flow/__manifest__.py | 26 + .../mis_builder_cash_flow/data/mis_report.xml | 109 + .../data/mis_report_instance.xml | 132 + .../data/mis_report_style.xml | 61 + .../mis_builder_cash_flow/i18n/ca.po | 319 ++ .../mis_builder_cash_flow/i18n/ca_ES.po | 319 ++ .../mis_builder_cash_flow/i18n/es.po | 335 ++ .../mis_builder_cash_flow/i18n/es_AR.po | 324 ++ .../mis_builder_cash_flow/i18n/nl.po | 321 ++ .../mis_builder_cash_flow/i18n/pt.po | 325 ++ .../mis_builder_cash_flow/models/__init__.py | 4 + .../models/account_account.py | 12 + .../models/mis_cash_flow_forecast_line.py | 46 + .../models/mis_report_instance.py | 17 + .../readme/CONTRIBUTORS.rst | 6 + .../readme/DESCRIPTION.rst | 5 + .../mis_builder_cash_flow/readme/ROADMAP.rst | 3 + .../mis_builder_cash_flow/readme/USAGE.rst | 8 + .../mis_builder_cash_flow/report/__init__.py | 3 + .../report/mis_cash_flow.py | 145 + .../report/mis_cash_flow_views.xml | 105 + .../security/mis_cash_flow_security.xml | 23 + .../static/description/icon.png | Bin 0 -> 4770 bytes .../static/description/index.html | 452 +++ .../mis_builder_cash_flow/tests/__init__.py | 1 + .../tests/test_cash_flow.py | 157 + .../views/account_account_views.xml | 15 + .../mis_cash_flow_forecast_line_views.xml | 92 + .../naif_account_report/__init__.py | 3 + .../naif_account_report/__manifest__.py | 16 + .../naif_account_report/i18n/ar_001.po | 26 + .../naif_account_report/models/__init__.py | 3 + .../naif_account_report/models/models.py | 42 + .../views/account_payment_pdf.xml | 140 + .../views/journal_entry_pdf.xml | 275 ++ .../views/report_action.xml | 24 + .../odex25_account_accountant/__init__.py | 81 + .../odex25_account_accountant/__manifest__.py | 47 + .../data/digest_data.xml | 21 + .../data/odex25_account_accountant_data.xml | 32 + .../data/odex25_account_accountant_demo.xml | 6 + .../odex25_account_accountant/i18n/ar.po | 1316 +++++++ .../models/__init__.py | 13 + .../models/account_account.py | 15 + .../models/account_bank_statement.py | 13 + .../models/account_fiscal_year.py | 55 + .../models/account_journal_dashboard.py | 44 + .../models/account_move.py | 105 + .../models/account_payment.py | 33 + .../models/digest.py | 29 + .../models/reconciliation_widget.py | 1066 ++++++ .../models/res_company.py | 138 + .../models/res_config_settings.py | 61 + .../security/ir.model.access.csv | 5 + .../odex25_account_accountant_security.xml | 43 + .../static/description/icon.png | Bin 0 -> 6149 bytes .../static/description/icon.svg | 1 + .../static/src/img/accounting-bulk.gif | Bin 0 -> 71575 bytes .../static/src/js/move_line_list_view.js | 294 ++ .../reconciliation/reconciliation_action.js | 469 +++ .../js/reconciliation/reconciliation_model.js | 1868 ++++++++++ .../reconciliation/reconciliation_renderer.js | 937 +++++ .../src/js/tours/odex25_account_accountant.js | 93 + .../static/src/scss/move_line_list_view.scss | 85 + .../static/src/xml/account_reconciliation.xml | 405 +++ .../static/tests/move_line_list_tests.js | 246 ++ .../static/tests/reconciliation_tests.js | 2227 ++++++++++++ .../account_dashboard_setup_bar_tests.js | 17 + .../static/tests/tours/reconciliation.js | 105 + .../tests/__init__.py | 8 + .../tests/test_account_bank_statement.py | 207 ++ .../tests/test_account_fiscal_year.py | 128 + .../tests/test_bank_reconciliation_widget.py | 36 + .../tests/test_reconciliation_widget.py | 386 ++ .../tests/test_tour_reconciliation_widget.py | 103 + .../tests/test_ui.py | 10 + .../views/account_account_views.xml | 61 + .../views/account_bank_statement_views.xml | 8 + .../views/account_fiscal_year_view.xml | 53 + .../views/account_journal_dashboard_views.xml | 31 + .../views/account_move_views.xml | 78 + .../views/account_payment_views.xml | 21 + .../views/digest_views.xml | 13 + .../odex25_account_accountant_menuitems.xml | 13 + .../odex25_account_accountant_templates.xml | 28 + .../views/product_views.xml | 31 + .../views/res_config_settings_views.xml | 107 + .../wizard/__init__.py | 4 + .../wizard/account_change_lock_date.py | 35 + .../wizard/account_change_lock_date.xml | 41 + .../wizard/reconcile_model_wizard.xml | 44 + .../odex25_account_asset/__init__.py | 6 + .../odex25_account_asset/__manifest__.py | 39 + .../demo/account_deferred_revenue_demo.xml | 24 + .../odex25_account_asset/i18n/ar.po | 2114 +++++++++++ .../odex25_account_asset/i18n/ar_001.po | 2104 +++++++++++ .../odex25_account_asset/models/__init__.py | 7 + .../odex25_account_asset/models/account.py | 55 + .../models/account_asset.py | 843 +++++ .../models/account_move.py | 336 ++ .../models/res_company.py | 10 + .../odex25_account_asset/report/__init__.py | 5 + .../report/account_assets_report.py | 285 ++ .../report/account_assets_report_views.xml | 28 + .../security/account_asset_security.xml | 11 + .../security/ir.model.access.csv | 7 + .../static/description/icon.png | Bin 0 -> 6841 bytes .../static/description/icon.svg | 1 + .../static/src/js/account_asset.js | 32 + .../src/js/account_asset_reversed_widget.js | 53 + .../static/src/scss/account_asset.scss | 34 + .../odex25_account_asset/tests/__init__.py | 4 + .../tests/test_account_asset.py | 640 ++++ .../views/account_account_views.xml | 57 + .../views/account_asset_templates.xml | 10 + .../views/account_asset_views.xml | 280 ++ .../views/account_deferred_expense.xml | 154 + .../views/account_deferred_revenue.xml | 168 + .../views/account_move_views.xml | 61 + .../odex25_account_asset/wizard/__init__.py | 6 + .../wizard/asset_modify.py | 168 + .../wizard/asset_modify_views.xml | 41 + .../wizard/asset_pause.py | 16 + .../wizard/asset_pause_views.xml | 22 + .../odex25_account_asset/wizard/asset_sell.py | 48 + .../wizard/asset_sell_views.xml | 32 + .../odex25_account_auto_transfer/__init__.py | 3 + .../__manifest__.py | 21 + .../data/cron.xml | 11 + .../odex25_account_auto_transfer/i18n/ar.po | 404 +++ .../models/__init__.py | 4 + .../models/account_move.py | 9 + .../models/transfer_model.py | 482 +++ .../security/ir.model.access.csv | 7 + .../static/description/icon.png | Bin 0 -> 6841 bytes .../static/description/icon.svg | 1 + .../tests/__init__.py | 3 + ...ex25_account_auto_transfer_test_classes.py | 97 + .../tests/test_transfer_model.py | 395 ++ .../tests/test_transfer_model_line.py | 288 ++ .../views/transfer_model_views.xml | 128 + .../__init__.py | 5 + .../__manifest__.py | 26 + .../account_import_tip_data.xml | 6 + .../account_journal.py | 29 + .../demo/partner_bank.xml | 30 + .../i18n/ar.po | 1060 ++++++ .../odex25_account_bank_statement_import.py | 299 ++ ...x25_account_bank_statement_import_view.xml | 55 + .../security/ir.model.access.csv | 3 + .../static/csv/account.bank.statement.csv | 6 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/description/icon_src.svg | 178 + .../odex25_account_bank_statement_import.js | 19 + ...ccount_bank_statement_import_templates.xml | 8 + .../wizard/__init__.py | 2 + .../wizard/journal_creation.py | 15 + .../wizard/journal_creation.xml | 32 + .../wizard/setup_wizards.py | 15 + .../__init__.py | 5 + .../__manifest__.py | 21 + ...x25_account_bank_statement_import_data.xml | 13 + .../standard-camt053-statement-v2-en_1.pdf | Bin 0 -> 4561065 bytes .../i18n/ar.po | 2051 +++++++++++ .../models/__init__.py | 4 + .../models/account_journal.py | 13 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../test_camt_file/camt_053_minimal.xml | 55 + .../test_camt_file/camt_053_sample.xml | 948 +++++ .../test_camt_file/camt_053_several_ibans.xml | 96 + .../test_camt_file/test_camt.xml | 249 ++ .../tests/__init__.py | 4 + ...ex25_account_bank_statement_import_camt.py | 189 + .../wizard/__init__.py | 5 + ...ex25_account_bank_statement_import_camt.py | 743 ++++ .../__init__.py | 5 + .../__manifest__.py | 30 + .../i18n/ar.po | 84 + .../models/__init__.py | 4 + .../models/account_journal.py | 13 + .../static/csv/account.bank.statement.csv | 6 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/src/js/import_bank_stmt.js | 74 + .../test_csv_file/test_csv.csv | 20 + .../tests/__init__.py | 4 + .../tests/test_import_bank_statement.py | 76 + ...ccount_bank_statement_import_templates.xml | 8 + .../wizard/__init__.py | 4 + ...dex25_account_bank_statement_import_csv.py | 177 + ...25_account_bank_statement_import_views.xml | 13 + .../__init__.py | 5 + .../__manifest__.py | 27 + .../i18n/ar.po | 60 + .../models/__init__.py | 4 + .../models/account_journal.py | 13 + .../static/description/icon.png | Bin 0 -> 3310 bytes .../static/ofx/test_ofx.ofx | 100 + .../tests/__init__.py | 4 + .../tests/test_import_bank_statement.py | 75 + .../wizard/__init__.py | 4 + ...dex25_account_bank_statement_import_ofx.py | 164 + ...25_account_bank_statement_import_views.xml | 13 + .../__init__.py | 5 + .../__manifest__.py | 29 + .../i18n/ar.po | 157 + .../models/__init__.py | 4 + .../models/account_journal.py | 13 + .../static/description/icon.png | Bin 0 -> 3297 bytes .../static/qif/test_qif.qif | 21 + .../tests/__init__.py | 4 + .../tests/test_import_bank_statement.py | 41 + .../wizard/__init__.py | 4 + ...dex25_account_bank_statement_import_qif.py | 119 + ...25_account_bank_statement_import_views.xml | 45 + .../odex25_account_batch_payment/__init__.py | 5 + .../__manifest__.py | 37 + .../odex25_account_batch_payment_data.xml | 20 + .../odex25_account_batch_payment/i18n/ar.po | 666 ++++ .../models/__init__.py | 6 + .../models/account_journal.py | 64 + .../models/account_payment.py | 43 + .../models/odex25_account_batch_payment.py | 296 ++ .../models/widget_reconciliation.py | 63 + .../report/__init__.py | 3 + .../odex25_account_batch_payment_report.py | 41 + ...account_batch_payment_report_templates.xml | 44 + .../odex25_account_batch_payment_reports.xml | 13 + .../security/ir.model.access.csv | 6 + .../odex25_account_batch_payment_security.xml | 10 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/src/css/account_reconciliation.css | 8 + ...25_account_batch_payment_reconciliation.js | 246 ++ .../static/src/scss/report_batch_payment.scss | 7 + .../static/src/xml/account_reconciliation.xml | 55 + .../static/test/reconciliation_tests.js | 70 + .../tests/__init__.py | 3 + .../tests/test_batch_payment.py | 93 + .../views/account_journal_views.xml | 16 + .../views/account_payment_views.xml | 61 + ...odex25_account_batch_payment_templates.xml | 16 + .../odex25_account_batch_payment_views.xml | 176 + .../wizard/__init__.py | 4 + .../wizard/batch_error.py | 68 + .../wizard/batch_error_views.xml | 56 + .../wizard/download_wizard.py | 16 + .../wizard/download_wizard_views.xml | 23 + .../odex25_account_budget/__init__.py | 5 + .../odex25_account_budget/__manifest__.py | 20 + .../data/account_budget_demo.xml | 206 ++ .../odex25_account_budget/i18n/ar.po | 629 ++++ .../odex25_account_budget/models/__init__.py | 5 + .../models/account_analytic_account.py | 74 + .../models/account_budget.py | 313 ++ .../security/account_budget_security.xml | 33 + .../security/ir.model.access.csv | 10 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../odex25_account_budget/tests/__init__.py | 6 + .../odex25_account_budget/tests/common.py | 346 ++ .../tests/test_account_budget.py | 61 + .../tests/test_theoreticalamount.py | 63 + .../views/account_analytic_account_views.xml | 66 + .../views/account_budget_views.xml | 393 ++ .../views/res_config_settings_views.xml | 19 + .../odex25_account_budget/wizard/__init__.py | 3 + .../crossovered_budget_percentage_wizard.py | 66 + ...sovered_budget_percentage_wizard_views.xml | 41 + .../odex25_account_consolidation/__init__.py | 5 + .../__manifest__.py | 33 + .../controllers/__init__.py | 3 + .../controllers/onboarding.py | 22 + .../odex25_account_consolidation/i18n/ar.po | 1589 +++++++++ .../models/__init__.py | 9 + .../models/account_account.py | 60 + .../models/account_move.py | 9 + .../models/consolidation_coa.py | 280 ++ .../models/consolidation_journal.py | 277 ++ .../models/consolidation_period.py | 764 ++++ .../models/consolidation_rate.py | 36 + .../models/res_company.py | 85 + .../report/__init__.py | 2 + .../report/builder/__init__.py | 1 + .../report/builder/abstract.py | 375 ++ .../report/builder/comparison.py | 99 + .../report/builder/default.py | 56 + .../report/handler/__init__.py | 1 + .../report/handler/abstract.py | 49 + .../report/handler/journals.py | 61 + .../report/handler/periods.py | 55 + .../report/handler/show_zero.py | 79 + .../report/trial_balance.py | 226 ++ .../report/trial_balance.xml | 214 ++ .../security/ir.model.access.csv | 12 + .../odex25_account_consolidation_security.xml | 74 + .../static/description/icon.png | Bin 0 -> 6658 bytes .../static/description/icon.svg | 1 + .../static/src/js/json_field.js | 77 + .../static/src/js/move_line_list/renderer.js | 46 + .../static/src/js/move_line_list/view.js | 17 + .../src/js/trial_balance_grid/controller.js | 51 + .../src/js/trial_balance_grid/renderer.js | 39 + .../static/src/js/trial_balance_grid/view.js | 24 + .../src/scss/consolidation_grid_view.scss | 9 + .../static/src/scss/consolidation_kanban.scss | 12 + .../static/src/xml/fields_templates.xml | 29 + .../tests/__init__.py | 8 + ...ex25_account_consolidation_test_classes.py | 88 + .../tests/test_consolidation_coa.py | 223 ++ .../tests/test_consolidation_journal.py | 369 ++ .../tests/test_consolidation_period.py | 781 ++++ .../tests/test_journal_line.py | 246 ++ .../tests/test_report_builder.py | 542 +++ .../tests/test_report_handler.py | 260 ++ .../tests/test_report_trial_balance.py | 323 ++ .../views/account_account_views.xml | 60 + .../views/account_move_views.xml | 34 + .../views/assets.xml | 16 + .../consolidation_account_group_views.xml | 85 + .../views/consolidation_account_views.xml | 174 + .../views/consolidation_chart_views.xml | 133 + .../views/consolidation_journal_views.xml | 178 + .../views/consolidation_period_views.xml | 473 +++ .../views/consolidation_rate_views.xml | 39 + .../views/menuitems.xml | 34 + .../views/onboarding_templates.xml | 53 + .../__init__.py | 4 + .../__manifest__.py | 21 + .../i18n/ar.po | 200 ++ .../models/__init__.py | 4 + .../models/account_account.py | 9 + .../odex25_account_disallowed_expenses.py | 77 + .../report/__init__.py | 3 + ...ex25_account_disallowed_expenses_report.py | 185 + ...count_disallowed_expenses_report_views.xml | 24 + .../security/ir.model.access.csv | 6 + ...5_account_disallowed_expenses_security.xml | 11 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../views/account_account_views.xml | 26 + ...unt_disallowed_expenses_category_views.xml | 96 + .../__init__.py | 4 + .../__manifest__.py | 19 + .../i18n/ar.po | 127 + .../models/__init__.py | 5 + .../models/account_move.py | 12 + .../models/fleet_vehicle.py | 19 + .../odex25_account_disallowed_expenses.py | 18 + .../report/__init__.py | 3 + ...ex25_account_disallowed_expenses_report.py | 126 + .../security/ir.model.access.csv | 4 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../views/fleet_vehicle_views.xml | 20 + ...unt_disallowed_expenses_category_views.xml | 13 + .../odex25_account_followup/__init__.py | 4 + .../odex25_account_followup/__manifest__.py | 46 + .../odex25_account_followup/data/cron.xml | 14 + .../data/odex25_account_followup_data.xml | 28 + .../demo/odex25_account_followup_demo.xml | 87 + .../odex25_account_followup/i18n/ar.po | 972 +++++ .../models/__init__.py | 6 + .../models/chart_template.py | 19 + .../models/odex25_account_followup.py | 117 + .../models/odex25_account_followup_report.py | 403 +++ .../models/res_partner.py | 297 ++ .../report/__init__.py | 3 + .../report/odex25_account_followup_report.py | 25 + .../security/ir.model.access.csv | 5 + .../odex25_account_followup_security.xml | 11 + .../security/sms_security.xml | 9 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/src/js/followup_form_controller.js | 449 +++ .../static/src/js/followup_form_model.js | 288 ++ .../static/src/js/followup_form_renderer.js | 270 ++ .../static/src/js/followup_form_view.js | 29 + .../scss/odex25_account_followup_letter.scss | 20 + .../xml/odex25_account_followup_template.xml | 54 + .../static/tests/followup_tests.js | 215 ++ .../static/tests/tours/account_reports.js | 55 + .../odex25_account_followup/tests/__init__.py | 6 + .../tests/test_followup.py | 200 ++ .../odex25_account_followup/tests/test_ui.py | 27 + .../views/account_journal_dashboard_view.xml | 14 + .../odex25_account_followup/views/assets.xml | 22 + .../views/odex25_account_followup_views.xml | 308 ++ .../views/partner_view.xml | 22 + .../views/report_followup.xml | 201 ++ .../__init__.py | 3 + .../__manifest__.py | 25 + .../data/config_parameter_endpoint.xml | 11 + .../data/extraction_status.xml | 151 + .../odex25_account_invoice_extract_data.xml | 20 + .../data/res_config_settings_views.xml | 32 + .../data/update_status_cron.xml | 15 + .../odex25_account_invoice_extract/i18n/ar.po | 451 +++ .../models/__init__.py | 6 + .../models/account_invoice.py | 745 ++++ .../models/ir_attachment.py | 19 + .../models/res_company.py | 14 + .../models/res_config_settings.py | 11 + .../security/ir.model.access.csv | 2 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/src/bugfix/bugfix.js | 10 + .../static/src/bugfix/bugfix.scss | 6 + .../static/src/bugfix/bugfix.xml | 11 + .../static/src/bugfix/bugfix_tests.js | 18 + ...ex25_account_invoice_extract_box_layer.css | 63 + .../static/src/js/invoice_extract_box.js | 190 + .../src/js/invoice_extract_box_layer.js | 153 + .../static/src/js/invoice_extract_field.js | 236 ++ .../src/js/invoice_extract_field_button.js | 94 + .../static/src/js/invoice_extract_fields.js | 145 + .../src/js/invoice_extract_form_renderer.js | 426 +++ .../src/js/invoice_extract_form_view.js | 26 + .../scss/odex25_account_invoice_extract.scss | 12 + .../helpers/invoice_extract_test_utils.js | 131 + .../tests/invoice_extract_box_layer_tests.js | 259 ++ .../src/tests/invoice_extract_box_tests.js | 323 ++ .../invoice_extract_field_button_tests.js | 114 + .../src/tests/invoice_extract_field_tests.js | 122 + ...oice_extract_fields_and_box_layer_tests.js | 366 ++ .../src/tests/invoice_extract_fields_tests.js | 182 + .../tests/invoice_extract_form_view_tests.js | 434 +++ .../static/src/xml/invoice_extract_box.xml | 16 + .../static/src/xml/invoice_extract_button.xml | 17 + .../tests/__init__.py | 3 + .../tests/common.py | 35 + .../tests/test_invoice_extract.py | 505 +++ .../__init__.py | 3 + .../__manifest__.py | 12 + .../models/__init__.py | 3 + .../models/account_invoice.py | 30 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../odex25_account_online_sync/__init__.py | 2 + .../__manifest__.py | 25 + .../odex25_account_online_sync/i18n/ar.po | 860 +++++ .../models/__init__.py | 4 + .../models/company.py | 29 + .../models/online_sync.py | 620 ++++ .../security/ir.model.access.csv | 7 + .../odex25_account_online_sync_security.xml | 13 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/src/img/beta_icon.png | Bin 0 -> 2903 bytes .../static/src/js/online_sync.js | 238 ++ .../static/src/scss/online_sync.scss | 50 + .../tests/__init__.py | 3 + .../test_online_sync_creation_statement.py | 371 ++ .../views/online_sync_templates.xml | 141 + .../views/online_sync_views.xml | 228 ++ .../__init__.py | 58 + .../__manifest__.py | 32 + .../data/config_parameter.xml | 13 + .../models/__init__.py | 6 + .../models/account_bank_statement.py | 201 ++ .../models/account_journal.py | 55 + .../models/account_online.py | 492 +++ .../models/company.py | 15 + .../models/odoofin_auth.py | 52 + .../security/ir.model.access.csv | 7 + .../odex25_account_online_sync_security.xml | 15 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/src/js/odoo_fin_connector.js | 70 + .../tests/__init__.py | 3 + .../test_online_sync_creation_statement.py | 609 ++++ .../views/account_asset.xml | 8 + .../views/migrate_views.xml | 35 + .../views/odex25_account_online_sync.xml | 225 ++ .../wizard/__init__.py | 3 + .../wizard/account_link_journal_wizard.py | 92 + .../wizard/account_link_journal_wizard.xml | 46 + .../odex25_account_reports/__init__.py | 13 + .../odex25_account_reports/__manifest__.py | 35 + .../controllers/__init__.py | 4 + .../controllers/main.py | 105 + .../data/account_financial_report_data.xml | 673 ++++ .../odex25_account_reports/i18n/ar.po | 3169 +++++++++++++++++ .../odex25_account_reports/models/__init__.py | 26 + .../odex25_account_reports/models/account.py | 10 + .../models/account_accounting_report.py | 474 +++ .../models/account_activity.py | 81 + .../models/account_aged_partner_balance.py | 264 ++ .../models/account_analytic_report.py | 197 + .../account_bank_reconciliation_report.py | 683 ++++ .../models/account_cash_flow_report.py | 739 ++++ .../models/account_consolidated_journals.py | 177 + .../models/account_financial_report.py | 1191 +++++++ .../models/account_general_ledger.py | 885 +++++ .../models/account_generic_tax_report.py | 814 +++++ .../models/account_journal_dashboard.py | 19 + .../models/account_move_line.py | 19 + ...ccount_multicurrency_revaluation_report.py | 231 ++ .../models/account_partner_ledger.py | 729 ++++ .../models/account_report.py | 1537 ++++++++ .../models/account_report_coa.py | 136 + .../models/chart_template.py | 30 + .../odex25_account_reports/models/formula.py | 381 ++ .../models/ir_actions.py | 19 + .../models/ir_module_module.py | 51 + .../models/res_company.py | 204 ++ .../models/res_config_settings.py | 27 + .../models/res_partner.py | 34 + .../security/ir.model.access.csv | 18 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/src/js/account_reports.js | 971 +++++ .../js/action_manager_account_report_dl.js | 56 + .../static/src/js/mail_activity.js | 31 + .../src/scss/account_financial_report.scss | 615 ++++ .../static/src/scss/account_report_print.scss | 59 + .../src/xml/account_report_template.xml | 69 + .../action_manager_account_report_dl_tests.js | 150 + .../tests/tours/account_reports_widgets.js | 93 + .../odex25_account_reports/tests/__init__.py | 15 + .../odex25_account_reports/tests/common.py | 183 + .../tests/test_account_reports_filters.py | 1193 +++++++ .../tests/test_aged_report.py | 260 ++ .../tests/test_cash_flow_report.py | 658 ++++ .../test_consolidated_journals_report.py | 126 + .../tests/test_financial_report.py | 361 ++ .../tests/test_general_ledger_report.py | 354 ++ ...test_multicurrencies_revaluation_report.py | 213 ++ .../tests/test_partner_ledger_report.py | 360 ++ .../tests/test_reconciliation_report.py | 291 ++ .../tests/test_tax_report.py | 806 +++++ .../tests/test_tour_account_reports.py | 41 + .../views/account_activity.xml | 43 + .../views/account_journal_dashboard_view.xml | 66 + .../views/account_report_view.xml | 113 + .../odex25_account_reports/views/assets.xml | 27 + .../views/partner_view.xml | 24 + .../views/report_financial.xml | 445 +++ .../views/res_config_settings_views.xml | 88 + .../views/search_template_view.xml | 332 ++ .../odex25_account_reports/wizard/__init__.py | 6 + .../wizard/fiscal_year.py | 22 + .../wizard/fiscal_year.xml | 22 + .../wizard/multicurrency_revaluation.py | 126 + .../wizard/multicurrency_revaluation.xml | 31 + .../wizard/report_export_wizard.py | 108 + .../wizard/report_export_wizard.xml | 27 + .../__init__.py | 4 + .../__manifest__.py | 19 + .../data/account_financial_report_data.xml | 12 + .../i18n/ar.po | 93 + .../models/__init__.py | 4 + .../models/account_report.py | 139 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../tests/__init__.py | 4 + .../tests/test_account_reports_cash_basis.py | 162 + .../views/account_report_view.xml | 13 + .../views/report_financial.xml | 15 + .../odex25_account_reports_tax/__init__.py | 2 + .../__manifest__.py | 13 + .../models/__init__.py | 2 + .../models/account_generic_tax_report.py | 12 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../views/search_template_view.xml | 54 + .../odex25_account_saft/__init__.py | 3 + .../odex25_account_saft/__manifest__.py | 20 + .../odex25_account_saft/i18n/ar.po | 78 + .../odex25_account_saft/models/__init__.py | 4 + .../odex25_account_saft/models/attachment.py | 83 + .../models/odex25_account_saft_report.py | 440 +++ .../static/description/icon.png | Bin 0 -> 32929 bytes .../views/saft_templates.xml | 225 ++ .../__init__.py | 4 + .../__manifest__.py | 19 + .../odex25_account_winbooks_import/i18n/ar.po | 237 ++ .../models/__init__.py | 4 + .../models/account_move.py | 10 + .../models/res_company.py | 16 + .../security/ir.model.access.csv | 2 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../tests/__init__.py | 3 + .../tests/test_winbooks_import.py | 34 + .../views/account_onboarding_templates.xml | 20 + .../wizard/__init__.py | 3 + .../wizard/import_wizard.py | 710 ++++ .../wizard/import_wizard_views.xml | 35 + .../odex25_accounting_base/__init__.py | 0 .../odex25_accounting_base/__manifest__.py | 25 + odex25_accounting/odex25_analytic/__init__.py | 3 + .../odex25_analytic/__manifest__.py | 23 + odex25_accounting/odex25_analytic/i18n/ar.po | 57 + .../odex25_analytic/models/__init__.py | 4 + .../odex25_analytic/models/models.py | 18 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../views/account_analytic_view.xml | 21 + .../payment_bank_charge/__init__.py | 1 + .../payment_bank_charge/__manifest__.py | 13 + .../payment_bank_charge/models/__init__.py | 1 + .../models/account_payment.py | 186 + .../views/account_payment.xml | 36 + .../post_dated_cheque/__init__.py | 10 + .../post_dated_cheque/__manifest__.py | 25 + .../data/account_payment_method_data.xml | 18 + .../post_dated_cheque/i18n/ar_001.po | 282 ++ .../post_dated_cheque/models/__init__.py | 10 + .../models/account_payment.py | 143 + .../static/description/icon.png | Bin 0 -> 33646 bytes .../static/description/main_screenshot.png | Bin 0 -> 43904 bytes .../views/account_payment_view.xml | 115 + .../post_dated_cheque/wizard/__init__.py | 4 + .../wizard/account_payment_register.py | 19 + .../wizard/account_payment_register_views.xml | 21 + .../report_e_invoice/__init__.py | 2 + .../report_e_invoice/__manifest__.py | 24 + .../report_e_invoice/i18n/ar_001.po | 582 +++ .../report_e_invoice/i18n/ar_SY.po | 580 +++ .../report_e_invoice/models/__init__.py | 2 + .../report_e_invoice/models/account_move.py | 149 + .../report_e_invoice/models/res_partner.py | 14 + .../report_e_invoice/report/assets.xml | 12 + .../report_e_invoice/report/e_invoice.xml | 685 ++++ .../report/e_invoice_without_header.xml | 640 ++++ .../static/description/icon.png | Bin 0 -> 32929 bytes .../src/fonts/DINNextLTArabic-Regular_0.ttf | Bin 0 -> 162940 bytes .../static/src/fonts/ae_AlMohanad.ttf | Bin 0 -> 120920 bytes .../report_e_invoice/static/src/img/logo.png | Bin 0 -> 108639 bytes .../static/src/img/trans_logo.png | Bin 0 -> 2019 bytes .../static/src/less/style.less | 150 + .../report_e_invoice/views/account.move.xml | 17 + .../report_e_invoice/views/res_partner.xml | 17 + .../report_e_invoice/wizard/__init__.py | 1 + .../wizard/account_move_reversal.py | 37 + .../wizard/account_move_reversal.xml | 18 + odex25_accounting/stock_analytic/README.rst | 112 + odex25_accounting/stock_analytic/__init__.py | 3 + .../stock_analytic/__manifest__.py | 25 + odex25_accounting/stock_analytic/i18n/ca.po | 54 + .../stock_analytic/i18n/cs_CZ.po | 54 + odex25_accounting/stock_analytic/i18n/de.po | 54 + .../stock_analytic/i18n/el_GR.po | 54 + odex25_accounting/stock_analytic/i18n/es.po | 55 + .../stock_analytic/i18n/es_EC.po | 54 + .../stock_analytic/i18n/es_MX.po | 54 + odex25_accounting/stock_analytic/i18n/fi.po | 53 + odex25_accounting/stock_analytic/i18n/fr.po | 53 + odex25_accounting/stock_analytic/i18n/gl.po | 53 + .../stock_analytic/i18n/gu_IN.po | 54 + .../stock_analytic/i18n/hi_IN.po | 54 + odex25_accounting/stock_analytic/i18n/hr.po | 55 + .../stock_analytic/i18n/hr_HR.po | 55 + odex25_accounting/stock_analytic/i18n/hu.po | 53 + odex25_accounting/stock_analytic/i18n/it.po | 56 + odex25_accounting/stock_analytic/i18n/nl.po | 53 + odex25_accounting/stock_analytic/i18n/pl.po | 76 + odex25_accounting/stock_analytic/i18n/pt.po | 55 + .../stock_analytic/i18n/pt_BR.po | 55 + .../stock_analytic/i18n/pt_PT.po | 54 + odex25_accounting/stock_analytic/i18n/ro.po | 55 + .../stock_analytic/i18n/sk_SK.po | 54 + odex25_accounting/stock_analytic/i18n/sl.po | 54 + odex25_accounting/stock_analytic/i18n/tr.po | 53 + .../stock_analytic/i18n/tr_TR.po | 54 + .../stock_analytic/i18n/vi_VN.po | 54 + .../stock_analytic/i18n/zh_CN.po | 54 + .../migrations/14.0.2.0.0/pre-migrate.py | 29 + .../stock_analytic/models/__init__.py | 5 + .../stock_analytic/models/product_product.py | 44 + .../stock_analytic/models/stock.py | 89 + .../stock_analytic/models/stock_scrap.py | 22 + .../stock_analytic/readme/CONTRIBUTORS.rst | 10 + .../stock_analytic/readme/DESCRIPTION.rst | 2 + .../stock_analytic/readme/USAGE.rst | 19 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 460 +++ .../stock_analytic/tests/__init__.py | 3 + .../tests/test_stock_picking.py | 241 ++ .../stock_analytic/tests/test_stock_scrap.py | 74 + .../stock_analytic/views/stock_move_line.xml | 43 + .../stock_analytic/views/stock_move_views.xml | 102 + .../stock_analytic/views/stock_scrap.xml | 20 + .../tax_report_detailed/__init__.py | 4 + .../tax_report_detailed/__manifest__.py | 23 + .../tax_report_detailed/i18n/ar_SY.po | 235 ++ .../tax_report_detailed/models/__init__.py | 2 + .../tax_report_detailed/models/account_tax.py | 9 + .../models/tax_report_details.py | 22 + .../tax_report_detailed/report/__init__.py | 2 + .../report/tax_parser_xlsx.py | 524 +++ .../security/ir.model.access.csv | 3 + .../static/description/icon.png | Bin 0 -> 32929 bytes .../static/fonts/ae_AlMohanad.ttf | Bin 0 -> 120920 bytes .../static/src/css/website_rtl.css | 22 + .../views/account_tax_views.xml | 19 + .../tax_report_detailed/views/report.xml | 15 + .../views/tax_report_details_view.xml | 80 + .../tax_report_detailed/wizard/__init__.py | 1 + .../wizard/tax_report_wiz.py | 82 + .../wizard/tax_report_wiz_view.xml | 52 + 1644 files changed, 364471 insertions(+), 1 deletion(-) create mode 100644 odex25_accounting/abs_customer_validation/__init__.py create mode 100644 odex25_accounting/abs_customer_validation/__manifest__.py create mode 100644 odex25_accounting/abs_customer_validation/models/__init__.py create mode 100644 odex25_accounting/abs_customer_validation/models/res_partner.py create mode 100644 odex25_accounting/abs_customer_validation/security/security.xml create mode 100644 odex25_accounting/abs_customer_validation/static/description/banner.png create mode 100644 odex25_accounting/abs_customer_validation/static/description/company-logo.png create mode 100644 odex25_accounting/abs_customer_validation/static/description/icon.png create mode 100644 odex25_accounting/abs_customer_validation/static/description/index.html create mode 100644 odex25_accounting/account_bank_statement_import_excel/README.rst create mode 100644 odex25_accounting/account_bank_statement_import_excel/__init__.py create mode 100644 odex25_accounting/account_bank_statement_import_excel/__manifest__.py create mode 100644 odex25_accounting/account_bank_statement_import_excel/data/excel.dimensions.csv create mode 100644 odex25_accounting/account_bank_statement_import_excel/i18n/ar.po create mode 100644 odex25_accounting/account_bank_statement_import_excel/models/__init__.py create mode 100644 odex25_accounting/account_bank_statement_import_excel/models/excel_dimensions.py create mode 100644 odex25_accounting/account_bank_statement_import_excel/security/ir.model.access.csv create mode 100644 odex25_accounting/account_bank_statement_import_excel/static/description/icon.png create mode 100644 odex25_accounting/account_bank_statement_import_excel/static/fonts/ae_AlMohanad.ttf create mode 100644 odex25_accounting/account_bank_statement_import_excel/static/src/css/website_rtl.css create mode 100644 odex25_accounting/account_bank_statement_import_excel/tests/__init__.py create mode 100644 odex25_accounting/account_bank_statement_import_excel/tests/test_import_bank_statement.py create mode 100644 odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx.ofx create mode 100644 odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx_iban.ofx create mode 100644 odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx_wrong.ofx create mode 100644 odex25_accounting/account_bank_statement_import_excel/views/excel_dimensions_views.xml create mode 100644 odex25_accounting/account_bank_statement_import_excel/views/view_account_bank_statement_import.xml create mode 100644 odex25_accounting/account_bank_statement_import_excel/wizard/__init__.py create mode 100644 odex25_accounting/account_bank_statement_import_excel/wizard/account_bank_statement_import.py create mode 100644 odex25_accounting/account_budget_custom/__init__.py create mode 100644 odex25_accounting/account_budget_custom/__manifest__.py create mode 100644 odex25_accounting/account_budget_custom/data/budget_operation_data.xml create mode 100644 odex25_accounting/account_budget_custom/i18n/ar.po create mode 100644 odex25_accounting/account_budget_custom/i18n/ar_001.po create mode 100644 odex25_accounting/account_budget_custom/models/__init__.py create mode 100644 odex25_accounting/account_budget_custom/models/account_budget.py create mode 100644 odex25_accounting/account_budget_custom/models/budget_confirmation.py create mode 100644 odex25_accounting/account_budget_custom/models/budget_operations.py create mode 100644 odex25_accounting/account_budget_custom/reports/__init__.py create mode 100644 odex25_accounting/account_budget_custom/reports/budget_report_xlsx.py create mode 100644 odex25_accounting/account_budget_custom/reports/reports.xml create mode 100644 odex25_accounting/account_budget_custom/security/budget_groups.xml create mode 100644 odex25_accounting/account_budget_custom/security/ir.model.access.csv create mode 100644 odex25_accounting/account_budget_custom/static/description/icon.png create mode 100644 odex25_accounting/account_budget_custom/static/fonts/ae_AlMohanad.ttf create mode 100644 odex25_accounting/account_budget_custom/static/src/css/website_rtl.css create mode 100644 odex25_accounting/account_budget_custom/views/account_budget_views.xml create mode 100644 odex25_accounting/account_budget_custom/views/budget_confirmation_view.xml create mode 100644 odex25_accounting/account_budget_custom/views/budget_operations_view.xml create mode 100644 odex25_accounting/account_budget_custom/views/menus.xml create mode 100644 odex25_accounting/account_chart_of_accounts/__init__.py create mode 100644 odex25_accounting/account_chart_of_accounts/__manifest__.py create mode 100644 odex25_accounting/account_chart_of_accounts/data/account.account.csv create mode 100644 odex25_accounting/account_chart_of_accounts/data/data_account_type.xml create mode 100644 odex25_accounting/account_chart_of_accounts/i18n/ar.po create mode 100644 odex25_accounting/account_chart_of_accounts/models/__init__.py create mode 100644 odex25_accounting/account_chart_of_accounts/models/account_account.py create mode 100644 odex25_accounting/account_chart_of_accounts/models/account_journal.py create mode 100644 odex25_accounting/account_chart_of_accounts/models/base.py create mode 100644 odex25_accounting/account_chart_of_accounts/models/res_config_settings.py create mode 100644 odex25_accounting/account_chart_of_accounts/reports/__init__.py create mode 100644 odex25_accounting/account_chart_of_accounts/reports/account_report_coa.py create mode 100644 odex25_accounting/account_chart_of_accounts/reports/account_report_coa.xml create mode 100644 odex25_accounting/account_chart_of_accounts/security/account_security.xml create mode 100644 odex25_accounting/account_chart_of_accounts/security/ir.model.access.csv create mode 100644 odex25_accounting/account_chart_of_accounts/static/description/icon.png create mode 100644 odex25_accounting/account_chart_of_accounts/static/fonts/ae_AlMohanad.ttf create mode 100644 odex25_accounting/account_chart_of_accounts/static/src/scss/account_searchpanel.scss create mode 100644 odex25_accounting/account_chart_of_accounts/views/account_account_view.xml create mode 100644 odex25_accounting/account_chart_of_accounts/views/res_config_settings_views.xml create mode 100644 odex25_accounting/account_configuration/__init__.py create mode 100644 odex25_accounting/account_configuration/__manifest__.py create mode 100644 odex25_accounting/account_configuration/i18n/ar.po create mode 100644 odex25_accounting/account_configuration/models/__init__.py create mode 100644 odex25_accounting/account_configuration/models/res_config_settings.py create mode 100644 odex25_accounting/account_configuration/static/description/icon.png create mode 100644 odex25_accounting/account_configuration/views/res_config_settings_views.xml create mode 100644 odex25_accounting/account_financial_report/README.rst create mode 100644 odex25_accounting/account_financial_report/__init__.py create mode 100644 odex25_accounting/account_financial_report/__manifest__.py create mode 100644 odex25_accounting/account_financial_report/i18n/ar.po create mode 100644 odex25_accounting/account_financial_report/i18n/ca.po create mode 100644 odex25_accounting/account_financial_report/i18n/de.po create mode 100644 odex25_accounting/account_financial_report/i18n/es.po create mode 100644 odex25_accounting/account_financial_report/i18n/es_AR.po create mode 100644 odex25_accounting/account_financial_report/i18n/es_MX.po create mode 100644 odex25_accounting/account_financial_report/i18n/fr.po create mode 100644 odex25_accounting/account_financial_report/i18n/fr_CH.po create mode 100644 odex25_accounting/account_financial_report/i18n/fr_FR.po create mode 100644 odex25_accounting/account_financial_report/i18n/hr.po create mode 100644 odex25_accounting/account_financial_report/i18n/hr_HR.po create mode 100644 odex25_accounting/account_financial_report/i18n/it.po create mode 100644 odex25_accounting/account_financial_report/i18n/ja.po create mode 100644 odex25_accounting/account_financial_report/i18n/nl.po create mode 100644 odex25_accounting/account_financial_report/i18n/nl_NL.po create mode 100644 odex25_accounting/account_financial_report/i18n/pt.po create mode 100644 odex25_accounting/account_financial_report/i18n/pt_BR.po create mode 100644 odex25_accounting/account_financial_report/i18n/ro.po create mode 100644 odex25_accounting/account_financial_report/menuitems.xml create mode 100644 odex25_accounting/account_financial_report/models/__init__.py create mode 100644 odex25_accounting/account_financial_report/models/account.py create mode 100644 odex25_accounting/account_financial_report/models/account_group.py create mode 100644 odex25_accounting/account_financial_report/models/account_move_line.py create mode 100644 odex25_accounting/account_financial_report/models/ir_actions_report.py create mode 100644 odex25_accounting/account_financial_report/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/account_financial_report/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/account_financial_report/readme/HISTORY.rst create mode 100644 odex25_accounting/account_financial_report/readme/ROADMAP.rst create mode 100644 odex25_accounting/account_financial_report/report/__init__.py create mode 100644 odex25_accounting/account_financial_report/report/abstract_report.py create mode 100644 odex25_accounting/account_financial_report/report/abstract_report_xlsx.py create mode 100644 odex25_accounting/account_financial_report/report/aged_partner_balance.py create mode 100644 odex25_accounting/account_financial_report/report/aged_partner_balance_xlsx.py create mode 100644 odex25_accounting/account_financial_report/report/general_ledger.py create mode 100644 odex25_accounting/account_financial_report/report/general_ledger_xlsx.py create mode 100644 odex25_accounting/account_financial_report/report/journal_ledger.py create mode 100644 odex25_accounting/account_financial_report/report/journal_ledger_xlsx.py create mode 100644 odex25_accounting/account_financial_report/report/open_items.py create mode 100644 odex25_accounting/account_financial_report/report/open_items_xlsx.py create mode 100644 odex25_accounting/account_financial_report/report/templates/aged_partner_balance.xml create mode 100644 odex25_accounting/account_financial_report/report/templates/general_ledger.xml create mode 100644 odex25_accounting/account_financial_report/report/templates/journal_ledger.xml create mode 100644 odex25_accounting/account_financial_report/report/templates/layouts.xml create mode 100644 odex25_accounting/account_financial_report/report/templates/open_items.xml create mode 100644 odex25_accounting/account_financial_report/report/templates/trial_balance.xml create mode 100644 odex25_accounting/account_financial_report/report/templates/vat_report.xml create mode 100644 odex25_accounting/account_financial_report/report/trial_balance.py create mode 100644 odex25_accounting/account_financial_report/report/trial_balance_xlsx.py create mode 100644 odex25_accounting/account_financial_report/report/vat_report.py create mode 100644 odex25_accounting/account_financial_report/report/vat_report_xlsx.py create mode 100644 odex25_accounting/account_financial_report/reports.xml create mode 100644 odex25_accounting/account_financial_report/security/ir.model.access.csv create mode 100644 odex25_accounting/account_financial_report/static/description/icon.png create mode 100644 odex25_accounting/account_financial_report/static/description/index.html create mode 100644 odex25_accounting/account_financial_report/static/src/css/report.css create mode 100644 odex25_accounting/account_financial_report/static/src/js/action_manager_report.js create mode 100644 odex25_accounting/account_financial_report/static/src/js/client_action.js create mode 100644 odex25_accounting/account_financial_report/static/src/js/report.js create mode 100644 odex25_accounting/account_financial_report/static/src/xml/report.xml create mode 100644 odex25_accounting/account_financial_report/tests/__init__.py create mode 100644 odex25_accounting/account_financial_report/tests/test_aged_partner_balance.py create mode 100644 odex25_accounting/account_financial_report/tests/test_general_ledger.py create mode 100644 odex25_accounting/account_financial_report/tests/test_journal_ledger.py create mode 100644 odex25_accounting/account_financial_report/tests/test_open_items.py create mode 100644 odex25_accounting/account_financial_report/tests/test_trial_balance.py create mode 100644 odex25_accounting/account_financial_report/tests/test_vat_report.py create mode 100644 odex25_accounting/account_financial_report/view/account_view.xml create mode 100644 odex25_accounting/account_financial_report/view/report_aged_partner_balance.xml create mode 100644 odex25_accounting/account_financial_report/view/report_general_ledger.xml create mode 100644 odex25_accounting/account_financial_report/view/report_journal_ledger.xml create mode 100644 odex25_accounting/account_financial_report/view/report_open_items.xml create mode 100644 odex25_accounting/account_financial_report/view/report_template.xml create mode 100644 odex25_accounting/account_financial_report/view/report_trial_balance.xml create mode 100644 odex25_accounting/account_financial_report/view/report_vat_report.xml create mode 100644 odex25_accounting/account_financial_report/wizard/__init__.py create mode 100644 odex25_accounting/account_financial_report/wizard/abstract_wizard.py create mode 100644 odex25_accounting/account_financial_report/wizard/aged_partner_balance_wizard.py create mode 100644 odex25_accounting/account_financial_report/wizard/aged_partner_balance_wizard_view.xml create mode 100644 odex25_accounting/account_financial_report/wizard/general_ledger_wizard.py create mode 100644 odex25_accounting/account_financial_report/wizard/general_ledger_wizard_view.xml create mode 100644 odex25_accounting/account_financial_report/wizard/journal_ledger_wizard.py create mode 100644 odex25_accounting/account_financial_report/wizard/journal_ledger_wizard_view.xml create mode 100644 odex25_accounting/account_financial_report/wizard/open_items_wizard.py create mode 100644 odex25_accounting/account_financial_report/wizard/open_items_wizard_view.xml create mode 100644 odex25_accounting/account_financial_report/wizard/trial_balance_wizard.py create mode 100644 odex25_accounting/account_financial_report/wizard/trial_balance_wizard_view.xml create mode 100644 odex25_accounting/account_financial_report/wizard/vat_report_wizard.py create mode 100644 odex25_accounting/account_financial_report/wizard/vat_report_wizard_view.xml create mode 100644 odex25_accounting/account_financial_report_fiscalyear/__init__.py create mode 100644 odex25_accounting/account_financial_report_fiscalyear/__manifest__.py create mode 100644 odex25_accounting/account_financial_report_fiscalyear/i18n/ar_SY.po create mode 100644 odex25_accounting/account_financial_report_fiscalyear/static/description/icon.png create mode 100644 odex25_accounting/account_financial_report_fiscalyear/static/fonts/ae_AlMohanad.ttf create mode 100644 odex25_accounting/account_financial_report_fiscalyear/static/src/css/website_rtl.css create mode 100644 odex25_accounting/account_financial_report_fiscalyear/wizards/__init__.py create mode 100644 odex25_accounting/account_financial_report_fiscalyear/wizards/account_common_report.py create mode 100644 odex25_accounting/account_financial_report_fiscalyear/wizards/accounting_report.xml create mode 100644 odex25_accounting/account_fiscal_year/README.rst create mode 100644 odex25_accounting/account_fiscal_year/__init__.py create mode 100644 odex25_accounting/account_fiscal_year/__manifest__.py create mode 100644 odex25_accounting/account_fiscal_year/i18n/ar_001.po create mode 100644 odex25_accounting/account_fiscal_year/i18n/fr.po create mode 100644 odex25_accounting/account_fiscal_year/i18n/fr_FR.po create mode 100644 odex25_accounting/account_fiscal_year/i18n/it.po create mode 100644 odex25_accounting/account_fiscal_year/i18n/nl.po create mode 100644 odex25_accounting/account_fiscal_year/models/__init__.py create mode 100644 odex25_accounting/account_fiscal_year/models/account_budget.py create mode 100644 odex25_accounting/account_fiscal_year/models/account_fiscal_year.py create mode 100644 odex25_accounting/account_fiscal_year/models/account_fiscalyears_periods.py create mode 100644 odex25_accounting/account_fiscal_year/models/account_move.py create mode 100644 odex25_accounting/account_fiscal_year/models/res_company.py create mode 100644 odex25_accounting/account_fiscal_year/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/account_fiscal_year/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/account_fiscal_year/readme/ROADMAP.rst create mode 100644 odex25_accounting/account_fiscal_year/security/account_fiscal_year_rule.xml create mode 100644 odex25_accounting/account_fiscal_year/security/ir.model.access.csv create mode 100644 odex25_accounting/account_fiscal_year/static/description/icon.png create mode 100644 odex25_accounting/account_fiscal_year/static/description/index.html create mode 100644 odex25_accounting/account_fiscal_year/tests/__init__.py create mode 100644 odex25_accounting/account_fiscal_year/tests/test_account_fiscal_year.py create mode 100644 odex25_accounting/account_fiscal_year/views/account_budget_views.xml create mode 100644 odex25_accounting/account_fiscal_year/views/account_fiscal_year_views.xml create mode 100644 odex25_accounting/account_fiscal_year/views/account_view.xml create mode 100644 odex25_accounting/account_fiscal_year/wizard/__init__.py create mode 100644 odex25_accounting/account_fiscal_year/wizard/account_opening.py create mode 100644 odex25_accounting/account_fiscal_year/wizard/account_opening_view.xml create mode 100644 odex25_accounting/account_gl_custom/__init__.py create mode 100644 odex25_accounting/account_gl_custom/__manifest__.py create mode 100644 odex25_accounting/account_gl_custom/data/ir_sequence_data.xml create mode 100644 odex25_accounting/account_gl_custom/i18n/ar.po create mode 100644 odex25_accounting/account_gl_custom/i18n/en.po create mode 100644 odex25_accounting/account_gl_custom/models/__init__.py create mode 100644 odex25_accounting/account_gl_custom/models/account_move.py create mode 100644 odex25_accounting/account_gl_custom/static/description/iWesabe-Apps-Journal-Entry-Report.png create mode 100644 odex25_accounting/account_gl_custom/static/description/icon.png create mode 100644 odex25_accounting/account_gl_custom/static/fonts/ae_AlMohanad.ttf create mode 100644 odex25_accounting/account_gl_custom/static/src/css/website_rtl.css create mode 100644 odex25_accounting/account_gl_custom/views/account_move_view.xml create mode 100644 odex25_accounting/account_loan/README.rst create mode 100644 odex25_accounting/account_loan/__init__.py create mode 100644 odex25_accounting/account_loan/__manifest__.py create mode 100644 odex25_accounting/account_loan/data/ir_sequence_data.xml create mode 100644 odex25_accounting/account_loan/i18n/am.po create mode 100644 odex25_accounting/account_loan/i18n/ar.po create mode 100644 odex25_accounting/account_loan/i18n/bg.po create mode 100644 odex25_accounting/account_loan/i18n/bs.po create mode 100644 odex25_accounting/account_loan/i18n/ca.po create mode 100644 odex25_accounting/account_loan/i18n/ca_ES.po create mode 100644 odex25_accounting/account_loan/i18n/cs.po create mode 100644 odex25_accounting/account_loan/i18n/da.po create mode 100644 odex25_accounting/account_loan/i18n/de.po create mode 100644 odex25_accounting/account_loan/i18n/el_GR.po create mode 100644 odex25_accounting/account_loan/i18n/en_AU.po create mode 100644 odex25_accounting/account_loan/i18n/en_GB.po create mode 100644 odex25_accounting/account_loan/i18n/es.po create mode 100644 odex25_accounting/account_loan/i18n/es_AR.po create mode 100644 odex25_accounting/account_loan/i18n/es_CL.po create mode 100644 odex25_accounting/account_loan/i18n/es_CO.po create mode 100644 odex25_accounting/account_loan/i18n/es_CR.po create mode 100644 odex25_accounting/account_loan/i18n/es_DO.po create mode 100644 odex25_accounting/account_loan/i18n/es_EC.po create mode 100644 odex25_accounting/account_loan/i18n/es_ES.po create mode 100644 odex25_accounting/account_loan/i18n/es_MX.po create mode 100644 odex25_accounting/account_loan/i18n/es_PE.po create mode 100644 odex25_accounting/account_loan/i18n/es_PY.po create mode 100644 odex25_accounting/account_loan/i18n/es_VE.po create mode 100644 odex25_accounting/account_loan/i18n/et.po create mode 100644 odex25_accounting/account_loan/i18n/eu.po create mode 100644 odex25_accounting/account_loan/i18n/fa.po create mode 100644 odex25_accounting/account_loan/i18n/fi.po create mode 100644 odex25_accounting/account_loan/i18n/fr.po create mode 100644 odex25_accounting/account_loan/i18n/fr_CA.po create mode 100644 odex25_accounting/account_loan/i18n/fr_CH.po create mode 100644 odex25_accounting/account_loan/i18n/fr_FR.po create mode 100644 odex25_accounting/account_loan/i18n/gl.po create mode 100644 odex25_accounting/account_loan/i18n/gl_ES.po create mode 100644 odex25_accounting/account_loan/i18n/gu.po create mode 100644 odex25_accounting/account_loan/i18n/he.po create mode 100644 odex25_accounting/account_loan/i18n/hi.po create mode 100644 odex25_accounting/account_loan/i18n/hr.po create mode 100644 odex25_accounting/account_loan/i18n/hr_HR.po create mode 100644 odex25_accounting/account_loan/i18n/hu.po create mode 100644 odex25_accounting/account_loan/i18n/id.po create mode 100644 odex25_accounting/account_loan/i18n/it.po create mode 100644 odex25_accounting/account_loan/i18n/ja.po create mode 100644 odex25_accounting/account_loan/i18n/ko.po create mode 100644 odex25_accounting/account_loan/i18n/lo.po create mode 100644 odex25_accounting/account_loan/i18n/lt.po create mode 100644 odex25_accounting/account_loan/i18n/lt_LT.po create mode 100644 odex25_accounting/account_loan/i18n/lv.po create mode 100644 odex25_accounting/account_loan/i18n/mk.po create mode 100644 odex25_accounting/account_loan/i18n/mn.po create mode 100644 odex25_accounting/account_loan/i18n/nb.po create mode 100644 odex25_accounting/account_loan/i18n/nb_NO.po create mode 100644 odex25_accounting/account_loan/i18n/nl.po create mode 100644 odex25_accounting/account_loan/i18n/nl_BE.po create mode 100644 odex25_accounting/account_loan/i18n/nl_NL.po create mode 100644 odex25_accounting/account_loan/i18n/pl.po create mode 100644 odex25_accounting/account_loan/i18n/pt.po create mode 100644 odex25_accounting/account_loan/i18n/pt_BR.po create mode 100644 odex25_accounting/account_loan/i18n/pt_PT.po create mode 100644 odex25_accounting/account_loan/i18n/ro.po create mode 100644 odex25_accounting/account_loan/i18n/ru.po create mode 100644 odex25_accounting/account_loan/i18n/sk.po create mode 100644 odex25_accounting/account_loan/i18n/sk_SK.po create mode 100644 odex25_accounting/account_loan/i18n/sl.po create mode 100644 odex25_accounting/account_loan/i18n/sr.po create mode 100644 odex25_accounting/account_loan/i18n/sr@latin.po create mode 100644 odex25_accounting/account_loan/i18n/sv.po create mode 100644 odex25_accounting/account_loan/i18n/th.po create mode 100644 odex25_accounting/account_loan/i18n/tr.po create mode 100644 odex25_accounting/account_loan/i18n/tr_TR.po create mode 100644 odex25_accounting/account_loan/i18n/uk.po create mode 100644 odex25_accounting/account_loan/i18n/vi.po create mode 100644 odex25_accounting/account_loan/i18n/vi_VN.po create mode 100644 odex25_accounting/account_loan/i18n/zh_CN.po create mode 100644 odex25_accounting/account_loan/i18n/zh_TW.po create mode 100644 odex25_accounting/account_loan/model/__init__.py create mode 100644 odex25_accounting/account_loan/model/account_loan.py create mode 100644 odex25_accounting/account_loan/model/account_loan_line.py create mode 100644 odex25_accounting/account_loan/model/account_move.py create mode 100644 odex25_accounting/account_loan/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/account_loan/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/account_loan/readme/USAGE.rst create mode 100644 odex25_accounting/account_loan/security/account_loan_security.xml create mode 100644 odex25_accounting/account_loan/security/ir.model.access.csv create mode 100644 odex25_accounting/account_loan/static/description/icon.png create mode 100644 odex25_accounting/account_loan/static/description/index.html create mode 100644 odex25_accounting/account_loan/tests/__init__.py create mode 100644 odex25_accounting/account_loan/tests/test_loan.py create mode 100644 odex25_accounting/account_loan/views/account_loan_view.xml create mode 100644 odex25_accounting/account_loan/views/account_move_view.xml create mode 100644 odex25_accounting/account_loan/wizard/__init__.py create mode 100644 odex25_accounting/account_loan/wizard/account_loan_generate_entries.py create mode 100644 odex25_accounting/account_loan/wizard/account_loan_generate_entries_view.xml create mode 100644 odex25_accounting/account_loan/wizard/account_loan_pay_amount.py create mode 100644 odex25_accounting/account_loan/wizard/account_loan_pay_amount_view.xml create mode 100644 odex25_accounting/account_loan/wizard/account_loan_post.py create mode 100644 odex25_accounting/account_loan/wizard/account_loan_post_view.xml create mode 100644 odex25_accounting/account_log/__init__.py create mode 100644 odex25_accounting/account_log/__manifest__.py create mode 100644 odex25_accounting/account_log/i18n/ar.po create mode 100644 odex25_accounting/account_log/models/__init__.py create mode 100644 odex25_accounting/account_log/models/account_chatter.py create mode 100644 odex25_accounting/account_log/static/description/icon.png create mode 100644 odex25_accounting/account_log/views/account_chatter_view.xml create mode 100644 odex25_accounting/account_move_line_product/README.rst create mode 100644 odex25_accounting/account_move_line_product/__init__.py create mode 100644 odex25_accounting/account_move_line_product/__manifest__.py create mode 100644 odex25_accounting/account_move_line_product/i18n/ca.po create mode 100644 odex25_accounting/account_move_line_product/i18n/cs_CZ.po create mode 100644 odex25_accounting/account_move_line_product/i18n/de.po create mode 100644 odex25_accounting/account_move_line_product/i18n/el_GR.po create mode 100644 odex25_accounting/account_move_line_product/i18n/es.po create mode 100644 odex25_accounting/account_move_line_product/i18n/es_ES.po create mode 100644 odex25_accounting/account_move_line_product/i18n/eu.po create mode 100644 odex25_accounting/account_move_line_product/i18n/fi.po create mode 100644 odex25_accounting/account_move_line_product/i18n/fr.po create mode 100644 odex25_accounting/account_move_line_product/i18n/fr_CH.po create mode 100644 odex25_accounting/account_move_line_product/i18n/fr_FR.po create mode 100644 odex25_accounting/account_move_line_product/i18n/gl.po create mode 100644 odex25_accounting/account_move_line_product/i18n/hr.po create mode 100644 odex25_accounting/account_move_line_product/i18n/hr_HR.po create mode 100644 odex25_accounting/account_move_line_product/i18n/it.po create mode 100644 odex25_accounting/account_move_line_product/i18n/nl.po create mode 100644 odex25_accounting/account_move_line_product/i18n/nl_NL.po create mode 100644 odex25_accounting/account_move_line_product/i18n/pt.po create mode 100644 odex25_accounting/account_move_line_product/i18n/pt_BR.po create mode 100644 odex25_accounting/account_move_line_product/i18n/ro.po create mode 100644 odex25_accounting/account_move_line_product/i18n/ru.po create mode 100644 odex25_accounting/account_move_line_product/i18n/sl.po create mode 100644 odex25_accounting/account_move_line_product/i18n/tr.po create mode 100644 odex25_accounting/account_move_line_product/i18n/tr_TR.po create mode 100644 odex25_accounting/account_move_line_product/i18n/vi_VN.po create mode 100644 odex25_accounting/account_move_line_product/i18n/zh_CN.po create mode 100644 odex25_accounting/account_move_line_product/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/account_move_line_product/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/account_move_line_product/static/description/icon.png create mode 100644 odex25_accounting/account_move_line_product/static/description/index.html create mode 100644 odex25_accounting/account_move_line_product/views/account_move_line_view.xml create mode 100644 odex25_accounting/account_payment_credit_card/README.rst create mode 100644 odex25_accounting/account_payment_credit_card/__init__.py create mode 100644 odex25_accounting/account_payment_credit_card/__manifest__.py create mode 100644 odex25_accounting/account_payment_credit_card/i18n/nl.po create mode 100644 odex25_accounting/account_payment_credit_card/models/__init__.py create mode 100644 odex25_accounting/account_payment_credit_card/models/account.py create mode 100644 odex25_accounting/account_payment_credit_card/models/account_move.py create mode 100644 odex25_accounting/account_payment_credit_card/readme/CONFIGURE.rst create mode 100644 odex25_accounting/account_payment_credit_card/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/account_payment_credit_card/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/account_payment_credit_card/readme/USAGE.rst create mode 100644 odex25_accounting/account_payment_credit_card/static/description/icon.png create mode 100644 odex25_accounting/account_payment_credit_card/static/description/index.html create mode 100644 odex25_accounting/account_payment_credit_card/tests/__init__.py create mode 100644 odex25_accounting/account_payment_credit_card/tests/test_payment_credit_card.py create mode 100644 odex25_accounting/account_payment_credit_card/views/account_view.xml create mode 100644 odex25_accounting/account_payment_mode/README.rst create mode 100644 odex25_accounting/account_payment_mode/__init__.py create mode 100644 odex25_accounting/account_payment_mode/__manifest__.py create mode 100644 odex25_accounting/account_payment_mode/demo/payment_demo.xml create mode 100644 odex25_accounting/account_payment_mode/i18n/am.po create mode 100644 odex25_accounting/account_payment_mode/i18n/ca.po create mode 100644 odex25_accounting/account_payment_mode/i18n/da_DK.po create mode 100644 odex25_accounting/account_payment_mode/i18n/de.po create mode 100644 odex25_accounting/account_payment_mode/i18n/el_GR.po create mode 100644 odex25_accounting/account_payment_mode/i18n/es.po create mode 100644 odex25_accounting/account_payment_mode/i18n/es_AR.po create mode 100644 odex25_accounting/account_payment_mode/i18n/es_CL.po create mode 100644 odex25_accounting/account_payment_mode/i18n/es_ES.po create mode 100644 odex25_accounting/account_payment_mode/i18n/fi.po create mode 100644 odex25_accounting/account_payment_mode/i18n/fr.po create mode 100644 odex25_accounting/account_payment_mode/i18n/fr_FR.po create mode 100644 odex25_accounting/account_payment_mode/i18n/gl.po create mode 100644 odex25_accounting/account_payment_mode/i18n/hr.po create mode 100644 odex25_accounting/account_payment_mode/i18n/it.po create mode 100644 odex25_accounting/account_payment_mode/i18n/nb_NO.po create mode 100644 odex25_accounting/account_payment_mode/i18n/nl.po create mode 100644 odex25_accounting/account_payment_mode/i18n/pt.po create mode 100644 odex25_accounting/account_payment_mode/i18n/pt_BR.po create mode 100644 odex25_accounting/account_payment_mode/i18n/pt_PT.po create mode 100644 odex25_accounting/account_payment_mode/i18n/sl.po create mode 100644 odex25_accounting/account_payment_mode/i18n/sv.po create mode 100644 odex25_accounting/account_payment_mode/i18n/sv_SE.po create mode 100644 odex25_accounting/account_payment_mode/i18n/tr.po create mode 100644 odex25_accounting/account_payment_mode/i18n/zh_CN.po create mode 100644 odex25_accounting/account_payment_mode/models/__init__.py create mode 100644 odex25_accounting/account_payment_mode/models/account_journal.py create mode 100644 odex25_accounting/account_payment_mode/models/account_payment_method.py create mode 100644 odex25_accounting/account_payment_mode/models/account_payment_mode.py create mode 100644 odex25_accounting/account_payment_mode/readme/CONFIGURE.rst create mode 100644 odex25_accounting/account_payment_mode/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/account_payment_mode/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/account_payment_mode/readme/USAGE.rst create mode 100644 odex25_accounting/account_payment_mode/security/account_payment_mode.xml create mode 100644 odex25_accounting/account_payment_mode/security/ir.model.access.csv create mode 100644 odex25_accounting/account_payment_mode/static/description/icon.png create mode 100644 odex25_accounting/account_payment_mode/static/description/index.html create mode 100644 odex25_accounting/account_payment_mode/tests/__init__.py create mode 100644 odex25_accounting/account_payment_mode/tests/test_account_payment_mode.py create mode 100644 odex25_accounting/account_payment_mode/views/account_journal.xml create mode 100644 odex25_accounting/account_payment_mode/views/account_payment_method.xml create mode 100644 odex25_accounting/account_payment_mode/views/account_payment_mode.xml create mode 100644 odex25_accounting/account_payment_order/README.rst create mode 100644 odex25_accounting/account_payment_order/__init__.py create mode 100644 odex25_accounting/account_payment_order/__manifest__.py create mode 100644 odex25_accounting/account_payment_order/data/payment_seq.xml create mode 100644 odex25_accounting/account_payment_order/demo/payment_demo.xml create mode 100644 odex25_accounting/account_payment_order/hooks.py create mode 100644 odex25_accounting/account_payment_order/i18n/am.po create mode 100644 odex25_accounting/account_payment_order/i18n/ar.po create mode 100644 odex25_accounting/account_payment_order/i18n/ca.po create mode 100644 odex25_accounting/account_payment_order/i18n/ca_ES.po create mode 100644 odex25_accounting/account_payment_order/i18n/cs.po create mode 100644 odex25_accounting/account_payment_order/i18n/da_DK.po create mode 100644 odex25_accounting/account_payment_order/i18n/de.po create mode 100644 odex25_accounting/account_payment_order/i18n/el_GR.po create mode 100644 odex25_accounting/account_payment_order/i18n/es.po create mode 100644 odex25_accounting/account_payment_order/i18n/es_AR.po create mode 100644 odex25_accounting/account_payment_order/i18n/es_CL.po create mode 100644 odex25_accounting/account_payment_order/i18n/es_CR.po create mode 100644 odex25_accounting/account_payment_order/i18n/es_EC.po create mode 100644 odex25_accounting/account_payment_order/i18n/es_ES.po create mode 100644 odex25_accounting/account_payment_order/i18n/es_MX.po create mode 100644 odex25_accounting/account_payment_order/i18n/es_VE.po create mode 100644 odex25_accounting/account_payment_order/i18n/et.po create mode 100644 odex25_accounting/account_payment_order/i18n/fi.po create mode 100644 odex25_accounting/account_payment_order/i18n/fr.po create mode 100644 odex25_accounting/account_payment_order/i18n/gl.po create mode 100644 odex25_accounting/account_payment_order/i18n/hr.po create mode 100644 odex25_accounting/account_payment_order/i18n/it.po create mode 100644 odex25_accounting/account_payment_order/i18n/lt.po create mode 100644 odex25_accounting/account_payment_order/i18n/nb_NO.po create mode 100644 odex25_accounting/account_payment_order/i18n/nl.po create mode 100644 odex25_accounting/account_payment_order/i18n/nl_BE.po create mode 100644 odex25_accounting/account_payment_order/i18n/nl_NL.po create mode 100644 odex25_accounting/account_payment_order/i18n/pl.po create mode 100644 odex25_accounting/account_payment_order/i18n/pt.po create mode 100644 odex25_accounting/account_payment_order/i18n/pt_BR.po create mode 100644 odex25_accounting/account_payment_order/i18n/pt_PT.po create mode 100644 odex25_accounting/account_payment_order/i18n/ro.po create mode 100644 odex25_accounting/account_payment_order/i18n/ru.po create mode 100644 odex25_accounting/account_payment_order/i18n/sl.po create mode 100644 odex25_accounting/account_payment_order/i18n/sv.po create mode 100644 odex25_accounting/account_payment_order/i18n/th.po create mode 100644 odex25_accounting/account_payment_order/i18n/tr.po create mode 100644 odex25_accounting/account_payment_order/i18n/vi.po create mode 100644 odex25_accounting/account_payment_order/migrations/14.0.1.3.0/pre-migration.py create mode 100644 odex25_accounting/account_payment_order/migrations/14.0.2.0.0/post-migration.py create mode 100644 odex25_accounting/account_payment_order/migrations/14.0.2.0.0/pre-migration.py create mode 100644 odex25_accounting/account_payment_order/models/__init__.py create mode 100644 odex25_accounting/account_payment_order/models/account_journal.py create mode 100644 odex25_accounting/account_payment_order/models/account_move.py create mode 100644 odex25_accounting/account_payment_order/models/account_move_line.py create mode 100644 odex25_accounting/account_payment_order/models/account_payment.py create mode 100644 odex25_accounting/account_payment_order/models/account_payment_line.py create mode 100644 odex25_accounting/account_payment_order/models/account_payment_method.py create mode 100644 odex25_accounting/account_payment_order/models/account_payment_mode.py create mode 100644 odex25_accounting/account_payment_order/models/account_payment_order.py create mode 100644 odex25_accounting/account_payment_order/models/res_bank.py create mode 100644 odex25_accounting/account_payment_order/readme/CONFIGURE.rst create mode 100644 odex25_accounting/account_payment_order/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/account_payment_order/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/account_payment_order/readme/INSTALL.rst create mode 100644 odex25_accounting/account_payment_order/readme/USAGE.rst create mode 100644 odex25_accounting/account_payment_order/report/__init__.py create mode 100644 odex25_accounting/account_payment_order/report/account_payment_order.py create mode 100644 odex25_accounting/account_payment_order/report/account_payment_order.xml create mode 100644 odex25_accounting/account_payment_order/report/print_account_payment_order.xml create mode 100644 odex25_accounting/account_payment_order/security/ir.model.access.csv create mode 100644 odex25_accounting/account_payment_order/security/payment_security.xml create mode 100644 odex25_accounting/account_payment_order/static/description/icon.png create mode 100644 odex25_accounting/account_payment_order/static/description/index.html create mode 100644 odex25_accounting/account_payment_order/tests/__init__.py create mode 100644 odex25_accounting/account_payment_order/tests/test_account_payment.py create mode 100644 odex25_accounting/account_payment_order/tests/test_bank.py create mode 100644 odex25_accounting/account_payment_order/tests/test_payment_mode.py create mode 100644 odex25_accounting/account_payment_order/tests/test_payment_order_inbound.py create mode 100644 odex25_accounting/account_payment_order/tests/test_payment_order_outbound.py create mode 100644 odex25_accounting/account_payment_order/views/account_invoice_view.xml create mode 100644 odex25_accounting/account_payment_order/views/account_move_line.xml create mode 100644 odex25_accounting/account_payment_order/views/account_payment_line.xml create mode 100644 odex25_accounting/account_payment_order/views/account_payment_method.xml create mode 100644 odex25_accounting/account_payment_order/views/account_payment_mode.xml create mode 100644 odex25_accounting/account_payment_order/views/account_payment_order.xml create mode 100644 odex25_accounting/account_payment_order/views/account_payment_views.xml create mode 100644 odex25_accounting/account_payment_order/views/ir_attachment.xml create mode 100644 odex25_accounting/account_payment_order/wizard/__init__.py create mode 100644 odex25_accounting/account_payment_order/wizard/account_invoice_payment_line_multi.py create mode 100644 odex25_accounting/account_payment_order/wizard/account_invoice_payment_line_multi_view.xml create mode 100644 odex25_accounting/account_payment_order/wizard/account_payment_line_create.py create mode 100644 odex25_accounting/account_payment_order/wizard/account_payment_line_create_view.xml create mode 100644 odex25_accounting/account_payment_partner/README.rst create mode 100644 odex25_accounting/account_payment_partner/__init__.py create mode 100644 odex25_accounting/account_payment_partner/__manifest__.py create mode 100644 odex25_accounting/account_payment_partner/demo/partner_demo.xml create mode 100644 odex25_accounting/account_payment_partner/hooks.py create mode 100644 odex25_accounting/account_payment_partner/i18n/ca.po create mode 100644 odex25_accounting/account_payment_partner/i18n/da_DK.po create mode 100644 odex25_accounting/account_payment_partner/i18n/de.po create mode 100644 odex25_accounting/account_payment_partner/i18n/es.po create mode 100644 odex25_accounting/account_payment_partner/i18n/es_AR.po create mode 100644 odex25_accounting/account_payment_partner/i18n/es_CL.po create mode 100644 odex25_accounting/account_payment_partner/i18n/fr.po create mode 100644 odex25_accounting/account_payment_partner/i18n/fr_FR.po create mode 100644 odex25_accounting/account_payment_partner/i18n/hr.po create mode 100644 odex25_accounting/account_payment_partner/i18n/it.po create mode 100644 odex25_accounting/account_payment_partner/i18n/nb_NO.po create mode 100644 odex25_accounting/account_payment_partner/i18n/nl.po create mode 100644 odex25_accounting/account_payment_partner/i18n/pt.po create mode 100644 odex25_accounting/account_payment_partner/i18n/pt_BR.po create mode 100644 odex25_accounting/account_payment_partner/i18n/sl.po create mode 100644 odex25_accounting/account_payment_partner/i18n/sv.po create mode 100644 odex25_accounting/account_payment_partner/models/__init__.py create mode 100644 odex25_accounting/account_payment_partner/models/account_move.py create mode 100644 odex25_accounting/account_payment_partner/models/account_move_line.py create mode 100644 odex25_accounting/account_payment_partner/models/account_payment_mode.py create mode 100644 odex25_accounting/account_payment_partner/models/res_partner.py create mode 100644 odex25_accounting/account_payment_partner/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/account_payment_partner/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/account_payment_partner/readme/HISTORY.rst create mode 100644 odex25_accounting/account_payment_partner/readme/USAGE.rst create mode 100644 odex25_accounting/account_payment_partner/reports/__init__.py create mode 100644 odex25_accounting/account_payment_partner/reports/account_invoice_report.py create mode 100644 odex25_accounting/account_payment_partner/reports/account_invoice_report_view.xml create mode 100644 odex25_accounting/account_payment_partner/static/description/icon.png create mode 100644 odex25_accounting/account_payment_partner/static/description/index.html create mode 100644 odex25_accounting/account_payment_partner/tests/__init__.py create mode 100644 odex25_accounting/account_payment_partner/tests/test_account_payment_partner.py create mode 100644 odex25_accounting/account_payment_partner/views/account_move_line.xml create mode 100644 odex25_accounting/account_payment_partner/views/account_move_view.xml create mode 100644 odex25_accounting/account_payment_partner/views/account_payment_mode.xml create mode 100644 odex25_accounting/account_payment_partner/views/report_invoice.xml create mode 100644 odex25_accounting/account_payment_partner/views/res_partner_view.xml create mode 100644 odex25_accounting/account_standard_report/LICENSE create mode 100644 odex25_accounting/account_standard_report/README.md create mode 100644 odex25_accounting/account_standard_report/__init__.py create mode 100644 odex25_accounting/account_standard_report/__manifest__.py create mode 100644 odex25_accounting/account_standard_report/data/report_paperformat.xml create mode 100644 odex25_accounting/account_standard_report/data/res_currency_data.xml create mode 100644 odex25_accounting/account_standard_report/i18n/fr.po create mode 100644 odex25_accounting/account_standard_report/images/main_screenshot.png create mode 100644 odex25_accounting/account_standard_report/models/__init__.py create mode 100644 odex25_accounting/account_standard_report/models/account.py create mode 100644 odex25_accounting/account_standard_report/models/account_standard_report_template.py create mode 100644 odex25_accounting/account_standard_report/models/res_currency.py create mode 100644 odex25_accounting/account_standard_report/report/__init__.py create mode 100644 odex25_accounting/account_standard_report/report/report_account_standard_excel.py create mode 100644 odex25_accounting/account_standard_report/report/report_account_standard_report.xml create mode 100644 odex25_accounting/account_standard_report/report/report_standard_report.xml create mode 100644 odex25_accounting/account_standard_report/security/ir.model.access.csv create mode 100644 odex25_accounting/account_standard_report/static/description/aged.png create mode 100644 odex25_accounting/account_standard_report/static/description/excel.png create mode 100644 odex25_accounting/account_standard_report/static/description/general.png create mode 100644 odex25_accounting/account_standard_report/static/description/icon.png create mode 100644 odex25_accounting/account_standard_report/static/description/index.html create mode 100644 odex25_accounting/account_standard_report/static/description/install.png create mode 100644 odex25_accounting/account_standard_report/static/description/main_screenshot.png create mode 100644 odex25_accounting/account_standard_report/static/description/partner.png create mode 100644 odex25_accounting/account_standard_report/static/description/pdf.png create mode 100644 odex25_accounting/account_standard_report/views/account_standard.xml create mode 100644 odex25_accounting/account_standard_report/views/account_standard_report_template_view.xml create mode 100644 odex25_accounting/account_standard_report/views/account_view.xml create mode 100644 odex25_accounting/account_standard_report/views/res_currency_views.xml create mode 100644 odex25_accounting/account_standard_report/wizard/__init__.py create mode 100644 odex25_accounting/account_standard_report/wizard/account_standard_report.py create mode 100644 odex25_accounting/account_standard_report/wizard/account_standard_report_view.xml create mode 100644 odex25_accounting/advance_cash_flow_statements/README.rst create mode 100644 odex25_accounting/advance_cash_flow_statements/__init__.py create mode 100644 odex25_accounting/advance_cash_flow_statements/__manifest__.py create mode 100644 odex25_accounting/advance_cash_flow_statements/controllers/__init__.py create mode 100644 odex25_accounting/advance_cash_flow_statements/controllers/main.py create mode 100644 odex25_accounting/advance_cash_flow_statements/doc/RELEASE_NOTES.md create mode 100644 odex25_accounting/advance_cash_flow_statements/report/pdf_template.xml create mode 100644 odex25_accounting/advance_cash_flow_statements/report/print_report.xml create mode 100644 odex25_accounting/advance_cash_flow_statements/security/ir.model.access.csv create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/chevron.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/cogs.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/consultation.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/ecom-black.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/education-black.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/hotel-black.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/license.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/lifebuoy.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/manufacturing-black.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/pos-black.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/puzzle.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/restaurant-black.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/service-black.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/trading-black.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/training.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/update.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/user.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/assets/icons/wrench.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/banner.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/icon.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/advance_cash_flow_statements-1.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/advance_cash_flow_statements-10.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/advance_cash_flow_statements-2.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/advance_cash_flow_statements-3.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/advance_cash_flow_statements-4.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/advance_cash_flow_statements-5.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/advance_cash_flow_statements-6.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/advance_cash_flow_statements-7.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/advance_cash_flow_statements-8.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/advance_cash_flow_statements-9.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/checked.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/hero.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/logo.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/modules/approval_image.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/modules/dynamic_image.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/modules/mulitple-ref_image.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/modules/pos_image.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/modules/project_gantt_image.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/images/modules/shopify_image.png create mode 100644 odex25_accounting/advance_cash_flow_statements/static/description/index.html create mode 100644 odex25_accounting/advance_cash_flow_statements/static/src/js/action_manager.js create mode 100644 odex25_accounting/advance_cash_flow_statements/views/action_manager.xml create mode 100644 odex25_accounting/advance_cash_flow_statements/wizard/__init__.py create mode 100644 odex25_accounting/advance_cash_flow_statements/wizard/account_wizard.py create mode 100644 odex25_accounting/advance_cash_flow_statements/wizard/account_wizard.xml create mode 100644 odex25_accounting/advance_cash_flow_statements/wizard/report_account_wizard.py create mode 100644 odex25_accounting/budget_hierarchical_report/__init__.py create mode 100644 odex25_accounting/budget_hierarchical_report/__manifest__.py create mode 100644 odex25_accounting/budget_hierarchical_report/i18n/ar_SY.po create mode 100644 odex25_accounting/budget_hierarchical_report/models/__init__.py create mode 100644 odex25_accounting/budget_hierarchical_report/models/budget_line.py create mode 100644 odex25_accounting/budget_hierarchical_report/security/ir.model.access.csv create mode 100644 odex25_accounting/budget_hierarchical_report/static/description/icon.png create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/buttons.jqueryui.min.css create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/dataTables.jqueryui.min.css create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/datatables.min.css create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/jquery-simple-tree-table.css create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/themes/default-dark/32px.png create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/themes/default-dark/40px.png create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/themes/default-dark/style.css create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/themes/default-dark/style.min.css create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/themes/default-dark/throbber.gif create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/themes/default/32px.png create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/themes/default/40px.png create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/themes/default/style.css create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/themes/default/style.min.css create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/css/themes/default/throbber.gif create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/js/hierarchical_report.js create mode 100644 odex25_accounting/budget_hierarchical_report/static/src/xml/report_template.xml create mode 100644 odex25_accounting/budget_hierarchical_report/views/client_action_budget.xml create mode 100644 odex25_accounting/budget_hierarchical_report/views/views.xml create mode 100644 odex25_accounting/cheque_management/__init__.py create mode 100644 odex25_accounting/cheque_management/__manifest__.py create mode 100644 odex25_accounting/cheque_management/controllers/__init__.py create mode 100644 odex25_accounting/cheque_management/controllers/main.py create mode 100644 odex25_accounting/cheque_management/data/cheque_attribute_data.xml create mode 100644 odex25_accounting/cheque_management/i18n/ar_SY.po create mode 100644 odex25_accounting/cheque_management/models/__init__.py create mode 100644 odex25_accounting/cheque_management/models/bank_cheque.py create mode 100644 odex25_accounting/cheque_management/security/ir.model.access.csv create mode 100644 odex25_accounting/cheque_management/static/description/1.png create mode 100644 odex25_accounting/cheque_management/static/description/10.png create mode 100644 odex25_accounting/cheque_management/static/description/10a.png create mode 100644 odex25_accounting/cheque_management/static/description/11.png create mode 100644 odex25_accounting/cheque_management/static/description/12.png create mode 100644 odex25_accounting/cheque_management/static/description/13.png create mode 100644 odex25_accounting/cheque_management/static/description/14.png create mode 100644 odex25_accounting/cheque_management/static/description/2.png create mode 100644 odex25_accounting/cheque_management/static/description/3.png create mode 100644 odex25_accounting/cheque_management/static/description/4.png create mode 100644 odex25_accounting/cheque_management/static/description/5.png create mode 100644 odex25_accounting/cheque_management/static/description/6.png create mode 100644 odex25_accounting/cheque_management/static/description/7.png create mode 100644 odex25_accounting/cheque_management/static/description/8.png create mode 100644 odex25_accounting/cheque_management/static/description/9.png create mode 100644 odex25_accounting/cheque_management/static/description/Banner.png create mode 100644 odex25_accounting/cheque_management/static/description/Dynamic-Bank-Cheque-Print.png create mode 100644 odex25_accounting/cheque_management/static/description/icon.png create mode 100644 odex25_accounting/cheque_management/static/description/index.html create mode 100644 odex25_accounting/cheque_management/static/src/css/im_chat_backend.css create mode 100644 odex25_accounting/cheque_management/static/src/css/im_chat_common.css create mode 100644 odex25_accounting/cheque_management/static/src/css/my_module_name.css create mode 100644 odex25_accounting/cheque_management/static/src/js/bank_cheque.js create mode 100644 odex25_accounting/cheque_management/static/src/js/jquery.min.js create mode 100644 odex25_accounting/cheque_management/static/src/js/jquery_Jcrop.js create mode 100644 odex25_accounting/cheque_management/static/src/js/wk_manual_close.js create mode 100644 odex25_accounting/cheque_management/static/src/less/my_module_name.less create mode 100644 odex25_accounting/cheque_management/static/src/xml/my_module_name.xml create mode 100644 odex25_accounting/cheque_management/views/account_payment_view.xml create mode 100644 odex25_accounting/cheque_management/views/bank_cheque_views.xml create mode 100644 odex25_accounting/cheque_management/views/cheque_report.xml create mode 100644 odex25_accounting/cheque_management/views/website_template_view.xml create mode 100644 odex25_accounting/cheque_management/wizard/__init__.py create mode 100644 odex25_accounting/cheque_management/wizard/print_cheque_transient.py create mode 100644 odex25_accounting/cheque_management/wizard/print_cheque_transient_views.xml create mode 100644 odex25_accounting/custom_account_payment/__init__.py create mode 100644 odex25_accounting/custom_account_payment/__manifest__.py create mode 100644 odex25_accounting/custom_account_payment/models/__init__.py create mode 100644 odex25_accounting/custom_account_payment/models/account_payment.py create mode 100644 odex25_accounting/custom_account_payment/views/account_payment.xml create mode 100644 odex25_accounting/eg_account_invoice_balance/README.rst create mode 100644 odex25_accounting/eg_account_invoice_balance/__init__.py create mode 100644 odex25_accounting/eg_account_invoice_balance/__manifest__.py create mode 100644 odex25_accounting/eg_account_invoice_balance/models/__init__.py create mode 100644 odex25_accounting/eg_account_invoice_balance/models/account_move.py create mode 100644 odex25_accounting/eg_account_invoice_balance/reports/account_report_template.xml create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/banner.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/company_logo.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/divider.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/eg_cancel_quotation.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/eg_inventory_user_signature_report.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/eg_merge_purchase_order.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/eg_po_from_so.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/eg_product_sale_price_history.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/eg_sendcloud_delivery.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/eg_split_quotation_order.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/eg_whatsapp_all_in_one_integration.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/eg_whatsapp_sale_integration.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/icon.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/images/1(a).png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/images/1.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/images/2(a).png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/images/2.png create mode 100644 odex25_accounting/eg_account_invoice_balance/static/description/index.html create mode 100644 odex25_accounting/eg_account_invoice_balance/views/account_move_view.xml create mode 100644 odex25_accounting/exp_asset_base/.idea/exp_asset_base.iml create mode 100644 odex25_accounting/exp_asset_base/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 odex25_accounting/exp_asset_base/.idea/misc.xml create mode 100644 odex25_accounting/exp_asset_base/.idea/modules.xml create mode 100644 odex25_accounting/exp_asset_base/.idea/workspace.xml create mode 100644 odex25_accounting/exp_asset_base/__init__.py create mode 100644 odex25_accounting/exp_asset_base/__manifest__.py create mode 100644 odex25_accounting/exp_asset_base/data/asset_cron.xml create mode 100644 odex25_accounting/exp_asset_base/data/asset_data.xml create mode 100644 odex25_accounting/exp_asset_base/i18n/ar.po create mode 100644 odex25_accounting/exp_asset_base/i18n/ar_001.po create mode 100644 odex25_accounting/exp_asset_base/i18n/ar_SY.po create mode 100644 odex25_accounting/exp_asset_base/models/__init__.py create mode 100644 odex25_accounting/exp_asset_base/models/account_asset.py create mode 100644 odex25_accounting/exp_asset_base/models/account_asset_adjustment.py create mode 100644 odex25_accounting/exp_asset_base/models/asset_modify.py create mode 100644 odex25_accounting/exp_asset_base/models/asset_pause.py create mode 100644 odex25_accounting/exp_asset_base/models/asset_sell.py create mode 100644 odex25_accounting/exp_asset_base/reports/__init__.py create mode 100644 odex25_accounting/exp_asset_base/reports/abstract_report_xlsx.py create mode 100644 odex25_accounting/exp_asset_base/reports/asset_depreciation_report_xlsx.py create mode 100644 odex25_accounting/exp_asset_base/reports/asset_register_report.py create mode 100644 odex25_accounting/exp_asset_base/reports/asset_register_report.xml create mode 100644 odex25_accounting/exp_asset_base/reports/asset_register_report_xlsx.py create mode 100644 odex25_accounting/exp_asset_base/reports/reports.xml create mode 100644 odex25_accounting/exp_asset_base/security/groups.xml create mode 100644 odex25_accounting/exp_asset_base/security/ir.model.access.csv create mode 100644 odex25_accounting/exp_asset_base/static/description/assets.png create mode 100644 odex25_accounting/exp_asset_base/static/description/icon.png create mode 100644 odex25_accounting/exp_asset_base/views/account_asset_adjustment_view.xml create mode 100644 odex25_accounting/exp_asset_base/views/account_asset_view.xml create mode 100644 odex25_accounting/exp_asset_base/views/asset_modify_views.xml create mode 100644 odex25_accounting/exp_asset_base/views/asset_pause_views.xml create mode 100644 odex25_accounting/exp_asset_base/views/asset_sell_views.xml create mode 100644 odex25_accounting/exp_asset_base/views/menus.xml create mode 100644 odex25_accounting/exp_asset_custody/__init__.py create mode 100644 odex25_accounting/exp_asset_custody/__manifest__.py create mode 100644 odex25_accounting/exp_asset_custody/data/asset_data.xml create mode 100644 odex25_accounting/exp_asset_custody/i18n/ar.po create mode 100644 odex25_accounting/exp_asset_custody/models/__init__.py create mode 100644 odex25_accounting/exp_asset_custody/models/account_asset.py create mode 100644 odex25_accounting/exp_asset_custody/models/account_asset_adjustment.py create mode 100644 odex25_accounting/exp_asset_custody/models/account_asset_multi_operation.py create mode 100644 odex25_accounting/exp_asset_custody/models/account_asset_operation.py create mode 100644 odex25_accounting/exp_asset_custody/reports/asset_adjustment_report.xml create mode 100644 odex25_accounting/exp_asset_custody/security/ir.model.access.csv create mode 100644 odex25_accounting/exp_asset_custody/static/description/icon.png create mode 100644 odex25_accounting/exp_asset_custody/views/account_asset_adjustment_view.xml create mode 100644 odex25_accounting/exp_asset_custody/views/account_asset_custody_multi_operation.xml create mode 100644 odex25_accounting/exp_asset_custody/views/account_asset_custody_operation_view.xml create mode 100644 odex25_accounting/exp_asset_custody/views/account_asset_view.xml create mode 100644 odex25_accounting/exp_asset_custody/views/menus.xml create mode 100644 odex25_accounting/exp_asset_custody_link/__init__.py create mode 100644 odex25_accounting/exp_asset_custody_link/__manifest__.py create mode 100644 odex25_accounting/exp_asset_custody_link/i18n/ar_001.po create mode 100644 odex25_accounting/exp_asset_custody_link/models/__init__.py create mode 100644 odex25_accounting/exp_asset_custody_link/models/account_asset_operation.py create mode 100644 odex25_accounting/exp_asset_custody_link/models/employee_custody.py create mode 100644 odex25_accounting/exp_asset_custody_link/security/ir.model.access.csv create mode 100644 odex25_accounting/exp_asset_custody_link/views/employee_custody_action.xml create mode 100644 odex25_accounting/exp_budget_check/__init__.py create mode 100644 odex25_accounting/exp_budget_check/__manifest__.py create mode 100644 odex25_accounting/exp_budget_check/controllers/__init__.py create mode 100644 odex25_accounting/exp_budget_check/controllers/controllers.py create mode 100644 odex25_accounting/exp_budget_check/demo/demo.xml create mode 100644 odex25_accounting/exp_budget_check/i18n/ar.po create mode 100644 odex25_accounting/exp_budget_check/models/__init__.py create mode 100644 odex25_accounting/exp_budget_check/models/account_budget.py create mode 100644 odex25_accounting/exp_budget_check/models/account_invoice.py create mode 100644 odex25_accounting/exp_budget_check/models/analytic_account.py create mode 100644 odex25_accounting/exp_budget_check/models/hr_expense.py create mode 100644 odex25_accounting/exp_budget_check/security/ir.model.access.csv create mode 100644 odex25_accounting/exp_budget_check/views/account_invoice_view.xml create mode 100644 odex25_accounting/exp_budget_check/views/hr_expense_view.xml create mode 100644 odex25_accounting/exp_multi_unaffected_earnings/__init__.py create mode 100644 odex25_accounting/exp_multi_unaffected_earnings/__manifest__.py create mode 100644 odex25_accounting/exp_multi_unaffected_earnings/models/__init__.py create mode 100644 odex25_accounting/exp_multi_unaffected_earnings/models/account_account.py create mode 100644 odex25_accounting/exp_multi_unaffected_earnings/static/description/icon.png create mode 100644 odex25_accounting/exp_multi_unaffected_earnings/views/account_view.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/README.rst create mode 100644 odex25_accounting/hr_expense_petty_cash/__init__.py create mode 100644 odex25_accounting/hr_expense_petty_cash/__manifest__.py create mode 100644 odex25_accounting/hr_expense_petty_cash/data/hr_expense_data.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/data/petty_cash_data.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/i18n/ar.po create mode 100644 odex25_accounting/hr_expense_petty_cash/i18n/ar_001.po create mode 100644 odex25_accounting/hr_expense_petty_cash/models/__init__.py create mode 100644 odex25_accounting/hr_expense_petty_cash/models/account_move.py create mode 100644 odex25_accounting/hr_expense_petty_cash/models/hr_expense.py create mode 100644 odex25_accounting/hr_expense_petty_cash/models/hr_expense_sheet.py create mode 100644 odex25_accounting/hr_expense_petty_cash/models/petty_cash.py create mode 100644 odex25_accounting/hr_expense_petty_cash/models/petty_cash_configuration.py create mode 100644 odex25_accounting/hr_expense_petty_cash/readme/CONFIGURE.rst create mode 100644 odex25_accounting/hr_expense_petty_cash/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/hr_expense_petty_cash/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/hr_expense_petty_cash/readme/USAGE.rst create mode 100644 odex25_accounting/hr_expense_petty_cash/report/hr_expense_report.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/security/ir.model.access.csv create mode 100644 odex25_accounting/hr_expense_petty_cash/security/security.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/static/description/icon.png create mode 100644 odex25_accounting/hr_expense_petty_cash/static/description/index.html create mode 100644 odex25_accounting/hr_expense_petty_cash/static/description/odoo_icon.png create mode 100644 odex25_accounting/hr_expense_petty_cash/tests/__init__.py create mode 100644 odex25_accounting/hr_expense_petty_cash/tests/test_hr_expense_petty_cash.py create mode 100644 odex25_accounting/hr_expense_petty_cash/views/account_move_views.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/views/hr.employee.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/views/hr_expense_sheet_views.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/views/hr_expense_views.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/views/menu_security_cus.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/views/petty_cash_configuration_views.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/views/petty_cash_views.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/wizards/__init__.py create mode 100644 odex25_accounting/hr_expense_petty_cash/wizards/cancel_petty_cash.py create mode 100644 odex25_accounting/hr_expense_petty_cash/wizards/cancel_purchase_request.xml create mode 100644 odex25_accounting/hr_expense_petty_cash/wizards/convert_to_contract.xml create mode 100644 odex25_accounting/journal_entry_report/__init__.py create mode 100644 odex25_accounting/journal_entry_report/__manifest__.py create mode 100644 odex25_accounting/journal_entry_report/i18n/ar.po create mode 100644 odex25_accounting/journal_entry_report/models/__init__.py create mode 100644 odex25_accounting/journal_entry_report/models/account_move_line.py create mode 100644 odex25_accounting/journal_entry_report/reports/report_journal_entry.xml create mode 100644 odex25_accounting/journal_entry_report/static/description/iWesabe-Apps-Journal-Entry-Report.png create mode 100644 odex25_accounting/journal_entry_report/static/description/icon.png create mode 100644 odex25_accounting/journal_entry_report/static/fonts/ae_AlMohanad.ttf create mode 100644 odex25_accounting/journal_entry_report/static/src/css/website_rtl.css create mode 100644 odex25_accounting/journal_entry_report/views/account_move_view.xml create mode 100644 odex25_accounting/l10n_exp/__init__.py create mode 100644 odex25_accounting/l10n_exp/__manifest__.py create mode 100644 odex25_accounting/l10n_exp/data/account.account.template.csv create mode 100644 odex25_accounting/l10n_exp/data/account.chart.template.csv create mode 100644 odex25_accounting/l10n_exp/data/account_chart_template_data.xml create mode 100644 odex25_accounting/l10n_exp/data/l10n_exp_chart_data.xml create mode 100644 odex25_accounting/l10n_exp/i18n/ar.po create mode 100644 odex25_accounting/l10n_exp/static/description/icon.png create mode 100644 odex25_accounting/mis_builder/README.rst create mode 100644 odex25_accounting/mis_builder/__init__.py create mode 100644 odex25_accounting/mis_builder/__manifest__.py create mode 100644 odex25_accounting/mis_builder/datas/ir_cron.xml create mode 100644 odex25_accounting/mis_builder/i18n/ca.po create mode 100644 odex25_accounting/mis_builder/i18n/de.po create mode 100644 odex25_accounting/mis_builder/i18n/el.po create mode 100644 odex25_accounting/mis_builder/i18n/el_GR.po create mode 100644 odex25_accounting/mis_builder/i18n/es.po create mode 100644 odex25_accounting/mis_builder/i18n/fr.po create mode 100644 odex25_accounting/mis_builder/i18n/hr.po create mode 100644 odex25_accounting/mis_builder/i18n/it.po create mode 100644 odex25_accounting/mis_builder/i18n/nl.po create mode 100644 odex25_accounting/mis_builder/i18n/nl_NL.po create mode 100644 odex25_accounting/mis_builder/i18n/pt.po create mode 100644 odex25_accounting/mis_builder/i18n/pt_BR.po create mode 100644 odex25_accounting/mis_builder/migrations/8.0.2.0.0/post-migration.py create mode 100644 odex25_accounting/mis_builder/migrations/8.0.2.0.0/pre-migration.py create mode 100644 odex25_accounting/mis_builder/models/__init__.py create mode 100644 odex25_accounting/mis_builder/models/accounting_none.py create mode 100644 odex25_accounting/mis_builder/models/aep.py create mode 100644 odex25_accounting/mis_builder/models/aggregate.py create mode 100644 odex25_accounting/mis_builder/models/data_error.py create mode 100644 odex25_accounting/mis_builder/models/expression_evaluator.py create mode 100644 odex25_accounting/mis_builder/models/kpimatrix.py create mode 100644 odex25_accounting/mis_builder/models/mis_kpi_data.py create mode 100644 odex25_accounting/mis_builder/models/mis_report.py create mode 100644 odex25_accounting/mis_builder/models/mis_report_instance.py create mode 100644 odex25_accounting/mis_builder/models/mis_report_style.py create mode 100644 odex25_accounting/mis_builder/models/mis_report_subreport.py create mode 100644 odex25_accounting/mis_builder/models/mis_safe_eval.py create mode 100644 odex25_accounting/mis_builder/models/prorata_read_group_mixin.py create mode 100644 odex25_accounting/mis_builder/models/simple_array.py create mode 100644 odex25_accounting/mis_builder/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/mis_builder/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/mis_builder/readme/DEVELOP.rst create mode 100644 odex25_accounting/mis_builder/readme/HISTORY.rst create mode 100644 odex25_accounting/mis_builder/readme/INSTALL.rst create mode 100644 odex25_accounting/mis_builder/readme/ROADMAP.rst create mode 100644 odex25_accounting/mis_builder/readme/USAGE.rst create mode 100644 odex25_accounting/mis_builder/readme/newsfragments/.gitignore create mode 100644 odex25_accounting/mis_builder/report/__init__.py create mode 100644 odex25_accounting/mis_builder/report/mis_report_instance_qweb.py create mode 100644 odex25_accounting/mis_builder/report/mis_report_instance_qweb.xml create mode 100644 odex25_accounting/mis_builder/report/mis_report_instance_xlsx.py create mode 100644 odex25_accounting/mis_builder/report/mis_report_instance_xlsx.xml create mode 100644 odex25_accounting/mis_builder/security/ir.model.access.csv create mode 100644 odex25_accounting/mis_builder/security/mis_builder_security.xml create mode 100644 odex25_accounting/mis_builder/static/description/ex_report_preview.png create mode 100644 odex25_accounting/mis_builder/static/description/ex_report_settings.png create mode 100644 odex25_accounting/mis_builder/static/description/ex_report_template.png create mode 100644 odex25_accounting/mis_builder/static/description/icon.png create mode 100644 odex25_accounting/mis_builder/static/description/index.html create mode 100644 odex25_accounting/mis_builder/static/src/css/custom.css create mode 100644 odex25_accounting/mis_builder/static/src/css/report.css create mode 100644 odex25_accounting/mis_builder/static/src/js/mis_report_widget.js create mode 100644 odex25_accounting/mis_builder/static/src/xml/mis_report_widget.xml create mode 100644 odex25_accounting/mis_builder/tests/__init__.py create mode 100644 odex25_accounting/mis_builder/tests/common.py create mode 100644 odex25_accounting/mis_builder/tests/test_accounting_none.py create mode 100644 odex25_accounting/mis_builder/tests/test_aep.py create mode 100644 odex25_accounting/mis_builder/tests/test_aggregate.py create mode 100644 odex25_accounting/mis_builder/tests/test_analytic_filters.py create mode 100644 odex25_accounting/mis_builder/tests/test_data_sources.py create mode 100644 odex25_accounting/mis_builder/tests/test_kpi_data.py create mode 100644 odex25_accounting/mis_builder/tests/test_mis_report_instance.py create mode 100644 odex25_accounting/mis_builder/tests/test_mis_safe_eval.py create mode 100644 odex25_accounting/mis_builder/tests/test_multi_company_aep.py create mode 100644 odex25_accounting/mis_builder/tests/test_period_dates.py create mode 100644 odex25_accounting/mis_builder/tests/test_render.py create mode 100644 odex25_accounting/mis_builder/tests/test_simple_array.py create mode 100644 odex25_accounting/mis_builder/tests/test_subreport.py create mode 100644 odex25_accounting/mis_builder/tests/test_utc_midnight.py create mode 100644 odex25_accounting/mis_builder/views/mis_report.xml create mode 100644 odex25_accounting/mis_builder/views/mis_report_instance.xml create mode 100644 odex25_accounting/mis_builder/views/mis_report_style.xml create mode 100644 odex25_accounting/mis_builder/wizard/__init__.py create mode 100644 odex25_accounting/mis_builder/wizard/mis_builder_dashboard.py create mode 100644 odex25_accounting/mis_builder/wizard/mis_builder_dashboard.xml create mode 100644 odex25_accounting/mis_builder_cash_flow/README.rst create mode 100644 odex25_accounting/mis_builder_cash_flow/__init__.py create mode 100644 odex25_accounting/mis_builder_cash_flow/__manifest__.py create mode 100644 odex25_accounting/mis_builder_cash_flow/data/mis_report.xml create mode 100644 odex25_accounting/mis_builder_cash_flow/data/mis_report_instance.xml create mode 100644 odex25_accounting/mis_builder_cash_flow/data/mis_report_style.xml create mode 100644 odex25_accounting/mis_builder_cash_flow/i18n/ca.po create mode 100644 odex25_accounting/mis_builder_cash_flow/i18n/ca_ES.po create mode 100644 odex25_accounting/mis_builder_cash_flow/i18n/es.po create mode 100644 odex25_accounting/mis_builder_cash_flow/i18n/es_AR.po create mode 100644 odex25_accounting/mis_builder_cash_flow/i18n/nl.po create mode 100644 odex25_accounting/mis_builder_cash_flow/i18n/pt.po create mode 100644 odex25_accounting/mis_builder_cash_flow/models/__init__.py create mode 100644 odex25_accounting/mis_builder_cash_flow/models/account_account.py create mode 100644 odex25_accounting/mis_builder_cash_flow/models/mis_cash_flow_forecast_line.py create mode 100644 odex25_accounting/mis_builder_cash_flow/models/mis_report_instance.py create mode 100644 odex25_accounting/mis_builder_cash_flow/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/mis_builder_cash_flow/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/mis_builder_cash_flow/readme/ROADMAP.rst create mode 100644 odex25_accounting/mis_builder_cash_flow/readme/USAGE.rst create mode 100644 odex25_accounting/mis_builder_cash_flow/report/__init__.py create mode 100644 odex25_accounting/mis_builder_cash_flow/report/mis_cash_flow.py create mode 100644 odex25_accounting/mis_builder_cash_flow/report/mis_cash_flow_views.xml create mode 100644 odex25_accounting/mis_builder_cash_flow/security/mis_cash_flow_security.xml create mode 100644 odex25_accounting/mis_builder_cash_flow/static/description/icon.png create mode 100644 odex25_accounting/mis_builder_cash_flow/static/description/index.html create mode 100644 odex25_accounting/mis_builder_cash_flow/tests/__init__.py create mode 100644 odex25_accounting/mis_builder_cash_flow/tests/test_cash_flow.py create mode 100644 odex25_accounting/mis_builder_cash_flow/views/account_account_views.xml create mode 100644 odex25_accounting/mis_builder_cash_flow/views/mis_cash_flow_forecast_line_views.xml create mode 100644 odex25_accounting/naif_account_report/__init__.py create mode 100644 odex25_accounting/naif_account_report/__manifest__.py create mode 100644 odex25_accounting/naif_account_report/i18n/ar_001.po create mode 100644 odex25_accounting/naif_account_report/models/__init__.py create mode 100644 odex25_accounting/naif_account_report/models/models.py create mode 100644 odex25_accounting/naif_account_report/views/account_payment_pdf.xml create mode 100644 odex25_accounting/naif_account_report/views/journal_entry_pdf.xml create mode 100644 odex25_accounting/naif_account_report/views/report_action.xml create mode 100644 odex25_accounting/odex25_account_accountant/__init__.py create mode 100644 odex25_accounting/odex25_account_accountant/__manifest__.py create mode 100644 odex25_accounting/odex25_account_accountant/data/digest_data.xml create mode 100644 odex25_accounting/odex25_account_accountant/data/odex25_account_accountant_data.xml create mode 100644 odex25_accounting/odex25_account_accountant/data/odex25_account_accountant_demo.xml create mode 100644 odex25_accounting/odex25_account_accountant/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_accountant/models/__init__.py create mode 100644 odex25_accounting/odex25_account_accountant/models/account_account.py create mode 100644 odex25_accounting/odex25_account_accountant/models/account_bank_statement.py create mode 100644 odex25_accounting/odex25_account_accountant/models/account_fiscal_year.py create mode 100644 odex25_accounting/odex25_account_accountant/models/account_journal_dashboard.py create mode 100644 odex25_accounting/odex25_account_accountant/models/account_move.py create mode 100644 odex25_accounting/odex25_account_accountant/models/account_payment.py create mode 100644 odex25_accounting/odex25_account_accountant/models/digest.py create mode 100644 odex25_accounting/odex25_account_accountant/models/reconciliation_widget.py create mode 100644 odex25_accounting/odex25_account_accountant/models/res_company.py create mode 100644 odex25_accounting/odex25_account_accountant/models/res_config_settings.py create mode 100644 odex25_accounting/odex25_account_accountant/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_accountant/security/odex25_account_accountant_security.xml create mode 100644 odex25_accounting/odex25_account_accountant/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_accountant/static/description/icon.svg create mode 100644 odex25_accounting/odex25_account_accountant/static/src/img/accounting-bulk.gif create mode 100644 odex25_accounting/odex25_account_accountant/static/src/js/move_line_list_view.js create mode 100644 odex25_accounting/odex25_account_accountant/static/src/js/reconciliation/reconciliation_action.js create mode 100644 odex25_accounting/odex25_account_accountant/static/src/js/reconciliation/reconciliation_model.js create mode 100644 odex25_accounting/odex25_account_accountant/static/src/js/reconciliation/reconciliation_renderer.js create mode 100644 odex25_accounting/odex25_account_accountant/static/src/js/tours/odex25_account_accountant.js create mode 100644 odex25_accounting/odex25_account_accountant/static/src/scss/move_line_list_view.scss create mode 100644 odex25_accounting/odex25_account_accountant/static/src/xml/account_reconciliation.xml create mode 100644 odex25_accounting/odex25_account_accountant/static/tests/move_line_list_tests.js create mode 100644 odex25_accounting/odex25_account_accountant/static/tests/reconciliation_tests.js create mode 100644 odex25_accounting/odex25_account_accountant/static/tests/tours/account_dashboard_setup_bar_tests.js create mode 100644 odex25_accounting/odex25_account_accountant/static/tests/tours/reconciliation.js create mode 100644 odex25_accounting/odex25_account_accountant/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_accountant/tests/test_account_bank_statement.py create mode 100644 odex25_accounting/odex25_account_accountant/tests/test_account_fiscal_year.py create mode 100644 odex25_accounting/odex25_account_accountant/tests/test_bank_reconciliation_widget.py create mode 100644 odex25_accounting/odex25_account_accountant/tests/test_reconciliation_widget.py create mode 100644 odex25_accounting/odex25_account_accountant/tests/test_tour_reconciliation_widget.py create mode 100644 odex25_accounting/odex25_account_accountant/tests/test_ui.py create mode 100644 odex25_accounting/odex25_account_accountant/views/account_account_views.xml create mode 100644 odex25_accounting/odex25_account_accountant/views/account_bank_statement_views.xml create mode 100644 odex25_accounting/odex25_account_accountant/views/account_fiscal_year_view.xml create mode 100644 odex25_accounting/odex25_account_accountant/views/account_journal_dashboard_views.xml create mode 100644 odex25_accounting/odex25_account_accountant/views/account_move_views.xml create mode 100644 odex25_accounting/odex25_account_accountant/views/account_payment_views.xml create mode 100644 odex25_accounting/odex25_account_accountant/views/digest_views.xml create mode 100644 odex25_accounting/odex25_account_accountant/views/odex25_account_accountant_menuitems.xml create mode 100644 odex25_accounting/odex25_account_accountant/views/odex25_account_accountant_templates.xml create mode 100644 odex25_accounting/odex25_account_accountant/views/product_views.xml create mode 100644 odex25_accounting/odex25_account_accountant/views/res_config_settings_views.xml create mode 100644 odex25_accounting/odex25_account_accountant/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_accountant/wizard/account_change_lock_date.py create mode 100644 odex25_accounting/odex25_account_accountant/wizard/account_change_lock_date.xml create mode 100644 odex25_accounting/odex25_account_accountant/wizard/reconcile_model_wizard.xml create mode 100644 odex25_accounting/odex25_account_asset/__init__.py create mode 100644 odex25_accounting/odex25_account_asset/__manifest__.py create mode 100644 odex25_accounting/odex25_account_asset/demo/account_deferred_revenue_demo.xml create mode 100644 odex25_accounting/odex25_account_asset/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_asset/i18n/ar_001.po create mode 100644 odex25_accounting/odex25_account_asset/models/__init__.py create mode 100644 odex25_accounting/odex25_account_asset/models/account.py create mode 100644 odex25_accounting/odex25_account_asset/models/account_asset.py create mode 100644 odex25_accounting/odex25_account_asset/models/account_move.py create mode 100644 odex25_accounting/odex25_account_asset/models/res_company.py create mode 100644 odex25_accounting/odex25_account_asset/report/__init__.py create mode 100644 odex25_accounting/odex25_account_asset/report/account_assets_report.py create mode 100644 odex25_accounting/odex25_account_asset/report/account_assets_report_views.xml create mode 100644 odex25_accounting/odex25_account_asset/security/account_asset_security.xml create mode 100644 odex25_accounting/odex25_account_asset/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_asset/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_asset/static/description/icon.svg create mode 100644 odex25_accounting/odex25_account_asset/static/src/js/account_asset.js create mode 100644 odex25_accounting/odex25_account_asset/static/src/js/account_asset_reversed_widget.js create mode 100644 odex25_accounting/odex25_account_asset/static/src/scss/account_asset.scss create mode 100644 odex25_accounting/odex25_account_asset/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_asset/tests/test_account_asset.py create mode 100644 odex25_accounting/odex25_account_asset/views/account_account_views.xml create mode 100644 odex25_accounting/odex25_account_asset/views/account_asset_templates.xml create mode 100644 odex25_accounting/odex25_account_asset/views/account_asset_views.xml create mode 100644 odex25_accounting/odex25_account_asset/views/account_deferred_expense.xml create mode 100644 odex25_accounting/odex25_account_asset/views/account_deferred_revenue.xml create mode 100644 odex25_accounting/odex25_account_asset/views/account_move_views.xml create mode 100644 odex25_accounting/odex25_account_asset/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_asset/wizard/asset_modify.py create mode 100644 odex25_accounting/odex25_account_asset/wizard/asset_modify_views.xml create mode 100644 odex25_accounting/odex25_account_asset/wizard/asset_pause.py create mode 100644 odex25_accounting/odex25_account_asset/wizard/asset_pause_views.xml create mode 100644 odex25_accounting/odex25_account_asset/wizard/asset_sell.py create mode 100644 odex25_accounting/odex25_account_asset/wizard/asset_sell_views.xml create mode 100644 odex25_accounting/odex25_account_auto_transfer/__init__.py create mode 100644 odex25_accounting/odex25_account_auto_transfer/__manifest__.py create mode 100644 odex25_accounting/odex25_account_auto_transfer/data/cron.xml create mode 100644 odex25_accounting/odex25_account_auto_transfer/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_auto_transfer/models/__init__.py create mode 100644 odex25_accounting/odex25_account_auto_transfer/models/account_move.py create mode 100644 odex25_accounting/odex25_account_auto_transfer/models/transfer_model.py create mode 100644 odex25_accounting/odex25_account_auto_transfer/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_auto_transfer/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_auto_transfer/static/description/icon.svg create mode 100644 odex25_accounting/odex25_account_auto_transfer/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_auto_transfer/tests/odex25_account_auto_transfer_test_classes.py create mode 100644 odex25_accounting/odex25_account_auto_transfer/tests/test_transfer_model.py create mode 100644 odex25_accounting/odex25_account_auto_transfer/tests/test_transfer_model_line.py create mode 100644 odex25_accounting/odex25_account_auto_transfer/views/transfer_model_views.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import/__manifest__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import/account_import_tip_data.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import/account_journal.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import/demo/partner_bank.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import/odex25_account_bank_statement_import_view.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_bank_statement_import/static/csv/account.bank.statement.csv create mode 100644 odex25_accounting/odex25_account_bank_statement_import/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_bank_statement_import/static/description/icon_src.svg create mode 100644 odex25_accounting/odex25_account_bank_statement_import/static/src/js/odex25_account_bank_statement_import.js create mode 100644 odex25_accounting/odex25_account_bank_statement_import/views/odex25_account_bank_statement_import_templates.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import/wizard/journal_creation.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import/wizard/journal_creation.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import/wizard/setup_wizards.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/__manifest__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/data/odex25_account_bank_statement_import_data.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/doc/standard-camt053-statement-v2-en_1.pdf create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/models/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/models/account_journal.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/camt_053_minimal.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/camt_053_sample.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/camt_053_several_ibans.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/test_camt.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/tests/test_odex25_account_bank_statement_import_camt.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/__manifest__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/models/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/models/account_journal.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/static/csv/account.bank.statement.csv create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/static/src/js/import_bank_stmt.js create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/test_csv_file/test_csv.csv create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/tests/test_import_bank_statement.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/views/odex25_account_bank_statement_import_templates.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/wizard/odex25_account_bank_statement_import_csv.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_csv/wizard/odex25_account_bank_statement_import_views.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/__manifest__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/models/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/models/account_journal.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/static/ofx/test_ofx.ofx create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/tests/test_import_bank_statement.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/odex25_account_bank_statement_import_ofx.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/odex25_account_bank_statement_import_views.xml create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/__manifest__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/models/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/models/account_journal.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/static/qif/test_qif.qif create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/tests/test_import_bank_statement.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/wizard/odex25_account_bank_statement_import_qif.py create mode 100644 odex25_accounting/odex25_account_bank_statement_import_qif/wizard/odex25_account_bank_statement_import_views.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/__init__.py create mode 100644 odex25_accounting/odex25_account_batch_payment/__manifest__.py create mode 100644 odex25_accounting/odex25_account_batch_payment/data/odex25_account_batch_payment_data.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_batch_payment/models/__init__.py create mode 100644 odex25_accounting/odex25_account_batch_payment/models/account_journal.py create mode 100644 odex25_accounting/odex25_account_batch_payment/models/account_payment.py create mode 100644 odex25_accounting/odex25_account_batch_payment/models/odex25_account_batch_payment.py create mode 100644 odex25_accounting/odex25_account_batch_payment/models/widget_reconciliation.py create mode 100644 odex25_accounting/odex25_account_batch_payment/report/__init__.py create mode 100644 odex25_accounting/odex25_account_batch_payment/report/odex25_account_batch_payment_report.py create mode 100644 odex25_accounting/odex25_account_batch_payment/report/odex25_account_batch_payment_report_templates.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/report/odex25_account_batch_payment_reports.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_batch_payment/security/odex25_account_batch_payment_security.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_batch_payment/static/src/css/account_reconciliation.css create mode 100644 odex25_accounting/odex25_account_batch_payment/static/src/js/odex25_account_batch_payment_reconciliation.js create mode 100644 odex25_accounting/odex25_account_batch_payment/static/src/scss/report_batch_payment.scss create mode 100644 odex25_accounting/odex25_account_batch_payment/static/src/xml/account_reconciliation.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/static/test/reconciliation_tests.js create mode 100644 odex25_accounting/odex25_account_batch_payment/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_batch_payment/tests/test_batch_payment.py create mode 100644 odex25_accounting/odex25_account_batch_payment/views/account_journal_views.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/views/account_payment_views.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/views/odex25_account_batch_payment_templates.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/views/odex25_account_batch_payment_views.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_batch_payment/wizard/batch_error.py create mode 100644 odex25_accounting/odex25_account_batch_payment/wizard/batch_error_views.xml create mode 100644 odex25_accounting/odex25_account_batch_payment/wizard/download_wizard.py create mode 100644 odex25_accounting/odex25_account_batch_payment/wizard/download_wizard_views.xml create mode 100644 odex25_accounting/odex25_account_budget/__init__.py create mode 100644 odex25_accounting/odex25_account_budget/__manifest__.py create mode 100644 odex25_accounting/odex25_account_budget/data/account_budget_demo.xml create mode 100644 odex25_accounting/odex25_account_budget/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_budget/models/__init__.py create mode 100644 odex25_accounting/odex25_account_budget/models/account_analytic_account.py create mode 100644 odex25_accounting/odex25_account_budget/models/account_budget.py create mode 100644 odex25_accounting/odex25_account_budget/security/account_budget_security.xml create mode 100644 odex25_accounting/odex25_account_budget/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_budget/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_budget/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_budget/tests/common.py create mode 100644 odex25_accounting/odex25_account_budget/tests/test_account_budget.py create mode 100644 odex25_accounting/odex25_account_budget/tests/test_theoreticalamount.py create mode 100644 odex25_accounting/odex25_account_budget/views/account_analytic_account_views.xml create mode 100644 odex25_accounting/odex25_account_budget/views/account_budget_views.xml create mode 100644 odex25_accounting/odex25_account_budget/views/res_config_settings_views.xml create mode 100644 odex25_accounting/odex25_account_budget/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_budget/wizard/crossovered_budget_percentage_wizard.py create mode 100644 odex25_accounting/odex25_account_budget/wizard/crossovered_budget_percentage_wizard_views.xml create mode 100644 odex25_accounting/odex25_account_consolidation/__init__.py create mode 100644 odex25_accounting/odex25_account_consolidation/__manifest__.py create mode 100644 odex25_accounting/odex25_account_consolidation/controllers/__init__.py create mode 100644 odex25_accounting/odex25_account_consolidation/controllers/onboarding.py create mode 100644 odex25_accounting/odex25_account_consolidation/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_consolidation/models/__init__.py create mode 100644 odex25_accounting/odex25_account_consolidation/models/account_account.py create mode 100644 odex25_accounting/odex25_account_consolidation/models/account_move.py create mode 100644 odex25_accounting/odex25_account_consolidation/models/consolidation_coa.py create mode 100644 odex25_accounting/odex25_account_consolidation/models/consolidation_journal.py create mode 100644 odex25_accounting/odex25_account_consolidation/models/consolidation_period.py create mode 100644 odex25_accounting/odex25_account_consolidation/models/consolidation_rate.py create mode 100644 odex25_accounting/odex25_account_consolidation/models/res_company.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/__init__.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/builder/__init__.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/builder/abstract.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/builder/comparison.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/builder/default.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/handler/__init__.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/handler/abstract.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/handler/journals.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/handler/periods.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/handler/show_zero.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/trial_balance.py create mode 100644 odex25_accounting/odex25_account_consolidation/report/trial_balance.xml create mode 100644 odex25_accounting/odex25_account_consolidation/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_consolidation/security/odex25_account_consolidation_security.xml create mode 100644 odex25_accounting/odex25_account_consolidation/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_consolidation/static/description/icon.svg create mode 100644 odex25_accounting/odex25_account_consolidation/static/src/js/json_field.js create mode 100644 odex25_accounting/odex25_account_consolidation/static/src/js/move_line_list/renderer.js create mode 100644 odex25_accounting/odex25_account_consolidation/static/src/js/move_line_list/view.js create mode 100644 odex25_accounting/odex25_account_consolidation/static/src/js/trial_balance_grid/controller.js create mode 100644 odex25_accounting/odex25_account_consolidation/static/src/js/trial_balance_grid/renderer.js create mode 100644 odex25_accounting/odex25_account_consolidation/static/src/js/trial_balance_grid/view.js create mode 100644 odex25_accounting/odex25_account_consolidation/static/src/scss/consolidation_grid_view.scss create mode 100644 odex25_accounting/odex25_account_consolidation/static/src/scss/consolidation_kanban.scss create mode 100644 odex25_accounting/odex25_account_consolidation/static/src/xml/fields_templates.xml create mode 100644 odex25_accounting/odex25_account_consolidation/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_consolidation/tests/odex25_account_consolidation_test_classes.py create mode 100644 odex25_accounting/odex25_account_consolidation/tests/test_consolidation_coa.py create mode 100644 odex25_accounting/odex25_account_consolidation/tests/test_consolidation_journal.py create mode 100644 odex25_accounting/odex25_account_consolidation/tests/test_consolidation_period.py create mode 100644 odex25_accounting/odex25_account_consolidation/tests/test_journal_line.py create mode 100644 odex25_accounting/odex25_account_consolidation/tests/test_report_builder.py create mode 100644 odex25_accounting/odex25_account_consolidation/tests/test_report_handler.py create mode 100644 odex25_accounting/odex25_account_consolidation/tests/test_report_trial_balance.py create mode 100644 odex25_accounting/odex25_account_consolidation/views/account_account_views.xml create mode 100644 odex25_accounting/odex25_account_consolidation/views/account_move_views.xml create mode 100644 odex25_accounting/odex25_account_consolidation/views/assets.xml create mode 100644 odex25_accounting/odex25_account_consolidation/views/consolidation_account_group_views.xml create mode 100644 odex25_accounting/odex25_account_consolidation/views/consolidation_account_views.xml create mode 100644 odex25_accounting/odex25_account_consolidation/views/consolidation_chart_views.xml create mode 100644 odex25_accounting/odex25_account_consolidation/views/consolidation_journal_views.xml create mode 100644 odex25_accounting/odex25_account_consolidation/views/consolidation_period_views.xml create mode 100644 odex25_accounting/odex25_account_consolidation/views/consolidation_rate_views.xml create mode 100644 odex25_accounting/odex25_account_consolidation/views/menuitems.xml create mode 100644 odex25_accounting/odex25_account_consolidation/views/onboarding_templates.xml create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/__init__.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/__manifest__.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/models/__init__.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/models/account_account.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/models/odex25_account_disallowed_expenses.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/report/__init__.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/report/odex25_account_disallowed_expenses_report.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/report/odex25_account_disallowed_expenses_report_views.xml create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/security/odex25_account_disallowed_expenses_security.xml create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/views/account_account_views.xml create mode 100644 odex25_accounting/odex25_account_disallowed_expenses/views/odex25_account_disallowed_expenses_category_views.xml create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/__init__.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/__manifest__.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/models/__init__.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/models/account_move.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/models/fleet_vehicle.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/models/odex25_account_disallowed_expenses.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/report/__init__.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/report/odex25_account_disallowed_expenses_report.py create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/views/fleet_vehicle_views.xml create mode 100644 odex25_accounting/odex25_account_disallowed_expenses_fleet/views/odex25_account_disallowed_expenses_category_views.xml create mode 100644 odex25_accounting/odex25_account_followup/__init__.py create mode 100644 odex25_accounting/odex25_account_followup/__manifest__.py create mode 100644 odex25_accounting/odex25_account_followup/data/cron.xml create mode 100644 odex25_accounting/odex25_account_followup/data/odex25_account_followup_data.xml create mode 100644 odex25_accounting/odex25_account_followup/demo/odex25_account_followup_demo.xml create mode 100644 odex25_accounting/odex25_account_followup/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_followup/models/__init__.py create mode 100644 odex25_accounting/odex25_account_followup/models/chart_template.py create mode 100644 odex25_accounting/odex25_account_followup/models/odex25_account_followup.py create mode 100644 odex25_accounting/odex25_account_followup/models/odex25_account_followup_report.py create mode 100644 odex25_accounting/odex25_account_followup/models/res_partner.py create mode 100644 odex25_accounting/odex25_account_followup/report/__init__.py create mode 100644 odex25_accounting/odex25_account_followup/report/odex25_account_followup_report.py create mode 100644 odex25_accounting/odex25_account_followup/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_followup/security/odex25_account_followup_security.xml create mode 100644 odex25_accounting/odex25_account_followup/security/sms_security.xml create mode 100644 odex25_accounting/odex25_account_followup/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_followup/static/src/js/followup_form_controller.js create mode 100644 odex25_accounting/odex25_account_followup/static/src/js/followup_form_model.js create mode 100644 odex25_accounting/odex25_account_followup/static/src/js/followup_form_renderer.js create mode 100644 odex25_accounting/odex25_account_followup/static/src/js/followup_form_view.js create mode 100644 odex25_accounting/odex25_account_followup/static/src/scss/odex25_account_followup_letter.scss create mode 100644 odex25_accounting/odex25_account_followup/static/src/xml/odex25_account_followup_template.xml create mode 100644 odex25_accounting/odex25_account_followup/static/tests/followup_tests.js create mode 100644 odex25_accounting/odex25_account_followup/static/tests/tours/account_reports.js create mode 100644 odex25_accounting/odex25_account_followup/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_followup/tests/test_followup.py create mode 100644 odex25_accounting/odex25_account_followup/tests/test_ui.py create mode 100644 odex25_accounting/odex25_account_followup/views/account_journal_dashboard_view.xml create mode 100644 odex25_accounting/odex25_account_followup/views/assets.xml create mode 100644 odex25_accounting/odex25_account_followup/views/odex25_account_followup_views.xml create mode 100644 odex25_accounting/odex25_account_followup/views/partner_view.xml create mode 100644 odex25_accounting/odex25_account_followup/views/report_followup.xml create mode 100644 odex25_accounting/odex25_account_invoice_extract/__init__.py create mode 100644 odex25_accounting/odex25_account_invoice_extract/__manifest__.py create mode 100644 odex25_accounting/odex25_account_invoice_extract/data/config_parameter_endpoint.xml create mode 100644 odex25_accounting/odex25_account_invoice_extract/data/extraction_status.xml create mode 100644 odex25_accounting/odex25_account_invoice_extract/data/odex25_account_invoice_extract_data.xml create mode 100644 odex25_accounting/odex25_account_invoice_extract/data/res_config_settings_views.xml create mode 100644 odex25_accounting/odex25_account_invoice_extract/data/update_status_cron.xml create mode 100644 odex25_accounting/odex25_account_invoice_extract/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_invoice_extract/models/__init__.py create mode 100644 odex25_accounting/odex25_account_invoice_extract/models/account_invoice.py create mode 100644 odex25_accounting/odex25_account_invoice_extract/models/ir_attachment.py create mode 100644 odex25_accounting/odex25_account_invoice_extract/models/res_company.py create mode 100644 odex25_accounting/odex25_account_invoice_extract/models/res_config_settings.py create mode 100644 odex25_accounting/odex25_account_invoice_extract/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/bugfix/bugfix.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/bugfix/bugfix.scss create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/bugfix/bugfix.xml create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/bugfix/bugfix_tests.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/css/odex25_account_invoice_extract_box_layer.css create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/js/invoice_extract_box.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/js/invoice_extract_box_layer.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/js/invoice_extract_field.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/js/invoice_extract_field_button.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/js/invoice_extract_fields.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/js/invoice_extract_form_renderer.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/js/invoice_extract_form_view.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/scss/odex25_account_invoice_extract.scss create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/tests/helpers/invoice_extract_test_utils.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/tests/invoice_extract_box_layer_tests.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/tests/invoice_extract_box_tests.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/tests/invoice_extract_field_button_tests.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/tests/invoice_extract_field_tests.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/tests/invoice_extract_fields_and_box_layer_tests.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/tests/invoice_extract_fields_tests.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/tests/invoice_extract_form_view_tests.js create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/xml/invoice_extract_box.xml create mode 100644 odex25_accounting/odex25_account_invoice_extract/static/src/xml/invoice_extract_button.xml create mode 100644 odex25_accounting/odex25_account_invoice_extract/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_invoice_extract/tests/common.py create mode 100644 odex25_accounting/odex25_account_invoice_extract/tests/test_invoice_extract.py create mode 100644 odex25_accounting/odex25_account_invoice_extract_purchase/__init__.py create mode 100644 odex25_accounting/odex25_account_invoice_extract_purchase/__manifest__.py create mode 100644 odex25_accounting/odex25_account_invoice_extract_purchase/models/__init__.py create mode 100644 odex25_accounting/odex25_account_invoice_extract_purchase/models/account_invoice.py create mode 100644 odex25_accounting/odex25_account_invoice_extract_purchase/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_online_sync/__init__.py create mode 100644 odex25_accounting/odex25_account_online_sync/__manifest__.py create mode 100644 odex25_accounting/odex25_account_online_sync/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_online_sync/models/__init__.py create mode 100644 odex25_accounting/odex25_account_online_sync/models/company.py create mode 100644 odex25_accounting/odex25_account_online_sync/models/online_sync.py create mode 100644 odex25_accounting/odex25_account_online_sync/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_online_sync/security/odex25_account_online_sync_security.xml create mode 100644 odex25_accounting/odex25_account_online_sync/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_online_sync/static/src/img/beta_icon.png create mode 100644 odex25_accounting/odex25_account_online_sync/static/src/js/online_sync.js create mode 100644 odex25_accounting/odex25_account_online_sync/static/src/scss/online_sync.scss create mode 100644 odex25_accounting/odex25_account_online_sync/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_online_sync/tests/test_online_sync_creation_statement.py create mode 100644 odex25_accounting/odex25_account_online_sync/views/online_sync_templates.xml create mode 100644 odex25_accounting/odex25_account_online_sync/views/online_sync_views.xml create mode 100644 odex25_accounting/odex25_account_online_synchronization/__init__.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/__manifest__.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/data/config_parameter.xml create mode 100644 odex25_accounting/odex25_account_online_synchronization/models/__init__.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/models/account_bank_statement.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/models/account_journal.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/models/account_online.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/models/company.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/models/odoofin_auth.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_online_synchronization/security/odex25_account_online_sync_security.xml create mode 100644 odex25_accounting/odex25_account_online_synchronization/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_online_synchronization/static/src/js/odoo_fin_connector.js create mode 100644 odex25_accounting/odex25_account_online_synchronization/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/tests/test_online_sync_creation_statement.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/views/account_asset.xml create mode 100644 odex25_accounting/odex25_account_online_synchronization/views/migrate_views.xml create mode 100644 odex25_accounting/odex25_account_online_synchronization/views/odex25_account_online_sync.xml create mode 100644 odex25_accounting/odex25_account_online_synchronization/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/wizard/account_link_journal_wizard.py create mode 100644 odex25_accounting/odex25_account_online_synchronization/wizard/account_link_journal_wizard.xml create mode 100644 odex25_accounting/odex25_account_reports/__init__.py create mode 100644 odex25_accounting/odex25_account_reports/__manifest__.py create mode 100644 odex25_accounting/odex25_account_reports/controllers/__init__.py create mode 100644 odex25_accounting/odex25_account_reports/controllers/main.py create mode 100644 odex25_accounting/odex25_account_reports/data/account_financial_report_data.xml create mode 100644 odex25_accounting/odex25_account_reports/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_reports/models/__init__.py create mode 100644 odex25_accounting/odex25_account_reports/models/account.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_accounting_report.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_activity.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_aged_partner_balance.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_analytic_report.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_bank_reconciliation_report.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_cash_flow_report.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_consolidated_journals.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_financial_report.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_general_ledger.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_generic_tax_report.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_journal_dashboard.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_move_line.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_multicurrency_revaluation_report.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_partner_ledger.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_report.py create mode 100644 odex25_accounting/odex25_account_reports/models/account_report_coa.py create mode 100644 odex25_accounting/odex25_account_reports/models/chart_template.py create mode 100644 odex25_accounting/odex25_account_reports/models/formula.py create mode 100644 odex25_accounting/odex25_account_reports/models/ir_actions.py create mode 100644 odex25_accounting/odex25_account_reports/models/ir_module_module.py create mode 100644 odex25_accounting/odex25_account_reports/models/res_company.py create mode 100644 odex25_accounting/odex25_account_reports/models/res_config_settings.py create mode 100644 odex25_accounting/odex25_account_reports/models/res_partner.py create mode 100644 odex25_accounting/odex25_account_reports/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_reports/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_reports/static/src/js/account_reports.js create mode 100644 odex25_accounting/odex25_account_reports/static/src/js/action_manager_account_report_dl.js create mode 100644 odex25_accounting/odex25_account_reports/static/src/js/mail_activity.js create mode 100644 odex25_accounting/odex25_account_reports/static/src/scss/account_financial_report.scss create mode 100644 odex25_accounting/odex25_account_reports/static/src/scss/account_report_print.scss create mode 100644 odex25_accounting/odex25_account_reports/static/src/xml/account_report_template.xml create mode 100644 odex25_accounting/odex25_account_reports/static/tests/action_manager_account_report_dl_tests.js create mode 100644 odex25_accounting/odex25_account_reports/static/tests/tours/account_reports_widgets.js create mode 100644 odex25_accounting/odex25_account_reports/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_reports/tests/common.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_account_reports_filters.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_aged_report.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_cash_flow_report.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_consolidated_journals_report.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_financial_report.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_general_ledger_report.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_multicurrencies_revaluation_report.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_partner_ledger_report.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_reconciliation_report.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_tax_report.py create mode 100644 odex25_accounting/odex25_account_reports/tests/test_tour_account_reports.py create mode 100644 odex25_accounting/odex25_account_reports/views/account_activity.xml create mode 100644 odex25_accounting/odex25_account_reports/views/account_journal_dashboard_view.xml create mode 100644 odex25_accounting/odex25_account_reports/views/account_report_view.xml create mode 100644 odex25_accounting/odex25_account_reports/views/assets.xml create mode 100644 odex25_accounting/odex25_account_reports/views/partner_view.xml create mode 100644 odex25_accounting/odex25_account_reports/views/report_financial.xml create mode 100644 odex25_accounting/odex25_account_reports/views/res_config_settings_views.xml create mode 100644 odex25_accounting/odex25_account_reports/views/search_template_view.xml create mode 100644 odex25_accounting/odex25_account_reports/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_reports/wizard/fiscal_year.py create mode 100644 odex25_accounting/odex25_account_reports/wizard/fiscal_year.xml create mode 100644 odex25_accounting/odex25_account_reports/wizard/multicurrency_revaluation.py create mode 100644 odex25_accounting/odex25_account_reports/wizard/multicurrency_revaluation.xml create mode 100644 odex25_accounting/odex25_account_reports/wizard/report_export_wizard.py create mode 100644 odex25_accounting/odex25_account_reports/wizard/report_export_wizard.xml create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/__init__.py create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/__manifest__.py create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/data/account_financial_report_data.xml create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/models/__init__.py create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/models/account_report.py create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/tests/test_account_reports_cash_basis.py create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/views/account_report_view.xml create mode 100644 odex25_accounting/odex25_account_reports_cash_basis/views/report_financial.xml create mode 100644 odex25_accounting/odex25_account_reports_tax/__init__.py create mode 100644 odex25_accounting/odex25_account_reports_tax/__manifest__.py create mode 100644 odex25_accounting/odex25_account_reports_tax/models/__init__.py create mode 100644 odex25_accounting/odex25_account_reports_tax/models/account_generic_tax_report.py create mode 100644 odex25_accounting/odex25_account_reports_tax/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_reports_tax/views/search_template_view.xml create mode 100644 odex25_accounting/odex25_account_saft/__init__.py create mode 100644 odex25_accounting/odex25_account_saft/__manifest__.py create mode 100644 odex25_accounting/odex25_account_saft/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_saft/models/__init__.py create mode 100644 odex25_accounting/odex25_account_saft/models/attachment.py create mode 100644 odex25_accounting/odex25_account_saft/models/odex25_account_saft_report.py create mode 100644 odex25_accounting/odex25_account_saft/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_saft/views/saft_templates.xml create mode 100644 odex25_accounting/odex25_account_winbooks_import/__init__.py create mode 100644 odex25_accounting/odex25_account_winbooks_import/__manifest__.py create mode 100644 odex25_accounting/odex25_account_winbooks_import/i18n/ar.po create mode 100644 odex25_accounting/odex25_account_winbooks_import/models/__init__.py create mode 100644 odex25_accounting/odex25_account_winbooks_import/models/account_move.py create mode 100644 odex25_accounting/odex25_account_winbooks_import/models/res_company.py create mode 100644 odex25_accounting/odex25_account_winbooks_import/security/ir.model.access.csv create mode 100644 odex25_accounting/odex25_account_winbooks_import/static/description/icon.png create mode 100644 odex25_accounting/odex25_account_winbooks_import/tests/__init__.py create mode 100644 odex25_accounting/odex25_account_winbooks_import/tests/test_winbooks_import.py create mode 100644 odex25_accounting/odex25_account_winbooks_import/views/account_onboarding_templates.xml create mode 100644 odex25_accounting/odex25_account_winbooks_import/wizard/__init__.py create mode 100644 odex25_accounting/odex25_account_winbooks_import/wizard/import_wizard.py create mode 100644 odex25_accounting/odex25_account_winbooks_import/wizard/import_wizard_views.xml create mode 100644 odex25_accounting/odex25_accounting_base/__init__.py create mode 100644 odex25_accounting/odex25_accounting_base/__manifest__.py create mode 100644 odex25_accounting/odex25_analytic/__init__.py create mode 100644 odex25_accounting/odex25_analytic/__manifest__.py create mode 100644 odex25_accounting/odex25_analytic/i18n/ar.po create mode 100644 odex25_accounting/odex25_analytic/models/__init__.py create mode 100644 odex25_accounting/odex25_analytic/models/models.py create mode 100644 odex25_accounting/odex25_analytic/static/description/icon.png create mode 100644 odex25_accounting/odex25_analytic/views/account_analytic_view.xml create mode 100644 odex25_accounting/payment_bank_charge/__init__.py create mode 100644 odex25_accounting/payment_bank_charge/__manifest__.py create mode 100644 odex25_accounting/payment_bank_charge/models/__init__.py create mode 100644 odex25_accounting/payment_bank_charge/models/account_payment.py create mode 100644 odex25_accounting/payment_bank_charge/views/account_payment.xml create mode 100644 odex25_accounting/post_dated_cheque/__init__.py create mode 100644 odex25_accounting/post_dated_cheque/__manifest__.py create mode 100644 odex25_accounting/post_dated_cheque/data/account_payment_method_data.xml create mode 100644 odex25_accounting/post_dated_cheque/i18n/ar_001.po create mode 100644 odex25_accounting/post_dated_cheque/models/__init__.py create mode 100644 odex25_accounting/post_dated_cheque/models/account_payment.py create mode 100644 odex25_accounting/post_dated_cheque/static/description/icon.png create mode 100644 odex25_accounting/post_dated_cheque/static/description/main_screenshot.png create mode 100644 odex25_accounting/post_dated_cheque/views/account_payment_view.xml create mode 100644 odex25_accounting/post_dated_cheque/wizard/__init__.py create mode 100644 odex25_accounting/post_dated_cheque/wizard/account_payment_register.py create mode 100644 odex25_accounting/post_dated_cheque/wizard/account_payment_register_views.xml create mode 100644 odex25_accounting/report_e_invoice/__init__.py create mode 100644 odex25_accounting/report_e_invoice/__manifest__.py create mode 100644 odex25_accounting/report_e_invoice/i18n/ar_001.po create mode 100644 odex25_accounting/report_e_invoice/i18n/ar_SY.po create mode 100644 odex25_accounting/report_e_invoice/models/__init__.py create mode 100644 odex25_accounting/report_e_invoice/models/account_move.py create mode 100644 odex25_accounting/report_e_invoice/models/res_partner.py create mode 100644 odex25_accounting/report_e_invoice/report/assets.xml create mode 100644 odex25_accounting/report_e_invoice/report/e_invoice.xml create mode 100644 odex25_accounting/report_e_invoice/report/e_invoice_without_header.xml create mode 100644 odex25_accounting/report_e_invoice/static/description/icon.png create mode 100644 odex25_accounting/report_e_invoice/static/src/fonts/DINNextLTArabic-Regular_0.ttf create mode 100644 odex25_accounting/report_e_invoice/static/src/fonts/ae_AlMohanad.ttf create mode 100644 odex25_accounting/report_e_invoice/static/src/img/logo.png create mode 100644 odex25_accounting/report_e_invoice/static/src/img/trans_logo.png create mode 100644 odex25_accounting/report_e_invoice/static/src/less/style.less create mode 100644 odex25_accounting/report_e_invoice/views/account.move.xml create mode 100644 odex25_accounting/report_e_invoice/views/res_partner.xml create mode 100644 odex25_accounting/report_e_invoice/wizard/__init__.py create mode 100644 odex25_accounting/report_e_invoice/wizard/account_move_reversal.py create mode 100644 odex25_accounting/report_e_invoice/wizard/account_move_reversal.xml create mode 100644 odex25_accounting/stock_analytic/README.rst create mode 100644 odex25_accounting/stock_analytic/__init__.py create mode 100644 odex25_accounting/stock_analytic/__manifest__.py create mode 100644 odex25_accounting/stock_analytic/i18n/ca.po create mode 100644 odex25_accounting/stock_analytic/i18n/cs_CZ.po create mode 100644 odex25_accounting/stock_analytic/i18n/de.po create mode 100644 odex25_accounting/stock_analytic/i18n/el_GR.po create mode 100644 odex25_accounting/stock_analytic/i18n/es.po create mode 100644 odex25_accounting/stock_analytic/i18n/es_EC.po create mode 100644 odex25_accounting/stock_analytic/i18n/es_MX.po create mode 100644 odex25_accounting/stock_analytic/i18n/fi.po create mode 100644 odex25_accounting/stock_analytic/i18n/fr.po create mode 100644 odex25_accounting/stock_analytic/i18n/gl.po create mode 100644 odex25_accounting/stock_analytic/i18n/gu_IN.po create mode 100644 odex25_accounting/stock_analytic/i18n/hi_IN.po create mode 100644 odex25_accounting/stock_analytic/i18n/hr.po create mode 100644 odex25_accounting/stock_analytic/i18n/hr_HR.po create mode 100644 odex25_accounting/stock_analytic/i18n/hu.po create mode 100644 odex25_accounting/stock_analytic/i18n/it.po create mode 100644 odex25_accounting/stock_analytic/i18n/nl.po create mode 100644 odex25_accounting/stock_analytic/i18n/pl.po create mode 100644 odex25_accounting/stock_analytic/i18n/pt.po create mode 100644 odex25_accounting/stock_analytic/i18n/pt_BR.po create mode 100644 odex25_accounting/stock_analytic/i18n/pt_PT.po create mode 100644 odex25_accounting/stock_analytic/i18n/ro.po create mode 100644 odex25_accounting/stock_analytic/i18n/sk_SK.po create mode 100644 odex25_accounting/stock_analytic/i18n/sl.po create mode 100644 odex25_accounting/stock_analytic/i18n/tr.po create mode 100644 odex25_accounting/stock_analytic/i18n/tr_TR.po create mode 100644 odex25_accounting/stock_analytic/i18n/vi_VN.po create mode 100644 odex25_accounting/stock_analytic/i18n/zh_CN.po create mode 100644 odex25_accounting/stock_analytic/migrations/14.0.2.0.0/pre-migrate.py create mode 100644 odex25_accounting/stock_analytic/models/__init__.py create mode 100644 odex25_accounting/stock_analytic/models/product_product.py create mode 100644 odex25_accounting/stock_analytic/models/stock.py create mode 100644 odex25_accounting/stock_analytic/models/stock_scrap.py create mode 100644 odex25_accounting/stock_analytic/readme/CONTRIBUTORS.rst create mode 100644 odex25_accounting/stock_analytic/readme/DESCRIPTION.rst create mode 100644 odex25_accounting/stock_analytic/readme/USAGE.rst create mode 100644 odex25_accounting/stock_analytic/static/description/icon.png create mode 100644 odex25_accounting/stock_analytic/static/description/index.html create mode 100644 odex25_accounting/stock_analytic/tests/__init__.py create mode 100644 odex25_accounting/stock_analytic/tests/test_stock_picking.py create mode 100644 odex25_accounting/stock_analytic/tests/test_stock_scrap.py create mode 100644 odex25_accounting/stock_analytic/views/stock_move_line.xml create mode 100644 odex25_accounting/stock_analytic/views/stock_move_views.xml create mode 100644 odex25_accounting/stock_analytic/views/stock_scrap.xml create mode 100644 odex25_accounting/tax_report_detailed/__init__.py create mode 100644 odex25_accounting/tax_report_detailed/__manifest__.py create mode 100644 odex25_accounting/tax_report_detailed/i18n/ar_SY.po create mode 100644 odex25_accounting/tax_report_detailed/models/__init__.py create mode 100644 odex25_accounting/tax_report_detailed/models/account_tax.py create mode 100644 odex25_accounting/tax_report_detailed/models/tax_report_details.py create mode 100644 odex25_accounting/tax_report_detailed/report/__init__.py create mode 100644 odex25_accounting/tax_report_detailed/report/tax_parser_xlsx.py create mode 100644 odex25_accounting/tax_report_detailed/security/ir.model.access.csv create mode 100644 odex25_accounting/tax_report_detailed/static/description/icon.png create mode 100644 odex25_accounting/tax_report_detailed/static/fonts/ae_AlMohanad.ttf create mode 100644 odex25_accounting/tax_report_detailed/static/src/css/website_rtl.css create mode 100644 odex25_accounting/tax_report_detailed/views/account_tax_views.xml create mode 100644 odex25_accounting/tax_report_detailed/views/report.xml create mode 100644 odex25_accounting/tax_report_detailed/views/tax_report_details_view.xml create mode 100644 odex25_accounting/tax_report_detailed/wizard/__init__.py create mode 100644 odex25_accounting/tax_report_detailed/wizard/tax_report_wiz.py create mode 100644 odex25_accounting/tax_report_detailed/wizard/tax_report_wiz_view.xml diff --git a/README.md b/README.md index 8b10e6960..6864725ce 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# odex25-standard-moduless +# odex25-standard-modules This Repo contains general standard modules for all projects. diff --git a/odex25_accounting/abs_customer_validation/__init__.py b/odex25_accounting/abs_customer_validation/__init__.py new file mode 100644 index 000000000..c48f15af7 --- /dev/null +++ b/odex25_accounting/abs_customer_validation/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################# +# +# Odoo, Open Source Management Solution +# Copyright (C) 2022-today Ascetic Business Solution +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################# +from . import models + diff --git a/odex25_accounting/abs_customer_validation/__manifest__.py b/odex25_accounting/abs_customer_validation/__manifest__.py new file mode 100644 index 000000000..fc1146f4c --- /dev/null +++ b/odex25_accounting/abs_customer_validation/__manifest__.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +################################################################################# +# +# Odoo, Open Source Management Solution +# Copyright (C) 2022-today Ascetic Business Solution +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################# +{ + 'name': "Customer duplicate validation", + 'author': 'Ascetic Business Solution', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'summary': """Notify about duplicate while creating partner""", + 'website': 'http://www.asceticbs.com', + 'license': 'AGPL-3', + 'description': """ +""", + 'version': '14.0', + 'depends': ['base', 'sale'], + 'data': ['security/security.xml'], + 'images': ['static/description/banner.png'], + 'installable': True, + 'application': True, + 'auto_install': False, +} diff --git a/odex25_accounting/abs_customer_validation/models/__init__.py b/odex25_accounting/abs_customer_validation/models/__init__.py new file mode 100644 index 000000000..baed70174 --- /dev/null +++ b/odex25_accounting/abs_customer_validation/models/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +################################################################################# +# +# Odoo, Open Source Management Solution +# Copyright (C) 2022-today Ascetic Business Solution +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################# +from . import res_partner diff --git a/odex25_accounting/abs_customer_validation/models/res_partner.py b/odex25_accounting/abs_customer_validation/models/res_partner.py new file mode 100644 index 000000000..e3e0ce332 --- /dev/null +++ b/odex25_accounting/abs_customer_validation/models/res_partner.py @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- +################################################################################# +# +# Odoo, Open Source Management Solution +# Copyright (C) 2022-today Ascetic Business Solution +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################# +from odoo import api,fields,models,_ +from odoo.exceptions import ValidationError + +class ResPartner(models.Model): + _inherit="res.partner" + + def get_partner_list(self,partner_objs): + partner_list = '' + for partner in partner_objs: + partner_list = partner_list + ' || ' + partner.name + return partner_list + + @api.onchange('name') + def onchange_name(self): + if self.name and self.user_has_groups("abs_customer_validation.group_activate_customer_validation"): + if self.env['res.partner'].search([('name','=',self.name)]): + raise ValidationError(_('The record ' +self.name+' is already exist ')) + + @api.onchange('phone') + def onchange_phonenumber(self): + if self.phone and self.user_has_groups("abs_customer_validation.group_activate_customer_validation"): + partner_objs = self.env['res.partner'].search([('phone','=',self.phone)]) + if self.get_partner_list(partner_objs): + raise ValidationError(_('Phone number '+str(self.phone)+' is already exist in the following records:' + '\n' + self.get_partner_list(partner_objs))) + + @api.onchange('mobile') + def onchange_mobilenumber(self): + if self.mobile and self.user_has_groups("abs_customer_validation.group_activate_customer_validation"): + partner_objs = self.env['res.partner'].search([('mobile','=',self.mobile)]) + if self.get_partner_list(partner_objs): + raise ValidationError(_('Mobile number '+str(self.mobile)+' is already exist in the following records:' + '\n' + self.get_partner_list(partner_objs))) + + @api.onchange('fax') + def onchange_fax(self): + if self.fax and self.user_has_groups("abs_customer_validation.group_activate_customer_validation"): + partner_objs = self.env['res.partner'].search([('fax','=',self.fax)]) + if self.get_partner_list(partner_objs): + raise ValidationError(_('Fax number '+str(self.fax)+' is already exist in the following records:' + '\n' + self.get_partner_list(partner_objs))) + + @api.onchange('email') + def onchange_email(self): + if self.email and self.user_has_groups("abs_customer_validation.group_activate_customer_validation"): + partner_objs = self.env['res.partner'].search([('email','=',self.email)]) + if self.get_partner_list(partner_objs): + raise ValidationError(_('Email number '+str(self.email)+' is already exist in the following records:' + '\n' + self.get_partner_list(partner_objs))) + + @api.onchange('website') + def onchange_website(self): + if self.website and self.user_has_groups("abs_customer_validation.group_activate_customer_validation"): + website_id = "http://"+str(self.website) + partner_objs = self.env['res.partner'].search([('website','=',website_id)]) + if self.get_partner_list(partner_objs): + raise ValidationError(_('Website number '+str(self.website)+' is already exist in the following records:' + '\n' + self.get_partner_list(partner_objs))) + + diff --git a/odex25_accounting/abs_customer_validation/security/security.xml b/odex25_accounting/abs_customer_validation/security/security.xml new file mode 100644 index 000000000..aa7b1fa44 --- /dev/null +++ b/odex25_accounting/abs_customer_validation/security/security.xml @@ -0,0 +1,10 @@ + + + + + Activate customer validation + + + + + diff --git a/odex25_accounting/abs_customer_validation/static/description/banner.png b/odex25_accounting/abs_customer_validation/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..c9360f5bd0316d435e622a928610d90996e0ad52 GIT binary patch literal 52107 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�W0X+?iYMD2j+b+%~##1Rk8%U!ab-y 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 M07*qoM6N<$f&?3)Z2$lO literal 0 HcmV?d00001 diff --git a/odex25_accounting/abs_customer_validation/static/description/company-logo.png b/odex25_accounting/abs_customer_validation/static/description/company-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fee9f34aec2c7a893bf7eac8d8cbe107414350a0 GIT binary patch literal 33323 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%0D6O3W+&zW%~d?V7sirI)`oOatAUW$GuHD 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%0A%F}ey_`a zA38fjbZx>lQLW z8Ow;Rt*uvpxDdBRfAQja$*PuI^mh#g(r3(MaCmq=v~g)^$+~ollzpz@p_E=8Nkl|M z95QXGYiCs~Hc0sC!~aZcO{rCT&?_rLY|*MJDiWSm=T_Sa50#O}LGylu?S6g9xuu=6 zAt~dfV_OjTJ4&*>bo;u~Z5Lg^$i13x-y*e&kfmM6HQpjM zAn0Vzt^=GR0dD{6OwU`_-3USdhci`_heyGgf$TPk{;s;tPDB?qKVNXQ!0)?i`S)?j z@{$qVbmMN#l19INIj}a++JNnGDn~q}|2nrfD7Az^TL)G45k@y~P9WKl~(t zTkmM)X)U`a8a9gTl`;>WEQ+`tIACGQ6|d8M@JC2uYNsAO)?sxyWZf$q8Ln=~5n2?? P9{A}~Rwi#Sj(7eCbn(vw literal 0 HcmV?d00001 diff --git a/odex25_accounting/abs_customer_validation/static/description/index.html b/odex25_accounting/abs_customer_validation/static/description/index.html new file mode 100644 index 000000000..3b5d081c4 --- /dev/null +++ b/odex25_accounting/abs_customer_validation/static/description/index.html @@ -0,0 +1,60 @@ + + + +

+
+
+

Notify about duplicate while creating partner

+
+
+

+ This module will help you to activate the validation on the partner. Check 'Activate customer validation' access group from the user. This validation helps to take preventive steps to stop creating the duplicate partners. Odoo will notify the user instantly with the list of records which are potentially duplicate while they are adding information (like Name, Phone, Mobile, Fax, Email, Website) on the customer. Please note, this moduel is not to stop creating duplicate partner but notify the user so they should be aware about possible duplication while creating the partner. +

+ +
+
+
+ +
+ +

Need help?

+ +
+ + + +
+ +
+ +
+ + + + +
+ + +
+ + + diff --git a/odex25_accounting/account_bank_statement_import_excel/README.rst b/odex25_accounting/account_bank_statement_import_excel/README.rst new file mode 100644 index 000000000..843543097 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/README.rst @@ -0,0 +1,66 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: License: AGPL-3 + +========================= +Import OFX Bank Statement +========================= + +This module adds support for the import of bank statements in `OFX format `_. + +Bank Statements may be generated containing a subset of the OFX information (only those transaction lines that are required for the +creation of the Financial Accounting records). + +Installation +============ + +The module requires one additional python lib: + +* `ofxparse `_ + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/174/11.0 + +Known issues / Roadmap +====================== + +* None + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Contributors +------------ + +* Odoo SA +* Alexis de Lattre +* Laurent Mignon +* Ronald Portier +* Sylvain LE GAL +* Nicolas JEUDY + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/odex25_accounting/account_bank_statement_import_excel/__init__.py b/odex25_accounting/account_bank_statement_import_excel/__init__.py new file mode 100644 index 000000000..a22f9844c --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/__init__.py @@ -0,0 +1,3 @@ +from . import models +from . import wizard + diff --git a/odex25_accounting/account_bank_statement_import_excel/__manifest__.py b/odex25_accounting/account_bank_statement_import_excel/__manifest__.py new file mode 100644 index 000000000..305ef5193 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/__manifest__.py @@ -0,0 +1,21 @@ +{ + 'name': 'Import Excel Bank Statement', + 'license': 'AGPL-3', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'version': '0.1', + 'depends': [ + 'odex25_account_bank_statement_import', + ], + 'data': [ + 'security/ir.model.access.csv', + 'views/view_account_bank_statement_import.xml', + 'views/excel_dimensions_views.xml', + 'data/excel.dimensions.csv' + ], + 'external_dependencies': { + 'python': ['xlrd'], + }, + 'installable': True, +} diff --git a/odex25_accounting/account_bank_statement_import_excel/data/excel.dimensions.csv b/odex25_accounting/account_bank_statement_import_excel/data/excel.dimensions.csv new file mode 100644 index 000000000..84d0e2c7f --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/data/excel.dimensions.csv @@ -0,0 +1,4 @@ +id,name,details_only,account_number_col,account_number_row,balance_col,company_id/id,credit_col,currency_col,currency_row,date_col,date_period_col,date_period_row,debit_col,details_row,balance_end_col,balance_end_row,note_col,balance_start_col,balance_start_row,type_col,date_format,debit_sign +excel_dimensions_rajhi,Al Rajhi Bank,,10,8,6,,8,10,9,11,10,10,7,16,10,13,10,10,12,9,%d/%m/%Y,0 +excel_dimensions_inma,Inma Bank,,4,5,0,,4,0,5,15,0,2,5,17,9,7,6,0,7,0,%m/%d/%Y,1 +excel_dimensions_albilad,Albilad Bank,1,,,4,,3,,,0,,,2,1,,,5,,,,%d/%m/%Y,0 diff --git a/odex25_accounting/account_bank_statement_import_excel/i18n/ar.po b/odex25_accounting/account_bank_statement_import_excel/i18n/ar.po new file mode 100644 index 000000000..88962f664 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/i18n/ar.po @@ -0,0 +1,278 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_bank_statement_import_excel +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0+e-20210105\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-18 03:19+0000\n" +"PO-Revision-Date: 2021-05-18 03:19+0000\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_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "%B - Full month name.\"" +msgstr "%B - اسم الشهر بالكامل.\"" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "%Y - Year with century.\"" +msgstr "%Y - السنة كاملة بالقرن.\"" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "%b - Abbreviated month name." +msgstr "%b - اسم الشهر المختصر" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "%d - Day of the month [01,31].\"" +msgstr "%d - اليوم من الشهر [01,31].\"" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "%m - Month number [01,12].\"" +msgstr "%m - رقم الشهر [01,12].\"" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "%y - Year without century [00,99].\"" +msgstr "%y - السنة مختصرة بدون القرن [00,99].\"" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "1. %b, %B ==> Dec, December" +msgstr "1. %b, %B ==> ديسمبر" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "3. %y, %Y ==> 08, 2008" +msgstr "3. %y, %Y ==> 08, 2008" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "4. %d, %m ==> 05, 12" +msgstr "4. %d, %m ==> 05, 12" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.actions.act_window,name:account_bank_statement_import_excel.excel_dimensions_action +#: model_terms:ir.ui.menu,name:account_bank_statement_import_excel.bank_statement_excel_dimensions_menu_categ +msgid "Bank Statement Excel Dimensions" +msgstr "ابعاد ملف الاكسل" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model,name:account_bank_statement_import_excel.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "بند كشف حساب المصرف" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_date_format +msgid "Date Format" +msgstr "تنسيق التاريخ" + +#. module: account_bank_statement_import_excel +#: code:addons/account_bank_statement_import_excel/wizard/account_bank_statement_import.py:127 +#, python-format +msgid "Determine excel dimension for this journal. " +msgstr "الرجاء تحديد ابعاد ملف الاكسل الخاص بدفتر اليومية. " + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "Examples" +msgstr "أمثلة" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_account_journal_excel_dimension +msgid "Excel Dimension" +msgstr "أبعاد ملف الاكسل" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "Excel Dimensions" +msgstr "أبعاد ملف الاكسل" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.view_account_bank_statement_import_form +msgid "Excel files (xLS, XLSX)" +msgstr "ملف اكسل" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_id +msgid "ID" +msgstr "المعرف" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model,name:account_bank_statement_import_excel.model_account_bank_statement_import +msgid "Import Bank Statement" +msgstr "استيراد كشف الحساب" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model,name:account_bank_statement_import_excel.model_account_journal +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions___last_update +msgid "Last Modified on" +msgstr "آخر تعديل على" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_write_uid +msgid "Last Updated by" +msgstr "آخر تعديل بواسطة" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_write_date +msgid "Last Updated on" +msgstr "آخر تعديل على" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "Legends for supported Date Formats" +msgstr "تنسيقات التاريخ المدعومة" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.ui.view,arch_db:account_bank_statement_import_excel.excel_dimensions_view_form +msgid "Details" +msgstr "تفاصيل المطابقة" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_details_only +msgid "Details Only" +msgstr "التفاصيل فقط" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_name +msgid "Name" +msgstr "الاسم" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model,name:account_bank_statement_import_excel.model_excel_dimensions +msgid "The Dimensions of the excel file used in bank statement import" +msgstr "تستخدم أبعاد ملف الاكسل عند استيراد المطابقة البنكية" + +#. module: account_bank_statement_import_excel +#: code:addons/account_bank_statement_import_excel/wizard/account_bank_statement_import.py:136 +#, python-format +msgid "The following problem occurred during import. The file might not be valid.\n" +"\n" +" %s" +msgstr "لا يمكن استيراد الملف نسبا لظهور المشكلة ادناه.\n" +"\n" +" %s" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_account_number_col +msgid "account number column" +msgstr "عمود رقم الحساب" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_account_number_row +msgid "account number row" +msgstr "صف رقم الحساب" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_balance_col +msgid "balance column" +msgstr "عمود الرصيد" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_company_id +msgid "company" +msgstr "الشركة" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_credit_col +msgid "credit column" +msgstr "عمود الدائن" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_currency_col +msgid "currency column" +msgstr "عمود العملة" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_currency_row +msgid "currency row" +msgstr "صف العملة" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_date_col +msgid "date column" +msgstr "عمود التاريخ" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_date_period_col +msgid "date period column" +msgstr "عمود تاريخ الفترة" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_date_period_row +msgid "date period row" +msgstr "صف تاريخ الفترة" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_debit_col +msgid "debit column" +msgstr "عمود المدين" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_details_row +msgid "details row" +msgstr "صف التفاصيل" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_balance_end_col +msgid "ending balance column" +msgstr "عمود الرصيد الختامي" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_balance_end_row +msgid "ending balance row" +msgstr "صف الرصيد الختامي" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_note_col +msgid "note column" +msgstr "عمود الملاحظات" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_balance_start_col +msgid "starting balance column" +msgstr "عمود الرصيد الإفتتاحي" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_balance_start_row +msgid "starting balance row" +msgstr "صف الرصيد الإفتتاحي" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_type_col +msgid "type column" +msgstr "عمود النوع" + +#. module: account_bank_statement_import_excel +#: model_terms:ir.model.fields,field_description:account_bank_statement_import_excel.field_excel_dimensions_debit_sign +msgid "Revert Debit Sign" +msgstr "عكس اشارة المدين" diff --git a/odex25_accounting/account_bank_statement_import_excel/models/__init__.py b/odex25_accounting/account_bank_statement_import_excel/models/__init__.py new file mode 100644 index 000000000..eceffdcd1 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/models/__init__.py @@ -0,0 +1 @@ +from . import excel_dimensions \ No newline at end of file diff --git a/odex25_accounting/account_bank_statement_import_excel/models/excel_dimensions.py b/odex25_accounting/account_bank_statement_import_excel/models/excel_dimensions.py new file mode 100644 index 000000000..9df72b67f --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/models/excel_dimensions.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models + + +class ExcelDimensions(models.Model): + _name = 'excel.dimensions' + _description = 'The Dimensions of the excel file used in bank statement import' + + name = fields.Char(string='Name') + + company_id = fields.Many2one(comodel_name='res.company', string='Company') + + details_only = fields.Boolean() + + account_number_row = fields.Integer(string='Account Number Row') + account_number_col = fields.Integer(string='Account Number Column') + + currency_row = fields.Integer(string='Currency Row') + currency_col = fields.Integer(string='Currency Column') + + balance_start_row = fields.Integer(string='Starting Balance Row') + balance_start_col = fields.Integer(string='Starting BalanceColumn') + + balance_end_row = fields.Integer(string='Ending Balance Row') + balance_end_col = fields.Integer(string='Ending Balance Column') + + date_period_row = fields.Integer(string='Date Period Row') + date_period_col = fields.Integer(string='Date Period Column') + + details_row = fields.Integer(string='Details Row') + + debit_col = fields.Integer(string='Debit Column') + + credit_col = fields.Integer(string='Credit Column') + + balance_col = fields.Integer(string='Balance Column') + + type_col = fields.Integer(string='Type Column') + + note_col = fields.Integer(string='Note Column') + + date_col = fields.Integer(string='Date Column') + date_format = fields.Char() + + debit_sign = fields.Boolean('Revert Debit Sign') + + +class AccountJournal(models.Model): + _inherit = 'account.journal' + + excel_dimension = fields.Many2one('excel.dimensions') + + def _get_bank_statements_available_import_formats(self): + rslt = super(AccountJournal, self)._get_bank_statements_available_import_formats() + rslt.append('XLS') + return rslt \ No newline at end of file diff --git a/odex25_accounting/account_bank_statement_import_excel/security/ir.model.access.csv b/odex25_accounting/account_bank_statement_import_excel/security/ir.model.access.csv new file mode 100644 index 000000000..7dfcad28d --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/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_excel_dimension,excel.dimensions,model_excel_dimensions,account.group_account_readonly,1,0,0,0 +access_excel_dimension_manager,excel.dimensions,model_excel_dimensions,account.group_account_manager,1,1,1,1 \ No newline at end of file diff --git a/odex25_accounting/account_bank_statement_import_excel/static/description/icon.png b/odex25_accounting/account_bank_statement_import_excel/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWKOZ3Gor^zWx37scOI^@2$7K^{xMU-&+4$ zoUXdlIs5G2p3Xk!UKnSLCGbaOjpq#+I*idie=$Z!&l_{$*qy^d$FSd%G4JqsV=o?j zZ_%}do?$r5{4ovONSS{)gM6S5zs`Q%4j~6p`_A%74Vfy?T zb3ecG&yV3&+%GPiF?Hd57QlzU7({*Mj5&*^e{<{)?=qITgYmJ!nN4#S1zyl_E_^y; z<;P|=Pi^{C)Bb?E=1}`HaljoKsKWkM>{ra3d)1;L?>@erF=aT~PtR_?a^C)nf01VV z9?%oLY)zP{popA=Qbby%R^@}zU?OTr)+-f z!mIu;=;^JDKlwOg)};AYHqZZjamh%=2Hb)3)3dx~uRSsUtqoJ0fq!EqAQjv5e|dZy zeZLrXNBK9m=Z8iH=3+M}ucs5hBrvxfJP*C#-|XKU8hPRjoy7)va1H)`4(<#EmI`xO zh7|zTFxnM3tEl<>4yG|xJ5PO!F@JFOTN%q%D$|*w=(^B!O;OYpEdAsjmOdZVO7g}` zyl5=yO8f14%#ZQ=0&~TeICoA4f7EL2J$$8^P~T?L@rx<9WQ*v>li~@sPk)AO(vs|n zz>p`Zm3{GP79z@{tTu=8k+;u0dJad8T@hor&LP2G-*o zj;rrv@1yI)udrXh7K(oCOq}bduIxOnA7rKKjVzCTtNqwTS`yH1=Rx|W_GQ1(cj`Cw zxvNh^Khg9r3uq+zPA!tYHJwNC9Y%?E(MI&0T8OSw3;I3)AN<~= zO<-q2s0*@%{Y7P*&XbHB3@V+!0neNCZR|H)Sjzq+JHOWYfRE*DrnZB*`sJ)a8w|em zV720HwoJUrF4rGq%K|GUT_Xv9l0A8E9y<%|mdoGkSs(Rtwh85B$j3W4&Q9-6Uxhwk@KnG{sFjtH_9Zn zl1&P|02v}#B>C(5#&0QqHEbfjr_ygJZzOY6fK^u^98l-WC_7NzLwN&yy9M7z@Li7Y zqxc?)@0YbnY`n68^&*)ixgq&fAtNLo`qgZKlr7LM`!EyqKt8Eo`ZK&hG_Z9jlTexh zFSB*I(nR_qWf3%X)l0HPa^3Y!=X3hITT6Bx11d(5N%XYcSG*nEwDvt{&$vA zo?}g-oHZ#|u_pd4e*ZoDt-g!zn^}_<$GN{{zv;I+?PO8D!Z{T2LAC@qXh#WNpDjAR zsi@5;jkpG$MGxcmy{K=y)d{>|p@l7lyk3Ghc zd^jr>F8d40A(X`^7RpahZbTW0l7~`>(uy)v)Us;v0@`{J^xTN=Tz{2Jwyz3krhbd3 zvitmX(1QM}!$H^YU{4=}Z3i#-t2sV&!|`Wu{7w|`MqGNz@mF!I4YCbhX}C^QVjssO z-{#>MyolB>w?8GfKPb0P_0W0jOTMnm@fY93W3}w$H}P2~o_&IQpM`(w+W!>$PeX?Y zgCV%)GVt8{hy4VO5jGRh-Y~S+`ycizPzNxRZRW$ao`-$H@0VyVw@)}~?KlR{DOTe= zFjZ$@|KjXE;TxO}d5B;iZ4lPb=O$$b`Zg8EfIIAKllUWk@5gz_0P#q93g_=fAw1GJ zb{fvZgOh9!J|rLNDttpmpaV_HN4WOKINyQ&|3E>V>M@l2QNGT8Ym7CKcP`|d7ykcb z``<$-DEUWXiX;=WfB#SNv#3yh;2vVY^DV>Fm=LNO)QzB`s#;KB(@$(d1cO1%2+*bn zf~p$OLqYrs=z1_<;IAswpr#?}(lo?gxK$XshQpewYx0D^h1h}t+Uwe6BXWmY!tJsc zhM{ReBY-A@IHCu14GrQLsMGOJH_&h(WN0`9!cT<>3-^nzrck*+ zU785s52`^QR5TPI0t5KqW+EP&sv&d~s!&u#Q*e{)6R{>33I%YXN;Rm|O&V!AbW*Ffx2qG#1B%~*? zgz%r-K&r%&Bmx)buq0W_VTm51r?Svp#0�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 literal 0 HcmV?d00001 diff --git a/odex25_accounting/account_bank_statement_import_excel/static/src/css/website_rtl.css b/odex25_accounting/account_bank_statement_import_excel/static/src/css/website_rtl.css new file mode 100644 index 000000000..85347c670 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/static/src/css/website_rtl.css @@ -0,0 +1,22 @@ +@media (min-width: 768px){ + .rtl .navbar-right{ + float: left !important; + } + .rtl .navbar-right .dropdown .dropdown-menu{ + right: auto !important; + left: 0 !important; + } + .rtl .navbar-left{ + float: right !important; + } + .rtl .navbar-left .dropdown .dropdown-menu{ + left: auto !important; + right: 0 !important; + } + .navbar-nav.navbar-right:last-child{ + margin-left: auto; + } + .rtl .pull-left{ + float: right !important; + } +} diff --git a/odex25_accounting/account_bank_statement_import_excel/tests/__init__.py b/odex25_accounting/account_bank_statement_import_excel/tests/__init__.py new file mode 100644 index 000000000..bb3456ae9 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/tests/__init__.py @@ -0,0 +1 @@ +from . import test_import_bank_statement diff --git a/odex25_accounting/account_bank_statement_import_excel/tests/test_import_bank_statement.py b/odex25_accounting/account_bank_statement_import_excel/tests/test_import_bank_statement.py new file mode 100644 index 000000000..895ef09d2 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/tests/test_import_bank_statement.py @@ -0,0 +1,86 @@ +from odoo.tests.common import TransactionCase +from odoo.modules.module import get_module_resource +import base64 + + +class TestOfxFile(TransactionCase): + """Tests for import bank statement ofx file format + (account.bank.statement.import) + """ + + def setUp(self): + super(TestOfxFile, self).setUp() + self.absi_model = self.env['account.bank.statement.import'] + self.abs_model = self.env['account.bank.statement'] + self.j_model = self.env['account.journal'] + self.absl_model = self.env['account.bank.statement.line'] + cur = self.env.ref('base.USD') + self.env.ref('base.main_company').currency_id = cur.id + bank = self.env['res.partner.bank'].create({ + 'acc_number': '123456', + 'partner_id': self.env.ref('base.main_partner').id, + 'company_id': self.env.ref('base.main_company').id, + 'bank_id': self.env.ref('base.res_bank_1').id, + }) + self.env['account.journal'].create({ + 'name': 'Bank Journal TEST OFX', + 'code': 'BNK12', + 'type': 'bank', + 'bank_account_id': bank.id, + }) + + bank_iban_ofx = self.env['res.partner.bank'].create({ + 'acc_number': 'FR7630001007941234567890185', + 'partner_id': self.env.ref('base.main_partner').id, + 'company_id': self.env.ref('base.main_company').id, + 'bank_id': self.env.ref('base.res_bank_1').id, + }) + + self.env['account.journal'].create({ + 'name': 'FR7630001007941234567890185', + 'code': 'BNK13', + 'type': 'bank', + 'bank_account_id': bank_iban_ofx.id, + }) + + def test_wrong_ofx_file_import(self): + ofx_file_path = get_module_resource( + 'account_bank_statement_import_excel', + 'tests/test_ofx_file/', 'test_ofx_wrong.ofx') + ofx_file_wrong = base64.b64encode(open(ofx_file_path, 'rb').read()) + bank_statement = self.absi_model.create( + dict(data_file=ofx_file_wrong)) + self.assertFalse(bank_statement._check_ofx(data_file=ofx_file_wrong)) + + def test_ofx_file_import(self): + ofx_file_path = get_module_resource( + 'account_bank_statement_import_excel', + 'tests/test_ofx_file/', 'test_ofx.ofx') + ofx_file = base64.b64encode(open(ofx_file_path, 'rb').read()) + bank_statement = self.absi_model.create( + dict(data_file=ofx_file)) + bank_statement.import_file() + bank_st_record = self.abs_model.search( + [('name', 'like', '123456')])[0] + self.assertEqual(bank_st_record.balance_start, 2516.56) + self.assertEqual(bank_st_record.balance_end_real, 2156.56) + + line = self.absl_model.search([ + ('name', '=', 'Agrolait'), + ('statement_id', '=', bank_st_record.id)])[0] + self.assertEquals(line.ref, '219378') + self.assertEquals(line.date, '2013-08-24') + + def test_check_journal_bank_account(self): + ofx_file_path = get_module_resource( + 'account_bank_statement_import_excel', + 'tests/test_ofx_file/', 'test_ofx_iban.ofx') + ofx_file = base64.b64encode(open(ofx_file_path, 'rb').read()) + bank_st = self.absi_model.create( + dict(data_file=ofx_file)) + journal_iban_ofx = self.j_model.search([ + ('name', '=', 'FR7630001007941234567890185')]) + res = bank_st._check_journal_bank_account(journal_iban_ofx, + '12345678901') + self.assertTrue(res) + bank_st.with_context(journal_id=journal_iban_ofx.id).import_file() diff --git a/odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx.ofx b/odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx.ofx new file mode 100644 index 000000000..37df4d0c9 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx.ofx @@ -0,0 +1,100 @@ + + + + + + + 0 + INFO + + 20130831165153.000[-8:PST] + ENG + + + + + 0 + + 0 + INFO + + + USD + + 000000123 + 123456 + CHECKING + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -80 + 219378 + Agrolait + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -90 + 219379 + China Export + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -100 + 219380 + Axelor Scuba + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -90 + 219381 + China Scuba + + + + 2156.56 + 20130831165153 + + + + + + + 0 + + 0 + INFO + + + USD + + 123412341234 + + + + + -562.00 + 20130831165153 + + + + + diff --git a/odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx_iban.ofx b/odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx_iban.ofx new file mode 100644 index 000000000..99c01618f --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx_iban.ofx @@ -0,0 +1,101 @@ + + + + + + + 0 + INFO + + 20130831165153.000[-8:PST] + ENG + + + + + 0 + + 0 + INFO + + + USD + + 30001 + 00794 + 12345678901 + CHECKING + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -80 + 219378 + Agrolait + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -90 + 219379 + China Export + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -100 + 219380 + Axelor Scuba + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -90 + 219381 + China Scuba + + + + 2156.56 + 20130831165153 + + + + + + + 0 + + 0 + INFO + + + USD + + 123412341234 + + + + + -562.00 + 20130831165153 + + + + + diff --git a/odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx_wrong.ofx b/odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx_wrong.ofx new file mode 100644 index 000000000..b9e64a391 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/tests/test_ofx_file/test_ofx_wrong.ofx @@ -0,0 +1,100 @@ + + + + + + + 0 + INFO + + 20130831165153.000[-8:PST] + ENG + + + + + 0 + + 0 + INFO + + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -80 + 219378 + Agrolait + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + + China Export + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -100 + 219380 + Axelor Scuba + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -90 + 219381 + China Scuba + + + + 2156.56 + 20130831165153 + + + + + + + 0 + + 0 + INFO + + + USD + + 123412341234 + + + + + -562.00 + 20130831165153 + + + + + diff --git a/odex25_accounting/account_bank_statement_import_excel/views/excel_dimensions_views.xml b/odex25_accounting/account_bank_statement_import_excel/views/excel_dimensions_views.xml new file mode 100644 index 000000000..911c31b27 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/views/excel_dimensions_views.xml @@ -0,0 +1,133 @@ + + + + + + excel.dimensions.view.form + excel.dimensions + +

+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
%b - Abbreviated month name.
+
%B - Full month name."
+
%d - Day of the month [01,31]."
+
%y - Year without century [00,99]."
+
%Y - Year with century."
+
%m - Month number [01,12]."
+
+ +
1. %b, %B ==> Dec, December
+
3. %y, %Y ==> 08, 2008
+
4. %d, %m ==> 05, 12
+
+
+
+ + + + + + Bank Statement Excel Dimensions + ir.actions.act_window + excel.dimensions + tree,form + +

+ +

+ +

+
+
+ + + + + + account.journal.form + account.journal + + + + + + + + + \ No newline at end of file diff --git a/odex25_accounting/account_bank_statement_import_excel/views/view_account_bank_statement_import.xml b/odex25_accounting/account_bank_statement_import_excel/views/view_account_bank_statement_import.xml new file mode 100644 index 000000000..9e52aa2d7 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/views/view_account_bank_statement_import.xml @@ -0,0 +1,12 @@ + + + + account.bank.statement.import + + + +
  • Excel files (XLS, XLSX)
  • +
    +
    +
    +
    diff --git a/odex25_accounting/account_bank_statement_import_excel/wizard/__init__.py b/odex25_accounting/account_bank_statement_import_excel/wizard/__init__.py new file mode 100644 index 000000000..7dafcd167 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/wizard/__init__.py @@ -0,0 +1 @@ +from . import account_bank_statement_import diff --git a/odex25_accounting/account_bank_statement_import_excel/wizard/account_bank_statement_import.py b/odex25_accounting/account_bank_statement_import_excel/wizard/account_bank_statement_import.py new file mode 100644 index 000000000..1a8edfde1 --- /dev/null +++ b/odex25_accounting/account_bank_statement_import_excel/wizard/account_bank_statement_import.py @@ -0,0 +1,278 @@ +import logging +import re +from odoo import api, models, _ +from odoo.exceptions import UserError +from odoo.addons.base_iban.models.res_partner_bank import _map_iban_template +from odoo.addons.base_iban.models.res_partner_bank import validate_iban +from odoo.tools import float_compare, float_round, float_repr + +from datetime import date, datetime, timedelta + +_logger = logging.getLogger(__name__) + +try: + import xlrd +except ImportError: + _logger.debug("xlrd not found.") + + +class AccountBankStatementImport(models.TransientModel): + _inherit = 'account.bank.statement.import' + + def _check_journal_bank_account(self, journal, account_number): + return journal.bank_account_id.sanitized_acc_number == account_number + + res = super( + AccountBankStatementImport, self + )._check_journal_bank_account(journal, account_number) + if not res: + e_acc_num = journal.bank_account_id.sanitized_acc_number + e_acc_num = e_acc_num.replace(" ", "") + validate_iban(e_acc_num) + country_code = e_acc_num[:2].lower() + iban_template = _map_iban_template[country_code].replace( + " ", "") + e_acc_num = "".join( + [c for c, t in zip(e_acc_num, iban_template) if t == "C"]) + res = (e_acc_num == account_number) + return res + + @api.model + def _check_excel(self, data_file): + try: + excel = xlrd.open_workbook(file_contents=data_file) + except Exception as e: + _logger.debug(e) + return False + return excel + + @api.model + def _prepare_ofx_transaction_line(self, transaction): + # Since ofxparse doesn't provide account numbers, + # we cannot provide the key 'bank_account_id', + # nor the key 'account_number' + # If you read odoo10/addons/account_bank_statement_import/ + # account_bank_statement_import.py, it's the only 2 keys + # we can provide to match a partner. + vals = { + 'date': transaction.date, + 'name': transaction.payee + ( + transaction.memo and ': ' + transaction.memo or ''), + 'ref': transaction.id, + 'amount': float(transaction.amount), + 'unique_import_id': transaction.id, + } + return vals + + def _get_excel_data(self, excel_file, excel_conf): + xl_sheet = excel_file.sheet_by_index(0) + journal = self.env['account.journal'].browse(self.env.context.get('journal_id', [])) + currency = journal.currency_id.name + + account_number = not excel_conf.details_only and \ + xl_sheet.cell(excel_conf.account_number_row, excel_conf.account_number_col).value or \ + journal.bank_account_id.acc_number + # got to fix currency problem but for now gonna use company currency + + start = not excel_conf.details_only and \ + xl_sheet.cell(excel_conf.balance_start_row, excel_conf.balance_start_col).value or 0 + + balance_start = isinstance(start, str) and float(re.sub('[^.\-\d]', '', start.split()[0])) or start + + end = not excel_conf.details_only and \ + xl_sheet.cell(excel_conf.balance_end_row, excel_conf.balance_end_col).value or 0 + + balance_end = isinstance(start, str) and float(re.sub('[^.\-\d]', '', end.split()[0])) or end + + lines = [] + + details_row = excel_conf.details_row + total_amt = 0.0 + + while True: + try: + debit = float(xl_sheet.cell(details_row, excel_conf.debit_col).value or 0) + credit = float(xl_sheet.cell(details_row, excel_conf.credit_col).value or 0) + # balance = float(xl_sheet.cell(details_row, excel_conf.balance_col).value or 0) + + type = xl_sheet.cell(details_row, excel_conf.type_col).value + note = xl_sheet.cell(details_row, excel_conf.note_col).value + date = xl_sheet.cell(details_row, excel_conf.date_col).value + date = datetime.strptime(date, excel_conf.date_format or "%d/%m/%Y") + amount = credit and credit or (excel_conf.debit_sign and -1 * debit or debit) + total_amt += amount + lines.append({'amount': amount, + # 'balance': balance, + 'payment_ref': type + ' ' + note, + 'date': date}) + details_row += 1 + except: + break + vals_bank_statement = { + 'name': account_number, + 'transactions': lines, + 'balance_start': balance_start, + 'balance_end_real': balance_end, + } + return (currency, account_number, [vals_bank_statement]) + + def _parse_file(self, data_file): + excel = self._check_excel(data_file) + if not excel: + return super(AccountBankStatementImport, self)._parse_file( + data_file) + + transactions = [] + total_amt = 0.00 + try: + journal = self.env['account.journal'].browse(self.env.context.get('journal_id', [])) + if not journal.excel_dimension: + raise UserError(_("Determine excel dimension for this journal. ")) + excel_data = self._get_excel_data(excel, journal.excel_dimension) + return excel_data + # for transaction in ofx.account.statement.transactions: + # vals = self._prepare_ofx_transaction_line(transaction) + # if vals: + # transactions.append(vals) + # total_amt += vals['amount'] + except Exception as e: + raise UserError(_( + "The following problem occurred during import. " + "The file might not be valid.\n\n %s") % e) + + # balance = float(ofx.account.statement.balance) + # vals_bank_statement = { + # 'name': ofx.account.number, + # 'transactions': transactions, + # 'balance_start': balance - total_amt, + # 'balance_end_real': balance, + # } + return ofx.account.statement.currency, ofx.account.number, [vals_bank_statement] + + +class AccountBankStatementLine(models.Model): + _inherit = "account.bank.statement.line" + + def get_reconciliation_proposition(self, excluded_ids=None): + """ Returns move lines that constitute the best guess to reconcile a statement line + Note: it only looks for move lines in the same currency as the statement line. + """ + self.ensure_one() + if not excluded_ids: + excluded_ids = [] + amount = self.amount_currency or self.amount + company_currency = self.journal_id.company_id.currency_id + st_line_currency = self.currency_id or self.journal_id.currency_id + currency = (st_line_currency and st_line_currency != + company_currency) and st_line_currency.id or False + precision = st_line_currency and st_line_currency.decimal_places or company_currency.decimal_places + params = {'company_id': self.env.user.company_id.id, + 'account_payable_receivable': (self.journal_id.default_credit_account_id.id, self.journal_id.default_debit_account_id.id), + 'amount': float_repr(float_round(amount, precision_digits=precision), precision_digits=precision), + 'partner_id': self.partner_id.id, + 'excluded_ids': tuple(excluded_ids), + 'ref': self.name, + } + # Look for structured communication match + if self.name: + add_to_select = ", CASE WHEN aml.ref = %(ref)s THEN 1 ELSE 2 END as temp_field_order " + add_to_from = " JOIN account_move m ON m.id = aml.move_id " + select_clause, from_clause, where_clause = self._get_common_sql_query( + overlook_partner=True, excluded_ids=excluded_ids, split=True) + sql_query = select_clause + add_to_select + from_clause + add_to_from + where_clause + sql_query += " AND (aml.ref= %(ref)s or m.name = %(ref)s) \ + ORDER BY temp_field_order, date_maturity desc, aml.id desc" + self.env.cr.execute(sql_query, params) + results = self.env.cr.fetchone() + if results: + return self.env['account.move.line'].browse(results[0]) + + # Look for a single move line with the same amount + field = currency and 'amount_residual_currency' or 'amount_residual' + liquidity_field = currency and 'amount_currency' or amount > 0 and 'aml.debit' or 'aml.credit' + liquidity_amt_clause = currency and '%(amount)s::numeric' or 'abs(%(amount)s::numeric)' + sql_query = self._get_common_sql_query(excluded_ids=excluded_ids) + \ + " AND (" + field + " = %(amount)s::numeric OR (acc.internal_type = 'liquidity' AND " + liquidity_field + " = " + liquidity_amt_clause + ")) \ + ORDER BY date_maturity desc, aml.id desc LIMIT 1" + self.env.cr.execute(sql_query, params) + results = self.env.cr.fetchone() + if results: + return self.env['account.move.line'].browse(results[0]) + + return self.env['account.move.line'] + + def auto_reconcile(self): + """ Try to automatically reconcile the statement.line ; return the counterpart journal entry/ies if the automatic reconciliation succeeded, False otherwise. + TODO : this method could be greatly improved and made extensible + """ + self.ensure_one() + match_recs = self.env['account.move.line'] + + amount = self.amount_currency or self.amount + company_currency = self.journal_id.company_id.currency_id + st_line_currency = self.currency_id or self.journal_id.currency_id + currency = (st_line_currency and st_line_currency != + company_currency) and st_line_currency.id or False + precision = st_line_currency and st_line_currency.decimal_places or company_currency.decimal_places + params = {'company_id': self.env.user.company_id.id, + 'account_payable_receivable': (self.journal_id.default_credit_account_id.id, self.journal_id.default_debit_account_id.id), + 'amount': float_round(amount, precision_digits=precision), + 'partner_id': self.partner_id.id, + 'ref': self.name, + } + field = currency and 'amount_residual_currency' or 'amount_residual' + liquidity_field = currency and 'amount_currency' or amount > 0 and 'aml.debit' or 'aml.credit' + # Look for structured communication match + if self.name: + sql_query = self._get_common_sql_query() + " AND aml.ref = %(ref)s AND (" + field + \ + " = %(amount)s OR (acc.internal_type = 'liquidity' AND " + liquidity_field + " = %(amount)s)) \ + ORDER BY date_maturity asc, aml.id asc" + self.env.cr.execute(sql_query, params) + match_recs = self.env.cr.dictfetchall() + if len(match_recs) > 1: + return False + + # Look for a single move line with the same partner, the same amount + if not match_recs: + if self.partner_id: + sql_query = self._get_common_sql_query( + ) + " AND (" + field + " = %(amount)s OR (acc.internal_type = 'liquidity' AND " + liquidity_field + " = %(amount)s)) \ + ORDER BY date_maturity asc, aml.id asc" + self.env.cr.execute(sql_query, params) + match_recs = self.env.cr.dictfetchall() + if len(match_recs) > 1: + return False + + if not match_recs: + return False + + match_recs = self.env['account.move.line'].browse([aml.get('id') for aml in match_recs]) + # Now reconcile + counterpart_aml_dicts = [] + payment_aml_rec = self.env['account.move.line'] + for aml in match_recs: + if aml.account_id.internal_type == 'liquidity': + payment_aml_rec = (payment_aml_rec | aml) + else: + amount = aml.currency_id and aml.amount_residual_currency or aml.amount_residual + counterpart_aml_dicts.append({ + 'name': aml.name if aml.name != '/' else aml.move_id.name, + 'debit': amount < 0 and -amount or 0, + 'credit': amount > 0 and amount or 0, + 'move_line': aml + }) + + try: + with self._cr.savepoint(): + counterpart = self.process_reconciliation( + counterpart_aml_dicts=counterpart_aml_dicts, + payment_aml_rec=payment_aml_rec) + return counterpart + except UserError: + # A configuration / business logic error that makes it impossible to auto-reconcile should not be raised + # since automatic reconciliation is just an amenity and the user will get the same exception when manually + # reconciling. Other types of exception are (hopefully) programmation errors and should cause a stacktrace. + self.invalidate_cache() + self.env['account.move'].invalidate_cache() + self.env['account.move.line'].invalidate_cache() + return False diff --git a/odex25_accounting/account_budget_custom/__init__.py b/odex25_accounting/account_budget_custom/__init__.py new file mode 100644 index 000000000..ade901eae --- /dev/null +++ b/odex25_accounting/account_budget_custom/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + +from . import models +from . import reports + diff --git a/odex25_accounting/account_budget_custom/__manifest__.py b/odex25_accounting/account_budget_custom/__manifest__.py new file mode 100644 index 000000000..d516d42f5 --- /dev/null +++ b/odex25_accounting/account_budget_custom/__manifest__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +{ + 'name': "Custom Budget", + 'description': """ + Add new features to budget : + - Budget Increase/Decrease & Transfer operation. + - Budget Confirmation. + """, + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'category': 'Odex25-Accounting/Odex25-Accounting', + # any module necessary for this one to work correctly + 'depends': ['base','odex25_account_budget', 'odex25_account_reports', 'report_xlsx'], + # always loaded + 'data': [ + 'data/budget_operation_data.xml', + 'security/budget_groups.xml', + 'security/ir.model.access.csv', + 'views/account_budget_views.xml', + 'views/budget_operations_view.xml', + 'views/budget_confirmation_view.xml', + 'views/menus.xml', + 'reports/reports.xml' + ], +} diff --git a/odex25_accounting/account_budget_custom/data/budget_operation_data.xml b/odex25_accounting/account_budget_custom/data/budget_operation_data.xml new file mode 100644 index 000000000..eb9af85c9 --- /dev/null +++ b/odex25_accounting/account_budget_custom/data/budget_operation_data.xml @@ -0,0 +1,15 @@ + + + + + Budget Operation Sequence + budget_operation.seq + BO/%(range_year)s/ + + + + + 6 + + + \ No newline at end of file diff --git a/odex25_accounting/account_budget_custom/i18n/ar.po b/odex25_accounting/account_budget_custom/i18n/ar.po new file mode 100644 index 000000000..7b7d5bb3c --- /dev/null +++ b/odex25_accounting/account_budget_custom/i18n/ar.po @@ -0,0 +1,797 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_budget_custom +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0+e-20210105\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-30 05:25+0000\n" +"PO-Revision-Date: 2021-05-30 05:25+0000\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_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__account_id +msgid "Account" +msgstr "البند" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__percentage +msgid "Achievement" +msgstr "الإنجاز" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_needaction +msgid "Action Needed" +msgstr "إجراء مطلوب" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "All lines should have accounts" +msgstr "" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__total_amount +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__amount +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__amount +msgid "Amount" +msgstr "مبلغ" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_form +msgid "Approve" +msgstr "موافقة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_attachment_count +msgid "Attachment Count" +msgstr "عدد المرفقات" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__beneficiary_id +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "Beneficiary" +msgstr "المستفيد" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_crossovered_budget +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__from_crossovered_budget_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__to_crossovered_budget_id +msgid "Budget" +msgstr "الموازنة" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_budget_confirmation +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__confirmation_id +msgid "Budget Confirmation" +msgstr "تصديق الموازنة" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_budget_confirmation_line +msgid "Budget Confirmation details" +msgstr "تفاصيل تصديق الموازنة" + +#. module: account_budget_custom +#: model:ir.actions.act_window,name:account_budget_custom.action_budget_confirmation_form +#: model:ir.ui.menu,name:account_budget_custom.menu_budget_confirmation +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_form +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_tree +msgid "Budget Confirmations" +msgstr "التحقق من الارتباط" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_tree +msgid "Budget Confirmed Amount" +msgstr "مبلغ الموازنة المصدق" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_crossovered_budget_lines +msgid "Budget Line" +msgstr "خط الموازنة" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_graph +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_pivot +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_tree +#, python-format +msgid "Budget Lines" +msgstr "خطوط الموازنة" + +#. module: account_budget_custom +#: model:ir.actions.act_window,name:account_budget_custom.open_budget_operations +#: model:ir.ui.menu,name:account_budget_custom.menu_budget_operations_form +msgid "Budget Operation" +msgstr "عمليات الموازنة" + +#. module: account_budget_custom +#: model:ir.ui.menu,name:account_budget_custom.menu_budget_operations +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_tree +msgid "Budget Operations" +msgstr "عمليات الموازنة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__from_budget_post_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__to_budget_post_id +msgid "Budget Post" +msgstr "البند" + +#. module: account_budget_custom +#: model:ir.actions.report,name:account_budget_custom.action_report_budget_xlsx +msgid "Budget XLSX" +msgstr "الموازنة (اكسل)" + +#. module: account_budget_custom +#: model:ir.ui.menu,name:account_budget_custom.main_budgets_menu +msgid "Budgets" +msgstr "الموازنات" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__state__cancel +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_form +msgid "Cancel" +msgstr "إلغاء" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_form +msgid "Check Budget" +msgstr "التحقق من الارتباط" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__company_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__company_id +msgid "Company" +msgstr "مؤسسة" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_crossovered_budget_lines__percentage +msgid "" +"Comparison between practical and theoretical amount. This measure tells you " +"if you are below or over budget." +msgstr "" +"المقارنة بين القيمة الفعلية والنظرية. تحدد نسبة الانحراف في الإيرادات أو " +"المصروفات في الموازنة." + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations +msgid "Confirm" +msgstr "تأكيد" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__budget_confirm_amount +msgid "Confirmation Amount" +msgstr "مبلغ التصديق" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__state__confirmed +msgid "Confirmed" +msgstr "مؤكد" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__analytic_account_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__analytic_account_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__budget_line_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__from_budget_line_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__to_budget_line_id +msgid "Cost Center" +msgstr "مركز التكلفة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__create_uid +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__create_uid +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__create_date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__create_date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__currency_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__currency_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__currency_id +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget__currency_id +msgid "Currency" +msgstr "العملة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__date +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "Date" +msgstr "التاريخ" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__operation_type__decrease +msgid "Decrease" +msgstr "تخفيض" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__department_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__department_id +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "Department" +msgstr "القسم" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__description +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__description +msgid "Description" +msgstr "الوصف" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__lines_ids +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_form +msgid "Details" +msgstr "تفاصيل المطابقة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_report__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_xslx_report__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__res_id +msgid "Document ID" +msgstr "معرف المستند" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__state__draft +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__state__draft +msgid "Draft" +msgstr "مسودة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_follower_ids +msgid "Followers" +msgstr "المتابعون" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_channel_ids +msgid "Followers (Channels)" +msgstr "المتابعون (القنوات)" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_partner_ids +msgid "Followers (Partners)" +msgstr "المتابعون (الشركاء)" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations +msgid "From" +msgstr "من" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "From Budget" +msgstr "من موازنة" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "From Cost Center" +msgstr "من مركز التكلفة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__id +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget__id +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__id +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_report__id +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_xslx_report__id +msgid "ID" +msgstr "المُعرف" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_needaction +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_unread +msgid "If checked, new messages require your attention." +msgstr "إذا كان محددًا، فهناك رسائل جديدة تحتاج لرؤيتها." + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_has_error +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "إذا كان محددًا، فقد حدث خطأ في تسليم بعض الرسائل." + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__operation_type__increase +msgid "Increase" +msgstr "تعزيز" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_is_follower +msgid "Is Follower" +msgstr "متابع" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_report____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_xslx_report____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__write_uid +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__write_uid +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__write_date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__write_date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_main_attachment_id +msgid "Main Attachment" +msgstr "المرفق الرئيسي" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_has_error +msgid "Message Delivery error" +msgstr "خطأ في تسليم الرسائل" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_ids +msgid "Messages" +msgstr "الرسائل" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__name +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__name +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "Name" +msgstr "الاسم" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__new_balance +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation_line__new_balance +msgid "New Balance" +msgstr "المبلغ بعد الخصم" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "No budget for " +msgstr "لا يوجد موازنة ل " + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "No enough budget for " +msgstr "متبقي الموازنة لا يغطي " + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_needaction_counter +msgid "Number of Actions" +msgstr "عدد الإجراءات" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_has_error_counter +msgid "Number of errors" +msgstr "عدد الاخطاء" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "عدد الرسائل التي تتطلب إجراء" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "عدد الرسائل الحادث بها خطأ في التسليم" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_unread_counter +msgid "Number of unread messages" +msgstr "عدد الرسائل الجديدة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__operation_type +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "Operation Type" +msgstr "نوع العملية" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__practical_amount +msgid "Practical Amount" +msgstr "المبلغ الفعلي" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__provide +msgid "Provide" +msgstr "الدعومات" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_tree +msgid "Provided Amount" +msgstr "مبلغ الدعم" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__pull_out +msgid "Pull Out" +msgstr "المبلغ المحجوز/التخصيص" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_tree +msgid "Pull Out Amount" +msgstr "مبلغ السحب" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__ref +msgid "Reference" +msgstr "المرجع" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__res_model +msgid "Related Document Model Name" +msgstr "اسم كائن المستند المرتبط" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__remain +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__remain +msgid "Remain" +msgstr "المبلغ المتبقي" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_tree +msgid "Remain Amount" +msgstr "المبلغ المتاح" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation_line__remain +msgid "Remain in services budget for this cost center" +msgstr "المبلغ قبل الخصم لهذه الخدمات على هذه المراكز" + +#. module: account_budget_custom +#: model:ir.ui.menu,name:account_budget_custom.budget_reporting_menu +msgid "Reports" +msgstr "التقارير" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__user_id +msgid "Request user" +msgstr "المستخدم الطالب" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__from_reserved +msgid "Reserve?" +msgstr "محجوز؟" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__reserved_amount +msgid "Reserved Amount" +msgstr "المبلغ المحجوز" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget__reserved_percent +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__reserved_percent +msgid "Reserved Percent" +msgstr "نسبة الحجز" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +msgid "Reserved Percent %" +msgstr "نسبة المحجوز %" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_has_sms_error +msgid "SMS Delivery error" +msgstr "خطأ في تسليم الرسائل القصيرة" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "Sorry, No data to Print" +msgstr "لا يوجد بيانات ليتم طباعتها" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "State" +msgstr "المحافظة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__state +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__state +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__state +msgid "Status" +msgstr "الحالة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__theoritical_amount +msgid "Theoretical Amount" +msgstr "القيمة النظرية" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations +msgid "To" +msgstr "ألى" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "To Budget" +msgstr "إلى موازنة" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "To Cost Center" +msgstr "إلى مركز التكلفة" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations +msgid "To Draft" +msgstr "الرجوع الي مبدئي" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__total_amount +msgid "Total amount" +msgstr "إجمالي المبلغ" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation_line__amount +msgid "Total amount in services request line" +msgstr "المبلغ" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__operation_type__transfer +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__type__transfer +msgid "Transfer" +msgstr "تحويل" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "Type" +msgstr "النوع" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__type__unlock +msgid "Unlock" +msgstr "إعادة الفتح" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_unread +msgid "Unread Messages" +msgstr "الرسائل الجديدة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_unread_counter +msgid "Unread Messages Counter" +msgstr "عدد الرسائل الجديدة" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__state__confirmed +msgid "Waiting Financial Controller" +msgstr "في إنتظار المدير المالي" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__state__done +msgid "Waiting Payment" +msgstr "في إنتظار الدفع" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__website_message_ids +msgid "Website Messages" +msgstr "رسائل الموقع" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__website_message_ids +msgid "Website communication history" +msgstr "سجل تواصل الموقع" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/account_budget.py:0 +#, python-format +msgid "You can not take more than the remaining amount" +msgstr "لا يمكن أخذ أكثر من المبلغ المتبقي" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/account_budget.py:0 +#, python-format +msgid "You can not take more than the reserved amount." +msgstr "لا يمكن أخذ اكثر من المبلغ المحجوز" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "You cannot copy a budget confirmation ." +msgstr "لا يمكن نسخ تصديق الموازنة" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "You cannot delete a budget confirmation not in cancel state." +msgstr "لا يمكن حذف تصديق موازنة غير ملغى" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "budget.confirmation" +msgstr "" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_budget_operations +msgid "budget.operations" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/account_budget.py:0 +#, python-format +msgid "remaining" +msgstr "المتبقى" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_report_account_budget_custom_budget_report +msgid "report.account_budget_custom.budget_report" +msgstr "" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_report_account_budget_custom_budget_xslx_report +msgid "report.account_budget_custom.budget_xslx_report" +msgstr "" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "state" +msgstr "الحالة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__type +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__type +msgid "type" +msgstr "النوع" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "الإنجاز" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "المبلغ الفعلى" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "المبلغ المخطط" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "المبلغ النظرية" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "المـوازنـة" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "الموازنات" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "تاريخ الإنتهاء" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "تاريخ البدء" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "وضع المـوازنـة" +msgstr "" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__exceed_budget +msgid "Allow Exceed Budget" +msgstr "السماح بتخطي الموازنة" + + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_report_account_budget_custom_budget_report +msgid "Budget Report" +msgstr "" + +#. module: account_budget_custom +#: model:res.groups,name:account_budget_custom.group_budget_user +msgid "Budget User" +msgstr "مسستخدم الموازنة" + +#. module: account_budget_custom +#: model:res.groups,name:account_budget_custom.group_manager_budget +msgid "Manager of Budget" +msgstr "مدير الموازنة" + + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.reject_wizard +msgid "Close" +msgstr "إلغاء" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__origin +msgid "Origin" +msgstr "المصدر" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__origin_name +msgid "Origin Name" +msgstr "الإسم المصدر" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.reject_wizard +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_form +msgid "Reject" +msgstr "رفض" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__reject_reason +msgid "Reject Reason" +msgstr "سبب الرفض" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__reject_reason +msgid "Reject Reson" +msgstr "سبب الرفض" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "budget.confirmation" +msgstr "تصديق الموازنة" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.reject_wizard +msgid "or" +msgstr "أو" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_reject_wizard +msgid "reject.wizard" +msgstr "" + + diff --git a/odex25_accounting/account_budget_custom/i18n/ar_001.po b/odex25_accounting/account_budget_custom/i18n/ar_001.po new file mode 100644 index 000000000..a9845b10e --- /dev/null +++ b/odex25_accounting/account_budget_custom/i18n/ar_001.po @@ -0,0 +1,992 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_budget_custom +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-08 11:11+0000\n" +"PO-Revision-Date: 2024-05-08 11:11+0000\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_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__account_id +msgid "Account" +msgstr "الحساب" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__percentage +msgid "Achievement" +msgstr "نسبة الصرف" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_needaction +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_needaction +msgid "Action Needed" +msgstr "إجراء مطلوب" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__activity_ids +msgid "Activities" +msgstr "الأنشطة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "ترتيب استثناء النشاط" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__activity_state +msgid "Activity State" +msgstr "حالة النشاط" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__activity_type_icon +msgid "Activity Type Icon" +msgstr "أيقونة نوع النشاط" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "All lines should have accounts" +msgstr "يجب أن تحتوي جميع الأسطر على حسابات" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__exceed_budget +msgid "Allow Exceed Budget" +msgstr "السماح بتخطي الموازنة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__total_amount +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__amount +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__amount +msgid "Amount" +msgstr "مبلغ" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_form +msgid "Approve" +msgstr "موافقة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_attachment_count +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_attachment_count +msgid "Attachment Count" +msgstr "عدد المرفقات" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__beneficiary_id +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "Beneficiary" +msgstr "المستفيد" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_crossovered_budget +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__from_crossovered_budget_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__to_crossovered_budget_id +msgid "Budget" +msgstr "الموازنة" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_budget_confirmation +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__confirmation_id +msgid "Budget Confirmation" +msgstr "تعميد الموازنة" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_budget_confirmation_line +msgid "Budget Confirmation details" +msgstr "تفاصيل تصديق الموازنة" + +#. module: account_budget_custom +#: model:ir.actions.act_window,name:account_budget_custom.action_budget_confirmation_form +#: model:ir.ui.menu,name:account_budget_custom.menu_budget_confirmation +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_form +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_tree +msgid "Budget Confirmations" +msgstr "تحقق الموازنة" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__state__bdgt_dep_mngr +#: model:res.groups,name:account_budget_custom.group_department_manager_budget +msgid "Budget Department Manager" +msgstr "مدير إدارة الميزانية" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__state__confirmed +#: model:res.groups,name:account_budget_custom.group_manager_budget +msgid "Budget Executive Director" +msgstr "المدير التنفيذي للإدارة المالية" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_crossovered_budget_lines +msgid "Budget Line" +msgstr "بند الموازنة" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_graph +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_pivot +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_tree +#, python-format +msgid "Budget Lines" +msgstr "خطوط الموازنة" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__state__draft +msgid "Budget Officer " +msgstr "موظف الميزانية " + +#. module: account_budget_custom +#: model:ir.actions.act_window,name:account_budget_custom.open_budget_operations +#: model:ir.ui.menu,name:account_budget_custom.menu_budget_operations_form +msgid "Budget Operation" +msgstr "عمليات الموازنة" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_budget_operations +#: model:ir.ui.menu,name:account_budget_custom.menu_budget_operations +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_transfer_tree +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_tree +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_unlock_tree +msgid "Budget Operations" +msgstr "عمليات الموازنة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__from_budget_post_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__to_budget_post_id +msgid "Budget Post" +msgstr "البند" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_report_account_budget_custom_budget_report +msgid "Budget Report" +msgstr "تقرير الموازنة" + +#. module: account_budget_custom +#: model:ir.actions.act_window,name:account_budget_custom.open_budget_operations_transfer +msgid "Budget Transfer" +msgstr "مناقله بين الموازنات" + +#. module: account_budget_custom +#: model:ir.actions.act_window,name:account_budget_custom.open_budget_unlock_restriction +#: model:ir.ui.menu,name:account_budget_custom.menu_budget_unlock_restriction_form +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_unlock_restriction +msgid "Budget Unlock Restriction" +msgstr "إلغاء حجز الموازنة" + +#. module: account_budget_custom +#: model:res.groups,name:account_budget_custom.group_budget_user +msgid "Budget User" +msgstr "مسستخدم الموازنة" + +#. module: account_budget_custom +#: model:ir.actions.report,name:account_budget_custom.action_report_budget_xlsx +msgid "Budget XLSX" +msgstr "الموازنة (اكسل)" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_report_account_budget_custom_budget_xslx_report +msgid "Budget XLSX Report" +msgstr "تقرير الموازنة (اكسل)" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_account_budget_post +msgid "Budgetary Position" +msgstr "بند الموازنة" + +#. module: account_budget_custom +#: model:ir.ui.menu,name:account_budget_custom.main_budgets_menu +msgid "Budgets" +msgstr "الموازنات" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__state__cancel +msgid "Cancel" +msgstr "إلغاء" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.reject_wizard +msgid "Close" +msgstr "إلغاء" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__company_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__company_id +msgid "Company" +msgstr "المؤسسة" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_crossovered_budget_lines__percentage +msgid "" +"Comparison between practical and theoretical amount. This measure tells you " +"if you are below or over budget." +msgstr "" +"المقارنة بين القيمة الفعلية والنظرية. تحدد نسبة الانحراف في الإيرادات أو " +"المصروفات في الموازنة." + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_unlock_restriction +msgid "Confirm" +msgstr "تأكيد" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__confirm +msgid "Confirm Amount" +msgstr "المبلغ المصدق" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__budget_confirm_amount +msgid "Confirmation Amount" +msgstr "مبلغ التصديق" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__state__confirmed +msgid "Confirmed" +msgstr "مؤكد" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__analytic_account_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__analytic_account_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__budget_line_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__from_budget_line_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__to_budget_line_id +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__to_operation_ids +msgid "Cost Center" +msgstr "الحساب التحليلي (بند الموازنة)" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__create_uid +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__create_uid +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__create_uid +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__create_date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__create_date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__create_date +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__currency_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__currency_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__currency_id +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget__currency_id +msgid "Currency" +msgstr "العملة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__date +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "Date" +msgstr "التاريخ" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__operation_type__decrease +msgid "Decrease" +msgstr "تخفيض" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__department_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__department_id +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "Department" +msgstr "القسم" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__description +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__description +msgid "Description" +msgstr "الوصف" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__lines_ids +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_form +msgid "Details" +msgstr "تفاصيل المطابقة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_report__display_name +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_xslx_report__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__res_id +msgid "Document ID" +msgstr "معرف المستند" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__state__done +msgid "Done" +msgstr "تم التعميد" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__state__draft +msgid "Draft" +msgstr "موظف الميزانية" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__final_amount +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +msgid "Final Amount" +msgstr "المبلغ النهائي" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_follower_ids +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_follower_ids +msgid "Followers" +msgstr "المتابعون" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_channel_ids +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_channel_ids +msgid "Followers (Channels)" +msgstr "المتابعون (القنوات)" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_partner_ids +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_partner_ids +msgid "Followers (Partners)" +msgstr "المتابعون (الشركاء)" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations +msgid "From" +msgstr "من" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "From Budget" +msgstr "من موازنة" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "From Cost Center" +msgstr "من الحساب التحليلي (بند الموازنة)" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__from_operation_ids +msgid "From Operation" +msgstr "من العملية" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__id +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__id +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_report__id +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_xslx_report__id +msgid "ID" +msgstr "المرجع" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_needaction +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_unread +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__message_needaction +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__message_unread +msgid "If checked, new messages require your attention." +msgstr "إذا كان محددًا، فهناك رسائل جديدة تحتاج لرؤيتها." + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_has_error +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_has_sms_error +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__message_has_error +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "إذا كان محددًا، فقد حدث خطأ في تسليم بعض الرسائل." + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__operation_type__increase +msgid "Increase" +msgstr "تعزيز" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_is_follower +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_is_follower +msgid "Is Follower" +msgstr "متابع" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__is_transfered +msgid "Is Transfered" +msgstr "" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_report____last_update +#: model:ir.model.fields,field_description:account_budget_custom.field_report_account_budget_custom_budget_xslx_report____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__write_uid +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__write_uid +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__write_uid +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__write_date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__write_date +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__write_date +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_main_attachment_id +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_main_attachment_id +msgid "Main Attachment" +msgstr "المرفق الرئيسي" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_has_error +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_has_error +msgid "Message Delivery error" +msgstr "خطأ في تسليم الرسائل" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_ids +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_ids +msgid "Messages" +msgstr "الرسائل" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "نهاية الوقت المعين للنشاط" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__name +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__name +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "Name" +msgstr "الاسم" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__new_balance +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation_line__new_balance +msgid "New Balance" +msgstr "المبلغ بعد الخصم" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "الموعد النهائي للنشاط التالي" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__activity_summary +msgid "Next Activity Summary" +msgstr "ملخص النشاط التالي" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__activity_type_id +msgid "Next Activity Type" +msgstr "نوع النشاط التالي" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "No budget for " +msgstr "لا يوجد موازنة ل " + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "No enough budget for " +msgstr "متبقي الموازنة لا يغطي " + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_needaction_counter +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_needaction_counter +msgid "Number of Actions" +msgstr "عدد الإجراءات" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_has_error_counter +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_has_error_counter +msgid "Number of errors" +msgstr "عدد الاخطاء" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_needaction_counter +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "عدد الرسائل التي تتطلب إجراء" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_has_error_counter +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "عدد الرسائل الحادث بها خطأ في التسليم" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__message_unread_counter +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__message_unread_counter +msgid "Number of unread messages" +msgstr "عدد الرسائل الجديدة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__operation_type +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "Operation Type" +msgstr "نوع العملية" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__origin +msgid "Origin" +msgstr "المصدر" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__origin_name +msgid "Origin Name" +msgstr "الإسم المصدر" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__practical_amount +msgid "Practical Amount" +msgstr "المبلغ الفعلي" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__provide +msgid "Provide" +msgstr "الدعومات" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_tree +msgid "Provided Amount" +msgstr "مبلغ الدعم" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__pull_out +msgid "Pull Out" +msgstr "تخفيض" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_tree +msgid "Pull Out Amount" +msgstr "مبلغ السحب" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__purchase_remain +msgid "Purchase Remain" +msgstr "المتبقي من التعميد" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__purchase_remind +msgid "Purchase Remind" +msgstr "المتبقي من التعميد" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__type__purchase_request +msgid "Purchase Request" +msgstr "طلب شراء" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_confirmation__type__purchase_order +msgid "Purchase Requisition" +msgstr "" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__reason +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__reason +msgid "Reason/Justification" +msgstr "السببظ المبرر" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__ref +msgid "Reference" +msgstr "المرجع" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.reject_wizard +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_form +msgid "Reject" +msgstr "رفض" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__reject_reason +#: model:ir.model.fields,field_description:account_budget_custom.field_reject_wizard__reject_reason +msgid "Reject Reason" +msgstr "سبب الرفض" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__res_model +msgid "Related Document Model Name" +msgstr "اسم كائن المستند المرتبط" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__remain +msgid "Remain" +msgstr "الباقي" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_crossovered_budget_line_tree +msgid "Remain Amount" +msgstr "المبلغ المتاح" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation_line__remain +msgid "Remain in services budget for this cost center" +msgstr "المبلغ قبل الخصم لهذه الخدمات على هذه المراكز" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__remain +msgid "Remain of Christening" +msgstr "" + +#. module: account_budget_custom +#: model:ir.ui.menu,name:account_budget_custom.budget_reporting_menu +msgid "Reports" +msgstr "التقارير" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__user_id +msgid "Request user" +msgstr "المستخدم الطالب" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__reserve +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +msgid "Reserve Amount" +msgstr "المبلغ المحجوز" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__from_reserved +msgid "Reserve?" +msgstr "محجوز؟" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__reserved_amount +msgid "Reserved Amount" +msgstr "المبلغ المحجوز" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget__reserved_percent +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__reserved_percent +msgid "Reserved Percent" +msgstr "نسبة الحجز" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +msgid "Reserved Percent %" +msgstr "نسبة المحجوز %" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__activity_user_id +msgid "Responsible User" +msgstr "المستخدم المسؤول" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_has_sms_error +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_has_sms_error +msgid "SMS Delivery error" +msgstr "خطأ في تسليم الرسائل القصيرة" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "Sorry This object have no field named Selection Reason" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "Sorry, No data to Print" +msgstr "لا يوجد بيانات ليتم طباعتها" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "Specify Reject Reason" +msgstr "تحديد سبب الرفض" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "State" +msgstr "الحالة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__state +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation_line__state +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__state +msgid "Status" +msgstr "الحالة" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"الحالة على أساس الأنشطة\n" +"المتأخرة: تاريخ الاستحقاق مر\n" +"اليوم: تاريخ النشاط هو اليوم\n" +"المخطط: الأنشطة المستقبلية." + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__theoritical_amount +msgid "Theoretical Amount" +msgstr "القيمة النظرية" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/account_budget.py:0 +#, python-format +msgid "This position can not be deleted" +msgstr "لا يمكن حذف مركز موازنة" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations +msgid "To" +msgstr "ألى" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "To Budget" +msgstr "إلى موازنة" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "To Cost Center" +msgstr "إلى الحساب التحليلي" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_unlock_restriction +msgid "To Draft" +msgstr "الرجوع الي مبدئي" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__total_amount +msgid "Total amount" +msgstr "إجمالي المبلغ" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation_line__amount +msgid "Total amount in services request line" +msgstr "المبلغ" + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__operation_type__transfer +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__type__transfer +#: model_terms:ir.ui.view,arch_db:account_budget_custom.crossovered_budget_view_form +msgid "Transfer" +msgstr "تحويل" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "Type" +msgstr "النوع" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "نوع النشاط الاستثنائي المسجل." + +#. module: account_budget_custom +#: model:ir.model.fields.selection,name:account_budget_custom.selection__budget_operations__type__unlock +msgid "Unlock" +msgstr "إعادة الفتح" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_unread +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_unread +msgid "Unread Messages" +msgstr "الرسائل الجديدة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__message_unread_counter +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__message_unread_counter +msgid "Unread Messages Counter" +msgstr "عدد الرسائل الجديدة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__website_message_ids +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__website_message_ids +msgid "Website Messages" +msgstr "رسائل الموقع" + +#. module: account_budget_custom +#: model:ir.model.fields,help:account_budget_custom.field_budget_confirmation__website_message_ids +#: model:ir.model.fields,help:account_budget_custom.field_budget_operations__website_message_ids +msgid "Website communication history" +msgstr "سجل تواصل الموقع" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_crossovered_budget_lines__year_end +msgid "Year End" +msgstr "نهاية السنة" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_operations.py:0 +#, python-format +msgid "You can transfer to approved budget only" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/account_budget.py:0 +#, python-format +msgid "You can not delete budget not in draft state" +msgstr "لا يمكن حذف موازنة ليست في مرحلة مسودة" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/account_budget.py:0 +#, python-format +msgid "You can not take more than the remaining amount" +msgstr "لا يمكن أخذ أكثر من المبلغ المتبقي" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/account_budget.py:0 +#, python-format +msgid "You can not take more than the remaining amount.." +msgstr "لا يمكن أخذ أكثر من المبلغ المتبقي" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/account_budget.py:0 +#, python-format +msgid "You can not take more than the reserved amount." +msgstr "لا يمكن أخذ اكثر من المبلغ المحجوز" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "You cannot copy a budget confirmation ." +msgstr "لا يمكن نسخ تصديق الموازنة" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "You cannot delete a budget confirmation not in cancel state." +msgstr "لا يمكن حذف تصديق موازنة غير ملغى" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_confirmation_search +msgid "budget.confirmation" +msgstr "تعميد الموازنة" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.reject_wizard +msgid "or" +msgstr "أو" + +#. module: account_budget_custom +#: model:ir.model,name:account_budget_custom.model_reject_wizard +msgid "reject.wizard" +msgstr "رفض المعالج" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/account_budget.py:0 +#, python-format +msgid "remaining" +msgstr "المتبقى" + +#. module: account_budget_custom +#: model_terms:ir.ui.view,arch_db:account_budget_custom.view_budget_operations_search +msgid "state" +msgstr "الحالة" + +#. module: account_budget_custom +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_confirmation__type +#: model:ir.model.fields,field_description:account_budget_custom.field_budget_operations__type +msgid "type" +msgstr "النوع" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "الإنجاز" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "المبلغ الفعلى" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "المبلغ المخطط" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "المبلغ النظرية" +msgstr "المبلغ النظري" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "المـوازنـة" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "الموازنات" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "تاريخ الإنتهاء" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "تاريخ البدء" +msgstr "" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/reports/budget_report_xlsx.py:0 +#, python-format +msgid "وضع المـوازنـة" +msgstr "" \ No newline at end of file diff --git a/odex25_accounting/account_budget_custom/models/__init__.py b/odex25_accounting/account_budget_custom/models/__init__.py new file mode 100644 index 000000000..1da94e009 --- /dev/null +++ b/odex25_accounting/account_budget_custom/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + +from . import account_budget +from . import budget_operations +from . import budget_confirmation diff --git a/odex25_accounting/account_budget_custom/models/account_budget.py b/odex25_accounting/account_budget_custom/models/account_budget.py new file mode 100644 index 000000000..7738d5e91 --- /dev/null +++ b/odex25_accounting/account_budget_custom/models/account_budget.py @@ -0,0 +1,234 @@ +from odoo import api, fields, models, _ +from odoo.exceptions import UserError, ValidationError + + +class AccountBudgetPost(models.Model): + _inherit = "account.budget.post" + + def unlink(self): + raise ValidationError(_('This position can not be deleted')) + # return super(AccountBudgetPost, self).unlink() + + +class CrossoveredBudget(models.Model): + _inherit = "crossovered.budget" + _order = "create_date desc" + + reserved_percent = fields.Float(string='Reserved Percent') + currency_id = fields.Many2one('res.currency', string='Currency', + readonly=True, required=True, + default=lambda self: self.env.user.company_id.currency_id.id) + + def unlink(self): + for budget in self: + if budget.state not in 'draft': + raise UserError(_('You can not delete budget not in draft state')) + return super(CrossoveredBudget, self).unlink() + + +class CrossoveredBudgetLines(models.Model): + _inherit = "crossovered.budget.lines" + + reserved_percent = fields.Float(related='crossovered_budget_id.reserved_percent', string='Reserved Percent') + reserved_amount = fields.Float(string='Reserved Amount', readonly=True, compute='_compute_reserved_amount') + # pull_out = fields.Float(string='Pull Out', compute='_compute_operations_amount', store=True, tracking=True) + pull_out = fields.Monetary(string='Pull Out') + + provide = fields.Float(string='Provide', compute='_compute_operations_amount', store=True) + remain = fields.Float(string='Remain of Christening', compute='_compute_operations_amount') + budget_confirm_amount = fields.Float(string='Confirmation Amount', compute='_compute_operations_amount') + purchase_remain = fields.Float(store=True) + practical_amount = fields.Float(compute='_compute_practical_amount', string='Practical Amount', digits=0, + store=False) + theoritical_amount = fields.Float(compute='_compute_theoritical_amount', string='Theoretical Amount', digits=0, + store=True) + percentage = fields.Float(compute='_compute_percentage', string='Achievement', store=False, digits=(16, 4)) + from_operation_ids = fields.One2many('budget.operations', 'from_budget_line_id', string='From Operation') + to_operation_ids = fields.One2many('budget.operations', 'to_budget_line_id', string='Cost Center') + reserve = fields.Float(string='Last Reserve Amount') + confirm = fields.Float(string='Confirm Amount') + year_end = fields.Boolean(compute="get_year_end") + is_transfered = fields.Boolean(default=False) + final_amount = fields.Float(compute='_compute_final_amount') + + @api.depends('planned_amount', 'pull_out', 'provide') + def _compute_final_amount(self): + for line in self: + line.final_amount = line.planned_amount + line.provide - line.pull_out + + def get_year_end(self): + for rec in self: + date = fields.Date.today() + if rec.crossovered_budget_id.date_to <= date and rec.purchase_remain > 0: + rec.year_end = True + else: + rec.year_end = False + + def transfer_budget_action(self): + formview_ref = self.env.ref('account_budget_custom.view_budget_operations', False) + return { + 'name': ("Budget Transfer"), + 'view_mode': ' form', + 'view_id': False, + 'view_type': 'form', + 'res_model': 'budget.operations', + 'type': 'ir.actions.act_window', + 'target': 'new', + 'views': [(formview_ref and formview_ref.id or False, 'form')], + 'context': { + 'default_operation_type': 'transfer', + 'default_from_budget_post_id': self.general_budget_id.id, + 'default_from_crossovered_budget_id': self.crossovered_budget_id.id, + 'default_from_budget_line_id': self.id, + 'default_purchase_remind': self.purchase_remain, + 'default_date': fields.Date.today(), + } + } + + @api.depends('from_operation_ids', 'to_operation_ids') + def _compute_operations_amount(self): + if not self.ids: return + for line in self: + pull_out = provide = budget_confirm_amount = purchase_remind = reserve_amount = 0.0 + date_to = self.env.context.get('wizard_date_to') or line.date_to + date_from = self.env.context.get( + 'wizard_date_from') or line.date_from + + if line.analytic_account_id.id: + if 'reserved' not in self.env.context: + self.env.cr.execute(""" + SELECT SUM(amount) + FROM budget_operations + WHERE from_budget_line_id=%s + AND (date between %s AND %s) + AND state='confirmed'""", + (line._origin.id, date_from, date_to,)) + pull_out = self.env.cr.fetchone()[0] or 0.0 + + if 'reserved' in self.env.context: + self.env.cr.execute(""" + SELECT SUM(amount) + FROM budget_operations + WHERE from_budget_line_id=%s + AND (date between %s AND %s) + AND state='confirmed' + AND from_reserved=%s""", + (line._origin.id, date_from, date_to, self.env.context['reserved'])) + pull_out = self.env.cr.fetchone()[0] or 0.0 + + self.env.cr.execute(""" + SELECT SUM(amount) + FROM budget_operations + WHERE to_budget_line_id=%s + AND (date between %s AND %s) + AND state='confirmed'""", + (line._origin.id, date_from, date_to,)) + provide = self.env.cr.fetchone()[0] or 0.0 + + self.env.cr.execute(""" + SELECT SUM(purchase_remind) + FROM budget_operations + WHERE to_budget_line_id=%s + AND (date between %s AND %s) + AND state='confirmed'""", + (line._origin.id, date_from, date_to,)) + reserve_amount = self.env.cr.fetchone()[0] or 0.0 + + self.env.cr.execute(""" + SELECT SUM(amount) + FROM budget_confirmation_line + WHERE budget_line_id=%s + AND (date between %s AND %s) + AND state='done'""", + (line._origin.id, date_from, date_to,)) + budget_confirm_amount = self.env.cr.fetchone()[0] or 0.0 + + line.provide = provide + line.budget_confirm_amount = budget_confirm_amount + # line.remain = line.planned_amount + provide + line.pull_out - line.practical_amount + line.reserve + line.purchase_remain + line.remain = line.final_amount - line.practical_amount + + @api.depends('analytic_account_id', 'planned_amount', 'practical_amount') + def name_get(self): + result = [] + + for line in self: + name = '' + name += line.analytic_account_id and line.analytic_account_id.name or '' + ' ' + _('remaining') + ' ' + + # check if reserved is needed + if self.env.context.get('reserved', False): + name += str(line.reserved_amount) + + if not self.env.context.get('reserved', False): + name += str(line.remain) + + result.append((line.id, name)) + return result + + # @api.depends('crossovered_budget_id.reserved_percent') + def _compute_reserved_amount(self): + for line in self: + reserved_amount = line.crossovered_budget_id.reserved_percent * \ + line.planned_amount / 100.0 + if reserved_amount: + reserved_amount -= line.with_context({'reserved': True}).pull_out + line.reserved_amount = reserved_amount + + def _compute_practical_amount(self): + for line in self: + result = 0.0 + acc_ids = line.general_budget_id.account_ids.ids + date_to = self.env.context.get('wizard_date_to') or line.date_to + date_from = self.env.context.get( + 'wizard_date_from') or line.date_from + if line.analytic_account_id.id: + analytic_ids = self.env['account.analytic.account'].search( + ['|', ('id', '=', line.analytic_account_id.id), + ('parent_id', 'child_of', line.analytic_account_id.id)]) + self.env.cr.execute( + """ + SELECT SUM(amount) + FROM account_analytic_line + WHERE account_id IN %s + AND (date between %s AND %s) + AND general_account_id=ANY(%s)""", + (tuple(analytic_ids.ids), date_from, date_to, acc_ids,)) + result = self.env.cr.fetchone()[0] or 0.0 + line.practical_amount = result + else: + + aml_obj = self.env['account.move.line'] + domain = [('account_id', 'in', + line.general_budget_id.account_ids.ids), + ('date', '>=', date_from), + ('date', '<=', date_to), + ('move_id.state', '=', 'posted') + ] + where_query = aml_obj._where_calc(domain) + aml_obj._apply_ir_rules(where_query, 'read') + from_clause, where_clause, where_clause_params = where_query.get_sql() + select = "SELECT sum(credit)-sum(debit) from " + from_clause + " where " + where_clause + + self.env.cr.execute(select, where_clause_params) + line.practical_amount = self.env.cr.fetchone()[0] or 0.0 + + def _check_amount(self, amount=0, purchase_remind=0, transfer=False): + for obj in self: + if self.from_operation_ids.operation_type=='transfer' and self.from_operation_ids.purchase_remind>obj.final_amount: + raise ValidationError(_('''You can not take more than the remaining amount..''')) + # if obj.purchase_remain> + + reserved_amount = obj.crossovered_budget_id.reserved_percent * \ + obj.planned_amount / 100.0 + if obj.with_context({'reserved': True}).pull_out > reserved_amount: + raise ValidationError( + _('''You can not take more than the reserved amount.''')) + if obj.planned_amount < 0: + if transfer and obj.purchase_remain != purchase_remind: + raise ValidationError(_('''You can not take more than the remaining amount..''')) + else: + + if abs(obj.remain) < amount or obj.purchase_remain < purchase_remind: + raise ValidationError( + _('''You can not take more than the remaining amount''')) diff --git a/odex25_accounting/account_budget_custom/models/budget_confirmation.py b/odex25_accounting/account_budget_custom/models/budget_confirmation.py new file mode 100644 index 000000000..d02406d9f --- /dev/null +++ b/odex25_accounting/account_budget_custom/models/budget_confirmation.py @@ -0,0 +1,248 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Expert Co. Ltd. +# Copyright (C) 2018 (). +# +############################################################################## + + +from odoo import api, fields, models, _ +from odoo.exceptions import Warning, ValidationError + + +class BudgetConfirmation(models.Model): + _name = 'budget.confirmation' + _inherit = ['mail.thread'] + _description = 'Budget Confirmation' + _order = "create_date desc" + + name = fields.Char(string='Name') + + date = fields.Date(string='Date', required=True) + + beneficiary_id = fields.Many2one(comodel_name='res.partner', + required=False, string='Beneficiary') + + department_id = fields.Many2one( + comodel_name='hr.department', string='Department') + + analytic_account_id = fields.Many2one( + comodel_name='account.analytic.account', + string='Cost Center') + + type = fields.Selection(string='type', selection=[('purchase.order', 'Purchase Requisition'), ('purchase.request', 'Purchase Request')]) + + ref = fields.Char(string='Reference') + + res_model = fields.Char( + 'Related Document Model Name') + res_id = fields.Integer('Document ID') + + description = fields.Text(string='Description') + + total_amount = fields.Monetary( + string='Amount', + help="Total amount") + + state = fields.Selection( + [('draft', 'Budget Officer '), + ('bdgt_dep_mngr', 'Budget Department Manager'), + ('confirmed', 'Budget Executive Director'), + ('done', 'Done'), + ('cancel', 'Cancel')], + default='draft', string='Status', readonly=True, tracking=True) + + lines_ids = fields.One2many(comodel_name='budget.confirmation.line', + inverse_name='confirmation_id', string='Details', required=True) + + user_id = fields.Many2one(comodel_name='res.users', string='Request user', + required=False, default=lambda self: self.env.user) + + company_id = fields.Many2one(string='Company', comodel_name='res.company', + default=lambda self: self.env.user.company_id) + + currency_id = fields.Many2one( + 'res.currency', string='Currency', required=True, readonly=True, + states={'draft': [('readonly', False)]}, + default=lambda self: self.env.user.company_id.currency_id.id) + + exceed_budget = fields.Boolean(default=False, string='Allow Exceed Budget') + reject_reason = fields.Char('Reject Reason') + + + def reject(self): + action_name = _('Specify Reject Reason') + return { + 'type': 'ir.actions.act_window', + 'name': action_name, + 'res_model': 'reject.wizard', + 'view_type': 'form', + 'view_mode': 'form', + 'target': 'new', + 'context': {'default_origin': self.id, 'default_origin_name': self._name} + } + + def confirm(self): + """ + change state to confirm and check budget + """ + for rec in self: + for line in rec.lines_ids: + line.sudo().check_budget() + + self.write({'state': 'confirmed'}) + + def done(self): + """ + change state to done and do specific action depend on operation type + """ + self.write({'state': 'done'}) + + + def bdgt_dep_mngr(self): + """ + change state to bdgt_dep_mngr and do specific action depend on operation type + """ + self.write({'state': 'bdgt_dep_mngr'}) + + def cancel(self): + """ + change state to cancel + """ + self.write({'state': 'cancel'}) + + def to_draft(self): + """ + change state to draft + """ + self.write({'state': 'draft'}) + + def unlink(self): + """ + Delete budget confirmation, but they must be in cancel state. + :return: + """ + for rec in self: + if rec.state != 'cancel': + raise ValidationError( + _('You cannot delete a budget confirmation not in cancel state.')) + return super(BudgetConfirmation, self).unlink() + + def copy(self): + """ + prevent copy of budget confirmation. + :return: + """ + raise ValidationError( + _('You cannot copy a budget confirmation .')) + + +class BudgetConfirmationLine(models.Model): + _name = 'budget.confirmation.line' + _description = 'Budget Confirmation details' + + confirmation_id = fields.Many2one( + comodel_name='budget.confirmation', + string='Budget Confirmation', + ondelete='cascade', index=True + ) + account_id = fields.Many2one( + comodel_name='account.account', + string='Account' + ) + amount = fields.Float( + string='Amount', + digits='Product Price', + help="Total amount in services request line" + ) + remain = fields.Float( + string='Remain', + digits='Product Price', + help="Remain in services budget for this cost center" + ) + new_balance = fields.Float( + string='New Balance', + digits='Product Price', + help="New Balance" + ) + analytic_account_id = fields.Many2one( + comodel_name='account.analytic.account', + string='Cost Center', + required=True + ) + date = fields.Date( + related='confirmation_id.date', + string='Date', store=True, + readonly=True, related_sudo=False + ) + state = fields.Selection( + default='draft', string='Status', + readonly=True, related='confirmation_id.state', + store=True, related_sudo=False + ) + budget_line_id = fields.Many2one( + comodel_name='crossovered.budget.lines', + string='Cost Center' + ) + company_id = fields.Many2one( + comodel_name='res.company', string='Company', + related='confirmation_id.company_id', store=True, + readonly=True, related_sudo=False + ) + currency_id = fields.Many2one( + comodel_name='res.currency', + related='confirmation_id.currency_id', + store=True, related_sudo=False + ) + description = fields.Text( + string='Description' + ) + + def check_budget(self): + """ + check the available budget for given service and analytic amount + in defined period of time + :return: + """ + self.ensure_one() + if not self.account_id: + raise ValidationError(_('''All lines should have accounts''')) + analytic_account_id = self.analytic_account_id + date = self.date + date = fields.Date.from_string(date) + budget_post = self.env['account.budget.post'].search([]).filtered(lambda x: self.account_id in x.account_ids) + + budget_lines = analytic_account_id.crossovered_budget_line.filtered( + lambda x: x.general_budget_id in budget_post and + x.crossovered_budget_id.state == 'done' and + x.date_from <= date <= x.date_to) + + if budget_lines: + remain = abs(budget_lines[0].remain) + if remain >= self.confirmation_id.total_amount: + return True + + name = self.account_id.name + if not budget_lines: + raise ValidationError(_('''No budget for ''') + name) + if not self.confirmation_id.exceed_budget: + raise ValidationError(_('''No enough budget for ''') + name) + else: + pass + + +class RejectWizard(models.TransientModel): + _name = 'reject.wizard' + + origin = fields.Integer('') + reject_reason = fields.Text(string='Reject Reason') + origin_name = fields.Char('') + + def action_reject(self): + origin_rec = self.env[self.origin_name].sudo().browse(self.origin) + if dict(self._fields).get('reject_reason') is None: + raise ValidationError(_('Sorry This object have no field named Selection Reason')) + else: + origin_rec.write({'reject_reason': self.reject_reason}) + return origin_rec.with_context({'reject_reason': self.reject_reason}).cancel() \ No newline at end of file diff --git a/odex25_accounting/account_budget_custom/models/budget_operations.py b/odex25_accounting/account_budget_custom/models/budget_operations.py new file mode 100644 index 000000000..27a793e67 --- /dev/null +++ b/odex25_accounting/account_budget_custom/models/budget_operations.py @@ -0,0 +1,142 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Expert Co. Ltd. +# Copyright (C) 2018 (). +# +############################################################################## + +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError + + +class BudgetOperations(models.Model): + """ + this model used to make operations on budget + """ + _name = 'budget.operations' + _description = 'Budget Operations' + _inherit = ['mail.thread', 'mail.activity.mixin'] + + name = fields.Char(string='Name', default='/') + department_id = fields.Many2one(comodel_name='hr.department', string='Department') + from_crossovered_budget_id = fields.Many2one(comodel_name='crossovered.budget', string='Budget', tracking=True) + from_budget_line_id = fields.Many2one(comodel_name='crossovered.budget.lines', string='Cost Center', tracking=True) + to_crossovered_budget_id = fields.Many2one(comodel_name='crossovered.budget', string='Budget', tracking=True) + to_budget_line_id = fields.Many2one(comodel_name='crossovered.budget.lines', string='Cost Center', tracking=True) + amount = fields.Monetary(string='Amount', tracking=True) + currency_id = fields.Many2one(comodel_name='res.currency', string='Currency', readonly=True, required=True, + default=lambda self: self.env.user.company_id.currency_id.id) + state = fields.Selection(selection=[('draft', 'Draft'), ('confirmed', 'Confirmed')], + default='draft', string='Status', readonly=True, tracking=True) + type = fields.Selection(selection=[('unlock', 'Unlock'), ('transfer', 'Transfer')], default='transfer', + string='type', readonly=True, tracking=True) + date = fields.Date() + from_reserved = fields.Boolean(string='Reserve?', tracking=True) + from_budget_post_id = fields.Many2one(comodel_name='account.budget.post', string='Budget Post', tracking=True) + to_budget_post_id = fields.Many2one(comodel_name='account.budget.post', string='Budget Post', tracking=True) + operation_type = fields.Selection( + selection=[('transfer', 'Transfer'), ('increase', 'Increase'), ('decrease', 'Decrease')], + default='transfer', string='Operation Type', required=True, tracking=True) + purchase_remind = fields.Monetary(string='Purchase Remind', tracking=True) + + @api.onchange('from_crossovered_budget_id', 'operation_type') + def get_budget_domain_year(self): + for rec in self: + domain = [('id', '=', False)] + if rec.operation_type == 'transfer' and rec.from_crossovered_budget_id: + date_to = rec.from_crossovered_budget_id.date_to + record = rec.env['crossovered.budget'].sudo().search([('date_to', '>', str(date_to))]) + if record: + domain = [('id', 'in', record.mapped('crossovered_budget_line.general_budget_id').ids)] + else: + domain = [('id', 'in', rec.env['account.budget.post'].sudo().search([]).ids)] + return {'domain': {'to_budget_post_id': domain}} + + @api.model + def create(self, values): + sequence_code = 'budget_operation.seq' + values['name'] = self.env['ir.sequence'].with_context( + ir_sequence_date=values['date']).next_by_code(sequence_code) + return super(BudgetOperations, self).create(values) + + @api.onchange('operation_type') + def _onchange_operation_type(self): + if self.operation_type == 'increase': + self.from_crossovered_budget_id = False + self.from_budget_line_id = False + self.from_budget_post_id = False + self.from_reserved = False + + @api.onchange('from_budget_post_id') + def _onchange_from_budget_post(self): + domain = [('id', 'in', [])] + if self.from_budget_post_id: + budget_line_obj = self.env['crossovered.budget.lines'] + budget_line = budget_line_obj.read_group([('general_budget_id', '=', self.from_budget_post_id.id)], + ['crossovered_budget_id'], ['crossovered_budget_id']) + domain = [('id', 'in', [bl['crossovered_budget_id'][0] for bl in budget_line])] + self.from_crossovered_budget_id = False + self.from_budget_line_id = False + return {'domain': {'from_crossovered_budget_id': domain}} + + @api.onchange('to_budget_post_id') + def _onchange_to_budget_post(self): + domain = [('id', 'in', [])] + if self.to_budget_post_id: + budget_line_obj = self.env['crossovered.budget.lines'] + search_domain = [('general_budget_id', '=', self.to_budget_post_id.id)] + if self.operation_type == 'transfer' and self.from_crossovered_budget_id: + search_domain += [('date_to', '>', str(self.from_crossovered_budget_id.date_to))] + budget_line = budget_line_obj.search(search_domain) + domain = [('id', 'in', budget_line.mapped('crossovered_budget_id').ids)] + self.to_crossovered_budget_id = False + self.to_budget_line_id = False + return {'domain': {'to_crossovered_budget_id': domain}} + + @api.onchange('from_crossovered_budget_id') + def _onchange_from_crossovered_budget(self): + return { + 'domain': { + 'from_budget_line_id': + [('crossovered_budget_id', '=', self.from_crossovered_budget_id.id), + ('general_budget_id', 'in', [self.from_budget_post_id.id])] + } + } + + @api.onchange('to_crossovered_budget_id') + def _onchange_to_crossovered_budget(self): + return { + 'domain': { + 'to_budget_line_id': + [('crossovered_budget_id', '=', self.to_crossovered_budget_id.id), + ('general_budget_id', 'in', [self.to_budget_post_id.id])] + } + } + + def to_draft(self): + self.state = 'draft' + + def confirm(self): + """ + """ + if self.date and self.to_crossovered_budget_id: + + budget_start_date = self.to_crossovered_budget_id.date_from + budget_end_date = self.to_crossovered_budget_id.date_to + + + if self.date < budget_start_date or self.date > budget_end_date: + raise ValidationError(_('The operation date must be within the budget duration.')) + if self.to_crossovered_budget_id and self.to_crossovered_budget_id.state != 'done': + raise ValidationError( + _('You can transfer to approved budget only')) + self.to_budget_line_id.pull_out = self.purchase_remind + transfer = True if self.operation_type == 'transfer' else False + self.from_budget_line_id._check_amount(self.amount, self.purchase_remind, transfer) + # self.from_budget_line_id.is_transfered = True + if self.type == 'unlock': + self.from_reserved = True + self.to_crossovered_budget_id = self.from_crossovered_budget_id.id + self.to_budget_line_id = self.from_budget_line_id.id + self.state = 'confirmed' diff --git a/odex25_accounting/account_budget_custom/reports/__init__.py b/odex25_accounting/account_budget_custom/reports/__init__.py new file mode 100644 index 000000000..522499f4b --- /dev/null +++ b/odex25_accounting/account_budget_custom/reports/__init__.py @@ -0,0 +1 @@ +from . import budget_report_xlsx diff --git a/odex25_accounting/account_budget_custom/reports/budget_report_xlsx.py b/odex25_accounting/account_budget_custom/reports/budget_report_xlsx.py new file mode 100644 index 000000000..c85bd4e67 --- /dev/null +++ b/odex25_accounting/account_budget_custom/reports/budget_report_xlsx.py @@ -0,0 +1,111 @@ +# -*- coding: utf-8 -*- +from datetime import datetime + +from odoo import models, api, _ +from odoo.exceptions import ValidationError + + +class ReportSponsorPdf(models.AbstractModel): + _name = 'report.account_budget_custom.budget_report' + _description = 'Budget Report' + + @api.model + def get_report_values(self, docids, data=None): + docs = [] + title = _("Budget Lines") + release_date = datetime.now().date() + seq = self.env['ir.actions.report'].get_report_sequence('account_budget_custom.budget_report')['seq'] + + lines = self.env['crossovered.budget.lines'].search([('id', 'in', data['records'])]) + for i in lines: + docs.append({ + 'crossovered_budget_id': i.crossovered_budget_id.id, + 'general_budget_id': i.general_budget_id.id, + 'date_from': datetime.strptime(i.date_from, '%Y-%m-%d %H:%M:%S').date(), + 'date_to': datetime.strptime(i.date_to, '%Y-%m-%d %H:%M:%S').date(), + 'planned_amount': i.planned_amount, + 'practical_amount': i.practical_amount, + 'theoritical_amount': i.theoritical_amount, + 'percentage': i.percentage + }) + + if docs: + return { + 'doc_ids': docids, + 'doc_model': self.env['crossovered.budget.lines'], + 'date': release_date, + 'seq': seq, + 'title': title, + 'docs': docs, + } + else: + raise ValidationError(_("Sorry, No data to Print")) + + def get_result(self, data=None): + res = [] + labels = [ + [_("المـوازنـة"), _("وضع المـوازنـة"), _("تاريخ البدء"), _("تاريخ الإنتهاء"), _("المبلغ المخطط"), + _("المبلغ الفعلى"), _("المبلغ النظرية"), _("الإنجاز")]] + + budget_lines = self.env['crossovered.budget.lines'].search([]) + for i in budget_lines: + res.append({ + 'crossovered_budget_id': i.crossovered_budget_id.name, + 'general_budget_id': i.general_budget_id.name, + 'date_from': i.date_from, + 'date_to': i.date_to, + 'planned_amount': i.planned_amount, + 'practical_amount': i.practical_amount, + 'theoritical_amount': i.theoritical_amount, + 'percentage': i.percentage, + 'labels': labels + }) + return res + + +class InstitutionXlsxReport(models.AbstractModel): + _name = 'report.account_budget_custom.budget_xslx_report' + _inherit = 'report.report_xlsx.abstract' + _description = 'Budget XLSX Report' + + @api.model + def generate_xlsx_report(self, workbook, data, objs): + docs = self.env['report.account_budget_custom.budget_report'].get_result(data) + if docs: + title = _("الموازنات") + sheet = workbook.add_worksheet('الموازنات') + sheet.right_to_left() + format1 = workbook.add_format( + {'bottom': True, 'right': True, 'left': True, 'top': True, 'align': 'center', }) + format2 = workbook.add_format( + {'font_size': 14, 'bottom': True, 'right': True, 'left': True, 'top': True, 'align': 'center', + 'bold': True}) + format5 = workbook.add_format( + {'font_size': 14, 'bottom': True, 'right': True, 'left': True, 'top': True, 'align': 'center', + 'bold': True, 'fg_color': '#dcdcdc'}) + format2.set_align('center') + sheet.set_column('C:L', 15) + row = 10 + i, n, c = 1, 1, 1 + for line in docs: + clm = 2 + for le in line['labels'][0]: + if i > 1: + break + else: + clm += 1 + sheet.write(row, clm, le, format5) + c += 1 + i += 1 + row += 1 + clm = 2 + sheet.write(row, clm + 1, line['crossovered_budget_id'], format1) + sheet.write(row, clm + 2, line['general_budget_id'], format1) + sheet.write(row, clm + 3, line['date_from'], format1) + sheet.write(row, clm + 4, line['date_to'], format1) + sheet.write(row, clm + 5, line['planned_amount'], format1) + sheet.write(row, clm + 6, line['practical_amount'], format1) + sheet.write(row, clm + 7, line['theoritical_amount'], format1) + sheet.write(row, clm + 8, line['percentage'], format1) + + n += 1 diff --git a/odex25_accounting/account_budget_custom/reports/reports.xml b/odex25_accounting/account_budget_custom/reports/reports.xml new file mode 100644 index 000000000..d6d9eb532 --- /dev/null +++ b/odex25_accounting/account_budget_custom/reports/reports.xml @@ -0,0 +1,10 @@ + + + + diff --git a/odex25_accounting/account_budget_custom/security/budget_groups.xml b/odex25_accounting/account_budget_custom/security/budget_groups.xml new file mode 100644 index 000000000..80ba9d059 --- /dev/null +++ b/odex25_accounting/account_budget_custom/security/budget_groups.xml @@ -0,0 +1,26 @@ + + + + + Budget User + + + + + + Budget Department Manager + + + + + + + + Budget Executive Director + + + + + + diff --git a/odex25_accounting/account_budget_custom/security/ir.model.access.csv b/odex25_accounting/account_budget_custom/security/ir.model.access.csv new file mode 100644 index 000000000..943ee9b75 --- /dev/null +++ b/odex25_accounting/account_budget_custom/security/ir.model.access.csv @@ -0,0 +1,9 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_budget_confirmation,account.budget.confirmation,model_budget_confirmation,account.group_account_readonly,1,0,0,0 +access_account_budget_confirmation_accountant,account.budget.confirmation accountant,model_budget_confirmation,account.group_account_user,1,1,1,1 +access_account_budget_confirmation_line,account.budget.confirmation.line,model_budget_confirmation_line,account.group_account_readonly,1,0,0,0 +access_account_budget_confirmation_line_accountant,account.budget.confirmation.line accountant,model_budget_confirmation_line,account.group_account_user,1,1,1,1 +access_account_budget_operation,account.budget.operation,model_budget_operations,account.group_account_readonly,1,0,0,0 +access_account_budget_operation_accountant,account.budget.operation accountant,model_budget_operations,account.group_account_user,1,1,1,1 + +access_reject_wizard_user,reject.wizard group_account_user,model_reject_wizard,account.group_account_user,1,1,1,1 \ No newline at end of file diff --git a/odex25_accounting/account_budget_custom/static/description/icon.png b/odex25_accounting/account_budget_custom/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWKOZ3Gor^zWx37scOI^@2$7K^{xMU-&+4$ zoUXdlIs5G2p3Xk!UKnSLCGbaOjpq#+I*idie=$Z!&l_{$*qy^d$FSd%G4JqsV=o?j zZ_%}do?$r5{4ovONSS{)gM6S5zs`Q%4j~6p`_A%74Vfy?T zb3ecG&yV3&+%GPiF?Hd57QlzU7({*Mj5&*^e{<{)?=qITgYmJ!nN4#S1zyl_E_^y; z<;P|=Pi^{C)Bb?E=1}`HaljoKsKWkM>{ra3d)1;L?>@erF=aT~PtR_?a^C)nf01VV z9?%oLY)zP{popA=Qbby%R^@}zU?OTr)+-f z!mIu;=;^JDKlwOg)};AYHqZZjamh%=2Hb)3)3dx~uRSsUtqoJ0fq!EqAQjv5e|dZy zeZLrXNBK9m=Z8iH=3+M}ucs5hBrvxfJP*C#-|XKU8hPRjoy7)va1H)`4(<#EmI`xO zh7|zTFxnM3tEl<>4yG|xJ5PO!F@JFOTN%q%D$|*w=(^B!O;OYpEdAsjmOdZVO7g}` zyl5=yO8f14%#ZQ=0&~TeICoA4f7EL2J$$8^P~T?L@rx<9WQ*v>li~@sPk)AO(vs|n zz>p`Zm3{GP79z@{tTu=8k+;u0dJad8T@hor&LP2G-*o zj;rrv@1yI)udrXh7K(oCOq}bduIxOnA7rKKjVzCTtNqwTS`yH1=Rx|W_GQ1(cj`Cw zxvNh^Khg9r3uq+zPA!tYHJwNC9Y%?E(MI&0T8OSw3;I3)AN<~= zO<-q2s0*@%{Y7P*&XbHB3@V+!0neNCZR|H)Sjzq+JHOWYfRE*DrnZB*`sJ)a8w|em zV720HwoJUrF4rGq%K|GUT_Xv9l0A8E9y<%|mdoGkSs(Rtwh85B$j3W4&Q9-6Uxhwk@KnG{sFjtH_9Zn zl1&P|02v}#B>C(5#&0QqHEbfjr_ygJZzOY6fK^u^98l-WC_7NzLwN&yy9M7z@Li7Y zqxc?)@0YbnY`n68^&*)ixgq&fAtNLo`qgZKlr7LM`!EyqKt8Eo`ZK&hG_Z9jlTexh zFSB*I(nR_qWf3%X)l0HPa^3Y!=X3hITT6Bx11d(5N%XYcSG*nEwDvt{&$vA zo?}g-oHZ#|u_pd4e*ZoDt-g!zn^}_<$GN{{zv;I+?PO8D!Z{T2LAC@qXh#WNpDjAR zsi@5;jkpG$MGxcmy{K=y)d{>|p@l7lyk3Ghc zd^jr>F8d40A(X`^7RpahZbTW0l7~`>(uy)v)Us;v0@`{J^xTN=Tz{2Jwyz3krhbd3 zvitmX(1QM}!$H^YU{4=}Z3i#-t2sV&!|`Wu{7w|`MqGNz@mF!I4YCbhX}C^QVjssO z-{#>MyolB>w?8GfKPb0P_0W0jOTMnm@fY93W3}w$H}P2~o_&IQpM`(w+W!>$PeX?Y zgCV%)GVt8{hy4VO5jGRh-Y~S+`ycizPzNxRZRW$ao`-$H@0VyVw@)}~?KlR{DOTe= zFjZ$@|KjXE;TxO}d5B;iZ4lPb=O$$b`Zg8EfIIAKllUWk@5gz_0P#q93g_=fAw1GJ zb{fvZgOh9!J|rLNDttpmpaV_HN4WOKINyQ&|3E>V>M@l2QNGT8Ym7CKcP`|d7ykcb z``<$-DEUWXiX;=WfB#SNv#3yh;2vVY^DV>Fm=LNO)QzB`s#;KB(@$(d1cO1%2+*bn zf~p$OLqYrs=z1_<;IAswpr#?}(lo?gxK$XshQpewYx0D^h1h}t+Uwe6BXWmY!tJsc zhM{ReBY-A@IHCu14GrQLsMGOJH_&h(WN0`9!cT<>3-^nzrck*+ zU785s52`^QR5TPI0t5KqW+EP&sv&d~s!&u#Q*e{)6R{>33I%YXN;Rm|O&V!AbW*Ffx2qG#1B%~*? zgz%r-K&r%&Bmx)buq0W_VTm51r?Svp#0�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 literal 0 HcmV?d00001 diff --git a/odex25_accounting/account_budget_custom/static/src/css/website_rtl.css b/odex25_accounting/account_budget_custom/static/src/css/website_rtl.css new file mode 100644 index 000000000..85347c670 --- /dev/null +++ b/odex25_accounting/account_budget_custom/static/src/css/website_rtl.css @@ -0,0 +1,22 @@ +@media (min-width: 768px){ + .rtl .navbar-right{ + float: left !important; + } + .rtl .navbar-right .dropdown .dropdown-menu{ + right: auto !important; + left: 0 !important; + } + .rtl .navbar-left{ + float: right !important; + } + .rtl .navbar-left .dropdown .dropdown-menu{ + left: auto !important; + right: 0 !important; + } + .navbar-nav.navbar-right:last-child{ + margin-left: auto; + } + .rtl .pull-left{ + float: right !important; + } +} diff --git a/odex25_accounting/account_budget_custom/views/account_budget_views.xml b/odex25_accounting/account_budget_custom/views/account_budget_views.xml new file mode 100644 index 000000000..285c6ffed --- /dev/null +++ b/odex25_accounting/account_budget_custom/views/account_budget_views.xml @@ -0,0 +1,114 @@ + + + + crossovered.budget.view.inherit.form + crossovered.budget + + + + + + + + + + {'required':True} + + + {'required':True} + + + 1 + + + 1 + + + + + + + + + + + + + + + + + + + +

    + +
    + + - + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + + hr_expense_petty_cash.group_assets_manager + + + hr_expense_petty_cash.group_assets_manager + + + hr_expense_petty_cash.group_assets_manager + + + hr_expense_petty_cash.group_assets_manager + + + + + + + + + + + + + + + +
    + + + +
    +
    +
    + + + + account.asset.asset.inherit.kanban + account.asset + 1 + + + + + + + + + + + + +
    +
    +
    + +
    +
    +
    + + + + + +
    +
    +
    + +
    +
    + + + + + +
    +
    + + + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + + + account.asset.inherit.tree + account.asset + 1 + + + + + + + + + + + + + Assets + account.asset + [('asset_type', '=', 'purchase'), ('state', '!=', 'model'), ('parent_id', '=', False)] + + {'asset_type': 'purchase', 'default_asset_type': 'purchase'} + + + + + + account.asset.pivot + account.asset + + + + + + + + + + + + account.asset.graph + account.asset + + + + + + + + + + + + Assets Analysis + graph,pivot + + account.asset + + + + + account.asset.depreciation.pivot + account.move + + + + + + + + + + + account.asset.graph + account.move + + + + + + + + + + + Depreciation Analysis + graph,pivot + + account.move + [('asset_id', '!=', False)] + + diff --git a/odex25_accounting/exp_asset_base/views/asset_modify_views.xml b/odex25_accounting/exp_asset_base/views/asset_modify_views.xml new file mode 100644 index 000000000..905e4d886 --- /dev/null +++ b/odex25_accounting/exp_asset_base/views/asset_modify_views.xml @@ -0,0 +1,81 @@ + + + + + account.asset.modify.tree + account.asset.modify + + + + + + + + + + + + + account.asset.modify.form + account.asset.modify + +
    +
    +
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + +
    +
    + + + +
    +
    +
    +
    + + + Asset Modification + account.asset.modify + tree,form + + + + +
    diff --git a/odex25_accounting/exp_asset_base/views/asset_pause_views.xml b/odex25_accounting/exp_asset_base/views/asset_pause_views.xml new file mode 100644 index 000000000..7efcef39f --- /dev/null +++ b/odex25_accounting/exp_asset_base/views/asset_pause_views.xml @@ -0,0 +1,56 @@ + + + + + asset.pause.tree + asset.pause + + + + + + + + + + + asset.pause.form + asset.pause + +
    +
    +
    + + + + + + + + +
    + + + +
    +
    +
    +
    + + + Asset Pause + asset.pause + tree,form + + + + +
    diff --git a/odex25_accounting/exp_asset_base/views/asset_sell_views.xml b/odex25_accounting/exp_asset_base/views/asset_sell_views.xml new file mode 100644 index 000000000..f3264b72e --- /dev/null +++ b/odex25_accounting/exp_asset_base/views/asset_sell_views.xml @@ -0,0 +1,65 @@ + + + + + asset.sell.tree + asset.sell + + + + + + + + + + + asset.sell.form + asset.sell + +
    +
    +
    + + + + + + + + + + + + + + + + + +
    + + + +
    +
    +
    +
    + + + Asset Sell + asset.sell + tree,form + + + + +
    diff --git a/odex25_accounting/exp_asset_base/views/menus.xml b/odex25_accounting/exp_asset_base/views/menus.xml new file mode 100644 index 000000000..f0fffe2ea --- /dev/null +++ b/odex25_accounting/exp_asset_base/views/menus.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/odex25_accounting/exp_asset_custody/__init__.py b/odex25_accounting/exp_asset_custody/__init__.py new file mode 100644 index 000000000..fca4a5f23 --- /dev/null +++ b/odex25_accounting/exp_asset_custody/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# © Copyright (C) 2021 Expert Co. Ltd() + +from . import models \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody/__manifest__.py b/odex25_accounting/exp_asset_custody/__manifest__.py new file mode 100644 index 000000000..62cb593a2 --- /dev/null +++ b/odex25_accounting/exp_asset_custody/__manifest__.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# © 2016 ACSONE SA/NV () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + 'name': 'Asset Custody Management', + 'summary': 'Custody Operations for Asset', + 'description': ''' +Manage Assets transfer between locations, departments and employees + ''', + 'version': '1.0.0', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': 'Expert Co. Ltd.', + 'website': 'http://www.exp-sa.com', + 'license': 'AGPL-3', + 'application': False, + 'installable': True, + 'depends': [ + 'exp_asset_base' + ], + 'data': [ + 'data/asset_data.xml', + 'security/ir.model.access.csv', + 'views/account_asset_view.xml', + 'views/account_asset_adjustment_view.xml', + 'views/account_asset_custody_multi_operation.xml', + 'views/account_asset_custody_operation_view.xml', + 'reports/asset_adjustment_report.xml', + 'views/menus.xml' + ], +} diff --git a/odex25_accounting/exp_asset_custody/data/asset_data.xml b/odex25_accounting/exp_asset_custody/data/asset_data.xml new file mode 100644 index 000000000..efe41aa57 --- /dev/null +++ b/odex25_accounting/exp_asset_custody/data/asset_data.xml @@ -0,0 +1,34 @@ + + + + + Asset Operation Sequence + asset.operation.seq + ASS OP/%(range_year)s/ + + + + + 6 + + + Asset Multi Operation Sequence + asset.multi.operation.seq + ASS MOP/%(range_year)s/ + + + + + 6 + + + good + + + scarp + + + available + + + \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody/i18n/ar.po b/odex25_accounting/exp_asset_custody/i18n/ar.po new file mode 100644 index 000000000..471aba82a --- /dev/null +++ b/odex25_accounting/exp_asset_custody/i18n/ar.po @@ -0,0 +1,878 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * exp_asset_custody +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0+e-20210105\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-19 04:38+0000\n" +"PO-Revision-Date: 2021-05-19 04:38+0000\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: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset__asset_operation_count +msgid "# Done Operations" +msgstr "العمليات المعتمدة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_needaction +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_needaction +msgid "Action Needed" +msgstr "إجراء مطلوب" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__activity_ids +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__activity_ids +msgid "Activities" +msgstr "الأنشطة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__activity_exception_decoration +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "زخرفة استثناء النشاط" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__activity_state +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__activity_state +msgid "Activity State" +msgstr "حالة النشاط" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__activity_type_icon +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__activity_type_icon +msgid "Activity Type Icon" +msgstr "أيقونة نوع النشاط" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__amount +msgid "Amount" +msgstr "المبلغ" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__asset_id +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Asset" +msgstr "الأصل" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Asset Account" +msgstr "حساب الأصل" + +#. module: exp_asset_custody +#: model:ir.actions.report,name:exp_asset_custody.action_asset_adjustment_report +#: model:ir.model,name:exp_asset_custody.model_account_asset_adjustment +msgid "Asset Adjustment" +msgstr "جرد الأصول" + +#. module: exp_asset_custody +#: model:ir.model,name:exp_asset_custody.model_account_asset_multi_operation +msgid "Asset Multi Operation" +msgstr "العمليات المتعددة" + +#. module: exp_asset_custody +#: code:addons/exp_asset_custody/models/account_asset.py:0 +#, python-format +msgid "Asset Operations" +msgstr "عمليات الأصول" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Asset Operations in done state" +msgstr "العمليات المعتمدة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__asset_status +msgid "Asset Status" +msgstr "حالة العهد" + +#. module: exp_asset_custody +#: model:ir.model,name:exp_asset_custody.model_account_asset +msgid "Asset/Revenue Recognition" +msgstr "أصل/ إيرادات مقدمة" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +msgid "Assets Adjustment Report" +msgstr "تقرير جرد الأصول" + +#. module: exp_asset_custody +#: model:ir.actions.act_window,name:exp_asset_custody.action_account_asset_assignment +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_assignment_form +msgid "Assets Assignment" +msgstr "إسناد عهدة" + +#. module: exp_asset_custody +#: model:ir.ui.menu,name:exp_asset_custody.menu_account_asset_operation_main +msgid "Assets Operations" +msgstr "عمليات الأصول" + +#. module: exp_asset_custody +#: model:ir.actions.act_window,name:exp_asset_custody.action_account_asset_release +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_release_form +msgid "Assets Release" +msgstr "إرجاع عهدة" + +#. module: exp_asset_custody +#: model:ir.actions.act_window,name:exp_asset_custody.action_account_asset_transfer +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_transfer_form +msgid "Assets Transfer" +msgstr "نقل العهدة" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset__status__assigned +msgid "Assigned" +msgstr "مسند" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_multi_operation__type__assignment +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__type__assignment +#: model:ir.ui.menu,name:exp_asset_custody.menu_account_asset_assignment +#: model:ir.ui.menu,name:exp_asset_custody.menu_account_multi_asset_assignment +msgid "Assignment" +msgstr "أسناد" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_assignment_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +msgid "Assignment Info" +msgstr "معلومات الإسناد" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_attachment_count +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_attachment_count +msgid "Attachment Count" +msgstr "عدد المرفقات" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__barcode +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__barcode +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Barcode" +msgstr "باركود" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation___barcode_scanned +msgid "Barcode Scanned" +msgstr "باركود" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_assignment_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_release_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_transfer_form +msgid "Barcode..." +msgstr "الباركود..." + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_adjustment__type__department +msgid "By Department" +msgstr "الإدارة" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_adjustment__type__employee +msgid "By Employee" +msgstr "الموظف" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_adjustment__type__location +msgid "By Location" +msgstr "الموقع" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_multi_operation__state__cancel +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__state__cancel +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_assignment_tree +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_release_tree +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_transfer_tree +msgid "Cancel" +msgstr "إلغاء" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_assignment_tree +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_assignment_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_release_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_transfer_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_release_tree +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_transfer_tree +msgid "Confirm" +msgstr "تأكيد" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__create_uid +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__create_date +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +msgid "Current" +msgstr "الحالي" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset__department_id +msgid "Current Department" +msgstr "الإدارة الحالية" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset__employee_id +msgid "Current Employee" +msgstr "الموظف الحالي" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +msgid "Current Info" +msgstr "المعلومات الحالية" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_form +msgid "Custody Info" +msgstr "معلومات العهدة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset__custody_period +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__custody_period +msgid "Custody Period" +msgstr "فترة العهدة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset__custody_type +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__custody_type +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_search +msgid "Custody Type" +msgstr "نوع العهدة" + +#. module: exp_asset_custody +#: model:ir.ui.menu,name:exp_asset_custody.menu_account_asset_custody_operation +msgid "Custody operations" +msgstr "عمليات العهد" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__date +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__date +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Date" +msgstr "التاريخ" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +msgid "Date:" +msgstr "التاريخ:" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_adjustment__department_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__new_department_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__current_department_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__new_department_id +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_search +msgid "Department" +msgstr "الإدارة" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +msgid "Description:" +msgstr "الوصف:" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset__display_name +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_adjustment__display_name +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__display_name +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_multi_operation__state__done +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__state__done +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Done" +msgstr "المنتهية" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_multi_operation__state__draft +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__state__draft +msgid "Draft" +msgstr "مسودة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_adjustment__employee_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__new_employee_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__current_employee_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__new_employee_id +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_search +msgid "Employee" +msgstr "الموظف" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_follower_ids +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_follower_ids +msgid "Followers" +msgstr "المتابعون" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_channel_ids +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_channel_ids +msgid "Followers (Channels)" +msgstr "المتابعون (القنوات)" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_partner_ids +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_partner_ids +msgid "Followers (Partners)" +msgstr "المتابعون (الشركاء)" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__activity_type_icon +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset__custody_type__general +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__custody_type__general +msgid "General" +msgstr "عام" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__asset_status__good +msgid "Good" +msgstr "جيد" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Group By..." +msgstr "تجميع بـ..." + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset__id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_adjustment__id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__id +msgid "ID" +msgstr "المُعرف" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__activity_exception_icon +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__activity_exception_icon +msgid "Icon" +msgstr "الأيقونة" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__activity_exception_icon +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "الأيقونة للإشارة إلى استثناء النشاط" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__message_needaction +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__message_unread +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__message_needaction +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__message_unread +msgid "If checked, new messages require your attention." +msgstr "إذا كان محددًا، فهناك رسائل جديدة تحتاج لرؤيتها." + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__message_has_error +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__message_has_sms_error +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__message_has_error +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "إذا كان محددًا، فقد حدث خطأ في تسليم بعض الرسائل." + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_multi_operation__state__in_progress +msgid "In Progress" +msgstr "جاري" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_is_follower +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_is_follower +msgid "Is Follower" +msgstr "متابع" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset____last_update +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_adjustment____last_update +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation____last_update +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__write_uid +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__write_date +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_adjustment__location_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__new_location_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__current_location_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__new_location_id +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_search +msgid "Location" +msgstr "الموقع" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_main_attachment_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_main_attachment_id +msgid "Main Attachment" +msgstr "المرفقات" + +#. module: exp_asset_custody +#: code:addons/exp_asset_custody/models/account_asset_multi_operation.py:0 +#, python-format +msgid "Make sure you choose an asset in all operation line." +msgstr "" + +#. module: exp_asset_custody +#: code:addons/exp_asset_custody/models/account_asset_multi_operation.py:0 +#, python-format +msgid "Make sure you choose custody period for all operation lines." +msgstr "الرجاء التاكد من إدخال فترة العهدة في جميع العمليات." + +#. module: exp_asset_custody +#: code:addons/exp_asset_custody/models/account_asset_multi_operation.py:0 +#, python-format +msgid "Make sure you choose custody type for all operation lines." +msgstr "الرجاء التاكد من إدخال نوع العهدة في جميع العمليات." + +#. module: exp_asset_custody +#: code:addons/exp_asset_custody/models/account_asset_multi_operation.py:0 +#, python-format +msgid "Make sure you enter the return date for all temporary custodies." +msgstr "الرجاء التاكد من إدخال تاريخ الإرجاع للعهد المؤقتة." + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__manual +msgid "Manual" +msgstr "يدوي" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_has_error +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_has_error +msgid "Message Delivery error" +msgstr "خطأ في تسليم الرسائل" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_ids +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_ids +msgid "Messages" +msgstr "الرسائل" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +msgid "Missing Assets:" +msgstr "الأصول المفقودة:" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__model_id +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Model" +msgstr "النموذج" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__multi_operation_id +msgid "Multi Operation" +msgstr "العمليات المتعددة" + +#. module: exp_asset_custody +#: model:ir.actions.act_window,name:exp_asset_custody.action_multi_asset_assignment +msgid "Multiple Assignment" +msgstr "إسناد العهد" + +#. module: exp_asset_custody +#: model:ir.actions.act_window,name:exp_asset_custody.action_multi_asset_release +msgid "Multiple Release" +msgstr "إرجاع العهد" + +#. module: exp_asset_custody +#: model:ir.actions.act_window,name:exp_asset_custody.action_multi_asset_transfer +msgid "Multiple Transfer" +msgstr "نقل العهد" + +#. module: exp_asset_custody +#: model:ir.ui.menu,name:exp_asset_custody.menu_account_asset_multi_operation +msgid "Multiple operations" +msgstr "العمليات المتعددة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__name +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__name +msgid "Name" +msgstr "الإسم" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_transfer_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +msgid "New" +msgstr "جديد" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_transfer_tree +msgid "New Department" +msgstr "الإدارة الجديدة" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_transfer_tree +msgid "New Employee" +msgstr "الموظف الجديد" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_transfer_tree +msgid "New Location" +msgstr "الموقع الجديد" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__activity_date_deadline +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "الموعد النهائي للنشاط التالي" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__activity_summary +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__activity_summary +msgid "Next Activity Summary" +msgstr "ملخص النشاط التالي" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__activity_type_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__activity_type_id +msgid "Next Activity Type" +msgstr "نوع النشاط التالي" + +#. module: exp_asset_custody +#: code:addons/exp_asset_custody/models/account_asset_multi_operation.py:0 +#, python-format +msgid "No asset found with the selected barcode" +msgstr "لم يتم العثور على أصل لهذا الباركود" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__note +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__note +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +msgid "Note" +msgstr "ملاحظة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_needaction_counter +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_needaction_counter +msgid "Number of Actions" +msgstr "عدد الإجراءات" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset__asset_operation_count +msgid "Number of done asset operations" +msgstr "" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_has_error_counter +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_has_error_counter +msgid "Number of errors" +msgstr "عدد الاخطاء" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__message_needaction_counter +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "عدد الرسائل التي تتطلب إجراء" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__message_has_error_counter +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "عدد الرسائل الحادث بها خطأ في التسليم" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__message_unread_counter +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__message_unread_counter +msgid "Number of unread messages" +msgstr "عدد الرسائل الجديدة" + +#. module: exp_asset_custody +#: code:addons/exp_asset_custody/models/account_asset_operation.py:0 +#, python-format +msgid "Only draft operations can be deleted." +msgstr "لا يمكن حذف العملية الا في الحالة مبدئية" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__operation_ids +msgid "Operation" +msgstr "عملية" + +#. module: exp_asset_custody +#: model:ir.actions.act_window,name:exp_asset_custody.action_account_asset_operation_analysis +#: model:ir.ui.menu,name:exp_asset_custody.menu_account_operation_graph +msgid "Operation Analysis" +msgstr "تحليل العمليات" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_form +msgid "Operations" +msgstr "العمليات" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__state__pending +msgid "Pending" +msgstr "معلق" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset__custody_period__permanent +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__custody_period__permanent +msgid "Permanent" +msgstr "دائمة" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset__custody_type__personal +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__custody_type__personal +msgid "Personal" +msgstr "شخصية" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__product_id +msgid "Product" +msgstr "المنتج" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset__purpose +msgid "Purpose" +msgstr "الغرض" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_assignment_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_release_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_transfer_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +msgid "Reject" +msgstr "رفض" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_multi_operation__type__release +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__type__release +#: model:ir.ui.menu,name:exp_asset_custody.menu_account_asset_release +#: model:ir.ui.menu,name:exp_asset_custody.menu_account_multi_asset_release +msgid "Release" +msgstr "إرجاع" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_release_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +msgid "Release Info" +msgstr "معلومات الإرجاع" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_release_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_release_tree +msgid "Release Location" +msgstr "موقع الإرجاع" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__user_id +msgid "Responsible" +msgstr "المسئول" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__responsible_department_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__department_id +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Responsible Department" +msgstr "الإدارة المسئولة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__activity_user_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__responsible_user_id +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__activity_user_id +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Responsible User" +msgstr "الموظف المسئول" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset__return_date +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__return_date +msgid "Return Date" +msgstr "تاريخ الإرجاع" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_has_sms_error +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_has_sms_error +msgid "SMS Delivery error" +msgstr "خطأ في تسليم الرسائل القصيرة" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset__status__scrap +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__asset_status__scrap +msgid "Scrap" +msgstr "تالف" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +msgid "Serial No" +msgstr "المتسلسل" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_assignment_tree +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_assignment_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_release_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_transfer_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_release_tree +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_transfer_tree +msgid "Set to Draft" +msgstr "تعيين كمسودة" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_assignment_tree +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_release_tree +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_transfer_tree +msgid "Setup" +msgstr "الإعداد" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +msgid "Signatures:" +msgstr "" + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_assignment_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_release_form +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_multi_transfer_form +msgid "Start" +msgstr "بدأ" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__state +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__state +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "State" +msgstr "الحالة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset__status +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +msgid "Status" +msgstr "الحالة" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__activity_state +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "الأنشطة المستقبيلة" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__state__submit +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_assignment_tree +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_form +msgid "Submit" +msgstr "إرسال" + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset__custody_period__temporary +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__custody_period__temporary +msgid "Temporary" +msgstr "مؤقتة" + +#. module: exp_asset_custody +#: code:addons/exp_asset_custody/models/account_asset.py:0 +#, python-format +msgid "The period of %s is finished %s." +msgstr "فترة %s قد إنتهت %s." + +#. module: exp_asset_custody +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_multi_operation__type__transfer +#: model:ir.model.fields.selection,name:exp_asset_custody.selection__account_asset_operation__type__transfer +#: model:ir.ui.menu,name:exp_asset_custody.menu_account_asset_transfer +#: model:ir.ui.menu,name:exp_asset_custody.menu_account_multi_asset_transfer +msgid "Transfer" +msgstr "نقل" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_adjustment__type +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__type +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__type +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.view_account_asset_operation_search +msgid "Type" +msgstr "النوع" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__activity_exception_decoration +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "نوع النشاط الاستثنائي المسجل." + +#. module: exp_asset_custody +#: model_terms:ir.ui.view,arch_db:exp_asset_custody.asset_adjustment_report +msgid "Type:" +msgstr "النوع:" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_unread +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_unread +msgid "Unread Messages" +msgstr "الرسائل الجديدة" + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__message_unread_counter +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__message_unread_counter +msgid "Unread Messages Counter" +msgstr "عدد الرسائل الجديدة" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "قيمة آخر باركود ممسوح ضوئيًا." + +#. module: exp_asset_custody +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_multi_operation__website_message_ids +#: model:ir.model.fields,field_description:exp_asset_custody.field_account_asset_operation__website_message_ids +msgid "Website Messages" +msgstr "رسائل الموقع" + +#. module: exp_asset_custody +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_multi_operation__website_message_ids +#: model:ir.model.fields,help:exp_asset_custody.field_account_asset_operation__website_message_ids +msgid "Website communication history" +msgstr "سجل تواصل الموقع" + +#. module: exp_asset_custody +#: code:addons/exp_asset_custody/models/account_asset_multi_operation.py:0 +#, python-format +msgid "You can not confirm operation without lines." +msgstr "لا يمكن تأكيد العملية دون إدخال التفاصيل" + +#. module: exp_asset_custody +#: model:ir.model,name:exp_asset_custody.model_account_asset_operation +msgid "account.asset.operation" +msgstr "" diff --git a/odex25_accounting/exp_asset_custody/models/__init__.py b/odex25_accounting/exp_asset_custody/models/__init__.py new file mode 100644 index 000000000..0cdea784a --- /dev/null +++ b/odex25_accounting/exp_asset_custody/models/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- +# © Copyright (C) 2021 Expert Co. Ltd() + +from . import account_asset +from . import account_asset_operation +from . import account_asset_adjustment +from . import account_asset_multi_operation \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody/models/account_asset.py b/odex25_accounting/exp_asset_custody/models/account_asset.py new file mode 100644 index 000000000..0b946b9f4 --- /dev/null +++ b/odex25_accounting/exp_asset_custody/models/account_asset.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +# © Copyright (C) 2021 Expert Co. Ltd() + +from odoo import models, fields, api, _ + + +class AccountAssetAsset(models.Model): + _inherit = 'account.asset' + + custody_type = fields.Selection( + selection=[('personal', 'Personal'), ('general', 'General')], + ) + custody_period = fields.Selection( + selection=[('temporary', 'Temporary'), ('permanent', 'Permanent')], + ) + purpose = fields.Html() + return_date = fields.Date() + department_id = fields.Many2one( + comodel_name='hr.department', + string='Current Department' + ) + employee_id = fields.Many2one( + comodel_name='hr.employee', + string='Current Employee' + ) + status = fields.Selection( + selection_add=[('assigned', 'Assigned'), ('scrap', 'Scrap')] + ) + asset_operation_count = fields.Integer( + compute='_asset_operation_count', + string='# Done Operations', + help="Number of done asset operations" + ) + + def _asset_operation_count(self): + for asset in self: + asset.asset_operation_count = len( + self.env['account.asset.operation'].search([('asset_id', '=', asset.id), ('state', '=', 'done')])) + + def open_asset_operation(self): + return { + 'name': _('Asset Operations'), + 'view_type': 'form', + 'view_mode': 'tree,form', + 'res_model': 'account.asset.operation', + 'type': 'ir.actions.act_window', + 'domain': [('asset_id', '=', self.id)], + 'view_id': self.env.ref('exp_asset_custody.view_account_asset_operation_tree').id, + 'views': [(self.env.ref('exp_asset_custody.view_account_asset_operation_tree').id, 'tree'), + (self.env.ref('exp_asset_custody.view_account_asset_operation_form').id, 'form')], + 'context': {'active_model': False, 'search_default_done': True}, + 'flags': {'search_view': True, 'action_buttons': False}, + } + + @api.model + def _asset_cron(self): + super(AccountAssetAsset, self)._asset_cron() + today = fields.Date.today() + for asset in self.search([('return_date', '=', today)]): + self.env['mail.activity'].sudo().create({ + 'res_model_id': self.env.ref('account_asset.model_account_asset_asset').id, + 'res_id': asset.id, + 'user_id': asset.responsible_user_id.id, + 'activity_type_id': self.env.ref('mail.mail_activity_data_todo').id, + 'summary': _('The period of %s is finished %s.') % (asset.name, asset.return_date), + 'date_deadline': asset.return_date, + }) \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody/models/account_asset_adjustment.py b/odex25_accounting/exp_asset_custody/models/account_asset_adjustment.py new file mode 100644 index 000000000..3978758f4 --- /dev/null +++ b/odex25_accounting/exp_asset_custody/models/account_asset_adjustment.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# © Copyright (C) 2021 Expert Co. Ltd() + +from odoo import api, fields, models, exceptions, _ + + +class AccountAssetAdjustment(models.Model): + _inherit = 'account.asset.adjustment' + + type = fields.Selection( + selection_add=[('department', 'By Department'), + ('employee', 'By Employee'), + ('location', 'By Location')], + states={'draft': [('readonly', False)]}, + readonly=True, + ) + department_id = fields.Many2one( + comodel_name='hr.department', + states={'draft': [('readonly', False)]}, + readonly=True, + ) + employee_id = fields.Many2one( + comodel_name='hr.employee', + states={'draft': [('readonly', False)]}, + readonly=True, + ) + location_id = fields.Many2one( + comodel_name='account.asset.location', + states={'draft': [('readonly', False)]}, + readonly=True, + ) + + def build_domain(self): + return self.type == 'employee' and [('employee_id', '=', self.employee_id.id)] or \ + (self.type == 'department' and [('department_id', '=', self.department_id.id)]) or \ + (self.type == 'location' and [('location_id', '=', self.location_id.id)]) or \ + super(AccountAssetAdjustment, self).build_domain() + + @api.onchange('type') + def onchange_type(self): + self.employee_id = False + self.department_id = False + self.location_id = False + super(AccountAssetAdjustment, self).onchange_type() diff --git a/odex25_accounting/exp_asset_custody/models/account_asset_multi_operation.py b/odex25_accounting/exp_asset_custody/models/account_asset_multi_operation.py new file mode 100644 index 000000000..2d45e740a --- /dev/null +++ b/odex25_accounting/exp_asset_custody/models/account_asset_multi_operation.py @@ -0,0 +1,150 @@ +# -*- coding: utf-8 -*- +# © Copyright (C) 2021 Expert Co. Ltd() + +from odoo import models, fields, api, exceptions, _ + +class AccountAssetMultiOperation(models.Model): + _name = 'account.asset.multi.operation' + _description = 'Asset Multi Operation' + _inherit = ['mail.thread', 'mail.activity.mixin', 'barcodes.barcode_events_mixin'] + + name = fields.Char( + states={'draft': [('readonly', False)]}, + default='/', readonly=True + ) + date = fields.Date( + default=fields.Date.context_today, + index=True, copy=False, readonly=True, required=True, + states={'draft': [('readonly', False)]} + ) + type = fields.Selection( + selection=[('assignment', 'Assignment'), + ('release', 'Release'), + ('transfer', 'Transfer')], + states={'draft': [('readonly', False)]}, + readonly=True, required=True + ) + barcode = fields.Char( + states={'in_progress': [('readonly', False)]}, + readonly=True, + ) + responsible_user_id = fields.Many2one( + comodel_name='res.users', + default=lambda self: self.env.user, + states={'draft': [('readonly', False)]}, + readonly=True, required=True + ) + responsible_department_id = fields.Many2one( + comodel_name='hr.department', + ) + new_employee_id = fields.Many2one( + comodel_name='hr.employee', + states={'draft': [('readonly', False)]}, + readonly=True, string='Employee', + ) + new_department_id = fields.Many2one( + comodel_name='hr.department', + states={'draft': [('readonly', False)]}, + readonly=True, string='Department', + ) + new_location_id = fields.Many2one( + comodel_name='account.asset.location', + states={'draft': [('readonly', False)]}, + readonly=True, string='Location', + ) + manual = fields.Boolean() + note = fields.Text( + states={'draft': [('readonly', False)]}, + readonly=True, required=True + ) + state = fields.Selection( + selection=[('draft', 'Draft'), + ('in_progress', 'In Progress'), + ('done', 'Done'), + ('cancel', 'Cancel')], + required=True, default='draft' + ) + operation_ids = fields.One2many( + 'account.asset.operation', 'multi_operation_id', + states={'in_progress': [('readonly', False)]}, + readonly=False, + ) + + @api.model + def create(self, values): + values['name'] = self.env['ir.sequence'].with_context( + ir_sequence_date=values['date']).next_by_code('asset.multi.operation.seq') + return super(AccountAssetMultiOperation, self).create(values) + + def act_progress(self): + self.state = 'in_progress' + + def act_confirm(self): + if not self.operation_ids: + raise exceptions.Warning(_('You can not confirm operation without lines.')) + for opt in self.operation_ids: + self.check_required_fields(opt) + opt.act_confirm() + self.state = 'done' + + def act_reject(self): + self.state = 'cancel' + + def act_draft(self): + self.state = 'draft' + + def get_asset_domain(self): + if self.type == 'assignment': + return [('status', 'in', ['new','available'])] + elif self.type in ['transfer', 'release']: + return [('status', 'in', ['assigned'])] + return [('status', 'in', ['new', 'available', 'assigned', 'scrap'])] + + @api.onchange('new_employee_id') + def onchange_new_employee(self): + self.new_department_id = self.new_employee_id.department_id.id + + @api.onchange('barcode') + def onchange_barcode(self): + self.on_barcode_scanned(self.barcode) + + def on_barcode_scanned(self, barcode): + if barcode: + operation_vals = self.get_operation_vals() + domain = self.get_asset_domain() + assets = self.barcode and self.env['account.asset'].search(domain + [('barcode', '=', barcode)]) + self.barcode = False + if not assets: + raise exceptions.Warning(_('No asset found with the selected barcode')) + for s in assets: + operation_vals.update({ + 'asset_id': s.id, + 'current_employee_id': s.employee_id.id, + 'current_department_id': s.department_id.id, + 'current_location_id': s.location_id.id, + #'state': 'submit', + }) + self.operation_ids = [(0, 0, operation_vals)] + + def get_operation_vals(self): + return { + 'state': 'draft', + 'type': self.type, + 'date': self.date, + 'note': self.note, + 'multi_operation_id': self.id, + 'user_id': self.responsible_user_id.id, + 'new_employee_id': self.new_employee_id.id, + 'new_department_id': self.new_department_id.id, + 'new_location_id': self.new_location_id.id, + } + + def check_required_fields(self, operation): + if not operation.asset_id: + raise exceptions.Warning(_('Make sure you choose an asset in all operation line.')) + elif not operation.return_date and operation.custody_period == 'temporary': + raise exceptions.Warning(_('Make sure you enter the return date for all temporary custodies.')) + elif not operation.custody_type and operation.type in ['assignment', 'transfer']: + raise exceptions.Warning(_('Make sure you choose custody type for all operation lines.')) + elif not operation.custody_period and operation.type in ['assignment', 'transfer']: + raise exceptions.Warning(_('Make sure you choose custody period for all operation lines.')) \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody/models/account_asset_operation.py b/odex25_accounting/exp_asset_custody/models/account_asset_operation.py new file mode 100644 index 000000000..8cca74dfa --- /dev/null +++ b/odex25_accounting/exp_asset_custody/models/account_asset_operation.py @@ -0,0 +1,150 @@ +# -*- coding: utf-8 -*- +# © Copyright (C) 2021 Expert Co. Ltd() + +from odoo import models, fields, api, exceptions, _ + + +class AccountAssetOperation(models.Model): + _name = 'account.asset.operation' + _description = 'Asset Operation' + _inherit = ['mail.thread', 'mail.activity.mixin'] + + multi_operation_id = fields.Many2one(comodel_name='account.asset.multi.operation') + name = fields.Char(required=True, default='/') + type = fields.Selection(selection=[('assignment', 'Assignment'), ('release', 'Release'), + ('transfer', 'Transfer')], required=True) + date = fields.Date(default=fields.Date.context_today, index=True, copy=False, readonly=True, required=True, + states={'draft': [('readonly', False)]}) + user_id = fields.Many2one(comodel_name='res.users',default=lambda self: self.env.user, + states={'draft': [('readonly', False)]},string='Responsible',readonly=True) + asset_id = fields.Many2one(comodel_name='account.asset') + statea = fields.Selection(related='asset_id.status') + barcode = fields.Char(compute="_compute_related_fields", store=True) + department_id = fields.Many2one(comodel_name='hr.department',string='Responsible Department', + compute="_compute_related_fields", store=True) + model_id = fields.Many2one(comodel_name='account.asset',compute="_compute_related_fields",store=True) + state = fields.Selection(selection=[('draft', 'Draft'),('submit', 'Submit'),('done', 'Done'),('pending', 'Pending') + ,('cancel', 'Cancel')],required=True, default='draft') + note = fields.Text(states={'draft': [('readonly', False)]},readonly=True,) + # Asset Custody Operation + custody_type = fields.Selection(selection=[('personal', 'Personal'), ('general', 'General')], + states={'draft': [('readonly', False)]},readonly=True,) + custody_period = fields.Selection(selection=[('temporary', 'Temporary'), ('permanent', 'Permanent')], + states={'draft': [('readonly', False)]},readonly=True) + return_date = fields.Date(states={'draft': [('readonly', False)]},readonly=True) + current_employee_id = fields.Many2one(comodel_name='hr.employee', + states={'draft': [('readonly', False)]},readonly=True, string='Employee') + current_department_id = fields.Many2one(comodel_name='hr.department',states={'draft': [('readonly', False)]}, + readonly=True, string='Department', ) + current_location_id = fields.Many2one(comodel_name='account.asset.location',states={'draft': [('readonly', False)]}, + readonly=True, string='Location') + new_employee_id = fields.Many2one(comodel_name='hr.employee', string='Employee') + new_department_id = fields.Many2one(comodel_name='hr.department', string='Department', ) + new_location_id = fields.Many2one(comodel_name='account.asset.location', string='Location') + amount = fields.Float(states={'draft': [('readonly', False)]}, readonly=True, ) + asset_status = fields.Selection(selection=[('good', 'Good'), ('scrap', 'Scrap')], + states={'draft': [('readonly', False)]}, readonly=True, ) + asset_statuso = fields.Selection(related='asset_id.status') + asset_status2 = fields.Many2one( + comodel_name='asset.states', + string='Asset Status',states={'draft': [('readonly', False)]}) + product_id = fields.Many2one(comodel_name='product.product', + domain=[('property_account_expense_id.can_create_asset', '=', True), + ('property_account_expense_id.user_type_id.internal_group', '=', 'asset')], + states={'draft': [('readonly', False)]}, readonly=True) + + def action_read_operation(self): + self.ensure_one() + return { + 'name': self.display_name, + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'account.asset.operation', + 'res_id': self.id, + } + + @api.depends('asset_id', 'asset_id.model_id', 'asset_id.responsible_dept_id', 'asset_id.barcode') + def _compute_related_fields(self): + for operation in self: + operation.barcode = operation.asset_id.barcode + operation.model_id = operation.asset_id.model_id.id + operation.department_id = operation.asset_id.responsible_dept_id.id + + @api.model + def create(self, values): + values['name'] = self.env['ir.sequence'].with_context( + ir_sequence_date=values['date']).next_by_code('asset.operation.seq') + return super(AccountAssetOperation, self).create(values) + + def unlink(self): + if self.search([('state', '!=', 'draft'), ('id', 'in', self.ids)]): + raise exceptions.Warning(_('Only draft operations can be deleted.')) + return super(AccountAssetOperation, self).unlink() + + @api.model + def _get_tracked_fields(self): + fields = self.fields_get() + dels = [f for f in fields if f in models.LOG_ACCESS_COLUMNS or f.startswith('_') or f == 'id'] + for x in dels: + del fields[x] + return set(fields) + + @api.onchange('new_employee_id') + def onchange_new_employee(self): + self.new_department_id = self.new_employee_id.department_id.id + + @api.onchange('asset_id') + def onchange_asset(self): + self.current_employee_id = self.asset_id.employee_id.id + self.current_department_id = self.asset_id.department_id.id + self.current_location_id = self.asset_id.location_id.id + + def act_submit(self): + self.state = 'submit' + + def act_confirm(self): + if not self.asset_id: + raise exceptions.Warning(_('Asset is required to confirm this operation.')) + if self.type in ('assignment', 'release', 'transfer'): + self.custody_confirm() + self.state = 'done' + + def act_reject(self): + self.state = 'pending' + + def act_cancel(self): + self.state = 'cancel' + + def act_draft(self): + self.state = 'draft' + + def custody_confirm(self): + self.asset_id.employee_id = self.new_employee_id.id + self.asset_id.department_id = self.new_department_id.id + self.asset_id.location_id = self.new_location_id.id + self.asset_id.custody_type = self.custody_type + self.asset_id.custody_period = self.custody_period + self.asset_id.return_date = self.return_date + self.asset_id.purpose = self.note + if self.type == 'assignment': + self.asset_id.status = 'assigned' + elif self.type == 'release': + self.asset_id.status = 'available' + + +""" + def sell_dispose_confirm(self): + super(AccountAssetOperation, self).sell_dispose_confirm() + self.asset_id.custody_type = False + self.asset_id.custody_period = False + self.asset_id.purpose = False + self.asset_id.return_date = False + self.asset_id.department_id = False + self.asset_id.employee_id = False + self.asset_id.location_id = False + self.asset_id.status = False + """ +class AccountAssestatus(models.Model): + _name = 'asset.states' + name = fields.Char(string='Name') diff --git a/odex25_accounting/exp_asset_custody/reports/asset_adjustment_report.xml b/odex25_accounting/exp_asset_custody/reports/asset_adjustment_report.xml new file mode 100644 index 000000000..a73e10d91 --- /dev/null +++ b/odex25_accounting/exp_asset_custody/reports/asset_adjustment_report.xml @@ -0,0 +1,232 @@ + + + + + \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody/security/ir.model.access.csv b/odex25_accounting/exp_asset_custody/security/ir.model.access.csv new file mode 100644 index 000000000..9e08178dc --- /dev/null +++ b/odex25_accounting/exp_asset_custody/security/ir.model.access.csv @@ -0,0 +1,6 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_asset_operation,account.asset.operation,model_account_asset_operation,account.group_account_readonly,1,0,0,0 +access_asset_operation_manager,account.asset.operation,model_account_asset_operation,account.group_account_manager,1,1,1,1 +access_asset_multi_operation,account.asset.multi.operation,model_account_asset_multi_operation,account.group_account_readonly,1,0,0,0 +access_asset_multi_operation_manager,account.asset.multi.operation,model_account_asset_multi_operation,account.group_account_manager,1,1,1,1 +access_asset_state_operation_manager,account.state.multi.operation,model_asset_states,,1,1,1,1 \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody/static/description/icon.png b/odex25_accounting/exp_asset_custody/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWK + + + account.asset.adjustment.form + account.asset.adjustment + + + + + + + + + + \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody/views/account_asset_custody_multi_operation.xml b/odex25_accounting/exp_asset_custody/views/account_asset_custody_multi_operation.xml new file mode 100644 index 000000000..a177258fc --- /dev/null +++ b/odex25_accounting/exp_asset_custody/views/account_asset_custody_multi_operation.xml @@ -0,0 +1,285 @@ + + + + + account.asset.multi.operation.tree + account.asset.multi.operation + + + + + + + + + + + + + + account.asset.multi.assignment.form + account.asset.multi.operation + +
    +
    +
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    +
    +
    +
    + + + account.asset.multi.release.form + account.asset.multi.operation + +
    +
    +
    + +
    +

    + + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    +
    +
    +
    + + + account.asset.multi.transfer.form + account.asset.multi.operation + +
    +
    +
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    +
    +
    +
    + + + Multiple Assignment + account.asset.multi.operation + tree,form + {'default_manual':1, 'default_type':'assignment'} + [('type','=','assignment')] + + + + Multiple Release + account.asset.multi.operation + tree,form + {'default_manual':1, 'default_type':'release'} + [('type','=','release')] + + + + Multiple Transfer + account.asset.multi.operation + tree,form + {'default_manual':1, 'default_type':'transfer'} + [('type','=','transfer')] + + +
    \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody/views/account_asset_custody_operation_view.xml b/odex25_accounting/exp_asset_custody/views/account_asset_custody_operation_view.xml new file mode 100644 index 000000000..a1d2d700c --- /dev/null +++ b/odex25_accounting/exp_asset_custody/views/account_asset_custody_operation_view.xml @@ -0,0 +1,326 @@ + + + + + + account.asset.operation.search + account.asset.operation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + account.asset.operation.tree + account.asset.operation + + + + + + + + + + + + + + account.asset.operation.form + account.asset.operation + +
    +
    +
    + +
    +

    + + - + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    +
    +
    +
    + + + + account.asset.assignment.tree + account.asset.operation + + + + + + + + + + + + + + + + + + + + + + + + Assets Assignment + account.asset.operation + tree,form + + + {'default_type': 'assignment', 'default_custody_type': 'personal', 'default_custody_period': 'permanent'} + + [('type', '=', 'assignment')] + + + + account.asset.release.tree + account.asset.operation + + + + + + + + + + + + + + + + + + + + + + Assets Release + account.asset.operation + tree,form + + {'default_type': 'release'} + [('type', '=', 'release')] + + + + account.asset.transfer.tree + account.asset.operation + + + + + + + + + + + + + + + + + + + + + + + + + Assets Transfer + account.asset.operation + tree,form + + {'default_type': 'transfer'} + [('type', '=', 'transfer')] + + + + + + Operation Analysis + graph,pivot,tree + + + account.asset.operation + {'search_default_group_by_type': True} + + + asset_operation_form3.extend + account.asset.multi.operation + + + + hr_expense_petty_cash.group_assets_manager + + + hr_expense_petty_cash.group_assets_manager + + + hr_expense_petty_cash.group_assets_manager + + + + + asset_operation_form5.extend + account.asset.operation + + + + hr_expense_petty_cash.group_assets_manager + + + hr_expense_petty_cash.group_assets_manager + + + hr_expense_petty_cash.group_assets_manager + + + + +
    diff --git a/odex25_accounting/exp_asset_custody/views/account_asset_view.xml b/odex25_accounting/exp_asset_custody/views/account_asset_view.xml new file mode 100644 index 000000000..4382e0657 --- /dev/null +++ b/odex25_accounting/exp_asset_custody/views/account_asset_view.xml @@ -0,0 +1,51 @@ + + + + + account.asset.search + account.asset + + + + + + + + + + + + + + + + + account.asset.form + account.asset + + +
    + +
    + + + + + + + + + + + + + + + + +
    +
    + +
    diff --git a/odex25_accounting/exp_asset_custody/views/menus.xml b/odex25_accounting/exp_asset_custody/views/menus.xml new file mode 100644 index 000000000..d1c4ed7f8 --- /dev/null +++ b/odex25_accounting/exp_asset_custody/views/menus.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + diff --git a/odex25_accounting/exp_asset_custody_link/__init__.py b/odex25_accounting/exp_asset_custody_link/__init__.py new file mode 100644 index 000000000..5305644df --- /dev/null +++ b/odex25_accounting/exp_asset_custody_link/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody_link/__manifest__.py b/odex25_accounting/exp_asset_custody_link/__manifest__.py new file mode 100644 index 000000000..c1ee0a913 --- /dev/null +++ b/odex25_accounting/exp_asset_custody_link/__manifest__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +{ + 'name': "HR Custody Integration With Asset Custody", + + 'summary': """ + - Assign Asset as a custody to an employee + - Release Asset as a custody from an employee + """, + 'version': '14.0', + 'sequence': 4, + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'website': 'http://exp-sa.com', + 'license': 'AGPL-3', + 'author': 'Expert Co. Ltd.', + 'depends': ['exp_employee_custody','exp_asset_custody','purchase'], + + # always loaded + 'data': [ + 'security/ir.model.access.csv', + 'views/employee_custody_action.xml', + ], + +} diff --git a/odex25_accounting/exp_asset_custody_link/i18n/ar_001.po b/odex25_accounting/exp_asset_custody_link/i18n/ar_001.po new file mode 100644 index 000000000..9468ab608 --- /dev/null +++ b/odex25_accounting/exp_asset_custody_link/i18n/ar_001.po @@ -0,0 +1,266 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * exp_asset_custody_link +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-31 13:21+0000\n" +"PO-Revision-Date: 2023-01-31 13:21+0000\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: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__asset_id +msgid "Asset" +msgstr "الأصل" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_custom_employee_custody__asset_assign_count +msgid "Asset Assignment" +msgstr "إسناد أصل" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__asset_custody_line +msgid "Asset Custody Line" +msgstr "بند أصل" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_custom_employee_custody__asset_line_ids +msgid "Asset Line" +msgstr "بند الأصول" + +#. module: exp_asset_custody_link +#: model_terms:ir.ui.view,arch_db:exp_asset_custody_link.employee_custody_form_view_inherit +msgid "Asset Lines" +msgstr "بند الأصول" + +#. module: exp_asset_custody_link +#: model:ir.model,name:exp_asset_custody_link.model_account_asset_operation +msgid "Asset Operation" +msgstr "عمليات الأصول" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_custom_employee_custody__asset_release_count +msgid "Asset Release" +msgstr "إرجاع عهدة" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/account_asset_operation.py:0 +#, python-format +msgid "Asset is required to confirm this operation." +msgstr "الأصل مطلوب لتأكيد هذه العملية" + +#. module: exp_asset_custody_link +#: model:ir.actions.act_window,name:exp_asset_custody_link.action_account_asset_assignment1 +msgid "Assets Assignment" +msgstr "إسناد عهدة" + +#. module: exp_asset_custody_link +#: model:ir.actions.act_window,name:exp_asset_custody_link.action_account_asset_release1 +msgid "Assets Release" +msgstr "إرجاع عهدة" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/employee_custody.py:0 +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__asset_custody_line__type__assignment +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__custom_employee_custody__state__assign +#, python-format +msgid "Assignment" +msgstr "إسناد" + +#. module: exp_asset_custody_link +#: model_terms:ir.ui.view,arch_db:exp_asset_custody_link.employee_custody_form_view_inherit +msgid "Assignments" +msgstr "الإسناد" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__create_uid +msgid "Created by" +msgstr "" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__create_date +msgid "Created on" +msgstr "" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__custody_period +msgid "Custody Period" +msgstr "فترة العهدة" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__custody_type +msgid "Custody Type" +msgstr "نوع العهدة" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__date +msgid "Date" +msgstr "التاريخ" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/employee_custody.py:0 +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__custom_employee_custody__state__direct +#, python-format +msgid "Direct Manager" +msgstr "المدير المباشر" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_account_asset_operation__display_name +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__display_name +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_custom_employee_custody__display_name +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_mail_followers__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: exp_asset_custody_link +#: model:ir.model,name:exp_asset_custody_link.model_mail_followers +msgid "Document Followers" +msgstr "متابعو المستند" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/employee_custody.py:0 +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__custom_employee_custody__state__draft +#, python-format +msgid "Draft" +msgstr "مسودة" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_account_asset_operation__emp_asset_custody_id +msgid "Emp Asset Custody" +msgstr "" + +#. module: exp_asset_custody_link +#: model:ir.model,name:exp_asset_custody_link.model_custom_employee_custody +msgid "Employee custody" +msgstr "العهد الغير مالية" + +#. module: exp_asset_custody_link +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__asset_custody_line__custody_type__general +msgid "General" +msgstr "عام" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/employee_custody.py:0 +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__custom_employee_custody__state__admin +#, python-format +msgid "Human Resources Manager" +msgstr "تصديق الموارد البشرية" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_account_asset_operation__id +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__id +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_custom_employee_custody__id +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_mail_followers__id +msgid "ID" +msgstr "المُعرف" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_account_asset_operation____last_update +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line____last_update +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_custom_employee_custody____last_update +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_mail_followers____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__write_date +msgid "Last Updated on" +msgstr "" + +#. module: exp_asset_custody_link +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__asset_custody_line__custody_period__permanent +msgid "Permanent" +msgstr "مستديمة" + +#. module: exp_asset_custody_link +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__asset_custody_line__custody_type__personal +msgid "Personal" +msgstr "شخصية" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/employee_custody.py:0 +#, python-format +msgid "Please Select an asset" +msgstr "الرجاء إختيار أصل" + +#. module: exp_asset_custody_link +#: model_terms:ir.ui.view,arch_db:exp_asset_custody_link.employee_custody_form_view_inherit +msgid "Purchase Request" +msgstr "طلب شراء" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/employee_custody.py:0 +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__custom_employee_custody__state__refuse +#, python-format +msgid "Refuse" +msgstr "رفض" + +#. module: exp_asset_custody_link +#: model_terms:ir.ui.view,arch_db:exp_asset_custody_link.employee_custody_form_view_inherit +msgid "Releases" +msgstr "رفض" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__return_date +msgid "Return Date" +msgstr "تاريخ الإرجاع" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/employee_custody.py:0 +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__custom_employee_custody__state__done +#, python-format +msgid "Return Done" +msgstr "تم ارجاع العهده" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_custom_employee_custody__state +msgid "State" +msgstr "الحالة" + +#. module: exp_asset_custody_link +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__asset_custody_line__custody_period__temporary +msgid "Temporary" +msgstr "موقتة" + +#. module: exp_asset_custody_link +#: model:ir.model.fields,field_description:exp_asset_custody_link.field_asset_custody_line__type +msgid "Type" +msgstr "النوع" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/employee_custody.py:0 +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__custom_employee_custody__state__wait +#, python-format +msgid "Wait Assignment" +msgstr "إنتظار الإرجاع" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/employee_custody.py:0 +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__custom_employee_custody__state__wait_release +#, python-format +msgid "Wait Release" +msgstr "إنتظار الإسناد" + +#. module: exp_asset_custody_link +#: model:ir.model,name:exp_asset_custody_link.model_asset_custody_line +msgid "asset.custody.line" +msgstr "" + +#. module: exp_asset_custody_link +#: code:addons/exp_asset_custody_link/models/employee_custody.py:0 +#: model:ir.model.fields.selection,name:exp_asset_custody_link.selection__custom_employee_custody__state__submit +#, python-format +msgid "send" +msgstr "إرسال" diff --git a/odex25_accounting/exp_asset_custody_link/models/__init__.py b/odex25_accounting/exp_asset_custody_link/models/__init__.py new file mode 100644 index 000000000..83a7fdfc3 --- /dev/null +++ b/odex25_accounting/exp_asset_custody_link/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import account_asset_operation +from . import employee_custody \ No newline at end of file diff --git a/odex25_accounting/exp_asset_custody_link/models/account_asset_operation.py b/odex25_accounting/exp_asset_custody_link/models/account_asset_operation.py new file mode 100644 index 000000000..a5ddec395 --- /dev/null +++ b/odex25_accounting/exp_asset_custody_link/models/account_asset_operation.py @@ -0,0 +1,70 @@ +from odoo import models, fields, api, _, exceptions +class AccountAssetOperation(models.Model): + _inherit = 'account.asset.operation' + + emp_asset_custody_id = fields.Many2one(comodel_name='custom.employee.custody') + + def act_confirm(self): + module = self.env['ir.module.module'].sudo() + exp_petty_cash_module = module.search( + [('state', '=', 'installed'), ('name', '=', 'exp_employee_custody')]) + if not self.asset_id: + raise exceptions.Warning(_('Asset is required to confirm this operation.')) + if self.type in ('assignment', 'release', 'transfer'): + self.custody_confirm() + self.state = 'done' + if self.type == 'assignment': + self.asset_id.status = 'assigned' + if exp_petty_cash_module: + custody = self.env['custom.employee.custody'].search([('id', '=', self.emp_asset_custody_id.id)]) + print("===============================================================", custody) + for cus in custody: + operation = self.env['account.asset.operation'].search( + [('emp_asset_custody_id', '=', cus.id), ('type', '=', 'assignment')]) + print("----------", operation) + print("----------", operation.state) + if all(ope.state in 'done' for ope in operation): + print("----------", operation.state) + cus.write({'state': 'assign'}) + elif self.type == 'release': + self.asset_id.status = 'available' + # self.asset_id.status = self.asset_status == 'good' and 'available' or 'scrap' + if exp_petty_cash_module: + custody = self.env['custom.employee.custody'].search([('id', '=', self.emp_asset_custody_id.id)]) + for cus in custody: + operation = self.env['account.asset.operation'].search( + [('emp_asset_custody_id', '=', cus.id), ('type', '=', 'release')]) + if all(ope.state in 'done' for ope in operation): + cus.write({'state': 'done'}) + + + # def custody_confirm(self): + # + # self.asset_id.employee_id = self.new_employee_id.id + # self.asset_id.department_id = self.new_department_id.id + # self.asset_id.location_id = self.new_location_id.id + # self.asset_id.custody_type = self.custody_type + # self.asset_id.custody_period = self.custody_period + # self.asset_id.return_date = self.return_date + # self.asset_id.purpose = self.note +class HrEmployee(models.Model): + _inherit = 'hr.employee' + petty_cash_count1 = fields.Integer(compute='assignment_no') + assignment_no = fields.Integer(compute='_compute_assignment_no') + def assignment_no(self): + for emp in self: + items = self.env['account.asset.operation'].search([ + ('asset_statuso','=','assigned'),('new_employee_id', '=',self.id ) + ]) + emp.petty_cash_count1 = len(items) + # emp.user_id.partner_id.id + def get_assignment(self): + self.ensure_one() + return { + 'type': 'ir.actions.act_window', + 'name': 'Assignments', + 'view_mode': 'tree', + 'res_model': 'account.asset.operation', + 'domain': [('asset_statuso','=','assigned'),('new_employee_id', '=', self.id)], + 'context': "{'create': False}" + } diff --git a/odex25_accounting/exp_asset_custody_link/models/employee_custody.py b/odex25_accounting/exp_asset_custody_link/models/employee_custody.py new file mode 100644 index 000000000..7620c31d9 --- /dev/null +++ b/odex25_accounting/exp_asset_custody_link/models/employee_custody.py @@ -0,0 +1,117 @@ +from odoo import models, fields, api, _, exceptions +from odoo import SUPERUSER_ID + + +# from datetime import datetime , date + + +class EmployeeCustody(models.Model): + _inherit = 'custom.employee.custody' + + state = fields.Selection(selection=[ + ("draft", _("Draft")), + ("submit", _("send")), + ("direct", _("Direct Manager")), + ("admin", _("Human Resources Manager")), + ("wait", _("Wait Assignment")), + ("assign", _("Assignment")), + ("wait_release", _("Wait Release")), + ("done", _("Return Done")), + ("refuse", _("Refuse")) + ], default='draft') + + asset_line_ids = fields.One2many('asset.custody.line', 'asset_custody_line',required=True) + asset_assign_count = fields.Integer(compute='_asset_assign_count', string='Asset Assignment') + asset_release_count = fields.Integer(compute='_asset_release_count', string='Asset Release') + + + def create_asset_custody(self): + for i in self.asset_line_ids: + data = { + 'date': self.current_date, + 'asset_id': i.asset_id.id, + 'type': 'assignment', + 'custody_type': i.custody_type, + 'custody_period': i.custody_period, + 'state': 'draft', + 'user_id': self.env.uid, + 'new_employee_id': self.employee_id.id, + 'new_department_id': self.department_id.id, + 'emp_asset_custody_id': self.id, + + } + self.env['account.asset.operation'].create(data) + + + def asset_custody_release(self): + for i in self.asset_line_ids: + data = { + 'name': i.asset_id.name, + 'date': self.current_date, + 'asset_id': i.asset_id.id, + 'type': 'release', + 'custody_type': i.custody_type, + 'custody_period': i.custody_period, + 'state': 'draft', + 'user_id': self.env.uid, + 'current_employee_id': self.employee_id.id, + 'new_employee_id': self.employee_id.id, + 'current_department_id': self.department_id.id, + 'emp_asset_custody_id': self.id, + + } + self.env['account.asset.operation'].create(data) + + + def _asset_assign_count(self): + self.asset_assign_count = len( + self.env['asset.custody.line'].search([('asset_custody_line', '=', self.id)])) + + + def _asset_release_count(self): + self.asset_release_count = len( + self.env['asset.custody.line'].search([('asset_custody_line', '=', self.id)])) + + + def approve(self): + if not self.asset_line_ids: + raise exceptions.Warning(_('Please Select an asset')) + self.create_asset_custody() + self.write({'state': 'wait'}) + + + def done(self): + self.asset_custody_release() + self.state = "wait_release" + +class EmployeeCustodyLine(models.Model): + _name = 'asset.custody.line' + + # Asset custody fields + type = fields.Selection([('assignment', 'Assignment')]) + custody_type = fields.Selection(selection=[('personal', 'Personal'), ('general', 'General')]) + custody_period = fields.Selection(selection=[('temporary', 'Temporary'), ('permanent', 'Permanent')]) + return_date = fields.Date() + date = fields.Date() + asset_id = fields.Many2one('account.asset') + asset_custody_line = fields.Many2one(comodel_name='custom.employee.custody') # Inverse field + +class Followers(models.Model): + _inherit = 'mail.followers' + + @api.model + def create(self, vals): + if 'res_model' in vals and 'res_id' in vals and 'partner_id' in vals: + dups = self.env['mail.followers'].search( + [('res_model', '=', vals.get('res_model')), ('res_id', '=', vals.get('res_id')), + ('partner_id', '=', vals.get('partner_id'))]) + + if len(dups): + for p in dups: + p.unlink() + + res = super(Followers, self).create(vals) + + return res + + diff --git a/odex25_accounting/exp_asset_custody_link/security/ir.model.access.csv b/odex25_accounting/exp_asset_custody_link/security/ir.model.access.csv new file mode 100644 index 000000000..356298ce9 --- /dev/null +++ b/odex25_accounting/exp_asset_custody_link/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_employee_asset_custody_line,access_employee_custody_asset_line,model_asset_custody_line,base.group_user,1,1,1,1 diff --git a/odex25_accounting/exp_asset_custody_link/views/employee_custody_action.xml b/odex25_accounting/exp_asset_custody_link/views/employee_custody_action.xml new file mode 100644 index 000000000..ba67204cb --- /dev/null +++ b/odex25_accounting/exp_asset_custody_link/views/employee_custody_action.xml @@ -0,0 +1,90 @@ + + + + Assets Assignment + account.asset.operation + tree,form + { 'create': False } + [('emp_asset_custody_id', '=', active_id),('type', '=', 'assignment')] + + + + + Assets Release + account.asset.operation + tree,form + { 'create': False } + [('emp_asset_custody_id', '=', active_id),('type', '=', 'release')] + + + + + Employee Custody With Asset + custom.employee.custody + + + + + +
    + + +
    +
    + + + + + + + + + + + + + + + +
    +
    + + hr_employee.extend1.form2 + hr.employee + + + + + + + + + +
    +
    diff --git a/odex25_accounting/exp_budget_check/__init__.py b/odex25_accounting/exp_budget_check/__init__.py new file mode 100644 index 000000000..511a0ca3a --- /dev/null +++ b/odex25_accounting/exp_budget_check/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import controllers +from . import models \ No newline at end of file diff --git a/odex25_accounting/exp_budget_check/__manifest__.py b/odex25_accounting/exp_budget_check/__manifest__.py new file mode 100644 index 000000000..66ee98e25 --- /dev/null +++ b/odex25_accounting/exp_budget_check/__manifest__.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +{ + 'name': "Check Budget", + + 'summary': """ + """, + + 'description': """ + Check budget in vendor bill + """, + 'website': 'http://exp-sa.com', + 'license': 'GPL-3', + 'author': 'Expert Co. Ltd.', + + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'version': '0.1', + + # any module necessary for this one to work correctly + 'depends': [ + 'account', + 'account_configuration', + 'account_budget_custom', + 'hr_expense_petty_cash', + + ], + + # always loaded + 'data': [ + # 'security/ir.model.access.csv', + 'views/account_invoice_view.xml', + 'views/hr_expense_view.xml', + ], + # only loaded in demonstration mode + 'demo': [ + 'demo/demo.xml', + ], +} diff --git a/odex25_accounting/exp_budget_check/controllers/__init__.py b/odex25_accounting/exp_budget_check/controllers/__init__.py new file mode 100644 index 000000000..457bae27e --- /dev/null +++ b/odex25_accounting/exp_budget_check/controllers/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import controllers \ No newline at end of file diff --git a/odex25_accounting/exp_budget_check/controllers/controllers.py b/odex25_accounting/exp_budget_check/controllers/controllers.py new file mode 100644 index 000000000..3059a1074 --- /dev/null +++ b/odex25_accounting/exp_budget_check/controllers/controllers.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +from odoo import http + +# class ExpBudgetCheck(http.Controller): +# @http.route('/exp_budget_check/exp_budget_check/', auth='public') +# def index(self, **kw): +# return "Hello, world" + +# @http.route('/exp_budget_check/exp_budget_check/objects/', auth='public') +# def list(self, **kw): +# return http.request.render('exp_budget_check.listing', { +# 'root': '/exp_budget_check/exp_budget_check', +# 'objects': http.request.env['exp_budget_check.exp_budget_check'].search([]), +# }) + +# @http.route('/exp_budget_check/exp_budget_check/objects//', auth='public') +# def object(self, obj, **kw): +# return http.request.render('exp_budget_check.object', { +# 'object': obj +# }) \ No newline at end of file diff --git a/odex25_accounting/exp_budget_check/demo/demo.xml b/odex25_accounting/exp_budget_check/demo/demo.xml new file mode 100644 index 000000000..b8f148ce2 --- /dev/null +++ b/odex25_accounting/exp_budget_check/demo/demo.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/odex25_accounting/exp_budget_check/i18n/ar.po b/odex25_accounting/exp_budget_check/i18n/ar.po new file mode 100644 index 000000000..736b045d4 --- /dev/null +++ b/odex25_accounting/exp_budget_check/i18n/ar.po @@ -0,0 +1,266 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * exp_budget_check +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-07-28 11:05+0000\n" +"PO-Revision-Date: 2022-07-28 11:05+0000\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: exp_budget_check +#: model:ir.model,name:exp_budget_check.model_account_analytic_account +msgid "Analytic Account" +msgstr "الحساب التحليلي" + +#. module: exp_budget_check +#: code:addons/exp_budget_check/models/account_invoice.py:0 +#: model:ir.model.fields.selection,name:exp_budget_check.selection__account_move__state__budget_approve +#, python-format +msgid "Approved" +msgstr "موافقة" + +#. module: exp_budget_check +#: code:addons/exp_budget_check/models/account_invoice.py:0 +#: model:ir.model.fields.selection,name:exp_budget_check.selection__account_move__state__budget_check +#, python-format +msgid "Budget Check" +msgstr "فحص الموازنة" + +#. module: exp_budget_check +#: model:ir.model,name:exp_budget_check.model_budget_confirmation +msgid "Budget Confirmation" +msgstr "تصديق الموازنة" + +#. module: exp_budget_check +#: model:ir.model,name:exp_budget_check.model_crossovered_budget_lines +msgid "Budget Line" +msgstr "خط الموازنة" + +#. module: exp_budget_check +#: model:ir.model.fields.selection,name:exp_budget_check.selection__account_move__state__cancel +msgid "Cancelled" +msgstr "ملغي" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_bank_statement_line__budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__budget_check +#: model_terms:ir.ui.view,arch_db:exp_budget_check.budget_check_view_move_form +msgid "Check Budget" +msgstr "فحص الموازنة" + +#. module: exp_budget_check +#: model_terms:ir.ui.view,arch_db:exp_budget_check.budget_check_view_move_form +msgid "Confirm" +msgstr "تأكيد" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_crossovered_budget_lines__confirm +#: model_terms:ir.ui.view,arch_db:exp_budget_check.crossovered_budget_view_form_inherit +msgid "Confirm Amount" +msgstr "المبلغ المصدق" + +#. module: exp_budget_check +#: model_terms:ir.ui.view,arch_db:exp_budget_check.budget_check_view_move_form +msgid "Confirm Bill" +msgstr "تأكيد الفاتورة" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_analytic_account__display_name +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__display_name +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move_line__display_name +#: model:ir.model.fields,field_description:exp_budget_check.field_budget_confirmation__display_name +#: model:ir.model.fields,field_description:exp_budget_check.field_crossovered_budget_lines__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: exp_budget_check +#: model:ir.model.fields.selection,name:exp_budget_check.selection__account_move__state__draft +msgid "Draft" +msgstr "مسودة" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_bank_statement_line__exceed_budget +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__exceed_budget +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__exceed_budget +msgid "Exceed Budget" +msgstr "تخطي الموازنة" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_analytic_account__id +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__id +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move_line__id +#: model:ir.model.fields,field_description:exp_budget_check.field_budget_confirmation__id +#: model:ir.model.fields,field_description:exp_budget_check.field_crossovered_budget_lines__id +msgid "ID" +msgstr "المُعرف" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_budget_confirmation__invoice_id +msgid "Invoice" +msgstr "" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_bank_statement_line__is_approve +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__is_approve +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__is_approve +msgid "Is Approve" +msgstr "" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_bank_statement_line__is_budget +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__is_budget +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__is_budget +msgid "Is Budget" +msgstr "" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_bank_statement_line__is_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__is_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__is_check +msgid "Is Check" +msgstr "" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_bank_statement_line__is_reject +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__is_reject +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__is_reject +msgid "Is Reject" +msgstr "" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_analytic_account__is_analytic_budget +msgid "Is Use In Budget" +msgstr "يستخدم في الموازنة" + +#. module: exp_budget_check +#: model:ir.model,name:exp_budget_check.model_account_move +msgid "Journal Entry" +msgstr "قيد اليومية" + +#. module: exp_budget_check +#: model:ir.model,name:exp_budget_check.model_account_move_line +msgid "Journal Item" +msgstr "عنصر اليومية" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_analytic_account____last_update +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move____last_update +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move_line____last_update +#: model:ir.model.fields,field_description:exp_budget_check.field_budget_confirmation____last_update +#: model:ir.model.fields,field_description:exp_budget_check.field_crossovered_budget_lines____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: exp_budget_check +#: code:addons/exp_budget_check/models/account_invoice.py:0 +#, python-format +msgid "Please Choose Analytic account for This Bill" +msgstr "الرجاء إختيار حسابات تحليلية لهذه الفاتورة" + +#. module: exp_budget_check +#: code:addons/exp_budget_check/models/account_invoice.py:0 +#, python-format +msgid "Please Set An Expense Account For Product %s" +msgstr "الرجاء إختيار حساب للمنتج%s" + +#. module: exp_budget_check +#: model:ir.model.fields.selection,name:exp_budget_check.selection__account_move__state__posted +msgid "Posted" +msgstr "مُرحل" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_bank_statement_line__reject +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__reject +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__reject +msgid "Reject" +msgstr "رفض" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_crossovered_budget_lines__reserve +#: model_terms:ir.ui.view,arch_db:exp_budget_check.crossovered_budget_view_form_inherit +msgid "Reserve Amount" +msgstr "المبلغ المحجوز" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_bank_statement_line__state_a +#: model:ir.model.fields,field_description:exp_budget_check.field_account_bank_statement_line__state_b +#: model:ir.model.fields,field_description:exp_budget_check.field_account_bank_statement_line__state_bill +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__state +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__state_a +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__state_b +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move__state_bill +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__state +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__state_a +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__state_b +#: model:ir.model.fields,field_description:exp_budget_check.field_account_payment__state_bill +msgid "Status" +msgstr "الحالة" + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_account_move_line__price_tax +msgid "Tax" +msgstr "ضريبة" + +#. module: exp_budget_check +#: code:addons/exp_budget_check/models/account_invoice.py:0 +#, python-format +msgid "The Budget Has Been Rejected" +msgstr "تم رفض الموازنة لهذه الفاتورة" + +#. module: exp_budget_check +#: model:ir.model.fields.selection,name:exp_budget_check.selection__budget_confirmation__type__vendor_bill +msgid "Vendor Bill" +msgstr "فاتورة مورد" + +#. module: exp_budget_check +#: code:addons/exp_budget_check/models/account_invoice.py:0 +#, python-format +msgid "Vendor Bill :%s" +msgstr "فاتورة المورد :%s" + +#. module: exp_budget_check +#: code:addons/exp_budget_check/models/account_invoice.py:0 +#: model:ir.model.fields.selection,name:exp_budget_check.selection__account_move__state__wait_budget +#, python-format +msgid "Wait Budget" +msgstr "إنتظار تحقق الموازنة" + + +#. module: exp_budget_check +#: model:ir.model.fields,field_description:exp_budget_check.field_budget_confirmation__type +msgid "type" +msgstr "النوع" + +#. module: exp_budget_check +#: code:addons/exp_budget_check/models/account_invoice.py:0 +#, python-format +msgid "analytic account is %s not link with budget" +msgstr "الحساب التحليلي %s ليس له موازنة" + +#. module: exp_budget_check +#: code:addons/exp_budget_check/models/account_invoice.py:0 +#, python-format +msgid "Rejected By : %s With Reject Reason : %s" +msgstr "تم الرقض بواسطة %s . مع سبب الرقض : %s" + + +#. module: exp_budget_check +#: code:addons/exp_budget_check/models/account_invoice.py:0 +#, python-format +msgid "Please insert Bill Date" +msgstr "الرجاء إدخال تاريخ الفاتورة" + +#. module: account_budget_custom +#: code:addons/account_budget_custom/models/budget_confirmation.py:0 +#, python-format +msgid "Specify Reject Reason" +msgstr "تحديد سبب الرفض" diff --git a/odex25_accounting/exp_budget_check/models/__init__.py b/odex25_accounting/exp_budget_check/models/__init__.py new file mode 100644 index 000000000..c34917386 --- /dev/null +++ b/odex25_accounting/exp_budget_check/models/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- + +from . import account_invoice +from . import analytic_account +from . import account_budget +from . import hr_expense diff --git a/odex25_accounting/exp_budget_check/models/account_budget.py b/odex25_accounting/exp_budget_check/models/account_budget.py new file mode 100644 index 000000000..65a3201bd --- /dev/null +++ b/odex25_accounting/exp_budget_check/models/account_budget.py @@ -0,0 +1,64 @@ +from odoo import api, fields, models, _ + + +class CrossoveredBudgetLines(models.Model): + _inherit = "crossovered.budget.lines" + + reserve = fields.Float(string='Reserve Amount') + confirm = fields.Float(string='Confirm Amount') + + def _compute_operations_amount(self): + if not self.ids: return + for line in self: + pull_out = provide = budget_confirm_amount = 0.0 + date_to = self.env.context.get('wizard_date_to') or line.date_to + date_from = self.env.context.get( + 'wizard_date_from') or line.date_from + + if line.analytic_account_id.id: + if 'reserved' not in self.env.context: + self.env.cr.execute(""" + SELECT SUM(amount) + FROM budget_operations + WHERE from_budget_line_id=%s + AND (date between %s AND %s) + AND state='confirmed'""", + (line.id, date_from, date_to,)) + pull_out = self.env.cr.fetchone()[0] or 0.0 + + if 'reserved' in self.env.context: + self.env.cr.execute(""" + SELECT SUM(amount) + FROM budget_operations + WHERE from_budget_line_id=%s + AND (date between %s AND %s) + AND state='confirmed' + AND from_reserved=%s""", + (line.id, date_from, date_to, self.env.context['reserved'])) + pull_out = self.env.cr.fetchone()[0] or 0.0 + + self.env.cr.execute(""" + SELECT SUM(amount) + FROM budget_operations + WHERE to_budget_line_id=%s + AND (date between %s AND %s) + AND state='confirmed'""", + (line.id, date_from, date_to,)) + provide = self.env.cr.fetchone()[0] or 0.0 + + self.env.cr.execute(""" + SELECT SUM(amount) + FROM budget_confirmation_line + WHERE budget_line_id=%s + AND (date between %s AND %s) + AND state='done'""", + (line.id, date_from, date_to,)) + budget_confirm_amount = self.env.cr.fetchone()[0] or 0.0 + + line.pull_out = abs(pull_out) + line.provide = abs(provide) + line.budget_confirm_amount = budget_confirm_amount + line.remain = abs(line.planned_amount) + provide - abs(pull_out) - abs(line.practical_amount) - abs( + line.reserved_amount) + line.reserve + if line.planned_amount < 0: + line.remain = -line.remain diff --git a/odex25_accounting/exp_budget_check/models/account_invoice.py b/odex25_accounting/exp_budget_check/models/account_invoice.py new file mode 100644 index 000000000..0cce1e65e --- /dev/null +++ b/odex25_accounting/exp_budget_check/models/account_invoice.py @@ -0,0 +1,209 @@ +from odoo import models, fields, api, _ +from odoo.exceptions import AccessError, UserError, RedirectWarning, ValidationError, Warning +from odoo.tools import float_is_zero, float_compare, pycompat + + +class BudgetConfirmationCustom(models.Model): + _inherit = 'budget.confirmation' + + type = fields.Selection(selection_add=[('vendor.bill', 'Vendor Bill')]) + invoice_id = fields.Many2one('account.move') + + def cancel(self): + super(BudgetConfirmationCustom, self).cancel() + if self.invoice_id and self.type == 'vendor.bill': + self.invoice_id.write({'state': 'draft'}) + self.invoice_id.message_post(body=_( + "Rejected By : %s With Reject Reason : %s" % (str(self.env.user.name), str(self.reject_reason)))) + + def done(self): + super(BudgetConfirmationCustom, self).done() + if self.invoice_id and self.type == 'vendor.bill': + self.invoice_id.write({'is_approve': True}) + self.invoice_id.write({'state': 'budget_approve'}) + for rec in self: + for line in rec.lines_ids: + budget_post = self.env['account.budget.post'].search([]).filtered( + lambda x: line.account_id in x.account_ids) + analytic_account_id = line.analytic_account_id + budget_lines = analytic_account_id.crossovered_budget_line.filtered( + lambda x: x.general_budget_id in budget_post and + x.crossovered_budget_id.state == 'done' and + x.date_from <= self.date <= x.date_to) + print("budget_lines.reserve budget_lines.reserve budget_lines.reserve", budget_lines.reserve) + amount = budget_lines.reserve + amount += line.amount + budget_lines.write({'reserve': amount}) + + +class AccountMove(models.Model): + _inherit = 'account.move' + + state = fields.Selection(selection=[ + ('draft', 'Draft'), + ('confirm', 'Confirm'), + ('wait_budget', 'Wait Budget'), + ('budget_approve', 'Approved'), + ('posted', 'Posted'), + ('cancel', 'Cancelled'), + ]) + + state_a = fields.Selection(related='state') + state_b = fields.Selection(related='state') + + is_budget = fields.Boolean(default=True) + state_bill = fields.Selection(related='state') + budget_check = fields.Boolean(string="Check Budget", default=False, readonly=True) + exceed_budget = fields.Boolean(default=False) + is_check = fields.Boolean(default=False) + is_approve = fields.Boolean(default=False) + + def copy(self): + self.write({'budget_check': False}) + # self.write({'is_check':False}) + return super(AccountMove, self).copy() + + def action_confirm(self): + if not self.invoice_date: + raise ValidationError(_('Please insert Bill Date')) + for rec in self.invoice_line_ids: + if rec.analytic_account_id.is_analytic_budget and not rec.analytic_account_id.is_auto_check: + self.write({ + 'state': 'confirm' + }) + break + else: + self.write({ + 'state': 'budget_approve' + }) + + def button_cancel(self): + res = super(AccountMove, self).button_cancel() + if self.is_check: + date = fields.Date.from_string(self.date) + for line in self.invoice_line_ids: + analytic_account_id = line.analytic_account_id + budget_post = self.env['account.budget.post'].search([]).filtered( + lambda x: line.account_id in x.account_ids) + budget_lines = analytic_account_id.crossovered_budget_line.filtered( + lambda x: x.general_budget_id in budget_post and + x.crossovered_budget_id.state == 'done' and + fields.Date.from_string(x.date_from) <= date <= fields.Date.from_string(x.date_to)) + amount = budget_lines.reserve + amount -= (line.price_subtotal + line.price_tax) + budget_lines.write({'reserve': amount}) + + return res + + def action_post(self): + res = super(AccountMove, self).action_post() + if self.is_check: + confirm_budget = self.env['budget.confirmation'].search([('invoice_id', '=', self.id)]) + confirm_budget.write({'ref': self.name}) + for line in self.invoice_line_ids: + analytic_account_id = line.analytic_account_id + budget_post = self.env['account.budget.post'].search([]).filtered( + lambda x: line.account_id in x.account_ids) + budget_lines = analytic_account_id.crossovered_budget_line.filtered( + lambda x: x.general_budget_id in budget_post and + x.crossovered_budget_id.state == 'done' and + x.date_from <= self.invoice_date <= x.date_to) + amount = budget_lines.confirm + amount += (line.price_subtotal + line.price_tax) + budget_lines.write({'confirm': amount}) + budget_lines.write({'reserve': abs((line.price_subtotal + line.price_tax) - budget_lines.reserve)}) + return res + + def button_draft(self): + res = super(AccountMove, self).button_draft() + if self.is_check: + date = fields.Date.from_string(self.date) + for line in self.invoice_line_ids: + analytic_account_id = line.analytic_account_id + budget_post = self.env['account.budget.post'].search([]).filtered( + lambda x: line.account_id in x.account_ids) + budget_lines = analytic_account_id.crossovered_budget_line.filtered( + lambda x: x.general_budget_id in budget_post and + x.crossovered_budget_id.state == 'done' and + fields.Date.from_string(x.date_from) <= date <= fields.Date.from_string(x.date_to)) + amount = budget_lines.confirm + amount -= (line.price_subtotal + line.price_tax) + budget_lines.write({'confirm': amount}) + return res + + def action_budget(self): + confirmation_lines = [] + if not self.budget_check: + amount = 0 + for line in self.invoice_line_ids.filtered(lambda r: r.analytic_account_id.is_analytic_budget == True): + if line.analytic_account_id: + if not line.analytic_account_id: + raise ValidationError(_('Please Choose Analytic account for This Bill')) + budget_lines = line.analytic_account_id.crossovered_budget_line.filtered( + lambda x: + x.crossovered_budget_id.state == 'done' and + fields.Date.from_string(x.date_from) <= fields.Date.from_string( + self.invoice_date) <= fields.Date.from_string(x.date_to)) + if not budget_lines: + raise UserError( + _('analytic account is %s not link with budget') % line.analytic_account_id.name) + else: + remain = abs(budget_lines[0].remain) + amount = amount + (line.price_subtotal + line.price_tax) + new_remain = remain - amount + confirmation_lines.append((0, 0, { + 'amount': line.price_subtotal + line.price_tax, + 'analytic_account_id': line.analytic_account_id.id, + 'description': line.product_id.name, + 'budget_line_id': budget_lines[0].id, + 'remain': new_remain + (line.price_subtotal + line.price_tax), + 'new_balance': new_remain, + 'account_id': line.account_id.id + })) + + data = { + 'name': _('Vendor Bill :%s') % self.partner_id.name, + 'date': self.invoice_date, + 'beneficiary_id': self.partner_id.id, + # 'department_id': self.department_id.id, + 'type': 'vendor.bill', + 'ref': self.name, + 'description': self.ref, + 'total_amount': amount, + 'lines_ids': confirmation_lines, + 'invoice_id': self.id + } + self.env['budget.confirmation'].create(data) + + self.write({ + 'is_check': True + }) + self.write({ + 'state': 'wait_budget' + }) + + def action_open_budget_confirmation(self): + self.ensure_one() + return { + "name": _('Budget Confirmation'), + "type": "ir.actions.act_window", + "res_model": "budget.confirmation", + "view_mode": "form", + "target": "new", + "domain": [('invoice_id', '=', self.id)] + } + + +class PurchaseOrderLine(models.Model): + _inherit = 'account.move.line' + + price_tax = fields.Float(compute='_compute_amount', string='Tax', store=True) + + @api.depends('quantity', 'price_unit', 'tax_ids') + def _compute_amount(self): + for line in self: + taxes = line.tax_ids.compute_all(line.price_unit, line.move_id.currency_id, line.quantity, + product=line.product_id, partner=line.move_id.partner_id) + line.update({ + 'price_tax': sum(t.get('amount', 0.0) for t in taxes.get('taxes', [])), + }) diff --git a/odex25_accounting/exp_budget_check/models/analytic_account.py b/odex25_accounting/exp_budget_check/models/analytic_account.py new file mode 100644 index 000000000..4c4a56466 --- /dev/null +++ b/odex25_accounting/exp_budget_check/models/analytic_account.py @@ -0,0 +1,14 @@ +from odoo import models, fields, api, _ + + +class AccountAnalyticAccount(models.Model): + _inherit = 'account.analytic.account' + + is_analytic_budget = fields.Boolean(string="Is Use In Budget", default=False) + is_auto_check = fields.Boolean(string="Auto Check", default=False) + +# +# class CrossoveredBudgetLines(models.Model): +# _inherit = "crossovered.budget.lines" +# +# analytic_account_id = fields.Many2one('account.analytic.account', 'Analytic Account', domain=[('is_analytic_budget','=',True)]) diff --git a/odex25_accounting/exp_budget_check/models/hr_expense.py b/odex25_accounting/exp_budget_check/models/hr_expense.py new file mode 100644 index 000000000..5d62a9761 --- /dev/null +++ b/odex25_accounting/exp_budget_check/models/hr_expense.py @@ -0,0 +1,167 @@ +from odoo import models, fields, api, _ +from odoo.exceptions import AccessError, UserError, RedirectWarning, ValidationError, Warning +from odoo.tools import float_is_zero, float_compare, pycompat + + +class BudgetConfirmationCustom(models.Model): + _inherit = 'budget.confirmation' + + type = fields.Selection(selection_add=[('expense', 'Expense')]) + expense_id = fields.Many2one('hr.expense') + + def cancel(self): + super(BudgetConfirmationCustom, self).cancel() + if self.expense_id and self.type == 'expense': + self.expense_id.write({'state': 'draft'}) + self.expense_id.message_post(body=_( + "Rejected By : %s With Reject Reason : %s" % (str(self.env.user.name), str(self.reject_reason)))) + + def done(self): + super(BudgetConfirmationCustom, self).done() + if self.expense_id and self.type == 'expense': + self.expense_id.write({'is_approve': True}) + self.expense_id.write({'state': 'budget_approve'}) + for rec in self: + for line in rec.lines_ids: + budget_post = self.env['account.budget.post'].search([]).filtered( + lambda x: line.account_id in x.account_ids) + analytic_account_id = line.analytic_account_id + budget_lines = analytic_account_id.crossovered_budget_line.filtered( + lambda x: x.general_budget_id in budget_post and + x.crossovered_budget_id.state == 'done' and + x.date_from <= self.date <= x.date_to) + print("budget_lines.reserve budget_lines.reserve budget_lines.reserve", budget_lines.reserve) + amount = budget_lines.reserve + amount += line.amount + budget_lines.write({'reserve': amount}) + + +class AccountMove(models.Model): + _inherit = 'hr.expense' + + state = fields.Selection(selection_add=[ + ('confirm', 'Confirm'), + ('wait_budget', 'Wait Budget'), + ('budget_approve', 'Approved'), + ]) + + is_budget = fields.Boolean(related='analytic_account_id.is_analytic_budget') + is_check = fields.Boolean(default=False, copy=False) + is_approve = fields.Boolean(default=False, copy=False) + + def action_submit_expenses(self): + if self.analytic_account_id.is_analytic_budget: + if self.state == 'draft': + self.write({ + 'state': 'confirm' + }) + elif self.state == 'confirm': + raise UserError(_('Please Check Budget First')) + elif self.state == 'wait_budget': + raise UserError(_("The Budget Confirmation Doesn't Approve yet")) + elif self.state == 'budget_approve': + if self.is_approve: + confirm_budget = self.env['budget.confirmation'].search([('expense_id', '=', self.id)]) + confirm_budget.write({'ref': self.name}) + analytic_account_id = self.analytic_account_id + budget_post = self.env['account.budget.post'].search([]).filtered( + lambda x: self.account_id in x.account_ids) + budget_lines = analytic_account_id.crossovered_budget_line.filtered( + lambda x: x.general_budget_id in budget_post and + x.crossovered_budget_id.state == 'done' and + x.date_from <= self.date <= x.date_to) + amount = budget_lines.confirm + amount += self.total_amount + budget_lines.write({'confirm': amount}) + budget_lines.write({'reserve': abs(self.total_amount - budget_lines.reserve)}) + todo = self.filtered(lambda x: x.payment_mode == 'own_account') or self.filtered( + lambda x: x.payment_mode == 'company_account') + sheet = self.env['hr.expense.sheet'].create({ + 'company_id': self.company_id.id, + 'employee_id': self[0].employee_id.id, + 'name': todo[0].name if len(todo) == 1 else '', + 'expense_line_ids': [(6, 0, todo.ids)] + }) + return { + 'name': _('New Expense Report'), + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'hr.expense.sheet', + 'target': 'current', + 'res_id': sheet.id, + } + else: + return super(AccountMove, self).action_submit_expenses() + + def button_cancel(self): + res = super(AccountMove, self).button_cancel() + if self.is_check: + date = fields.Date.from_string(self.date) + for line in self.invoice_line_ids: + analytic_account_id = line.analytic_account_id + budget_post = self.env['account.budget.post'].search([]).filtered( + lambda x: line.account_id in x.account_ids) + budget_lines = analytic_account_id.crossovered_budget_line.filtered( + lambda x: x.general_budget_id in budget_post and + x.crossovered_budget_id.state == 'done' and + fields.Date.from_string(x.date_from) <= date <= fields.Date.from_string(x.date_to)) + amount = budget_lines.reserve + amount -= (line.price_subtotal + line.price_tax) + budget_lines.write({'reserve': amount}) + + return res + + def button_draft(self): + res = super(AccountMove, self).button_draft() + if self.is_check: + date = fields.Date.from_string(self.date) + for line in self.invoice_line_ids: + analytic_account_id = line.analytic_account_id + budget_post = self.env['account.budget.post'].search([]).filtered( + lambda x: line.account_id in x.account_ids) + budget_lines = analytic_account_id.crossovered_budget_line.filtered( + lambda x: x.general_budget_id in budget_post and + x.crossovered_budget_id.state == 'done' and + fields.Date.from_string(x.date_from) <= date <= fields.Date.from_string(x.date_to)) + amount = budget_lines.confirm + amount -= (line.price_subtotal + line.price_tax) + budget_lines.write({'confirm': amount}) + return res + + def action_budget(self): + budget_lines = self.analytic_account_id.crossovered_budget_line.filtered( + lambda x: x.crossovered_budget_id.state == 'done' and fields.Date.from_string( + x.date_from) <= fields.Date.from_string(self.date) <= fields.Date.from_string(x.date_to)) + if not budget_lines: + raise UserError( + _('analytic account is %s not link with budget') % self.analytic_account_id.name) + else: + remain = abs(budget_lines[0].remain) + amount = self.total_amount + new_remain = remain - amount + + data = { + 'name': _('Expense :%s') % self.employee_id.name, + 'date': self.date, + 'beneficiary_id': self.address_id.id, + 'type': 'expense', + 'ref': self.name, + 'description': self.name, + 'total_amount': amount, + 'lines_ids': [(0, 0, { + 'amount': amount, + 'analytic_account_id': self.analytic_account_id.id, + 'description': self.product_id.name, + 'budget_line_id': budget_lines[0].id, + 'remain': new_remain + amount, + 'new_balance': new_remain, + 'account_id': self.account_id.id + })], + 'expense_id': self.id + } + self.env['budget.confirmation'].create(data) + + self.write({ + 'is_check': True, + 'state': 'wait_budget' + }) diff --git a/odex25_accounting/exp_budget_check/security/ir.model.access.csv b/odex25_accounting/exp_budget_check/security/ir.model.access.csv new file mode 100644 index 000000000..8c41231e2 --- /dev/null +++ b/odex25_accounting/exp_budget_check/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_exp_budget_check_exp_budget_check,exp_budget_check.exp_budget_check,model_exp_budget_check_exp_budget_check,,1,0,0,0 \ No newline at end of file diff --git a/odex25_accounting/exp_budget_check/views/account_invoice_view.xml b/odex25_accounting/exp_budget_check/views/account_invoice_view.xml new file mode 100644 index 000000000..4522542b9 --- /dev/null +++ b/odex25_accounting/exp_budget_check/views/account_invoice_view.xml @@ -0,0 +1,107 @@ + + + + + + analytic.analytic.account.form.custom + account.analytic.account + + + + + + + + + + + + crossovered.budget.inherit.view.form + crossovered.budget + + + + ['|', ('company_id', '=', False), ('company_id', '=', + parent.company_id),('is_analytic_budget','=',True)] + + + + + + + + + + + + + + + + + + + + + + + + budget.account.view.move.inherit.form + account.move + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/odex25_accounting/hr_expense_petty_cash/views/hr_expense_sheet_views.xml b/odex25_accounting/hr_expense_petty_cash/views/hr_expense_sheet_views.xml new file mode 100644 index 000000000..293fdfe15 --- /dev/null +++ b/odex25_accounting/hr_expense_petty_cash/views/hr_expense_sheet_views.xml @@ -0,0 +1,153 @@ + + + + view.hr.expense.sheet.form.inherit + hr.expense.sheet + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + hr_expense_petty_cash.group_petty_cash_manager + + + + {'invisible': ['|',('state', 'not in', ('post', 'done')),('payment_mode', '=', + 'petty_cash')]} + + + + + + {'invisible': [('payment_mode', 'not in', ['own_account', 'petty_cash'])]} + + + + + + + +
    +

    + + +

    +
    + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + petty.cash.list + petty.cash + + + + + + + + + + + + + + + + + petty.cash.kanban + petty.cash + + + + + + +
    +
    +
    + + + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + + petty.cash.search + petty.cash + + + + + + + + + + + + + + + Petty Cash + petty.cash + tree,kanban,form + + + +

    + Create a new petty cash holder +

    +
    +
    + + + + + + hr_employee.extend.form + hr.employee + + + + + + + + + +
    diff --git a/odex25_accounting/hr_expense_petty_cash/wizards/__init__.py b/odex25_accounting/hr_expense_petty_cash/wizards/__init__.py new file mode 100644 index 000000000..c1f71f550 --- /dev/null +++ b/odex25_accounting/hr_expense_petty_cash/wizards/__init__.py @@ -0,0 +1 @@ +from . import cancel_petty_cash diff --git a/odex25_accounting/hr_expense_petty_cash/wizards/cancel_petty_cash.py b/odex25_accounting/hr_expense_petty_cash/wizards/cancel_petty_cash.py new file mode 100644 index 000000000..cf546c51d --- /dev/null +++ b/odex25_accounting/hr_expense_petty_cash/wizards/cancel_petty_cash.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class PettyCash(models.TransientModel): + + + _name = "petty.cash.cancel.wizard" + _description = "petty refuse Reason wizard" + + reason = fields.Text(string='Cancel Request Reason', required=True) + petty_id = fields.Many2one('petty.cash') + user_id = fields.Many2one('res.users', string='Scheduler User', default=lambda self: self.env.user, required=True) + + @api.model + def default_get(self, fields): + res = super(PettyCash, self).default_get(fields) + active_ids = self.env.context.get('active_ids', []) + + res.update({'petty_id': active_ids[0] if active_ids else False}) + return res + + + def request_cancel_reason(self): + self.ensure_one() + print('zainab') + self.petty_id.write({'state':'running'}) + return {'type': 'ir.actions.act_window_close'} + diff --git a/odex25_accounting/hr_expense_petty_cash/wizards/cancel_purchase_request.xml b/odex25_accounting/hr_expense_petty_cash/wizards/cancel_purchase_request.xml new file mode 100644 index 000000000..6aac1d010 --- /dev/null +++ b/odex25_accounting/hr_expense_petty_cash/wizards/cancel_purchase_request.xml @@ -0,0 +1,19 @@ + + + + petty.cash.cancel.wizard.form + petty.cash.cancel.wizard + +
    + + This Employee Already has Petty Cash called" + + +
    +
    + +
    +
    +
    diff --git a/odex25_accounting/hr_expense_petty_cash/wizards/convert_to_contract.xml b/odex25_accounting/hr_expense_petty_cash/wizards/convert_to_contract.xml new file mode 100644 index 000000000..cb4a2649d --- /dev/null +++ b/odex25_accounting/hr_expense_petty_cash/wizards/convert_to_contract.xml @@ -0,0 +1,41 @@ + + + + convert.po.contract.wizard.form + convert.po.contract.wizard + +
    + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + +
    diff --git a/odex25_accounting/journal_entry_report/__init__.py b/odex25_accounting/journal_entry_report/__init__.py new file mode 100644 index 000000000..5305644df --- /dev/null +++ b/odex25_accounting/journal_entry_report/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models \ No newline at end of file diff --git a/odex25_accounting/journal_entry_report/__manifest__.py b/odex25_accounting/journal_entry_report/__manifest__.py new file mode 100644 index 000000000..fe9933d5c --- /dev/null +++ b/odex25_accounting/journal_entry_report/__manifest__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +{ + 'name': 'Journal Entry Report', + 'version': '1', + 'summary': 'Journal Entry Report', + 'description': """ """, + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'depends': ['account'], + 'data': [ + 'views/account_move_view.xml', + 'reports/report_journal_entry.xml' + ], + + 'qweb': [], + 'installable': True, + 'application': True, + 'auto_install': False, +} diff --git a/odex25_accounting/journal_entry_report/i18n/ar.po b/odex25_accounting/journal_entry_report/i18n/ar.po new file mode 100644 index 000000000..3c40e40b5 --- /dev/null +++ b/odex25_accounting/journal_entry_report/i18n/ar.po @@ -0,0 +1,106 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * journal_entry_report +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0+e-20210105\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-05-19 05:45+0000\n" +"PO-Revision-Date: 2021-05-19 05:45+0000\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: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Account" +msgstr "حساب" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Cost Center" +msgstr "مركز التكلفة" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Credit" +msgstr "الدائن" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Date" +msgstr "التاريخ" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Debit" +msgstr "المدين" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Details" +msgstr "التفاصيل" + +#. module: journal_entry_report +#: model:ir.model.fields,field_description:journal_entry_report.field_account_move__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: journal_entry_report +#: model:ir.model.fields,field_description:journal_entry_report.field_account_move__id +msgid "ID" +msgstr "المُعرف" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: journal_entry_report +#: model:ir.actions.report,name:journal_entry_report.action_report_journal_entry +msgid "Journal Entries" +msgstr "القيود اليومية" + +#. module: journal_entry_report +#: model:ir.model,name:journal_entry_report.model_account_move +msgid "Journal Entry" +msgstr "قيد اليومية" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Journal Entry Number‬(" +msgstr "رقم القيد‬(" + +#. module: journal_entry_report +#: model:ir.model.fields,field_description:journal_entry_report.field_account_move____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Partner" +msgstr "الشريك" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Ref." +msgstr "المرجع" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Number" +msgstr "رقم القيد" + +#. module: journal_entry_report +#: model:ir.model.fields,field_description:journal_entry_report.field_account_move_line__einvoice +msgid "E-invoice" +msgstr "رقم الفاتورة الالكترونية" + +#. module: journal_entry_report +#: model_terms:ir.ui.view,arch_db:journal_entry_report.report_journal_entry_document +msgid "Total" +msgstr "الإجمالي" diff --git a/odex25_accounting/journal_entry_report/models/__init__.py b/odex25_accounting/journal_entry_report/models/__init__.py new file mode 100644 index 000000000..de26888c6 --- /dev/null +++ b/odex25_accounting/journal_entry_report/models/__init__.py @@ -0,0 +1,2 @@ + +from . import account_move_line \ No newline at end of file diff --git a/odex25_accounting/journal_entry_report/models/account_move_line.py b/odex25_accounting/journal_entry_report/models/account_move_line.py new file mode 100644 index 000000000..6942d3c16 --- /dev/null +++ b/odex25_accounting/journal_entry_report/models/account_move_line.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models, _ + + +class AccountMove(models.Model): + _inherit = "account.move.line" + + einvoice = fields.Char(string="E-invoice", copy=False) diff --git a/odex25_accounting/journal_entry_report/reports/report_journal_entry.xml b/odex25_accounting/journal_entry_report/reports/report_journal_entry.xml new file mode 100644 index 000000000..e332f3e34 --- /dev/null +++ b/odex25_accounting/journal_entry_report/reports/report_journal_entry.xml @@ -0,0 +1,152 @@ + + + + + + + \ No newline at end of file diff --git a/odex25_accounting/journal_entry_report/static/description/iWesabe-Apps-Journal-Entry-Report.png b/odex25_accounting/journal_entry_report/static/description/iWesabe-Apps-Journal-Entry-Report.png new file mode 100644 index 0000000000000000000000000000000000000000..fcf8ea3b1ddd703a7d35e150fbb0134c64592932 GIT binary patch literal 102717 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 HH2D7m^z<2- literal 0 HcmV?d00001 diff --git a/odex25_accounting/journal_entry_report/static/description/icon.png b/odex25_accounting/journal_entry_report/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWKOZ3Gor^zWx37scOI^@2$7K^{xMU-&+4$ zoUXdlIs5G2p3Xk!UKnSLCGbaOjpq#+I*idie=$Z!&l_{$*qy^d$FSd%G4JqsV=o?j zZ_%}do?$r5{4ovONSS{)gM6S5zs`Q%4j~6p`_A%74Vfy?T zb3ecG&yV3&+%GPiF?Hd57QlzU7({*Mj5&*^e{<{)?=qITgYmJ!nN4#S1zyl_E_^y; z<;P|=Pi^{C)Bb?E=1}`HaljoKsKWkM>{ra3d)1;L?>@erF=aT~PtR_?a^C)nf01VV z9?%oLY)zP{popA=Qbby%R^@}zU?OTr)+-f z!mIu;=;^JDKlwOg)};AYHqZZjamh%=2Hb)3)3dx~uRSsUtqoJ0fq!EqAQjv5e|dZy zeZLrXNBK9m=Z8iH=3+M}ucs5hBrvxfJP*C#-|XKU8hPRjoy7)va1H)`4(<#EmI`xO zh7|zTFxnM3tEl<>4yG|xJ5PO!F@JFOTN%q%D$|*w=(^B!O;OYpEdAsjmOdZVO7g}` zyl5=yO8f14%#ZQ=0&~TeICoA4f7EL2J$$8^P~T?L@rx<9WQ*v>li~@sPk)AO(vs|n zz>p`Zm3{GP79z@{tTu=8k+;u0dJad8T@hor&LP2G-*o zj;rrv@1yI)udrXh7K(oCOq}bduIxOnA7rKKjVzCTtNqwTS`yH1=Rx|W_GQ1(cj`Cw zxvNh^Khg9r3uq+zPA!tYHJwNC9Y%?E(MI&0T8OSw3;I3)AN<~= zO<-q2s0*@%{Y7P*&XbHB3@V+!0neNCZR|H)Sjzq+JHOWYfRE*DrnZB*`sJ)a8w|em zV720HwoJUrF4rGq%K|GUT_Xv9l0A8E9y<%|mdoGkSs(Rtwh85B$j3W4&Q9-6Uxhwk@KnG{sFjtH_9Zn zl1&P|02v}#B>C(5#&0QqHEbfjr_ygJZzOY6fK^u^98l-WC_7NzLwN&yy9M7z@Li7Y zqxc?)@0YbnY`n68^&*)ixgq&fAtNLo`qgZKlr7LM`!EyqKt8Eo`ZK&hG_Z9jlTexh zFSB*I(nR_qWf3%X)l0HPa^3Y!=X3hITT6Bx11d(5N%XYcSG*nEwDvt{&$vA zo?}g-oHZ#|u_pd4e*ZoDt-g!zn^}_<$GN{{zv;I+?PO8D!Z{T2LAC@qXh#WNpDjAR zsi@5;jkpG$MGxcmy{K=y)d{>|p@l7lyk3Ghc zd^jr>F8d40A(X`^7RpahZbTW0l7~`>(uy)v)Us;v0@`{J^xTN=Tz{2Jwyz3krhbd3 zvitmX(1QM}!$H^YU{4=}Z3i#-t2sV&!|`Wu{7w|`MqGNz@mF!I4YCbhX}C^QVjssO z-{#>MyolB>w?8GfKPb0P_0W0jOTMnm@fY93W3}w$H}P2~o_&IQpM`(w+W!>$PeX?Y zgCV%)GVt8{hy4VO5jGRh-Y~S+`ycizPzNxRZRW$ao`-$H@0VyVw@)}~?KlR{DOTe= zFjZ$@|KjXE;TxO}d5B;iZ4lPb=O$$b`Zg8EfIIAKllUWk@5gz_0P#q93g_=fAw1GJ zb{fvZgOh9!J|rLNDttpmpaV_HN4WOKINyQ&|3E>V>M@l2QNGT8Ym7CKcP`|d7ykcb z``<$-DEUWXiX;=WfB#SNv#3yh;2vVY^DV>Fm=LNO)QzB`s#;KB(@$(d1cO1%2+*bn zf~p$OLqYrs=z1_<;IAswpr#?}(lo?gxK$XshQpewYx0D^h1h}t+Uwe6BXWmY!tJsc zhM{ReBY-A@IHCu14GrQLsMGOJH_&h(WN0`9!cT<>3-^nzrck*+ zU785s52`^QR5TPI0t5KqW+EP&sv&d~s!&u#Q*e{)6R{>33I%YXN;Rm|O&V!AbW*Ffx2qG#1B%~*? zgz%r-K&r%&Bmx)buq0W_VTm51r?Svp#0�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 literal 0 HcmV?d00001 diff --git a/odex25_accounting/journal_entry_report/static/src/css/website_rtl.css b/odex25_accounting/journal_entry_report/static/src/css/website_rtl.css new file mode 100644 index 000000000..85347c670 --- /dev/null +++ b/odex25_accounting/journal_entry_report/static/src/css/website_rtl.css @@ -0,0 +1,22 @@ +@media (min-width: 768px){ + .rtl .navbar-right{ + float: left !important; + } + .rtl .navbar-right .dropdown .dropdown-menu{ + right: auto !important; + left: 0 !important; + } + .rtl .navbar-left{ + float: right !important; + } + .rtl .navbar-left .dropdown .dropdown-menu{ + left: auto !important; + right: 0 !important; + } + .navbar-nav.navbar-right:last-child{ + margin-left: auto; + } + .rtl .pull-left{ + float: right !important; + } +} diff --git a/odex25_accounting/journal_entry_report/views/account_move_view.xml b/odex25_accounting/journal_entry_report/views/account_move_view.xml new file mode 100644 index 000000000..33188e3d0 --- /dev/null +++ b/odex25_accounting/journal_entry_report/views/account_move_view.xml @@ -0,0 +1,15 @@ + + + + + account.move.form + account.move + + + + + + + + + \ No newline at end of file diff --git a/odex25_accounting/l10n_exp/__init__.py b/odex25_accounting/l10n_exp/__init__.py new file mode 100644 index 000000000..0779d2f41 --- /dev/null +++ b/odex25_accounting/l10n_exp/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +from odoo.api import Environment, SUPERUSER_ID +from odoo.exceptions import ValidationError +from odoo import _ + + +def _check_modules(cr): + env = Environment(cr, SUPERUSER_ID, {}) + if env['ir.module.module'].search([('name', '=', 'l10n_exp'),('state', '!=', 'installed')]): + module = env['ir.module.module'].search([ + ('name', '=', 'account_chart_of_accounts'), + ('state', '=', 'installed') + ]) + if not module: + raise ValidationError(_('Hierarchy Chart Of Accounts (account_chart_of_accounts) must be install before installing this module.')) + + module = env['ir.module.module'].search([ + ('name', '=', 'l10n_multilang'), + ('state', '=', 'installed') + ]) + if not module: + raise ValidationError(_('Multi Language Chart of Accounts (l10n_multilang) must be install before installing this module.')) \ No newline at end of file diff --git a/odex25_accounting/l10n_exp/__manifest__.py b/odex25_accounting/l10n_exp/__manifest__.py new file mode 100644 index 000000000..1ea3c9040 --- /dev/null +++ b/odex25_accounting/l10n_exp/__manifest__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + + +{ + 'name': 'Saudi Arabia - Accounting', + 'version': '1.0', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'description': """ +This is the latest Saudi Arabia Odoo localisation necessary to run Odoo accounting for Saudi Arabia with: +================================================================================================= + - Chart of Accounts""", + + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'category': 'Accounting/Localizations/Account Charts', + 'depends': ['l10n_multilang', 'account_chart_of_accounts'], + #'pre_init_hook': '_check_modules', + 'data': [ + 'data/l10n_exp_chart_data.xml', + 'data/account.account.template.csv', + #'data/account.chart.template.csv', + 'data/account_chart_template_data.xml', + ], + 'auto_install': ['account_chart_of_accounts'], +} diff --git a/odex25_accounting/l10n_exp/data/account.account.template.csv b/odex25_accounting/l10n_exp/data/account.account.template.csv new file mode 100644 index 000000000..0b15c6ceb --- /dev/null +++ b/odex25_accounting/l10n_exp/data/account.account.template.csv @@ -0,0 +1,220 @@ +id,code,name,user_type_id/id,parent_id/id,reconcile,chart_template_id/id +account_account_46_6c73eb66,0,Company,account_chart_of_accounts.data_account_type_view,,,l10n_exp +account_account_47_d78e0779,1,Assets,account_chart_of_accounts.data_account_type_view,account_account_46_6c73eb66,,l10n_exp +account_account_65_c1509b94,11,Current Assets,account_chart_of_accounts.data_account_type_view,account_account_47_d78e0779,,l10n_exp +account_account_66_fd62e5ad,111,Cash in Banks and Funds,account_chart_of_accounts.data_account_type_view,account_account_65_c1509b94,,l10n_exp +account_account_53_7cb227ec,1111,Cash in Current Accounts,account_chart_of_accounts.data_account_type_view,account_account_66_fd62e5ad,,l10n_exp +account_account_57_cf9662ed,111101,Al Rajhi Bank,account.data_account_type_liquidity,account_account_53_7cb227ec,,l10n_exp +account_account_40_5f61e45d,111102,Al-Inma Bank,account.data_account_type_liquidity,account_account_53_7cb227ec,,l10n_exp +account_account_54_5a374538,111103,AL-Bilad Bank,account.data_account_type_liquidity,account_account_53_7cb227ec,,l10n_exp +account_account_38_0ebb4933,111104,Account pending payments receipt -Cashs,account.data_account_type_current_assets,account_account_53_7cb227ec,True,l10n_exp +account_account_39_10b7ab87,111105, Account outstanding payments receivable- cash,account.data_account_type_current_assets,account_account_53_7cb227ec,True,l10n_exp +account_account_41_6e9068fc,111106,Account pending payments receipt Banks,account.data_account_type_current_assets,account_account_53_7cb227ec,True,l10n_exp +account_account_42_b1f5d19c,111107,Account outstanding payments receivable - banks,account.data_account_type_current_assets,account_account_53_7cb227ec,True,l10n_exp +1_configurable_chart_template_liquidity_transfer,111108,Transfers Account,account.data_account_type_current_assets,account_account_53_7cb227ec,True,l10n_exp +account_account_36_e0178b31,111109,Bank Reconciliation Account,account.data_account_type_current_liabilities,account_account_53_7cb227ec,,l10n_exp +account_account_67_33fdff22,1112,Cash in Boxes,account_chart_of_accounts.data_account_type_view,account_account_66_fd62e5ad,,l10n_exp +account_account_68_19de836b,1113,Petty Cash Account,account_chart_of_accounts.data_account_type_view,account_account_66_fd62e5ad,,l10n_exp +account_account_37_0a66304e,111401,Cash Boxes,account.data_account_type_liquidity,account_account_67_33fdff22,,l10n_exp +account_account_48_45d5d5e3,111501,Employee cash covenant account,account.data_account_type_liquidity,account_account_68_19de836b,,l10n_exp +account_account_138_f7b94056,111502,Other Petty Cash,account.data_account_type_liquidity,account_account_68_19de836b,,l10n_exp +account_account_69_d82bbacb,112,Accounts Receivable,account_chart_of_accounts.data_account_type_view,account_account_65_c1509b94,,l10n_exp +account_account_70_677ecbdd,1121,Receivable,account_chart_of_accounts.data_account_type_view,account_account_69_d82bbacb,,l10n_exp +1_current_assets,112103,Employee loans and advances,account.data_account_type_current_assets,account_account_70_677ecbdd,,l10n_exp +1_pos_receivable,112104,Receipts / Receivable,account.data_account_type_receivable,account_account_70_677ecbdd,True,l10n_exp +account_account_71_60f68e70,113,Taxes,account_chart_of_accounts.data_account_type_view,account_account_65_c1509b94,,l10n_exp +account_account_72_e218ef68,1131,VAT purchases,account_chart_of_accounts.data_account_type_view,account_account_71_60f68e70,,l10n_exp +1_tax_paid,113101,VAT purchases,account.data_account_type_current_assets,account_account_72_e218ef68,,l10n_exp +account_account_74_b59bda8f,114,Advance Payments,account_chart_of_accounts.data_account_type_view,account_account_65_c1509b94,,l10n_exp +account_account_75_f2e13aa2,1141,Expenses Paid in Advance,account_chart_of_accounts.data_account_type_view,account_account_74_b59bda8f,,l10n_exp +1_prepayments,114101,Prepaid Expenses,account.data_account_type_prepayments,account_account_75_f2e13aa2,,l10n_exp +account_account_76_700e1cbe,115,Stores,account_chart_of_accounts.data_account_type_view,account_account_65_c1509b94,,l10n_exp +account_account_77_edae9703,1151,Goods and Tools Store,account_chart_of_accounts.data_account_type_view,account_account_76_700e1cbe,,l10n_exp +1_stock_valuation,115101,The main store,account.data_account_type_current_assets,account_account_77_edae9703,,l10n_exp +1_stock_in,115102,Goods on the way,account.data_account_type_current_assets,account_account_77_edae9703,True,l10n_exp +1_stock_out,115103,store under inspection,account.data_account_type_current_assets,account_account_77_edae9703,True,l10n_exp +account_account_78_321e9deb,12,Non-Current Assets,account_chart_of_accounts.data_account_type_view,account_account_47_d78e0779,,l10n_exp +account_account_79_07629e73,121,Fixed Assets,account_chart_of_accounts.data_account_type_view,account_account_78_321e9deb,,l10n_exp +account_account_80_4600c70f,1211,The Cars,account_chart_of_accounts.data_account_type_view,account_account_79_07629e73,,l10n_exp +account_account_62_286d2c1a,121101,The Cars,account.data_account_type_fixed_assets,account_account_80_4600c70f,,l10n_exp +account_account_81_bfa28ebc,1212,The Furniture,account_chart_of_accounts.data_account_type_view,account_account_79_07629e73,,l10n_exp +1_fixed_assets,121201,The Furniture,account.data_account_type_fixed_assets,account_account_81_bfa28ebc,,l10n_exp +account_account_82_a15be3d4,1213,Computers and electronic devices,account_chart_of_accounts.data_account_type_view,account_account_79_07629e73,,l10n_exp +account_account_253_4ec9623d,121301,Computers,account.data_account_type_fixed_assets,account_account_82_a15be3d4,,l10n_exp +account_account_83_33cae736,122,Other Assets,account_chart_of_accounts.data_account_type_view,account_account_78_321e9deb,,l10n_exp +account_account_84_6702a9d9,1221,Electronic Systems,account_chart_of_accounts.data_account_type_view,account_account_83_33cae736,,l10n_exp +1_non_current_assets,122101,Website,account.data_account_type_non_current_assets,account_account_84_6702a9d9,,l10n_exp +account_account_85_2e9b74d6,2,Liabilities and Equity,account_chart_of_accounts.data_account_type_view,account_account_46_6c73eb66,,l10n_exp +account_account_86_8a06bf9e,21,Current Liabilities,account_chart_of_accounts.data_account_type_view,account_account_85_2e9b74d6,,l10n_exp +account_account_87_2c3cce44,211,Short Term Commitments,account_chart_of_accounts.data_account_type_view,account_account_86_8a06bf9e,,l10n_exp +account_account_88_817af232,2111,short term loans,account_chart_of_accounts.data_account_type_view,account_account_87_2c3cce44,,l10n_exp +account_account_228_bd7c63be,211101,Short Term Loans,account.data_account_type_current_liabilities,account_account_88_817af232,,l10n_exp +account_account_90_300bdcda,2112,Short Term Payment Papers,account_chart_of_accounts.data_account_type_view,account_account_87_2c3cce44,,l10n_exp +1_current_liabilities,211201,Bills of exchange and checks,account.data_account_type_current_liabilities,account_account_90_300bdcda,,l10n_exp +account_account_89_47fb493d,212,long-term commitments,account_chart_of_accounts.data_account_type_view,account_account_86_8a06bf9e,,l10n_exp +account_account_91_9e465d19,2121,long term loans,account_chart_of_accounts.data_account_type_view,account_account_89_47fb493d,,l10n_exp +account_account_230_35218190,212102,long term loans,account.data_account_type_non_current_liabilities,account_account_91_9e465d19,,l10n_exp +account_account_92_e4127fde,2122,long-term bills of exchange,account_chart_of_accounts.data_account_type_view,account_account_89_47fb493d,,l10n_exp +account_account_229_84ec3052,212201,long-term bills of exchange,account.data_account_type_non_current_liabilities,account_account_92_e4127fde,,l10n_exp +account_account_93_01f44a26,213,creditors,account_chart_of_accounts.data_account_type_view,account_account_86_8a06bf9e,,l10n_exp +account_account_94_65ac12f8,2131,trade creditors,account_chart_of_accounts.data_account_type_view,account_account_93_01f44a26,,l10n_exp +1_receivable,213101,external suppliers,account.data_account_type_receivable,account_account_94_65ac12f8,True,l10n_exp +1_payable,213102,Creditors/ Payments,account.data_account_type_payable,account_account_94_65ac12f8,True,l10n_exp +account_account_95_8382072a,214,accrued expenses,account_chart_of_accounts.data_account_type_view,account_account_86_8a06bf9e,,l10n_exp +account_account_96_d28f20a5,2141,accrued expenses,account_chart_of_accounts.data_account_type_view,account_account_95_8382072a,,l10n_exp +1_to_receive_pay,214101,Salary and wages due,account.data_account_type_current_liabilities,account_account_96_d28f20a5,True,l10n_exp +account_account_232_f7b879b7,214103,Eligible social security,account.data_account_type_current_liabilities,account_account_96_d28f20a5,,l10n_exp +account_account_231_809292f4,214104,Payments made by clients,account.data_account_type_current_liabilities,account_account_96_d28f20a5,,l10n_exp +account_account_97_4f194535,215,Zakat provision,account_chart_of_accounts.data_account_type_view,account_account_86_8a06bf9e,,l10n_exp +account_account_98_8c546453,2151,Zakat provision,account_chart_of_accounts.data_account_type_view,account_account_97_4f194535,,l10n_exp +account_account_233_ecae933a,215101,Zakat provision,account.data_account_type_current_liabilities,account_account_98_8c546453,,l10n_exp +account_account_99_5d369744,22,Non-current obligations,account_chart_of_accounts.data_account_type_view,account_account_85_2e9b74d6,,l10n_exp +account_account_100_f1248c0d,221,credit related parties,account_chart_of_accounts.data_account_type_view,account_account_99_5d369744,,l10n_exp +account_account_101_58c25bee,2211,Accounts payable to related parties,account_chart_of_accounts.data_account_type_view,account_account_100_f1248c0d,,l10n_exp +account_account_234_497027d0,221101,Partners Drawing Accounts,account.data_account_type_equity,account_account_101_58c25bee,,l10n_exp +account_account_235_ae73fe3e,221102,Short term loan to related parties,account.data_account_type_equity,account_account_101_58c25bee,,l10n_exp +account_account_236_df111e8d,221103,Other creditor related parties,account.data_account_type_equity,account_account_101_58c25bee,,l10n_exp +account_account_102_b02675b1,222,Other credit balances,account_chart_of_accounts.data_account_type_view,account_account_99_5d369744,,l10n_exp +account_account_103_b0e622d6,2221,Other creditors,account_chart_of_accounts.data_account_type_view,account_account_102_b02675b1,,l10n_exp +account_account_238_d62e16f2,222101,temporary investments,account.data_account_type_equity,account_account_103_b0e622d6,,l10n_exp +account_account_237_9013bc14,222102,Other creditors,account.data_account_type_equity,account_account_103_b0e622d6,,l10n_exp +account_account_104_c6b44665,223,Taxes,account_chart_of_accounts.data_account_type_view,account_account_99_5d369744,,l10n_exp +account_account_105_8dc905d4,2231,Sales Tax VAT,account_chart_of_accounts.data_account_type_view,account_account_104_c6b44665,,l10n_exp +1_tax_receivable,223101,Sales Tax,account.data_account_type_current_assets,account_account_105_8dc905d4,,l10n_exp +account_account_240_91f4b7d8,223102,VAT due,account.data_account_type_current_liabilities,account_account_105_8dc905d4,,l10n_exp +account_account_106_5ef42f61,224,Allotments,account_chart_of_accounts.data_account_type_view,account_account_99_5d369744,,l10n_exp +account_account_107_2f46d77a,2241,Provision for employee obligations,account_chart_of_accounts.data_account_type_view,account_account_106_5ef42f61,,l10n_exp +account_account_241_49ec34fc,224101,Holidays allotted,account.data_account_type_non_current_liabilities,account_account_107_2f46d77a,,l10n_exp +account_account_242_7ea4fe8a,224102,custom travel tickets,account.data_account_type_non_current_liabilities,account_account_107_2f46d77a,,l10n_exp +account_account_243_6a7f90de,224103,Provision for end of severance pay,account.data_account_type_non_current_liabilities,account_account_107_2f46d77a,,l10n_exp +account_account_108_d4c7ec75,2242,other allowances,account_chart_of_accounts.data_account_type_view,account_account_106_5ef42f61,,l10n_exp +account_account_244_bbf0c0e8,224201,"Provision for doubtful debts, receivables from individuals",account.data_account_type_current_liabilities,account_account_108_d4c7ec75,,l10n_exp +account_account_245_695a09b6,224202,"Provision for doubtful debts, receivables from companies",account.data_account_type_current_liabilities,account_account_108_d4c7ec75,,l10n_exp +account_account_109_df598a12,23,Property rights,account_chart_of_accounts.data_account_type_view,account_account_85_2e9b74d6,,l10n_exp +account_account_110_f75b7972,231,Equity,account_chart_of_accounts.data_account_type_view,account_account_109_df598a12,,l10n_exp +account_account_111_98161560,2311,capital,account_chart_of_accounts.data_account_type_view,account_account_110_f75b7972,,l10n_exp +account_account_246_ebe9ecda,231101,capital,account.data_account_type_equity,account_account_111_98161560,,l10n_exp +account_account_247_5989bf9a,231102,financing for investment,account.data_account_type_equity,account_account_111_98161560,,l10n_exp +account_account_112_d0561224,232,Reserve ,account_chart_of_accounts.data_account_type_view,account_account_109_df598a12,,l10n_exp +account_account_113_706a1cf7,2321,Regular Reserve,account_chart_of_accounts.data_account_type_view,account_account_112_d0561224,,l10n_exp +account_account_248_45083bfd,232101,Regular Reserve,account.data_account_type_equity,account_account_113_706a1cf7,,l10n_exp +account_account_249_027afc8a,232102,Capital Losses,account.data_account_type_equity,account_account_113_706a1cf7,,l10n_exp +account_account_114_7b2e99ad,233,Profits and Losses,account_chart_of_accounts.data_account_type_view,account_account_109_df598a12,,l10n_exp +account_account_115_a082702d,2331,profits and losses,account_chart_of_accounts.data_account_type_view,account_account_114_7b2e99ad,,l10n_exp +account_account_43_73a28584,233101,"Profits, losses, and residuals",account.data_unaffected_earnings,account_account_115_a082702d,,l10n_exp +1_tax_received,291001,Tax Received,account.data_account_type_current_liabilities,account_account_105_8dc905d4,,l10n_exp +1_tax_payable,291002,Tax Payable,account.data_account_type_current_liabilities,account_account_105_8dc905d4,,l10n_exp +account_account_116_1c1c95fe,3,expenses,account_chart_of_accounts.data_account_type_view,account_account_46_6c73eb66,,l10n_exp +account_account_117_d7566a08,31,General and administrative expenses,account_chart_of_accounts.data_account_type_view,account_account_116_1c1c95fe,,l10n_exp +account_account_118_d6b23c93,311,Administrative expenses,account_chart_of_accounts.data_account_type_view,account_account_117_d7566a08,,l10n_exp +account_account_119_2b115ffc,3111,Salaries and Wages,account_chart_of_accounts.data_account_type_view,account_account_118_d6b23c93,,l10n_exp +account_account_147_dedc9baf,311101,basic salary,account.data_account_type_expenses,account_account_119_2b115ffc,,l10n_exp +account_account_148_990325eb,311102,housing allowance,account.data_account_type_expenses,account_account_119_2b115ffc,,l10n_exp +account_account_149_eb24deb1,311103,transportation allowance,account.data_account_type_expenses,account_account_119_2b115ffc,,l10n_exp +account_account_150_c160aa0a,311104,call exchange,account.data_account_type_expenses,account_account_119_2b115ffc,,l10n_exp +account_account_151_873e0227,311105,work nature allowance,account.data_account_type_expenses,account_account_119_2b115ffc,,l10n_exp +account_account_152_a8c2a986,311106,cost of living allowance,account.data_account_type_expenses,account_account_119_2b115ffc,,l10n_exp +account_account_153_3915aabb,311107,expatriate allowance,account.data_account_type_expenses,account_account_119_2b115ffc,,l10n_exp +account_account_154_4001295f,311108,assignment allowance,account.data_account_type_expenses,account_account_119_2b115ffc,,l10n_exp +account_account_120_1ab280d4,3112,Other staff costs,account_chart_of_accounts.data_account_type_view,account_account_118_d6b23c93,,l10n_exp +account_account_155_b3c93c17,311201,medical expenses,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_156_31ee8d22,311202,medical insurance,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_157_fef6b222,311203,Staff residence,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_158_99631784,311204,Exit and return visa,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_159_774ebe76,311205,Iqama renewal fee,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_160_3d3e87b0,311206,Work permit fees,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_161_f7f5b49d,311207,Service office expenses,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_162_e6634720,311208,Sponsorship Transfer Fee,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_163_76059d0a,311209,Training and seminars,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_164_e1271be0,311210,Recruitment expenses,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_166_d3ad0634,311211,Recruitment office fees,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_165_f11a2e81,311212,Social Security,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_167_2fe30391,311213,Work visit visa,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_168_65e0166b,311214,"Licenses of the Council of Engineers, Professionals and Technicians",account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_169_789f90f9,311215,End of service gratuity,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_170_e6a057ef,311216,Transportation and travel expenses,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_171_8d5cdbab,311217,Staff salary transfer fee,account.data_account_type_expenses,account_account_120_1ab280d4,,l10n_exp +account_account_121_1994bb54,3113,"Rewards, incentives and points",account_chart_of_accounts.data_account_type_view,account_account_118_d6b23c93,,l10n_exp +account_account_172_fb45ff01,311301,Sales bonuses and commissions,account.data_account_type_expenses,account_account_121_1994bb54,,l10n_exp +account_account_173_f6e7779f,311302,temporary wages,account.data_account_type_expenses,account_account_121_1994bb54,,l10n_exp +account_account_122_905dc364,3114,Other allowances,account_chart_of_accounts.data_account_type_view,account_account_118_d6b23c93,,l10n_exp +account_account_174_5e896e98,311401,Travel ticket exchange,account.data_account_type_expenses,account_account_122_905dc364,,l10n_exp +account_account_175_f67e7e81,311402,Alternate warning period,account.data_account_type_expenses,account_account_122_905dc364,,l10n_exp +account_account_176_12f13a3c,311403,education allowance,account.data_account_type_expenses,account_account_122_905dc364,,l10n_exp +account_account_177_bbddfa7d,311404,Vacation allowance,account.data_account_type_expenses,account_account_122_905dc364,,l10n_exp +account_account_123_b5c2a7c4,3115,Licensing fees and government subscriptions,account_chart_of_accounts.data_account_type_view,account_account_118_d6b23c93,,l10n_exp +account_account_178_c0d3ac34,311501,business account fees,account.data_account_type_expenses,account_account_123_b5c2a7c4,,l10n_exp +account_account_179_b917cbdb,311502,Municipal license fees,account.data_account_type_expenses,account_account_123_b5c2a7c4,,l10n_exp +account_account_181_d936559d,311503,Chamber of Commerce subscription,account.data_account_type_expenses,account_account_123_b5c2a7c4,,l10n_exp +account_account_124_6a434946,312,General expenses,account_chart_of_accounts.data_account_type_view,account_account_117_d7566a08,,l10n_exp +account_account_125_582bd695,3121,Service charges,account_chart_of_accounts.data_account_type_view,account_account_124_6a434946,,l10n_exp +account_account_60_ad170c1f,312101,Rents,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_183_1f5b24c7,312102,Water,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_184_9b55bddb,312103,Electricity,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_185_70877cd7,312104,Gasoline and motor oil,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_186_ffa5322f,312105,Advertising,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_187_a091e945,312106,Technical and information expenses,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_188_2a5ed1ce,312108,Building Maintenance,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_189_4c385ed9,312109,Computer and electronic equipment maintenance,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_190_57672b84,312110,government services,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_191_7ee8b51f,312111,Recruitment visas,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_192_0a5aca1d,312112,office equipment maintenance,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_193_e00db8e6,312113,Real estate services for the office,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +account_account_194_4ee836b4,312114,Marketing services expenses,account.data_account_type_expenses,account_account_125_582bd695,,l10n_exp +1_cost_of_goods_sold,312115,Cost of Goods Sold,account.data_account_type_direct_costs,account_account_125_582bd695,,l10n_exp +account_account_126_f124c559,3122,Communications and mail,account_chart_of_accounts.data_account_type_view,account_account_124_6a434946,,l10n_exp +account_account_196_b1eb2c3f,312201,Phone charges and mobile bills,account.data_account_type_expenses,account_account_126_f124c559,,l10n_exp +account_account_197_7f0a6829,312202,Postage and subscription,account.data_account_type_expenses,account_account_126_f124c559,,l10n_exp +account_account_127_d924497a,3123,Service office supplies,account_chart_of_accounts.data_account_type_view,account_account_124_6a434946,,l10n_exp +account_account_195_edc46352,312301,Publications,account.data_account_type_expenses,account_account_127_d924497a,,l10n_exp +account_account_198_5ff20305,312302,Stationery and office supplies,account.data_account_type_expenses,account_account_127_d924497a,,l10n_exp +account_account_199_3b1547e0,312303,Buffet supplies,account.data_account_type_expenses,account_account_127_d924497a,,l10n_exp +account_account_128_385d1617,3124,Miscellaneous other expenses,account_chart_of_accounts.data_account_type_view,account_account_124_6a434946,,l10n_exp +account_account_61_6ff47f77,312401,municipal licenses,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_200_a6c1aca0,312402,Gifts,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_201_0dcfd64a,312403,Travel ticket expenses,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_202_3dca95a3,312404,Hotel accommodation expenses,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_203_e45c14d8,312405,Shipping and unloading expenses,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_204_288f3450,312406,Newspaper and magazine ads,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_205_7694c361,312407,Radio and TV advertisements,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_206_5240d494,312408,Internet subscription,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_207_6adc039e,312409,Consulting and technical support fees,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_208_1172372f,312410,Legalization fees,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_209_70eb8c65,312411,Subscription and exhibitions,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_210_9b3cf9f5,312412,Miscellaneous administrative expenses,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_211_506f7a3f,312413,Paying fines and violations,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_212_7f1f952d,312414,Transfer fees,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_213_1e8ca1f9,312415,Bank fees and commissions,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_214_57a204fb,312416,Sales discounts,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_215_da6e9471,312417,Shipping and delivery costs,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_216_5c90146a,312418,Service costs,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_217_053ee245,312419,Rental commissions,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_218_ae6ead8f,312420,Leisure activities and outings,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_219_b9c9750a,312421,Hospitality and petty cash,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_220_fa538654,312422,Investment profit expense,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_221_c6efd4e2,312423,Advocacy and legal advice fees,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_222_cb49e83e,312424,Legal reference fees,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_223_a475086d,312425,Declaration of zakat and income,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_224_73e56a71,312426,Fine for late payment of value added tax,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_225_f8e78964,312427,Doubtful debts,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_226_8aaded69,312428,Other subscription fees,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_227_3243e5b0,312429,Banking service fees,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +1_expense,312430,Expenses,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +1_expense_rent,312431,office rentals,account.data_account_type_expenses,account_account_128_385d1617,,l10n_exp +account_account_129_c20e9be3,313,depreciation,account_chart_of_accounts.data_account_type_view,account_account_117_d7566a08,,l10n_exp +account_account_130_23ffe55c,3131,Depreciation expense,account_chart_of_accounts.data_account_type_view,account_account_129_c20e9be3,,l10n_exp +account_account_64_da01c863,313101,Depreciation expense,account.data_account_type_depreciation,account_account_130_23ffe55c,,l10n_exp +account_account_131_dee3e8df,4,Revenues,account_chart_of_accounts.data_account_type_view,account_account_46_6c73eb66,,l10n_exp +account_account_132_ddaf24b2,41,Sales revenue,account_chart_of_accounts.data_account_type_view,account_account_131_dee3e8df,,l10n_exp +account_account_133_eab09a57,411,The sales,account_chart_of_accounts.data_account_type_view,account_account_132_ddaf24b2,,l10n_exp +account_account_134_aa3d1407,4111,cash sales,account_chart_of_accounts.data_account_type_view,account_account_133_eab09a57,,l10n_exp +account_account_140_b53efa48,411101,Returns purchases,account.data_account_type_revenue,account_account_134_aa3d1407,,l10n_exp +1_income,411102,Cash proceeds from sales of services,account.data_account_type_revenue,account_account_134_aa3d1407,,l10n_exp +account_account_135_70e50462,42,Other revenue,account_chart_of_accounts.data_account_type_view,account_account_131_dee3e8df,,l10n_exp +account_account_136_2b41da3a,421,Other sales,account_chart_of_accounts.data_account_type_view,account_account_135_70e50462,,l10n_exp +account_account_137_0b886e4d,4211,Revenue other than activity,account_chart_of_accounts.data_account_type_view,account_account_136_2b41da3a,,l10n_exp +account_account_141_24dc93b6,421101,Purchase Discounts,account.data_account_type_other_income,account_account_137_0b886e4d,,l10n_exp +account_account_142_f225ed68,421102,commission income,account.data_account_type_other_income,account_account_137_0b886e4d,,l10n_exp +account_account_143_61ad26e9,421103,rental income,account.data_account_type_other_income,account_account_137_0b886e4d,,l10n_exp +account_account_145_6bd6176a,421104,Employee discounts,account.data_account_type_other_income,account_account_137_0b886e4d,,l10n_exp +account_account_146_9eeddf1a,421105,governmental support,account.data_account_type_other_income,account_account_137_0b886e4d,,l10n_exp diff --git a/odex25_accounting/l10n_exp/data/account.chart.template.csv b/odex25_accounting/l10n_exp/data/account.chart.template.csv new file mode 100644 index 000000000..e504a4333 --- /dev/null +++ b/odex25_accounting/l10n_exp/data/account.chart.template.csv @@ -0,0 +1,2 @@ +"id","name","property_account_receivable_id:id","property_account_payable_id:id","property_account_expense_categ_id:id","property_account_income_categ_id:id","income_currency_exchange_account_id:id","expense_currency_exchange_account_id:id","default_pos_receivable_account_id:id","use_anglo_saxon" +"l10n_exp","SA Account Chart Template (by Expert)","1100","2100","5000","4000","7700","7700","1104","True" diff --git a/odex25_accounting/l10n_exp/data/account_chart_template_data.xml b/odex25_accounting/l10n_exp/data/account_chart_template_data.xml new file mode 100644 index 000000000..5774c8af5 --- /dev/null +++ b/odex25_accounting/l10n_exp/data/account_chart_template_data.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/odex25_accounting/l10n_exp/data/l10n_exp_chart_data.xml b/odex25_accounting/l10n_exp/data/l10n_exp_chart_data.xml new file mode 100644 index 000000000..e2fb986e8 --- /dev/null +++ b/odex25_accounting/l10n_exp/data/l10n_exp_chart_data.xml @@ -0,0 +1,15 @@ + + + + + + SA Account Chart Template (by Expert) + 1111 + 1112 + 1116 + 1 + + + + + diff --git a/odex25_accounting/l10n_exp/i18n/ar.po b/odex25_accounting/l10n_exp/i18n/ar.po new file mode 100644 index 000000000..f5637e935 --- /dev/null +++ b/odex25_accounting/l10n_exp/i18n/ar.po @@ -0,0 +1,1117 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * l10n_exp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0+e-20210105\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-02021-05-26 05:04+0000\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: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_46_6c73eb66 +msgid "Company" +msgstr "الشركة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_47_d78e0779 +msgid "Assets" +msgstr "الأصول" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_65_c1509b94 +msgid "Current Assets" +msgstr "الأصول المتداولة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_66_fd62e5ad +msgid "Cash in Banks and Funds" +msgstr "النقدية في البنوك والصناديق" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_53_7cb227ec +msgid "Cash in Current Accounts" +msgstr "النقدية في الحسابات الجارية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_57_cf9662ed +msgid "Al Rajhi Bank" +msgstr "بنك الراجحي" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_40_5f61e45d +msgid "Al-Inma Bank" +msgstr "بنك الانماء" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_54_5a374538 +msgid "AL-Bilad Bank" +msgstr "بنك البلاد" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_38_0ebb4933 +msgid "Account pending payments receipt -Cashs" +msgstr "حساب الدفعات المعلقة للصناديق" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_39_10b7ab87 +msgid " Account outstanding payments receivable- cash" +msgstr "حساب المقبوضات المعلقة للصناديق" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_41_6e9068fc +msgid "Account pending payments receipt Banks" +msgstr "حساب الدفعات المعلقة للبنوك" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_42_b1f5d19c +msgid "Account outstanding payments receivable - banks" +msgstr "حساب المقبوضات المعلقة للبنوك" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_configurable_chart_template_liquidity_transfer +msgid "Transfers Account" +msgstr "حساب التحويلات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_36_e0178b31 +msgid "Bank Reconciliation Account" +msgstr "حساب التسويات البنكية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_67_33fdff22 +msgid "Cash in Boxes" +msgstr "النقدية في الصناديق" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_68_19de836b +msgid "Petty Cash Account" +msgstr "حساب العهد النقدية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_37_0a66304e +msgid "Cash Boxes" +msgstr "النقدية في الصندوق" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_48_45d5d5e3 +msgid "Employee cash covenant account" +msgstr "حساب العهد النقدية لدى الموظفين" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_138_f7b94056 +msgid "Other Petty Cash" +msgstr "العهد النقدية الأخرى" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_69_d82bbacb +msgid "Accounts Receivable" +msgstr "الذمم المدينة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_70_677ecbdd +msgid "Receivable" +msgstr "المدينون" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_current_assets +msgid "Employee loans and advances" +msgstr "السلف والقروض لدى الموظفين" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_pos_receivable +msgid "Receipts / Receivable" +msgstr "ح/ المدينون / المقبوضات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_71_60f68e70 +msgid "Taxes" +msgstr "الضرائب" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_72_e218ef68 +msgid "VAT purchases" +msgstr "ضريبة القيمة المضافة - مشتريات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_tax_paid +msgid "VAT purchases" +msgstr "ضريبة القيمة المضافة - مشتريات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_74_b59bda8f +msgid "Advance Payments" +msgstr "المدفوعات المقدمة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_75_f2e13aa2 +msgid "Expenses Paid in Advance" +msgstr "المصروفات المدفوعة مقدماً" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_prepayments +msgid "Prepaid Expenses" +msgstr "المصروفات المقدمة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_76_700e1cbe +msgid "Stores" +msgstr "المخازن" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_77_edae9703 +msgid "Goods and Tools Store" +msgstr "مخزن البضائع والأدوات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_stock_valuation +msgid "The main store" +msgstr "المخزن الرئيسي" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_stock_in +msgid "Goods on the way" +msgstr "بضاعة في الطريق" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_stock_out +msgid "store under inspection" +msgstr "مخزن تحت الفحص" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_78_321e9deb +msgid "Non-Current Assets" +msgstr "الأصول طويلة الأجل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_79_07629e73 +msgid "Fixed Assets" +msgstr "الأصول الثابتة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_80_4600c70f +msgid "The Cars" +msgstr "السيارات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_62_286d2c1a +msgid "The Cars" +msgstr "السيارات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_81_bfa28ebc +msgid "The Furniture" +msgstr "الأثاث والمفروشات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_fixed_assets +msgid "The Furniture" +msgstr "الأثاث" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_82_a15be3d4 +msgid "Computers and electronic devices" +msgstr "الأجهزة الإلكترونية والحاسبات الآلية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_253_4ec9623d +msgid "Computers" +msgstr "أجهزة الحاسب الآلي" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_83_33cae736 +msgid "Other Assets" +msgstr "الأصول الأخرى" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_84_6702a9d9 +msgid "Electronic Systems" +msgstr "الأنظمة الإلكترونية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_non_current_assets +msgid "Website" +msgstr "الموقع الإلكتروني" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_85_2e9b74d6 +msgid "Liabilities and Equity" +msgstr "الإلتزمات وحقوق الملكية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_86_8a06bf9e +msgid "Current Liabilities" +msgstr "الإلتزامات المتداولة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_87_2c3cce44 +msgid "Short Term Commitments" +msgstr "الإلتزامات قصيرة الأجل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_88_817af232 +msgid "short term loans" +msgstr "القروض قصيرة الأجل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_228_bd7c63be +msgid "Short Term Loans" +msgstr "القروض قصيرة الأجل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_90_300bdcda +msgid "Short Term Payment Papers" +msgstr "أواق الدفع قصيرة الأجل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_current_liabilities +msgid "Bills of exchange and checks" +msgstr "الكمبيالات والشيكات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_89_47fb493d +msgid "long-term commitments" +msgstr "الإلتزامات طويلة الأجل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_91_9e465d19 +msgid "long term loans" +msgstr "القروض طويلة الأجل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_230_35218190 +msgid "long term loans" +msgstr "القروض طويلة الأجل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_92_e4127fde +msgid "long-term bills of exchange" +msgstr "أوراق الدفع طويلة الأجل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_229_84ec3052 +msgid "long-term bills of exchange" +msgstr "أوراق الدفع طويلة الأجل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_93_01f44a26 +msgid "creditors" +msgstr "الدائنون" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_94_65ac12f8 +msgid "trade creditors" +msgstr "الدائنون التجاريون" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_receivable +msgid "external suppliers" +msgstr "الموردين الخارجين" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_payable +msgid "Creditors/ Payments" +msgstr "المدفوعات / الدائنون" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_95_8382072a +msgid "accrued expenses" +msgstr "المصاريف المستحقة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_96_d28f20a5 +msgid "accrued expenses" +msgstr "المصروفات المستحقة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_to_receive_pay +msgid "Salary and wages due" +msgstr "رواتب وأجور مستحقة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_232_f7b879b7 +msgid "Eligible social security" +msgstr "التأمينات الاجتماعية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_231_809292f4 +msgid "Payments made by clients" +msgstr "المدفوعات المقدمة من العملاء" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_97_4f194535 +msgid "Zakat provision" +msgstr "مخصص الزكاة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_98_8c546453 +msgid "Zakat provision" +msgstr "الزكاة الشرعية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_233_ecae933a +msgid "Zakat provision" +msgstr "الزكاة الشرعية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_99_5d369744 +msgid "Non-current obligations" +msgstr "الإلتزامات غير المتداولة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_100_f1248c0d +msgid "credit related parties" +msgstr "أطراف ذات علاقة دائنة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_101_58c25bee +msgid "Accounts payable to related parties" +msgstr "ذمم دائنة لأطراف ذات علاقة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_234_497027d0 +msgid "Partners Drawing Accounts" +msgstr "جاري الشركاء" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_235_ae73fe3e +msgid "Short term loan to related parties" +msgstr "قرض قصير لأطراف ذات علاقة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_236_df111e8d +msgid "Other creditor related parties" +msgstr "أطراف دائنة ذات علاقة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_102_b02675b1 +msgid "Other credit balances" +msgstr "أرصدة دائنة أخرى" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_103_b0e622d6 +msgid "Other creditors" +msgstr "دائنون آخرون" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_238_d62e16f2 +msgid "temporary investments" +msgstr "أستثمارات مؤقتة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_237_9013bc14 +msgid "Other creditors" +msgstr "دائنون آخرون" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_104_c6b44665 +msgid "Taxes" +msgstr "الضرائب" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_105_8dc905d4 +msgid "Sales Tax VAT" +msgstr "ضريبة القيمة المضافة - مبيعات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_tax_receivable +msgid "Sales Tax" +msgstr "ضريبة القيمة المضافة - مبيعات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_240_91f4b7d8 +msgid "VAT due" +msgstr "ضريبة القيمة المضافة المستحقة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_106_5ef42f61 +msgid "Allotments" +msgstr "المخصصات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_107_2f46d77a +msgid "Provision for employee obligations" +msgstr "مخصص التزامات الموظفين" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_241_49ec34fc +msgid "Holidays allotted" +msgstr "مخصص الإجازات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_242_7ea4fe8a +msgid "custom travel tickets" +msgstr "مخصص تذاكر سفر" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_243_6a7f90de +msgid "Provision for end of severance pay" +msgstr "مخصص مكافأة نهاية الخدمة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_108_d4c7ec75 +msgid "other allowances" +msgstr "مخصصات أخرى" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_244_bbf0c0e8 +msgid "Provision for doubtful debts, receivables from individuals" +msgstr "مخصص ديون مشكوك في تحصيلها ذمم أفراد" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_245_695a09b6 +msgid "Provision for doubtful debts, receivables from companies" +msgstr "مخصص ديون مشكوك في تحصيلها ذمم شركات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_109_df598a12 +msgid "Property rights" +msgstr "حقوق الملكية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_110_f75b7972 +msgid "Equity" +msgstr "الأسهم" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_111_98161560 +msgid "capital" +msgstr "رأس المال" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_246_ebe9ecda +msgid "capital" +msgstr "رأس المال" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_247_5989bf9a +msgid "financing for investment" +msgstr "تمويل للإستثمار" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_112_d0561224 +msgid "Reserve " +msgstr "الاحتياطيات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_113_706a1cf7 +msgid "Regular Reserve" +msgstr "الإحتياطي النظامي" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_248_45083bfd +msgid "Regular Reserve" +msgstr "الاحتياطيات النظامية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_249_027afc8a +msgid "Capital Losses" +msgstr "خسائر رأس مالية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_114_7b2e99ad +msgid "Profits and Losses" +msgstr "الأرباح والخسائر" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_115_a082702d +msgid "profits and losses" +msgstr "أرباح وخسائر" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_43_73a28584 +msgid "Profits, losses, and residuals" +msgstr "الأرباح والخسائر والمبقاة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_252_a8e1f749 +msgid "Profits and Losses" +msgstr "الارباح و الخسائر" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_tax_received +msgid "Tax Received" +msgstr "الضريبة المستلمة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_tax_payable +msgid "Tax Payable" +msgstr "الضريبة الدائنة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_116_1c1c95fe +msgid "expenses" +msgstr "المصروفات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_117_d7566a08 +msgid "General and administrative expenses" +msgstr "المصروفات الإدارية والعمومية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_118_d6b23c93 +msgid "Administrative expenses" +msgstr "المصاريف الإدارية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_119_2b115ffc +msgid "Salaries and Wages" +msgstr "الرواتب والأجور" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_147_dedc9baf +msgid "basic salary" +msgstr "الراتب الأساسي" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_148_990325eb +msgid "housing allowance" +msgstr "بدل سكن" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_149_eb24deb1 +msgid "transportation allowance" +msgstr "بدل تنقل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_150_c160aa0a +msgid "call exchange" +msgstr "بدل اتصال" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_151_873e0227 +msgid "work nature allowance" +msgstr "بدل طبيعة عمل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_152_a8c2a986 +msgid "cost of living allowance" +msgstr "بدل غلاء معيشة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_153_3915aabb +msgid "expatriate allowance" +msgstr "بدل اغتراب" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_154_4001295f +msgid "assignment allowance" +msgstr "بدل انتداب" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_120_1ab280d4 +msgid "Other staff costs" +msgstr "تكاليف الموظفين الأخرى" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_155_b3c93c17 +msgid "medical expenses" +msgstr "مصاريف طبية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_156_31ee8d22 +msgid "medical insurance" +msgstr "تأمين طبي" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_157_fef6b222 +msgid "Staff residence" +msgstr "سكن الموظفين" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_158_99631784 +msgid "Exit and return visa" +msgstr "تأشيرة خروج وعودة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_159_774ebe76 +msgid "Iqama renewal fee" +msgstr "رسوم تجديد الإقامات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_160_3d3e87b0 +msgid "Work permit fees" +msgstr "رسوم رخص العمل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_161_f7f5b49d +msgid "Service office expenses" +msgstr "مصاريف تعقيب" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_162_e6634720 +msgid "Sponsorship Transfer Fee" +msgstr "رسوم نقل الكفالة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_163_76059d0a +msgid "Training and seminars" +msgstr "التدريب والندوات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_164_e1271be0 +msgid "Recruitment expenses" +msgstr "مصاريف توظيف" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_166_d3ad0634 +msgid "Recruitment office fees" +msgstr "رسوم مكتب الاستقدام" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_165_f11a2e81 +msgid "Social Security" +msgstr "التأمينات الاجتماعية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_167_2fe30391 +msgid "Work visit visa" +msgstr "تأشيرة زيارة عمل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_168_65e0166b +msgid "Licenses of the Council of Engineers, Professionals and Technicians" +msgstr "رخص هيئة المهندسين والمهنيين والفنيين" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_169_789f90f9 +msgid "End of service gratuity" +msgstr "مكافأة نهاية الخدمة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_170_e6a057ef +msgid "Transportation and travel expenses" +msgstr "مصروفات انتقال وسفر" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_171_8d5cdbab +msgid "Staff salary transfer fee" +msgstr "رسوم تحويل رواتب الموظفين" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_121_1994bb54 +msgid "Rewards, incentives and points" +msgstr "المكافآت والحوافز والنقاط" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_172_fb45ff01 +msgid "Sales bonuses and commissions" +msgstr "مكافآت وعمولات مبيعات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_173_f6e7779f +msgid "temporary wages" +msgstr "أجور مؤقتة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_122_905dc364 +msgid "Other allowances" +msgstr "بدلات أخرى" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_174_5e896e98 +msgid "Travel ticket exchange" +msgstr "بدل تذاكر سفر" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_175_f67e7e81 +msgid "Alternate warning period" +msgstr "بدل فترة إنذار" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_176_12f13a3c +msgid "education allowance" +msgstr "بدل تعليم" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_177_bbddfa7d +msgid "Vacation allowance" +msgstr "بدل اجازة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_123_b5c2a7c4 +msgid "Licensing fees and government subscriptions" +msgstr "رسوم تراخيص واشتراكات حكومية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_178_c0d3ac34 +msgid "business account fees" +msgstr "رسوم حساب تجاري" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_179_b917cbdb +msgid "Municipal license fees" +msgstr "مصاريف رخص البلدية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_181_d936559d +msgid "Chamber of Commerce subscription" +msgstr "اشتراك الغرفة التجارية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_124_6a434946 +msgid "General expenses" +msgstr "المصروفات العمومية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_125_582bd695 +msgid "Service charges" +msgstr "مصاريف الخدمات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_60_ad170c1f +msgid "Rents" +msgstr "ايجارات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_183_1f5b24c7 +msgid "Water" +msgstr "المياه" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_184_9b55bddb +msgid "Electricity" +msgstr "الكهرباء" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_185_70877cd7 +msgid "Gasoline and motor oil" +msgstr "بنزين وزيت للسيارات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_186_ffa5322f +msgid "Advertising" +msgstr "دعاية وإعلان" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_187_a091e945 +msgid "Technical and information expenses" +msgstr "مصاريف تقنية ومعلومات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_188_2a5ed1ce +msgid "Building Maintenance" +msgstr "صيانة مباني" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_189_4c385ed9 +msgid "Computer and electronic equipment maintenance" +msgstr "صيانة كمبيوتر وأجهزة الكترونية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_190_57672b84 +msgid "government services" +msgstr "خدمات حكومية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_191_7ee8b51f +msgid "Recruitment visas" +msgstr "تأشيرات استقدام" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_192_0a5aca1d +msgid "office equipment maintenance" +msgstr "صيانة معدات مكتبية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_193_e00db8e6 +msgid "Real estate services for the office" +msgstr "الخدمات العقارية للمكتب" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_194_4ee836b4 +msgid "Marketing services expenses" +msgstr "مصروفات خدمات التسويق" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_cost_of_goods_sold +msgid "Cost of Goods Sold" +msgstr "تكلفة البضاعة المباعة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_126_f124c559 +msgid "Communications and mail" +msgstr "الاتصالات والبريد" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_196_b1eb2c3f +msgid "Phone charges and mobile bills" +msgstr "رسوم الهاتف وفواتير الجوال" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_197_7f0a6829 +msgid "Postage and subscription" +msgstr "اشتراك ومصاريف البريد" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_127_d924497a +msgid "Service office supplies" +msgstr "لوازم مكتبية خدمية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_195_edc46352 +msgid "Publications" +msgstr "مطبوعات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_198_5ff20305 +msgid "Stationery and office supplies" +msgstr "قرطاسية ومستلزمات مكتبية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_199_3b1547e0 +msgid "Buffet supplies" +msgstr "مستلزمات البوفية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_128_385d1617 +msgid "Miscellaneous other expenses" +msgstr "مصاريف أخرى متنوعة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_61_6ff47f77 +msgid "municipal licenses" +msgstr "رخص البلدية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_200_a6c1aca0 +msgid "Gifts" +msgstr "هدايا" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_201_0dcfd64a +msgid "Travel ticket expenses" +msgstr "مصاريف تذاكر السفر" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_202_3dca95a3 +msgid "Hotel accommodation expenses" +msgstr "مصاريف إقامة فندقية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_203_e45c14d8 +msgid "Shipping and unloading expenses" +msgstr "مصاريف الشحن والتفريغ" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_204_288f3450 +msgid "Newspaper and magazine ads" +msgstr "اعلانات الصحف والمجلات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_205_7694c361 +msgid "Radio and TV advertisements" +msgstr "اعلانات الإذاعة والتلفزيون" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_206_5240d494 +msgid "Internet subscription" +msgstr "اشتراك الانترنت" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_207_6adc039e +msgid "Consulting and technical support fees" +msgstr "مصاريف الاستشارات والدعم الفني" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_208_1172372f +msgid "Legalization fees" +msgstr "رسوم التصديقات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_209_70eb8c65 +msgid "Subscription and exhibitions" +msgstr "اشتراك ومعارض" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_210_9b3cf9f5 +msgid "Miscellaneous administrative expenses" +msgstr "مصروفات إدارية متنوعة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_211_506f7a3f +msgid "Paying fines and violations" +msgstr "سداد المخالفات والغرامات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_212_7f1f952d +msgid "Transfer fees" +msgstr "مصاريف نقل ملكية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_213_1e8ca1f9 +msgid "Bank fees and commissions" +msgstr "عمولات ومصاريف بنكية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_214_57a204fb +msgid "Sales discounts" +msgstr "خصومات المبيعات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_215_da6e9471 +msgid "Shipping and delivery costs" +msgstr "تكاليف الشحن والتوصيل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_216_5c90146a +msgid "Service costs" +msgstr "تكاليف خدمات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_217_053ee245 +msgid "Rental commissions" +msgstr "عمولات إيجار" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_218_ae6ead8f +msgid "Leisure activities and outings" +msgstr "نشاطات ونزهات ترفيهية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_219_b9c9750a +msgid "Hospitality and petty cash" +msgstr "مصاريف ضيافة ونثرية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_220_fa538654 +msgid "Investment profit expense" +msgstr "مصروف أرباح الاستثمار" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_221_c6efd4e2 +msgid "Advocacy and legal advice fees" +msgstr "مصاريف المحاماة والاستشارات القانونية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_222_cb49e83e +msgid "Legal reference fees" +msgstr "مصاريف المراجع القانوني" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_223_a475086d +msgid "Declaration of zakat and income" +msgstr "إقرار الزكاة والدخل" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_224_73e56a71 +msgid "Fine for late payment of value added tax" +msgstr "غرامة تأخير سداد ضريبة القيمة المضافة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_225_f8e78964 +msgid "Doubtful debts" +msgstr "مصروف ديون مشكوك في تحصيلها" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_226_8aaded69 +msgid "Other subscription fees" +msgstr "رسوم اشتراكات أخرى" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_227_3243e5b0 +msgid "Banking service fees" +msgstr "رسوم خدمات بنكية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_expense +msgid "Expenses" +msgstr "مصاريف متنوعة" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_expense_rent +msgid "office rentals" +msgstr "أيجارات المكاتب" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_129_c20e9be3 +msgid "depreciation" +msgstr "الإهلاك" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_130_23ffe55c +msgid "Depreciation expense" +msgstr "مصاريف الإهلاك" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_64_da01c863 +msgid "Depreciation expense" +msgstr "مصروفات الإهلاك" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_131_dee3e8df +msgid "Revenues" +msgstr "الإيرادات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_132_ddaf24b2 +msgid "Sales revenue" +msgstr "إيرادات المبيعات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_133_eab09a57 +msgid "The sales" +msgstr "المبيعات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_134_aa3d1407 +msgid "cash sales" +msgstr "المبيعات النقدية" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_140_b53efa48 +msgid "Returns purchases" +msgstr "مردودات المشتريات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.1_income +msgid "Cash proceeds from sales of services" +msgstr "ايرادات نقدية لمبيعات الخدمات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_135_70e50462 +msgid "Other revenue" +msgstr "الإيرادات الأخرى" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_136_2b41da3a +msgid "Other sales" +msgstr "مبيعات أخرى" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_137_0b886e4d +msgid "Revenue other than activity" +msgstr "إيرادات بخلاف النشاط" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_141_24dc93b6 +msgid "Purchase Discounts" +msgstr "خصومات المشتريات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_142_f225ed68 +msgid "commission income" +msgstr "إيراد عمولات" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_143_61ad26e9 +msgid "rental income" +msgstr "إيراد تأجير" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_145_6bd6176a +msgid "Employee discounts" +msgstr "خصومات الموظفين" + +#. module: l10n_exp +#: model:account.account.template,name:l10n_exp.account_account_146_9eeddf1a +msgid "governmental support" +msgstr "دعم حكومي" + + diff --git a/odex25_accounting/l10n_exp/static/description/icon.png b/odex25_accounting/l10n_exp/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWK Configuration > MIS Reporting > MIS Report Templates where + you can create report templates by defining KPI's. KPI's constitute the rows of your + reports. Such report templates are time independent. + +.. figure:: https://raw.githubusercontent.com/OCA/mis-builder/10.0/mis_builder/static/description/ex_report_template.png + :alt: Sample report template + :width: 80 % + :align: center + +* Then in Accounting > Reports > MIS Reporting > MIS Reports you can create report instance by + binding the templates to time periods, hence defining the columns of your reports. + +.. figure:: https://raw.githubusercontent.com/OCA/mis-builder/10.0/mis_builder/static/description/ex_report_settings.png + :alt: Sample report configuration + :width: 80 % + :align: center + +* From the MIS Reports view, you can preview the report, add it to and Odoo dashboard, + and export it to PDF or Excel. + +.. figure:: https://raw.githubusercontent.com/OCA/mis-builder/10.0/mis_builder/static/description/ex_report_preview.png + :alt: Sample preview + :width: 80 % + :align: center + +Development +=========== + +A typical extension is to provide a mechanism to filter reports on analytic dimensions +or operational units. To implement this, you can override _get_additional_move_line_filter +and _get_additional_filter to further filter move lines or queries based on a user +selection. A typical use case could be to add an analytic account field on mis.report.instance, +or even on mis.report.instance.period if you want different columns to show different +analytic accounts. + +Known issues / Roadmap +====================== + +The mis_builder `roadmap `_ +and `known issues `_ can +be found on GitHub. + +Changelog +========= + +14.0.3.6.7 (2021-06-02) +**Bugfixes** + +- When on a MIS Report Instance, if you wanted to generate a new line of type comparison, you couldn't currently select any existing period to compare. + This happened because the field domain was searching in a NewId context, thus not finding a correct period. + Changing the domain and making it use a computed field with a search for the _origin record solves the problem. (`#361 `_) + + +14.0.3.6.6 (2021-04-23) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Bugfixes** + +- Fix drilldown action name when the account model has been customized. (`#350 `_) + + +14.0.3.6.5 (2021-04-23) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Bugfixes** + +- While duplicating a MIS report instance, comparison columns are ignored because + they would raise an error otherwise, as they keep the old source_cmpcol_from_id + and source_cmpcol_to_id from the original record. (`#343 `_) + + +14.0.3.6.4 (2021-04-06) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Features** + +- The drilldown action name displayed on the breadcrumb has been revised. + The kpi description and the account ``display_name`` are shown instead + of the kpi's technical definition. (`#304 `_) +- Add analytic group filters on report instance, periods and in the interactive + view. (`#320 `_) + + +13.0.3.6.3 (2020-08-28) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Bugfixes** + +- Having a "Compare columns" added on a KPI with an associated style using a + Factor/Divider did lead to the said factor being applied on the percentages + when exporting to XLSX. (`#300 `_) + + +**Misc** + +- `#280 `_, `#296 `_ + + +13.0.3.6.2 (2020-04-22) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Bugfixes** + +- The "Settings" button is now displayed for users with the "Show full accounting features" right when previewing a report. (`#281 `_) + + +13.0.3.6.1 (2020-04-22) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Bugfixes** + +- Fix ``TypeError: 'module' object is not iterable`` when using + budgets by account. (`#276 `_) + + +13.0.3.6.0 (2020-03-28) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Features** + +- Add column-level filters on analytic account and analytic tags. + These filters are combined with a AND with the report-level filters + and cannot be modified in the preview. (`#138 `_) +- Access to KPI from other reports in KPI expressions, aka subreports. In a + report template, one can list named "subreports" (other report templates). When + evaluating expressions, you can access KPI's of subreports with a dot-prefix + notation. Example: you can define a MIS Report for a "Balance Sheet", and then + have another MIS Report "Balance Sheet Ratios" that fetches KPI's from "Balance + Sheet" to create new KPI's for the ratios (e.g. balance_sheet.current_assets / + balance_sheet.total_assets). (`#155 `_) + + +13.0.3.5.0 (2020-01-??) +~~~~~~~~~~~~~~~~~~~~~~~ + +Migration to odoo 13.0. + +12.0.3.5.0 (2019-10-26) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Features** + +- The ``account_id`` field of the model selected in 'Move lines source' + in the Period form can now be a Many2one + relationship with any model that has a ``code`` field (not only with + ``account.account`` model). To this end, the model to be used for Actuals + move lines can be configured on the report template. It can be something else + than move lines and the only constraint is that its ``account_id`` field + has a ``code`` field. (`#149 `_) +- Add ``source_aml_model_name`` field so extension modules providing + alternative data sources can more easily customize their data source. (`#214 `_) +- Support analytic tag filters in the backend view and preview widget. + Selecting several tags in the filter means filtering on move lines which + have *all* these tags set. This is to support the most common use case of + using tags for different dimensions. The filter also makes a AND with the + analytic account filter. (`#228 `_) +- Display company in account details rows in multi-company mode. (`#242 `_) + + +**Bugfixes** + +- Propagate context to xlsx report, so the analytic account filter + works when exporting to xslx too. This also requires a fix to + ``report_xlsx`` (see https://github.com/OCA/reporting-engine/pull/259). (`#178 `_) +- In columns of type Sum, preserve styles for KPIs that are not summable + (eg percentage values). Before this fix, such cells were displayed without + style. (`#219 `_) +- In Excel export, keep the percentage point suffix (pp) instead of replacing it with %. (`#220 `_) + + +12.0.3.4.0 (2019-07-09) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Features** + +- New year-to-date mode for defining periods. (`#165 `_) +- Add support for move lines with negative debit or credit. + Used by some for storno accounting. Not officially supported. (`#175 `_) +- In Excel export, use a number format with thousands separator. The + specific separator used depends on the Excel configuration (eg regional + settings). (`#190 `_) +- Add generation date/time at the end of the XLS export. (`#191 `_) +- In presence of Sub KPIs, report more informative user errors when + non-multi expressions yield tuples of incorrect lenght. (`#196 `_) + + +**Bugfixes** + +- Fix rendering of percentage types in Excel export. (`#192 `_) + + +12.0.3.3.0 (2019-01-26) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Features** + +*Dynamic analytic filters in report preview are not yet available in 11, +this requires an update to the JS widget that proved difficult to implement +so far. Help welcome.* + +- Analytic account filters. On a report, an analytic + account can be selected for filtering. The filter will + be applied to move lines queries. A filter box is also + available in the widget to let the user select the analytic + account during report preview. (`#15 `_) +- Control visibility of analytic filter combo box in widget. + This is useful to hide the analytic filters on reports where + they do not make sense, such as balance sheet reports. (`#42 `_) +- Display analytic filters in the header of exported pdf and xls. (`#44 `_) +- Replace the last old gtk icons with fontawesome icons. (`#104 `_) +- Use active_test=False in AEP queries. + This is important for reports involving inactive taxes. + This should not negatively effect existing reports, because + an accounting report must take into account all existing move lines + even if they reference objects such as taxes, journals, accounts types + that have been deactivated since their creation. (`#107 `_) +- int(), float() and round() support for AccountingNone. (`#108 `_) +- Allow referencing subkpis by name by writing `kpi_x.subkpi_y` in expressions. (`#114 `_) +- Add an option to control the display of the start/end dates in the + column headers. It is disabled by default (this is a change compared + to previous behaviour). (`#118 `_) +- Add evaluate method to mis.report. This is a simplified + method to evaluate kpis of a report over a time period, + without creating a mis.report.instance. (`#123 `_) + +**Bugs** + +- In the style form, hide the "Hide always" checkbox when "Hide always inherit" + is checked, as for all other syle elements. (`#121 _`) + +**Upgrading from 3.2 (breaking changes)** + +If you use ``Actuals (alternative)`` data source in combination with analytic +filters, the underlying model must now have an ``analytic_account_id`` field. + + +11.0.3.2.2 (2018-06-30) +~~~~~~~~~~~~~~~~~~~~~~~ + +* [FIX] Fix bug in company_default_get call returning + id instead of recordset + (`#103 `_) +* [IMP] add "hide always" style property to make hidden KPI's + (for KPI that serve as basis for other formulas, but do not + need to be displayed). + (`#46 `_) + +11.0.3.2.1 (2018-05-29) +~~~~~~~~~~~~~~~~~~~~~~~ + +* [FIX] Missing comparison operator for AccountingNone + leading to errors in pbal computations + (`#93 `_) + +10.0.3.2.0 (2018-05-02) +~~~~~~~~~~~~~~~~~~~~~~~ + +* [FIX] make subkpi ordering deterministic + (`#71 `_) +* [ADD] report instance level option to disable account expansion, + enabling the creation of detailed templates while deferring the decision + of rendering the details or not to the report instance + (`#74 `_) +* [ADD] pbal and nbal accounting expressions, to sum positive + and negative balances respectively (ie ignoring accounts with negative, + resp positive balances) + (`#86 `_) + +11.0.3.1.2 (2018-02-04) +~~~~~~~~~~~~~~~~~~~~~~~ + +Migration to Odoo 11. No new feature. +(`#67 `_) + +10.0.3.1.1 (2017-11-14) +~~~~~~~~~~~~~~~~~~~~~~~ + +New features: + +* [ADD] month and year relative periods, easier to use than + date ranges for the most common case. + (`#2 `_) +* [ADD] multi-company consolidation support, with currency conversion + (the conversion rate date is the end of the reporting period) + (`#7 `_, + `#3 `_) +* [ADD] provide ref, datetime, dateutil, time, user in the evaluation + context of move line domains; among other things, this allows using + references to xml ids (such as account types or tax tags) when + querying move lines + (`#26 `_). +* [ADD] extended account selectors: you can now select accounts using + any domain on account.account, not only account codes + ``balp[('user_type_id', '=', ref('account.data_account_type_receivable').id)]`` + (`#4 `_). +* [IMP] in the report instance configuration form, the filters are + now grouped in a notebook page, this improves readability and + extensibility + (`#39 `_). + +Bug fixes: + +* [FIX] fix error when saving periods in comparison mode on newly + created (not yet saved) report instances. + `#50 `_ +* [FIX] improve display of Base Date report instance view. + `#51 `_ + +Upgrading from 3.0 (breaking changes): + +* Alternative move line data sources must have a company_id field. + +10.0.3.0.4 (2017-10-14) +~~~~~~~~~~~~~~~~~~~~~~~ + +Bug fix: + +* [FIX] issue with initial balance rounding. + `#30 `_ + +10.0.3.0.3 (2017-10-03) +~~~~~~~~~~~~~~~~~~~~~~~ + +Bug fix: + +* [FIX] fix error saving KPI on newly created reports. + `#18 `_ + +10.0.3.0.2 (2017-10-01) +~~~~~~~~~~~~~~~~~~~~~~~ + +New features: + +* [ADD] Alternative move line source per report column. + This makes mis buidler accounting expressions work on any model + that has debit, credit, account_id and date fields. Provided you can + expose, say, committed purchases, or your budget as a view with + debit, credit and account_id, this opens up a lot of possibilities +* [ADD] Comparison column source (more flexible than the previous, + now deprecated, comparison mechanism). + CAVEAT: there is no automated migration to the new mechanism. +* [ADD] Sum column source, to create columns that add/subtract + other columns. +* [ADD] mis.kpi.data abstract model as a basis for manual KPI values + supporting automatic ajustment to the reporting time period (the basis + for budget item, but could also server other purposes, such as manually + entering some KPI values, such as number of employee) +* [ADD] mis_builder_budget module providing a new budget data source +* [ADD] new "hide empty" style property +* [IMP] new AEP method to get accounts involved in an expression + (this is useful to find which KPI relate to a given P&L + acount, to implement budget control) +* [IMP] many UI improvements +* [IMP] many code style improvements and some refactoring +* [IMP] add the column date_from, date_to in expression evaluation context, + as well as time, datetime and dateutil modules + +Main bug fixes: + +* [FIX] deletion of templates and reports (cascade and retricts) + (https://github.com/OCA/account-financial-reporting/issues/281) +* [FIX] copy of reports + (https://github.com/OCA/account-financial-reporting/issues/282) +* [FIX] better error message when periods have wrong/missing dates + (https://github.com/OCA/account-financial-reporting/issues/283) +* [FIX] xlsx export of string types KPI + (https://github.com/OCA/account-financial-reporting/issues/285) +* [FIX] sorting of detail by account +* [FIX] computation bug in detail by account when multiple accounting + expressions were used in a KPI +* [FIX] permission issue when adding report to dashboard with non admin user + +10.0.2.0.3 (unreleased) +~~~~~~~~~~~~~~~~~~~~~~~ + +* [IMP] more robust behaviour in presence of missing expressions +* [FIX] indent style +* [FIX] local variable 'ctx' referenced before assignment when generating + reports with no objects +* [IMP] use fontawesome icons +* [MIG] migrate to 10.0 +* [FIX] unicode error when exporting to Excel +* [IMP] provide full access to mis builder style for group Adviser. + +9.0.2.0.2 (2016-09-27) +~~~~~~~~~~~~~~~~~~~~~~ + +* [IMP] Add refresh button in mis report preview. +* [IMP] Widget code changes to allow to add fields in the widget more easily. + +9.0.2.0.1 (2016-05-26) +~~~~~~~~~~~~~~~~~~~~~~ + +* [IMP] remove unused argument in declare_and_compute_period() + for a cleaner API. This is a breaking API changing merged in + urgency before it is used by other modules. + +9.0.2.0.0 (2016-05-24) +~~~~~~~~~~~~~~~~~~~~~~ + +Part of the work for this release has been done at the Sorrento sprint +April 26-29, 2016. The rest (ie a major refactoring) has been done in +the weeks after. + +* [IMP] hide button box in edit mode on the report instance settings form +* [FIX] Fix sum aggregation of non-stored fields + (https://github.com/OCA/account-financial-reporting/issues/178) +* [IMP] There is now a default style at the report level +* [CHG] Number display properties (rounding, prefix, suffix, factor) are + now defined in styles +* [CHG] Percentage difference are rounded to 1 digit instead of the kpi's + rounding, as the KPI rounding does not make sense in this case +* [CHG] The divider suffix (k, M, etc) is not inserted automatically anymore + because it is inconsistent when working with prefixes; you need to add it + manually in the suffix +* [IMP] AccountingExpressionProcessor now supports 'balu' expressions + to obtain the unallocated profit/loss of previous fiscal years; + get_unallocated_pl is the corresponding convenience method +* [IMP] AccountingExpressionProcessor now has easy methods to obtain + balances by account: get_balances_initial, get_balances_end, + get_balances_variation +* [IMP] there is now an auto-expand feature to automatically display + a detail by account for selected kpis +* [IMP] the kpi and period lists are now manipulated through forms instead + of directly in the tree views +* [IMP] it is now possible to create a report through a wizard, such + reports are deemed temporary and available through a "Last Reports Generated" + menu, they are garbaged collected automatically, unless saved permanently, + which can be done using a Save button +* [IMP] there is now a beginner mode to configure simple reports with + only one period +* [IMP] it is now easier to configure periods with fixed start/end dates +* [IMP] the new sub-kpi mechanism allows the creation of columns + with multiple values, or columns with different values +* [IMP] thanks to the new style model, the Excel export is now styled +* [IMP] a new style model is now used to centralize style configuration +* [FIX] use =like instead of like to search for accounts, because + the % are added by the user in the expressions +* [FIX] Correctly compute the initial balance of income and expense account + based on the start of the fiscal year +* [IMP] Support date ranges (from OCA/server-tools/date_range) as a more + flexible alternative to fiscal periods +* v9 migration: fiscal periods are removed, account charts are removed, + consolidation accounts have been removed + +8.0.1.0.0 (2016-04-27) +~~~~~~~~~~~~~~~~~~~~~~ + +* The copy of a MIS Report Instance now copies period. + https://github.com/OCA/account-financial-reporting/pull/181 +* The copy of a MIS Report Template now copies KPIs and queries. + https://github.com/OCA/account-financial-reporting/pull/177 +* Usability: the default view for MIS Report instances is now the rendered preview, + and the settings are accessible through a gear icon in the list view and + a button in the preview. + https://github.com/OCA/account-financial-reporting/pull/170 +* Display blank cells instead of 0.0 when there is no data. + https://github.com/OCA/account-financial-reporting/pull/169 +* Usability: better layout of the MIS Report periods settings on small screens. + https://github.com/OCA/account-financial-reporting/pull/167 +* Include the download buttons inside the MIS Builder widget, and refactor + the widget to open the door to analytic filtering in the previews. + https://github.com/OCA/account-financial-reporting/pull/151 +* Add KPI rendering prefixes (so you can print $ in front of the value). + https://github.com/OCA/account-financial-reporting/pull/158 +* Add hooks for analytic filtering. + https://github.com/OCA/account-financial-reporting/pull/128 + https://github.com/OCA/account-financial-reporting/pull/131 + +8.0.0.2.0 +~~~~~~~~~ + +Pre-history. Or rather, you need to look at the git log. + +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 +~~~~~~~ + +* ACSONE SA/NV + +Contributors +~~~~~~~~~~~~ + +* Stéphane Bidoul +* Laetitia Gangloff +* Adrien Peiffer +* Alexis de Lattre +* Alexandre Fayolle +* Jordi Ballester +* Thomas Binsfeld +* Giovanni Capalbo +* Marco Calcagni +* Sébastien Beau +* Laurent Mignon +* Luc De Meyer +* Benjamin Willig +* Martronic SA +* nicomacr +* Juan Jose Scarafia +* Richard deMeester +* Eric Caudal +* Andrea Stirpe +* Maxence Groine +* Arnaud Pineux +* Ernesto Tejeda +* Pedro M. Baeza + +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-sbidoul| image:: https://github.com/sbidoul.png?size=40px + :target: https://github.com/sbidoul + :alt: sbidoul + +Current `maintainer `__: + +|maintainer-sbidoul| + +This module is part of the `OCA/mis-builder `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odex25_accounting/mis_builder/__init__.py b/odex25_accounting/mis_builder/__init__.py new file mode 100644 index 000000000..d827ec98a --- /dev/null +++ b/odex25_accounting/mis_builder/__init__.py @@ -0,0 +1,6 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import models +from . import wizard +from . import report diff --git a/odex25_accounting/mis_builder/__manifest__.py b/odex25_accounting/mis_builder/__manifest__.py new file mode 100644 index 000000000..2b6bf4d68 --- /dev/null +++ b/odex25_accounting/mis_builder/__manifest__.py @@ -0,0 +1,36 @@ +# Copyright 2014-2018 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "MIS Builder", + "version": "14.0.3.6.7", + 'category': 'Odex25-Accounting/Odex25-Accounting', + "summary": """ + Build 'Management Information System' Reports and Dashboards + """, + "author": "ACSONE SA/NV, " "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/mis-builder", + "depends": [ + "account", + "board", + "report_xlsx", # OCA/reporting-engine + "date_range", # OCA/server-ux + ], + "data": [ + "wizard/mis_builder_dashboard.xml", + "views/mis_report.xml", + "views/mis_report_instance.xml", + "views/mis_report_style.xml", + "datas/ir_cron.xml", + "security/ir.model.access.csv", + "security/mis_builder_security.xml", + "report/mis_report_instance_qweb.xml", + "report/mis_report_instance_xlsx.xml", + ], + "qweb": ["static/src/xml/mis_report_widget.xml"], + "installable": True, + "application": True, + "license": "AGPL-3", + "development_status": "Production/Stable", + "maintainers": ["sbidoul"], +} diff --git a/odex25_accounting/mis_builder/datas/ir_cron.xml b/odex25_accounting/mis_builder/datas/ir_cron.xml new file mode 100644 index 000000000..b019e1b6a --- /dev/null +++ b/odex25_accounting/mis_builder/datas/ir_cron.xml @@ -0,0 +1,13 @@ + + + + Vacuum temporary reports + 4 + hours + -1 + + + model._vacuum_report() + + + diff --git a/odex25_accounting/mis_builder/i18n/ca.po b/odex25_accounting/mis_builder/i18n/ca.po new file mode 100644 index 000000000..d113c45cb --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/ca.po @@ -0,0 +1,2023 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-08-31 13:00+0000\n" +"Last-Translator: brendapaniagua \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 3.10\n" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (còpia)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" +"Model que sigui 'de tipus apunt' , és a dir, que tingui almenys els camps " +"debit, credit, date, account_id y company_id." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" +"Un model \"com a línia de moviment\", és a dir, que tingui almenys camps de " +"dèbit, crèdit, data, account_id i company_id. Aquest model és l’origen de " +"dades de la columna Actuals." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "Un filtre de data és obligatori per aquest origen a la columna %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +msgid "Account model" +msgstr "Model de compte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "Mètode d'agregació" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" +"Els models actuals (alternatius) utilitzats a les columnes han de tenir el " +"mateix model de compte al camp Compte i han de ser els mateixos definits a " +"la plantilla de l’informe: %s" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "Dades reals" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "Dades reals (alternativa)" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" +"Dades reals: dades actuals provinents de la comptabilitat i altres " +"consultes.\n" +"Dades reals (alternativa): dades actuals provinents d'un origen alternatiu " +"(per exemple, vista de la base de dades proveint registres de \"tipus apunt" +"\").\n" +"Suma de columnes: sumarització (+/-) d'altres columnes.\n" +"Comparar columnes: comparació amb una altra columna.\n" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" +"Adapta el model amb data_from / date_to per al grup de lectura de temporis " +"pro-rata" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "Afegir al taulell" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "Agregació" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "Tots els assentaments" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "Tot Kpi" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "Tots els assentaments assentats" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "Import" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" +"Una expressió que retorna un estil depenent del valor del KPI. Aquest estil " +"s'aplica a la part superior de l'estil de la fila." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "Compte Analític" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "Filtre Analític de Comptes" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "Compte Analític: %s" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "Etiquetes Analítiques" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "Filtre d'Etiquetes Analítiques" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "Etiquetes Analítiques: %s" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "Auto expandir" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "Mitjana" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "Color del fons" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "Color del fons heretat" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Color del fons utilitzant un codi RGB vàlid (de #000000 a #FFFFFF)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "Data base" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "Negreta" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "No es pot actualitzar un kpi múltiple des d'una línia de kpi" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "Cancel·lar" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" +"Comprovi si desitja especificar companyies filles per a buscar-hi dades." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "Color" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "Color heretat" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "Columna" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "La columna %s no es pot comparar amb itrec." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, fuzzy, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "La columna %s amb font de dades reals ha de tenir data des de/fins a." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "Columnes" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "Les columnes a comparar han de pertànyer al mateix informe en %s" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "Columnes a sumar" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "Les columnes {} i {} no són comparables" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "Companyies" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "Companyies per a les que es buscaran dades." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "Companyia" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "Comparar" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "Comparar columnes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "Mètode de comparació" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "Mode de comparació" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "Creat per" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "Creat el" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "Moneda" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "Taulell" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +msgid "Date" +msgstr "Data" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "Camp data" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +msgid "Date From" +msgstr "Data Des de" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "Rang de dates" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "Tipus de rang de dates" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +msgid "Date To" +msgstr "Data a" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "Dates" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "Dia" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "Descripció" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" +"Determina com els valors d'aquest kpi transcorrent sobre el període de temps " +"són transformats per casar amb el període de l'informe. Sum: s'afegeixen els " +"valors del període més curt, i els valors del més llarg o de períodes que " +"solapen parcialment s'ajusten prorratejant-se en el temps.\n" +"Mitjana: els valors del període inclòs fan mitjana amb el pes del prorrateig " +"temporal." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "Diferència" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +msgid "Disable account details expansion" +msgstr "Desactiva l'expansió dels detalls del compte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "Mostrar Columnes Descripció" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "Nom a mostrar" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "Mostrar detalls per compte" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "Mostra els detalls de l'interval de dates a les capçaleres de columna." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "Divisor heretat" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "Domini" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "Dp heretat" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" +"Camp dummy que adapta les cerques en data a les cerques en data_from / " +"date_to." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "Durada" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" +"Introdueixi l'expressió aquí, per exemple [balp70%]. Vegi també la pestanya " +"d'ajuda." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "Exemples:" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "Exportar" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "Expressió" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "Expressions" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "Les expressions poden ser qualsevol expressió vàlida de Python." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "Factor" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "Factor heretat" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "" +"El factor s'utilitza per a normalitzar el període (utilitzat en la comparació" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "Nom dels camps obtinguts" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "Camps a obtenir" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" +"Filtra la columna de les entrades de diari que tenen totes aquestes " +"etiquetes analítiques. Aquest filtre es combina amb un AND amb els filtres a " +"nivell d’informe i no es pot modificar en la previsualització." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" +"Filtra la columna de les entrades de diari que coincideixen amb aquest " +"compte analític. Aquest filtre es combina amb un AND amb els filtres a " +"nivell d’informe i no es pot modificar en la previsualització." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "Filtres" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "Dates fixes" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "Font" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "Tamany del tipus de lletra" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "Tamany del tipus de lletra heretat" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "Estil del tipus de lletra" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "Estil del tipus de lletra heretat" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "Tamany del tipus de lletra" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "Tamany del tipus de lletra heretat" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "Obliga la data d'inici a l'1 de gener de l'any corresponent" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "Des de" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "Des de (computat)" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "Generat el dia {} a {}" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "Ajuda (per a les expressions del KPI)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "Amagar sempre" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +msgid "Hide Always Inherit" +msgstr "Amagar sempre heretat" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "Amagar filtres analítics" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "Amagar buits" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "Amagar buits heretat" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "ID" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" +"Si no es proveeix el camp currency_id, totes les companyies han de tenir la " +"mateixa moneda." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "Sagnat" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "Nivell de sagnat" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "Nivell de sagnat heretat" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "EL nivell de sagnat ha de ser igual o major que 0" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "Cursiva" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "KPI" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" +"El KPI \"{}\" té el tipus {} mentre s'esperava una tupla.\n" +"\n" +"Això es pot solucionar amb:\n" +"- Canviant el valor del KPI per una tupla de longitud {}\n" +"o\n" +"- Canviar el KPI al mode `multi` i donar un valor explícit a cada sub-KPI." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" +"El KPI \"{}\" es valora com a tupla de longitud {} mentre que s'espera una " +"tupla de longitud {}." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +msgid "KPI Sequence" +msgstr "Seqüència KPI" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "El nom del KPI ({}) ha de ser un identificador Python vàlid" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "KPI's" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "KPIs d’aquest informe i subinformes." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "KPI" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "Etiqueta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "PDF apaïsat" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "Última modificació el" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "Últims informes generats" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "Última actualització per" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "Última actualització el" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "Disseny" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +#, fuzzy +msgid "MIS Builder XLSX report" +msgstr "Informe XLS d'instància d'informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "Classe abstracta de dades KPI MIS" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "Informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +msgid "MIS Report - Sub Reports Relation" +msgstr "Informe MIS - Relació Subinformes" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +#, fuzzy +msgid "MIS Report Add to Dashboard Wizard" +msgstr "Informe MIS Afegir a l'assistent de tauler de control" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "Instància d'informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +#, fuzzy +msgid "MIS Report Instance Period" +msgstr "Període Instància d'Informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +#, fuzzy +msgid "MIS Report Instance Period Sum" +msgstr "Suma Període Instància d'informe MIS" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "Instàncies d'informes MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "KPI d'informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +msgid "MIS Report KPI Expression" +msgstr "Expressió de KPI del informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +msgid "MIS Report Query" +msgstr "Consultar informe MIS" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "Resultat d'informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "Estil de format MIS" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "Estils d'informes MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +msgid "MIS Report Sub-KPI" +msgstr "Consulta d'informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +msgid "MIS Report Template" +msgstr "Plantilla d'informe MIS" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "Plantilles d'informe MIS" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "MIS" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "Informes MIS" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "Informe QWeb PDF d'instància d'informe MIS" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "Informe XLS d'instància d'informe MIS" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "Màx" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "Mín" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "Mode" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "Model" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "Mes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "Origen dels apunts" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +#, fuzzy +msgid "Move lines source model name" +msgstr "Mou el nom del model d'origen de les línies." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "Multi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "Múltiples companyies" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "Nom" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "Sense filtre de dates" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "No es permet un filtre de data per aquesta font a la columna %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "Res" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "Normal" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "Número" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "Número de períodes" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "Numèric" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "Desplaçament" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "Desplaçament del període actual" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "Columna pare" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "Percentatge" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "El nom del període ha de ser únic a cada informe" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "Tipus de període" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "Períodes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "Data pivot" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "Si us plau, introdueixi ambdues columnes a comparar en %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "Prefix" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "Prefix heretat" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "Previsualitzar" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "Imprimeix" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "Consultes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "Companyia de la consulta" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "El nom de la consulta ({}) ha de ser un identificador Python vàlid" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "Actualitzar" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "Relatiu a la data base de l'informe" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "Informe" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +msgid "Report Action" +msgstr "Informar de l'acció" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "Instància de l'informe" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "Data base de l'informe (deixar buida per a utilitzar la data actual)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "Arrodoniment" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "Arrodoniment heretat" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "Guardar" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "Seleccioni les companyies per a les que es buscaran les dades." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" +"Seleccioni la moneda objectiu per a l'informe. Es requereix si les " +"companyies tenen monedes diferents." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "Seqüència" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "Configuració" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +#, fuzzy +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" +"No hauria d’incloure el mateix informe més d’una vegada que el subinforme " +"d’un informe determinat" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "Símbol" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "Origen" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "Cadena" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "Estil" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "Expressió d'estil" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "Estil per a les files de detall de compte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "Nom de l'estil" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "Sub KPI" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "Filtre del sub KPI" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "El sub KPI ha d'utilitzar-se només una vegada per a cada KPI" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "Sub KPI's" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub Reports" +msgstr "Subinformes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +msgid "Sub reports" +msgstr "Subinformes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +msgid "Sub-KPI Sequence" +msgstr "Seqüència Sub-KPI" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "El nom Sub-KPI ({}) ha de ser un identificador Python vàlid" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "SubKPI" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +msgid "Subreport" +msgstr "Subinforme" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "S'ha detectat un bucle de subinforme" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "El nom del subinforme ({}) ha de ser un identificador Python vàlid" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +#, fuzzy +msgid "Subreport name should be unique by report" +msgstr "El nom del subinforme ha de ser únic per a cada informe" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "Sufix" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "Sufix heretat" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "Suma" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "Detalls de compte de la suma" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" +"La suma no pot ser calculada a la columa {} perquè les columnes a sumar no " +"tenen subkpis comuns" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "Suma de columnes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "Apunts objectiu" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "Plantilla" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "Temporal" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "Color de text" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Color de text en un codi RGB vàlid (des de #000000 fins a #FFFFFF)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "Fins a" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "Per (calculat)" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "Mètode d'acumulació %s no esperat per a %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "Operador %s no compatible per cercar la data" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "Buit d'informes temporals" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "Vàlid" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "Tipus del valor" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "Visibilitat" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "Setmana" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "Duració incorrecta, ha de ser positiva!" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "Factor de normalització incorrecte. Ha de ser positiu!" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "Any" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "Any fins a la data" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "No pot sumar el període %s amb ell mateix." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "Des de %s fins a %s" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "gran" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "mitjana" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "o" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "pp" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "petita" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "contra" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "extra-gran" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "extra-petita" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "extra-súper-gran" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "extra-súper-petita" + +#~ msgid "" +#~ "AccountingNone: a null value that behaves as 0 in arithmetic " +#~ "operations." +#~ msgstr "" +#~ "AccountingNone: un valor nul que es comporta com a 0 en operacions " +#~ "aritmètiques." + +#~ msgid "" +#~ "bal, crd, deb, pbal, nbal: balance, debit, credit, positive " +#~ "balance, negative balance." +#~ msgstr "" +#~ "bal, crd, deb, pbal, nbal: saldo, deure, haver, saldo positiu, " +#~ "saldo negatiu." + +#~ msgid "" +#~ "bal[70]: variation of the balance of account 70 over the period " +#~ "(it is the same as balp[70]." +#~ msgstr "" +#~ "bal[70]: variació del saldo del compte 70 en el període (és el " +#~ "mateix que balp[70]." + +#~ msgid "" +#~ "bale[1%]: balance of accounts starting with 1 at end of period." +#~ msgstr "" +#~ "bale[1%]: saldo al final del període dels comptes que comencen amb " +#~ "1." + +#~ msgid "bali[70,60]: initial balance of accounts 70 and 60." +#~ msgstr "bali[70,60]: Saldo inicial dels comptes 70 i 60." + +#~ msgid "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variation of the balance of all receivable accounts over the " +#~ "period." +#~ msgstr "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variació del saldo de tots els comptes a cobrar en el període." + +#~ msgid "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balance of move lines related to tax grid 56." +#~ msgstr "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: saldo dels apunts relacionats amb l'etiqueta d'impost 56." + +#~ msgid "" +#~ "balu[]: (u for unallocated) is a special expression that shows the " +#~ "unallocated profit/loss of previous\n" +#~ " fiscal years." +#~ msgstr "" +#~ "balu[]: (u for unallocated) es una expressió especial que mostra " +#~ "les pèrdues y guanys sense assignar dels exercicis fiscals\n" +#~ "anteriors." + +#~ msgid "" +#~ "crdp[40%]: sum of all credits on accounts starting with 40 during " +#~ "the period." +#~ msgstr "" +#~ "crdp[40%]: suma de tots els haver dels comptes que comencen per 40 " +#~ "durant el període." + +#~ msgid "date_from, date_to: beginning and end date of the period." +#~ msgstr "date_from, date_to: data d'inici i data de fi del període." + +#~ msgid "datetime, datetime, dateutil: the python modules." +#~ msgstr "datetime, datetime, dateutil: els mòduls python." + +#~ msgid "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: sum of all debits on " +#~ "accounts 55 and journal BNK1 during the period." +#~ msgstr "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: suma de tots els " +#~ "deure dels comptes que comencen per 55 i en el diari BNK1 durant el " +#~ "període." + +#, fuzzy +#~ msgid "" +#~ "p, i, e: respectively variation over the period, initial balance, " +#~ "ending balance" +#~ msgstr "" +#~ "p, i, e: variació sobre el període, sobre el saldo inicial o sobre " +#~ "el saldo final respectivament" + +#~ msgid "" +#~ "pbale[55%]: sum of all ending balances of accounts starting with " +#~ "55 whose\n" +#~ " ending balance is positive." +#~ msgstr "" +#~ "pbale[55%]: suma de tots els saldos finals dels comptes que " +#~ "comencen per 55\n" +#~ " el saldo final dels quals és positiu." + +#~ msgid "" +#~ "sum, min, max, len, avg: behave as expected, very similar to the " +#~ "python builtins." +#~ msgstr "" +#~ "sum, min, max, len, avg: es comporten com s'espera, molt similars " +#~ "als nadius de Python." + +#~ msgid "" +#~ "Additionally following variables are available in the evaluation context:" +#~ msgstr "" +#~ "Les següents variables addicionals estan disponibles en el context " +#~ "d'avaluació:" + +#~ msgid "" +#~ "Expressions can involve other KPI, sub KPI and query results by name (eg " +#~ "kpi1 + kpi2, kpi2.subkpi1, query1.field1)." +#~ msgstr "" +#~ "L'expressió també pot incloure altres KPI ,sub KPI i resultats de " +#~ "consulta per nom (per exemple, kpi1 + kpi2)." + +#~ msgid "" +#~ "The account selector is a like expression on the account code (eg " +#~ "70%, etc)." +#~ msgstr "" +#~ "El selector de compte és com una expressió en el codi de compte " +#~ "(per exemple, 70%, etc)." + +#~ msgid "" +#~ "The journal items domain is an Odoo domain filter on journal items." +#~ msgstr "" +#~ "El domini dels apunts és un filtre de domini Odoo sobe els apunts." + +#, fuzzy +#~ msgid "" +#~ "The following special elements are recognized in the expressions to " +#~ "compute accounting data:\n" +#~ " {bal|crd|deb|pbal|nbal}" +#~ "{pieu}[account selector][journal items domain]." +#~ msgstr "" +#~ "Els següents elements són reconeguts a les expressions per a calcular " +#~ "dades comptables:\n" +#~ " {bal|crd|deb|pbal|nbal}" +#~ "{pieu}[account selector][journal items domain]." + +#~ msgid "MIS Budget" +#~ msgstr "Pressupost MIS" + +#~ msgid "report.mis_builder.mis_report_instance_xlsx" +#~ msgstr "report.mis_builder.mis_report_instance_xlsx" + +#~ msgid "" +#~ "Probably not your fault... but I'm really curious to know how you managed " +#~ "to raise this error so I can handle one more corner case!" +#~ msgstr "" +#~ "Probablement no és culpa seva... però realment tinc curiositat per saber " +#~ "com ha aconseguit aquest error per a poder gestionar un cas extrem més!" + +#~ msgid "µ" +#~ msgstr "µ" + +#~ msgid "add.mis.report.instance.dashboard.wizard" +#~ msgstr "add.mis.report.instance.dashboard.wizard" + +#~ msgid "ir.actions.report" +#~ msgstr "ir.actions.report" + +#~ msgid "mis.report" +#~ msgstr "mis.report" + +#~ msgid "mis.report.instance" +#~ msgstr "mis.report.instance" + +#~ msgid "mis.report.instance.period" +#~ msgstr "mis.report.instance.period" + +#~ msgid "mis.report.instance.period.sum" +#~ msgstr "mis.report.instance.period.sum" + +#~ msgid "mis.report.kpi" +#~ msgstr "mis.report.kpi" + +#~ msgid "mis.report.kpi.expression" +#~ msgstr "mis.report.kpi.expression" + +#~ msgid "mis.report.query" +#~ msgstr "mis.report.query" + +#~ msgid "mis.report.style" +#~ msgstr "mis.report.style" + +#~ msgid "mis.report.subkpi" +#~ msgstr "mis.report.subkpi" diff --git a/odex25_accounting/mis_builder/i18n/de.po b/odex25_accounting/mis_builder/i18n/de.po new file mode 100644 index 000000000..6417ae909 --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/de.po @@ -0,0 +1,1858 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +# Translators: +# Rudolf Schnapka , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-05 01:43+0000\n" +"PO-Revision-Date: 2018-02-05 01:43+0000\n" +"Last-Translator: Rudolf Schnapka , 2018\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\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" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (Kopie)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +msgid "Account model" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +msgid "Date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +msgid "Date From" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +msgid "Date To" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +msgid "Disable account details expansion" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +msgid "Hide Always Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +msgid "KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +msgid "MIS Builder XLSX report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +msgid "MIS Report - Sub Reports Relation" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +msgid "MIS Report Add to Dashboard Wizard" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +msgid "MIS Report Instance Period" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +msgid "MIS Report Instance Period Sum" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +msgid "MIS Report KPI Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +msgid "MIS Report Query" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +msgid "MIS Report Sub-KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +msgid "MIS Report Template" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +msgid "Move lines source model name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +msgid "Report Action" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +msgid "Sub reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +msgid "Sub-KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +msgid "Subreport" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +msgid "Subreport name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "" + +#~ msgid "" +#~ "AccountingNone: a null value that behaves as 0 in arithmetic " +#~ "operations." +#~ msgstr "" +#~ "BuchhaltungsNull: Ein Null-Wert, der sich wie 0 in arithmetischen " +#~ "Berechnungen verhält." + +#, fuzzy +#~ msgid "" +#~ "bal, crd, deb, pbal, nbal: balance, debit, credit, positive " +#~ "balance, negative balance." +#~ msgstr "bal, crd, deb: Saldo, Haben, Soll." + +#~ msgid "" +#~ "bal[70]: variation of the balance of account 70 over the period " +#~ "(it is the same as balp[70]." +#~ msgstr "" +#~ "bal[70]: Abwandlung des Saldo von Konto 70 über die Zeit (Dies " +#~ "entspricht balp[70])." + +#~ msgid "" +#~ "bale[1%]: balance of accounts starting with 1 at end of period." +#~ msgstr "" +#~ "bale[1%]: Saldo der Konten die mit 1 beginnen zum Ende der Periode." + +#~ msgid "bali[70,60]: initial balance of accounts 70 and 60." +#~ msgstr "bali[70,60]: Eröffnungssaldo der Konten 70 und 60." + +#~ msgid "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variation of the balance of all receivable accounts over the " +#~ "period." +#~ msgstr "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: Abwandlung des Saldo aller Forderungskonten über die Zeit." + +#~ msgid "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balance of move lines related to tax grid 56." +#~ msgstr "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: Saldo der Buchungen mit Steuerschlüssel 56 ." + +#~ msgid "" +#~ "balu[]: (u for unallocated) is a special expression that shows the " +#~ "unallocated profit/loss of previous\n" +#~ " fiscal years." +#~ msgstr "" +#~ "balu[]: (u für nicht zugewiesen) ist ein spezieller Ausdruck, der " +#~ "nicht zugewiesene Gewinne/Verluste der Vorjahre ausweist." + +#~ msgid "" +#~ "crdp[40%]: sum of all credits on accounts starting with 40 during " +#~ "the period." +#~ msgstr "" +#~ "crdp[40%]: Summe aller Haben auf Konten, die mit 40 beginnen, über " +#~ "die Zeit." + +#~ msgid "date_from, date_to: beginning and end date of the period." +#~ msgstr "date_from, date_to: Anfangs- und Enddatum der Periode." + +#~ msgid "datetime, datetime, dateutil: the python modules." +#~ msgstr "datetime, datetime, dateutil: die Python-Methoden." + +#~ msgid "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: sum of all debits on " +#~ "accounts 55 and journal BNK1 during the period." +#~ msgstr "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: Die Summe aller Soll " +#~ "der Konten 55 und Journal BNK1 über die Periode.." + +#, fuzzy +#~ msgid "" +#~ "p, i, e: respectively variation over the period, initial balance, " +#~ "ending balance" +#~ msgstr "" +#~ "p, i, e: jeweilige Abwandlung über Zeit, Eröffnungssaldo, Endsaldo" diff --git a/odex25_accounting/mis_builder/i18n/el.po b/odex25_accounting/mis_builder/i18n/el.po new file mode 100644 index 000000000..f341dc43c --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/el.po @@ -0,0 +1,1776 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: el\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" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +msgid "Account model" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +msgid "Date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +msgid "Date From" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +msgid "Date To" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +msgid "Disable account details expansion" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +msgid "Hide Always Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +msgid "KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +msgid "MIS Builder XLSX report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +msgid "MIS Report - Sub Reports Relation" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +msgid "MIS Report Add to Dashboard Wizard" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +msgid "MIS Report Instance Period" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +msgid "MIS Report Instance Period Sum" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +msgid "MIS Report KPI Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +msgid "MIS Report Query" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +msgid "MIS Report Sub-KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +msgid "MIS Report Template" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +msgid "Move lines source model name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +msgid "Report Action" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +msgid "Sub reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +msgid "Sub-KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +msgid "Subreport" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +msgid "Subreport name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "" diff --git a/odex25_accounting/mis_builder/i18n/el_GR.po b/odex25_accounting/mis_builder/i18n/el_GR.po new file mode 100644 index 000000000..bc393190e --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/el_GR.po @@ -0,0 +1,1776 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: el_GR\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" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +msgid "Account model" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +msgid "Date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +msgid "Date From" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +msgid "Date To" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +msgid "Disable account details expansion" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +msgid "Hide Always Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +msgid "KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +msgid "MIS Builder XLSX report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +msgid "MIS Report - Sub Reports Relation" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +msgid "MIS Report Add to Dashboard Wizard" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +msgid "MIS Report Instance Period" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +msgid "MIS Report Instance Period Sum" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +msgid "MIS Report KPI Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +msgid "MIS Report Query" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +msgid "MIS Report Sub-KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +msgid "MIS Report Template" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +msgid "Move lines source model name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +msgid "Report Action" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +msgid "Sub reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +msgid "Sub-KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +msgid "Subreport" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +msgid "Subreport name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "" diff --git a/odex25_accounting/mis_builder/i18n/es.po b/odex25_accounting/mis_builder/i18n/es.po new file mode 100644 index 000000000..61dd1cc5c --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/es.po @@ -0,0 +1,2021 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-13 15:37+0000\n" +"PO-Revision-Date: 2020-07-27 10:19+0000\n" +"Last-Translator: Daniel Martinez Vila \n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\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 3.10\n" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (copia)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" +"Modelo que sea 'de tipo apunte', es decir, que tenga al menos los campos " +"debit, credit, date, account_id y company_id." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" +"Modelo que sea 'de tipo apunte', es decir, que tenga al menos los campos de " +"débito, crédito, fecha, ID de cuenta y ID de compañía. Este modelo es la " +"fuente de datos para la columna Informes estadísticos." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "Un filtro de fecha es obligatorio para este origen en la columna %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +msgid "Account model" +msgstr "Modelo de cuenta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "Método de agregación" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" +"Los modelos reales (alternativos) utilizados en columnas deben tener el " +"mismo modelo de cuenta en el campo Cuenta y deben ser los mismos definidos " +"en la plantilla de informe:% s" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "Datos reales" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "Datos reales (alternativa)" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" +"Datos reales: datos actuales provenientes de la contabilidad y otras " +"consultas.\n" +"Datos reales (alternativa): datos actuales provenientes de un origen " +"alternativo (por ejemplo, vista de la base de datos proveyendo registros de " +"\"tipo apunte\").\n" +"Suma de columnas: sumarización (+/-) de otras columnas.\n" +"Comparar columnas: comparación con otra columna.\n" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" +"Adapte el modelo con date_from / date_to para pro-rata temporis read_group" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "Añadir al tablero" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "Agregación" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "Todos los asientos" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "Todos los Kpi" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "Todos los asientos asentados" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "Importe" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" +"Una expresión que devuelve un estilo dependiendo del valor del KPI. Dicho " +"estilo se aplica en la parte superior del estilo de la fila." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "Cuenta analítica" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "Filtro de cuenta analítica" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "Cuenta analítica: %s" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "Etiquetas analíticas" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "Filtro de etiquetas analíticas" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "Etiquetas analíticas: %s" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "Auto expandir" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "Media" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "Color de fondo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "Color de fondo heredado" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Color de fondo utilizando un código RGB válido (de #000000 a #FFFFFF)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "Fecha base" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "Negrita" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "No se puede actualizar un kpi múltiple desde una línea de kpi" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" +"Compruebe si desea especificar compañías hijas para buscar datos en ellas." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "Color" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "Color heredado" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "Columna" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "La columna %s no puede ser comparada consigo misma." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "La columna %s con fuente de datos reales debe tener fecha desde/hasta." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "Columnas" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "Las columnas a comparar deben pertenecer al mismo informe en %s" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "Columnas a sumar" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "Las columnas {} and {} no son comparables" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "Compañías" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "Compañías para las que se buscarán datos." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "Compañía" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "Comparar" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "Comparar columnas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "Método de comparación" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "Modo de comparación" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "Moneda" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "Tablero" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +msgid "Date" +msgstr "Fecha" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "Campo Fecha" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +msgid "Date From" +msgstr "Fecha De" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "Rango de fechas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "Tipo de rango de fechas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +msgid "Date To" +msgstr "Fecha hasta" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "Fechas" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "Día" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "Descripción" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" +"Determina cómo los valores de este kpi transcurriendo sobre el periodo de " +"tiempo son transformados para casar con el periodo del informe. Sum: se " +"añaden los valores del periodo más corto, y los valores del más largo o de " +"periodos que solapan parcialmente se ajustan prorrateándose en el tiempo.\n" +"Media: los valores del periodo incluido se promedian con el peso del " +"prorrateo temporal." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "Diferencia" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +msgid "Disable account details expansion" +msgstr "Deshabilitar expansión de detalles de cuenta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "Descripción de las columnas de visualización" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "Nombre a mostrar" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "Mostrar detalles por cuenta" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "" +"Mostrar los detalles del rango de fechas en los encabezados de columna." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "Divisor heredado" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "Dominio" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "Dp heredado" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" +"Campo ficticio que adapta las búsquedas en fecha a búsquedas en date_from / " +"date_to." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "Duración" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" +"Introduzca la expresión aquí, por ejemplo balp[70%]. Vea también la pestaña " +"de ayuda." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "Ejemplos:" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "Exportar" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "Expresión" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "Expresiones" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "Las expresiones pueden ser cualquier expresión válida de Python." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "Factor" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "Factor heredado" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "El factor se usa para normalizar el periodo (usado en la comparación" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "Nombre de los campos obtenidos" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "Campos a obtener" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" +"Filtre la columna en entradas de diario que tengan todas estas etiquetas " +"analíticas. Este filtro se combina con un AND con los filtros de nivel de " +"informe y no se puede modificar en la vista previa." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" +"Filtrar columna en entradas de diario que coincidan con esta cuenta " +"analítica. Este filtro se combina con un AND con los filtros de nivel de " +"informe y no se puede modificar en la vista previa." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "Filtros" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "Fechas fijas" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "Fuente" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "Tamaño del tipo de letra" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "Tamaño del tipo de letra heredado" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "Estilo de tipo de letra" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "Estilo de tipo de letra heredado" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "Tamaño del tipo de letra" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "Tamaño del tipo de letra heredado" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "Fuerza la fecha de inicio al 1 de enero del año relevante" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "Desde" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "De (calculado)" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "Generado el {} a las {}" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "Ayuda (para las expresiones del KPI)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "Ocultar Siempre" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +msgid "Hide Always Inherit" +msgstr "Ocultar vacíos heredados" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "Ocultar filtros analíticos" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "Ocultar vacíos" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "Ocultar vacíos heredado" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "ID" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" +"Si no se provee el campo currency_id, todas las compañías deben tener la " +"misma moneda." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "Sangría" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "Nivel de sangría" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "Nivel de sangría heredado" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "El nivel de sangría debe ser igual o mayor que 0" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "Cursiva" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "KPI" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" +"El KPI \"{}\" tiene el tipo {} mientras se esperaba una tupla.\n" +"\n" +"Esto se puede solucionar mediante:\n" +"- Cambiar el valor de KPI a una tupla de longitud {}\n" +"o\n" +"- Cambiar el KPI al modo `multi` y dar un valor explícito para cada sub-KPI." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" +"El KPI \"{}\" se valora como una tupla de longitud {} mientras que se espera " +"una tupla de longitud {}." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +msgid "KPI Sequence" +msgstr "KPI de Secuencia" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "El nombre de KPI ({}) debe ser un identificador de Python válido" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "KPI's" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "KPI's de este informe y subinformes." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "KPI" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "Etiqueta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "PDF apaisado" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "Última modificación en" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "Últimos informes generados" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "Última modificación por" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "Diseño" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +msgid "MIS Builder XLSX report" +msgstr "Informe MIS Builder XLSX" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "Clase abstracta de datos KPI MIS" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "Informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +msgid "MIS Report - Sub Reports Relation" +msgstr "Informe MIS - Relación de informes secundarios" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +msgid "MIS Report Add to Dashboard Wizard" +msgstr "Informe MIS Agregar al Asistente del Tablero" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "Instancia de informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +msgid "MIS Report Instance Period" +msgstr "Período de instancia del informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +msgid "MIS Report Instance Period Sum" +msgstr "Suma del período de instancia del informe MIS" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "Instancias de informes MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "KPI de informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +msgid "MIS Report KPI Expression" +msgstr "Informe MIS - KPI Expresión" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +msgid "MIS Report Query" +msgstr "Consulta del informe MIS" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "Resultado del informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "Estilo del informe MIS" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "Estilos del informe MIS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +msgid "MIS Report Sub-KPI" +msgstr "Informe MIS Sub-KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +msgid "MIS Report Template" +msgstr "Plantilla de presupuesto MIS" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "Plantillas de informe MIS" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "MIS" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "Informes MIS" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "Informe QWeb PDF de instancia de informe MIS" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "Informe XLS de instancia de informe MIS" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "Máx" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "Mín" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "Modo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "Modelo" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "Mes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "Origen de los apuntes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +msgid "Move lines source model name" +msgstr "Mover líneas nombre del modelo de origen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "Multi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "Múltiples compañías" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "Nombre" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "Sin filtro de fechas" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "No se permite un filtro de fecha para esta fuente en la columna %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "Ninguno" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "Normal" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "Número" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "Número de periodos" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "Numérico" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "Desplazamiento" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "Desplazamiento del periodo actual" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "Columna padre" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "Porcentaje" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "El nombre del periodo debe ser único en cada informe" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "Tipo de periodo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "Periodos" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "Fecha pivote" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "Por favor introduzca ambas columnas a comparar en %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "Prefijo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "Prefijo heredado" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "Previsualizar" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "Imprimir" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "Consultas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "Compañía de la consulta" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "" +"El nombre de la consulta ({}) debe ser un identificador de Python válido" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "Actualizar" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "Relativo a la fecha base del informe" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "Informe" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +msgid "Report Action" +msgstr "Informar acción" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "Instancia del informe" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "Fecha base del informe (dejar vacía para usar la fecha actual)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "Redondeo" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "Redondeo heredado" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "Guardar" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "Seleccione las compañías para las que se buscarán los datos." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" +"Seleccione la moneda objetivo para el informe. Requerido si las compañías " +"tiene monedas diferentes." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "Secuencia" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "Configuración" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" +"No debe incluir el mismo informe más de una vez como subinforme de un " +"informe determinado" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "Signo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "Origen" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "Cadena" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "Estilo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "Expresión de estilo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "Estilo para las filas de detalle de cuenta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "Nombre del estilo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "Sub KPI" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "Filtro del sub KPI" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "El sub KPI debe usarse solamente una vez para cada KPI" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "Sub KPI's" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub Reports" +msgstr "Subinformes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +msgid "Sub reports" +msgstr "Subinformes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +msgid "Sub-KPI Sequence" +msgstr "Sub-KPI Secuencia" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "El nombre del Sub-KPI ({}) debe ser un identificador válido de Python" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "SubKPI" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +msgid "Subreport" +msgstr "Subinforme" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "Subinforme detectado" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "" +"El nombre del subinforme ({}) debe ser un identificador de Python válido" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +msgid "Subreport name should be unique by report" +msgstr "El nombre del subinforme debe ser único por informe" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "Sufijo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "Sufijo heredado" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "Suma" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "Detalles de cuenta de la suma" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" +"La suma no puede ser calculada en la columna {} porque las columnas a sumar " +"no tiene subkpis comunes" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "Suma de columnas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "Apuntes objetivo" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "Plantilla" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "Temporal" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "Color del texto" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Color de texto en un código RGB válido (desde #000000 hasta #FFFFFF)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "Hasta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "Para (calculado)" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "Método de acumulación %s no esperado para %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "Operador no compatible %s para buscar en fecha" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "Vacío de informes temporales" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "Válido" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "Tipo del valor" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "Visibilidad" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "Semana" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "¡Duración incorrecta, debe ser positiva!" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "Factor de normalización incorrecto. ¡Debe ser positivo!" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "Año" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "El año hasta la fecha" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "No puede sumar el periodo %s consigo mismo." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "desde %s hasta %s" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "grande" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "mediana" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "o" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "pp" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "pequeña" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "contra" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "extra-grande" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "extra-pequeña" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "extra-súper-grande" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "extra-súper-pequeña" + +#~ msgid "" +#~ "AccountingNone: a null value that behaves as 0 in arithmetic " +#~ "operations." +#~ msgstr "" +#~ "AccountingNone: un valor nulo que se comporta como 0 en " +#~ "operaciones aritméticas." + +#~ msgid "" +#~ "bal, crd, deb, pbal, nbal: balance, debit, credit, positive " +#~ "balance, negative balance." +#~ msgstr "" +#~ " bal, crd, deb, pbal, nbal : saldo, débito, crédito, saldo " +#~ "positivo, saldo negativo." + +#~ msgid "" +#~ "bal[70]: variation of the balance of account 70 over the period " +#~ "(it is the same as balp[70]." +#~ msgstr "" +#~ "bal[70]: variación del saldo de la cuenta 70 en el periodo (es lo " +#~ "mismo que balp[70]." + +#~ msgid "" +#~ "bale[1%]: balance of accounts starting with 1 at end of period." +#~ msgstr "" +#~ "bale[1%]: saldo al final del periodo de las cuentas que empiezan " +#~ "en 1." + +#~ msgid "bali[70,60]: initial balance of accounts 70 and 60." +#~ msgstr "bali[70,60]: Saldo inicial de las cuentas 70 y 60." + +#~ msgid "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variation of the balance of all receivable accounts over the " +#~ "period." +#~ msgstr "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variación del saldo de todas las cuentas a cobrar en el " +#~ "periodo." + +#~ msgid "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balance of move lines related to tax grid 56." +#~ msgstr "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: saldo de los apuntes relacionados con la etiqueta de impuesto 56." + +#~ msgid "" +#~ "balu[]: (u for unallocated) is a special expression that shows the " +#~ "unallocated profit/loss of previous\n" +#~ " fiscal years." +#~ msgstr "" +#~ "balu[]: (u for unallocated) es una expresión especial que muestra " +#~ "las pérdidas y ganancias sin asignar de los ejercicios fiscales " +#~ "anteriores." + +#~ msgid "" +#~ "crdp[40%]: sum of all credits on accounts starting with 40 during " +#~ "the period." +#~ msgstr "" +#~ "crdp[40%]: suma de todos los haber de las cuentas que empiezan por " +#~ "40 durante el periodo." + +#~ msgid "date_from, date_to: beginning and end date of the period." +#~ msgstr "" +#~ "date_from, date_to: fecha de inicio y fecha de fin del periodo." + +#~ msgid "datetime, datetime, dateutil: the python modules." +#~ msgstr "datetime, datetime, dateutil: los módulos python." + +#~ msgid "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: sum of all debits on " +#~ "accounts 55 and journal BNK1 during the period." +#~ msgstr "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: suma de todos los " +#~ "debe en las cuentas que empiezan por 55 y en el diario BNK1 durante el " +#~ "periodo." + +#~ msgid "" +#~ "p, i, e: respectively variation over the period, initial balance, " +#~ "ending balance" +#~ msgstr "" +#~ " p, i, e : variación respectivamente durante el período, saldo " +#~ "inicial, saldo final" + +#~ msgid "" +#~ "pbale[55%]: sum of all ending balances of accounts starting with " +#~ "55 whose\n" +#~ " ending balance is positive." +#~ msgstr "" +#~ " pbale [55%] : suma de todos los saldos finales de cuentas que " +#~ "comienzan con 55 cuyos\n" +#~ "............................................el saldo final es positivo." + +#~ msgid "" +#~ "sum, min, max, len, avg: behave as expected, very similar to the " +#~ "python builtins." +#~ msgstr "" +#~ "sum, min, max, len, avg: se comportan como se espera, muy " +#~ "similares a los nativos de Python." + +#~ msgid "" +#~ "Additionally following variables are available in the evaluation context:" +#~ msgstr "" +#~ "Las siguientes variables adicionales están disponibles en el contexto de " +#~ "evaluación:" + +#~ msgid "" +#~ "Expressions can involve other KPI, sub KPI and query results by name (eg " +#~ "kpi1 + kpi2, kpi2.subkpi1, query1.field1)." +#~ msgstr "" +#~ "La expresión también puede incluir otros KPI y resultados de consulta por " +#~ "nombre (por ejemplo, kpi1 + kpi2)." + +#~ msgid "" +#~ "The account selector is a like expression on the account code (eg " +#~ "70%, etc)." +#~ msgstr "" +#~ "El selector de cuenta es como una expresión en el código de cuenta " +#~ "(por ejemplo, 70%, etc)." + +#~ msgid "" +#~ "The journal items domain is an Odoo domain filter on journal items." +#~ msgstr "" +#~ "El dominio de apuntes es un filtro de dominio Odoo sobre los " +#~ "apuntes." + +#~ msgid "" +#~ "The following special elements are recognized in the expressions to " +#~ "compute accounting data:\n" +#~ " {bal|crd|deb|pbal|nbal}" +#~ "{pieu}[account selector][journal items domain]." +#~ msgstr "" +#~ "Los siguientes elementos especiales se reconocen en las expresiones para " +#~ "calcular los datos contables:\n" +#~ " {bal | crd | deb | pbal | nbal} {pieu} [selector de cuenta] " +#~ "[dominio de elementos de diario] ." + +#~ msgid "MIS Budget" +#~ msgstr "Presupuesto MIS" + +#~ msgid "report.mis_builder.mis_report_instance_xlsx" +#~ msgstr "report.mis_builder.mis_report_instance_xlsx" + +#~ msgid "" +#~ "Probably not your fault... but I'm really curious to know how you managed " +#~ "to raise this error so I can handle one more corner case!" +#~ msgstr "" +#~ "Probablemente no es su culpa... ¡pero realmente hay curiosidad por saber " +#~ "cómo ha conseguido este error para poder manejar un caso extremo más!" + +#~ msgid "µ" +#~ msgstr "µ" + +#~ msgid "add.mis.report.instance.dashboard.wizard" +#~ msgstr "add.mis.report.instance.dashboard.wizard" + +#~ msgid "ir.actions.report" +#~ msgstr "ir.actions.report" + +#~ msgid "mis.report" +#~ msgstr "mis.report" + +#~ msgid "mis.report.instance" +#~ msgstr "mis.report.instance" + +#~ msgid "mis.report.instance.period" +#~ msgstr "mis.report.instance.period" + +#~ msgid "mis.report.instance.period.sum" +#~ msgstr "mis.report.instance.period.sum" + +#~ msgid "mis.report.kpi" +#~ msgstr "mis.report.kpi" + +#~ msgid "mis.report.kpi.expression" +#~ msgstr "mis.report.kpi.expression" + +#~ msgid "mis.report.query" +#~ msgstr "mis.report.query" + +#~ msgid "mis.report.style" +#~ msgstr "mis.report.style" + +#~ msgid "mis.report.subkpi" +#~ msgstr "mis.report.subkpi" diff --git a/odex25_accounting/mis_builder/i18n/fr.po b/odex25_accounting/mis_builder/i18n/fr.po new file mode 100644 index 000000000..b189ed60d --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/fr.po @@ -0,0 +1,1997 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +# Translators: +# OCA Transbot , 2018 +# Nicolas JEUDY , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-10 07:59+0000\n" +"PO-Revision-Date: 2020-09-23 17:00+0000\n" +"Last-Translator: Régis Pirard (ACSONE) \n" +"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\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: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (copie)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" +"Un modèle 'move line like', ie ayant au moins les champs débit, crédit, " +"account_id et company_id." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" +"Un modèle 'move line like', ie ayant au moins les champs débit, crédit, " +"account_id et company_id. Ce modèle est la source pour la colonne \"Réels\"." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "Un filtre date est obligatoire pour cette source dans la colonne %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +msgid "Account model" +msgstr "Additionne le détail des comptes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "Méthode d'accumulation" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "Réels" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "Réels (autre)" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" +"Réels: données actuelles, de la comptabilité et autres requêtes.\n" +"Réels (autre): données actuelles d'une autre source (eg une vue d'une base " +"de données fournissant des lignes de mouvements de comptes similaires).\n" +"Somme colonnes: somme (+/-) d'autres colonnes.\n" +"Comparer colonnes: compare à  une autre colonne.\n" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "Ajouter au tableau de bord" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "Agréger" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "Écritures comptabilisées + non-comptabilisées" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "Écritures comptabilisées seulement" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "Montant" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" +"Une expression qui retourne un style en fonction de la valeur du KPI. Un tel " +"style est appliqué au-dessus du style de la ligne." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "Compte Analytique" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "Étiquettes analytiques" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "Expansion automatique" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "Moyenne" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "Couleur d'arrière-plan" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "Couleur d'arrière plan par défaut" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Couleur d'arrière-plan en code RGB valide (de #000000 à  #FFFFFF)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "Date de référence" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "Gras" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "Vous ne pouvez pas mettre à  jour un kpi multi depuis la ligne de kpi" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "Annuler" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" +"Vérifiez si vous souhaitez spécifier des sociétés enfants dont les données " +"seront recherchées." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "Couleur" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "Couleur par défaut" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "Colonne" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, fuzzy, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "Colonne %s ne peut pas être comparée à  elle-même." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, fuzzy, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "Colonne %s avec une source pour le réel doit avoir des dates de/à ." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "Colonnes" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "Les colonnes à  comparer doivent appartenir au même rapport %s" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "Colonnes à additionner" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "Les colonnes {} et {} ne sont pas comparables" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "Sociétés" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "Sociétés pour lesquelles les données seront recherchées." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "Société" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "Comparer" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "Compare colonnes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "Méthode de comparaison" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "Mode de comparaison" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "Devise" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "Tableau de bord" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +#, fuzzy +msgid "Date" +msgstr "Dates" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "Champ date" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +#, fuzzy +msgid "Date From" +msgstr "Champ date" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "Intervalle de dates" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "Type d'intervalle de dates" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +#, fuzzy +msgid "Date To" +msgstr "Dates" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "Dates" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "Jour" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "Description" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" +"Détermines comment les valeurs de ce KPI, s'étendant au délà  d'une période, " +"sont transformées pour correspondre à  la période de reporting. Somme : les " +"valeurs des périodes plus courtes sont additionnées, les valeurs des " +"périodes plus longues ou se chevauchant sont ajustées au pro-rata temporis.\n" +"Moyenne : moyenne au pro-rata temporis des valeurs incluses dans la période." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "Différence" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +msgid "Disable account details expansion" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "Affiche les détails par compte" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "Diviseur par défaut" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "Domaine" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "Dp par défaut" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "Durée" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" +"Entrez l'expression ici, par exemple balp[70%]. Voir aussi l'onglet aide." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "Exemples :" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "Export" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "Expression" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "Expressions" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "" +"Les expressions peuvent être n'importe quelle expression python valide." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "Facteur" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "Facteur par défaut" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "Facteur à  utiliser pour normaliser la période (utilisé en comparaison" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "Nom des champs cherchés" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "Champs à  chercher" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "Filtres" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "Dates fixes" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "Police" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "Taille de police" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "Taille de police par défaut" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "Style de police" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "Style de police par défaut" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "Poids de police de caractères" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "Poids de police par défaut" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "De" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "Aide (pour expressions des KPI)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +msgid "Hide Always Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "Cacher les vides" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "Cacher les vides par défaut" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "ID" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" +"Si le currency_id n'est pas renseigné, toutes les sociétés doivent avoir la " +"même devise." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "Alinéa" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "Niveau de retrait" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "Niveau de retrait par défaut" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "Le niveau de retrait doit être plus grand ou égal à  0" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "Italique" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "KPI" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +#, fuzzy +msgid "KPI Sequence" +msgstr "Séquence" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "Le nom doit être un identifiant python valide" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "KPI's" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "Kpi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "Description" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "PDF paysage" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "Derniers rapports générés" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +#, fuzzy +msgid "MIS Builder XLSX report" +msgstr "Instance MIS report XLS report" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "Classe abstraite de données MIS KPI" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "MIS Report" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +#, fuzzy +msgid "MIS Report - Sub Reports Relation" +msgstr "Résultat MIS Report" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +#, fuzzy +msgid "MIS Report Add to Dashboard Wizard" +msgstr "Ajouter au tableau de bord" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "Instance MIS report" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +#, fuzzy +msgid "MIS Report Instance Period" +msgstr "Instance MIS report" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +#, fuzzy +msgid "MIS Report Instance Period Sum" +msgstr "Instance MIS report" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "Instances MIS report" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "MIS Report KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +#, fuzzy +msgid "MIS Report KPI Expression" +msgstr "MIS Report KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +#, fuzzy +msgid "MIS Report Query" +msgstr "MIS Report" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "Résultat MIS Report" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "Style MIS Report" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "Styles MIS Report" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +#, fuzzy +msgid "MIS Report Sub-KPI" +msgstr "MIS Report KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +#, fuzzy +msgid "MIS Report Template" +msgstr "Modèles MIS Report" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "Modèles MIS Report" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "MIS Reporting" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "MIS Reports" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "Instance MIS report QWEB PDF report" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "Instance MIS report XLS report" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "Max" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "Min" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "Mode" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "Modèle" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "Mois" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "Source des lignes d'écriture" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +#, fuzzy +msgid "Move lines source model name" +msgstr "Source des lignes d'écriture" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "Multi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "Sociétés multiples" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "Nom" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "Pas de filtre date" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "Aucun filtre date n'est autorisé pour cette source dans la colonne %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "Aucun" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "Normal" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "Nombre" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "Nombre de périodes" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "Numérique" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "Compensation" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "Compensation depuis la période actuelle" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "Colonne parent" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "Pourcentage" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "Le nom de la période doit être unique par rapport" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "Type de période" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "Périodes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "Date pivot" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "Merci de renseigner les 2 colonnes à  comparer en %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "Préfixe" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "Préfixe par défaut" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "Prévisualisation" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "Imprimer" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "Requêtes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "Société de la requête" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "Le nom doit être un identifiant python valide" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "Rafraîchir" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "Relatif à  la date de référence du rapport" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "Rapport" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +#, fuzzy +msgid "Report Action" +msgstr "Instance de rapport" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "Instance de rapport" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "" +"Date de référence du rapport (laissez vide pour utiliser la date du jour)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "Arrondi" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "Arrondi par défaut" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "Sauvegarder" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "" +"Selectionnez les sociétés pour lesquelles les données seront cherchées." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" +"Selectionnez la devise du rapport. Nécessaire si les sociétés ont des " +"devises différentes." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "Séquence" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "Paramètres" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "Signer" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "Source" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "Chaîne de caractères" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "Style" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "Expression du style" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "Style pour les lignes de détails" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "Nom du style" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "Sous KPI" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "Filtre du sous KPI" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "" +"Un sous KPI ne doit être utilisé qu'une et une seule fois pour chaque KPI" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "Sous KPI's" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +#, fuzzy +msgid "Sub Reports" +msgstr "MIS Reports" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +#, fuzzy +msgid "Sub reports" +msgstr "MIS Reports" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +#, fuzzy +msgid "Sub-KPI Sequence" +msgstr "Séquence" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "Le nom doit être un identifiant python valide" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "Subkpi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +#, fuzzy +msgid "Subreport" +msgstr "Rapport" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, fuzzy, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "Le nom doit être un identifiant python valide" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +#, fuzzy +msgid "Subreport name should be unique by report" +msgstr "Le nom de la période doit être unique par rapport" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "Suffixe" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "Suffixe par défaut" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "Somme" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "Additionne le détail des comptes" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" +"La somme ne peut pas être calculée dans la colonne {} car les colonnes à  " +"additionner n'ont pas de sous KPI's communs" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "Colonnes à additionner" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "Écritures ciblées" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "Modèle" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "Temporaire" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "Couleur du texte" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Couleur du texte en code RGB valide (de #000000 à  #FFFFFF)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "à " + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "Méthode d'accumulation inattendue %s pour %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "Vider les rapports temporaires" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "Valide" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "Type de valeur" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "Visibilité" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "Semaine" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "Durée incorrecte, elle doit être positive !" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "Facteur de normalisation incorrect, il doit être positif !" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "Année" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "Vous ne pouvez pas additionner la période %s avec elle-meme." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "de %s à  %s" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "grand" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "moyen" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "ou" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "pp" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "petit" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "versus" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "x-grand" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "x-petit" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "xx-grand" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "xx-petit" + +#~ msgid "" +#~ "AccountingNone: a null value that behaves as 0 in arithmetic " +#~ "operations." +#~ msgstr "" +#~ "AccountingNone: une valeur nulle qui se comporte comme un zero " +#~ "dans les opérations arithmétiques." + +#~ msgid "" +#~ "bal, crd, deb, pbal, nbal: balance, debit, credit, positive " +#~ "balance, negative balance." +#~ msgstr "" +#~ "bal, crd, deb, pbal, nbal: balance, débit, crédit, balance " +#~ "positive, balance négative." + +#~ msgid "" +#~ "bal[70]: variation of the balance of account 70 over the period " +#~ "(it is the same as balp[70]." +#~ msgstr "" +#~ "1bal[70]2: variation de la balance des comptes 70 de la période " +#~ "(similaire à  balp[70]." + +#~ msgid "" +#~ "bale[1%]: balance of accounts starting with 1 at end of period." +#~ msgstr "" +#~ "1bale[1%]2: balance des comptes commençant par 1 à  la fin de la " +#~ "période." + +#~ msgid "bali[70,60]: initial balance of accounts 70 and 60." +#~ msgstr "1bali[70,60]2: balance initiale des comptes 70 et 60." + +#~ msgid "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variation of the balance of all receivable accounts over the " +#~ "period." +#~ msgstr "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variation de la balance des comptes clients durant la période." + +#~ msgid "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balance of move lines related to tax grid 56." +#~ msgstr "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balance des lignes d'écritures liées au code taxe 56." + +#~ msgid "" +#~ "balu[]: (u for unallocated) is a special expression that shows the " +#~ "unallocated profit/loss of previous\n" +#~ " fiscal years." +#~ msgstr "" +#~ "balu[]: (u pour non-allouée) c'est une expression spéciale qui " +#~ "montre le bénéfice/perte non-alloué des années fiscales précédentes." + +#~ msgid "" +#~ "crdp[40%]: sum of all credits on accounts starting with 40 during " +#~ "the period." +#~ msgstr "" +#~ "crdp[40%]: somme de tous les crédits des comptes commençant par 40 " +#~ "durant la période." + +#~ msgid "date_from, date_to: beginning and end date of the period." +#~ msgstr "date_from, date_to: date de début et de fin de la période." + +#~ msgid "datetime, datetime, dateutil: the python modules." +#~ msgstr "datetime, datetime, dateutil: les modules python." + +#~ msgid "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: sum of all debits on " +#~ "accounts 55 and journal BNK1 during the period." +#~ msgstr "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: somme de tous les " +#~ "débits des comptes 55 et journal BNK1 durant la période." + +#~ msgid "" +#~ "p, i, e: respectively variation over the period, initial balance, " +#~ "ending balance" +#~ msgstr "" +#~ "p, i, e: respectivement variation de la période, balance initiale, " +#~ "balance finale" + +#~ msgid "" +#~ "pbale[55%]: sum of all ending balances of accounts starting with " +#~ "55 whose\n" +#~ " ending balance is positive." +#~ msgstr "" +#~ "pbale[55%]: somme de toutes les balances finales des comptes " +#~ "débutant par 55\n" +#~ " et dont la balance finale est " +#~ "positive." + +#~ msgid "" +#~ "sum, min, max, len, avg: behave as expected, very similar to the " +#~ "python builtins." +#~ msgstr "" +#~ "sum, min, max, len, avg: se comporte comme attendu, très similaire " +#~ "aux expressions python." + +#~ msgid "" +#~ "Additionally following variables are available in the evaluation context:" +#~ msgstr "" +#~ "De plus les variables suivantes sont disponibles dans le contexte " +#~ "d'évaluation :" + +#~ msgid "" +#~ "The account selector is a like expression on the account code (eg " +#~ "70%, etc)." +#~ msgstr "" +#~ "Le sélecteur de compte est une expression Like sur le code du " +#~ "compte (eg 70%, etc)." + +#~ msgid "" +#~ "The journal items domain is an Odoo domain filter on journal items." +#~ msgstr "" +#~ "Le domaine des lignes d'écriture est un filtre de domaine Odoo sur " +#~ "les lignes d'écriture." + +#~ msgid "MIS Budget" +#~ msgstr "MIS Budget" + +#~ msgid "report.mis_builder.mis_report_instance_xlsx" +#~ msgstr "report.mis_builder.mis_report_instance_xlsx" + +#~ msgid "" +#~ "Probably not your fault... but I'm really curious to know how you managed " +#~ "to raise this error so I can handle one more corner case!" +#~ msgstr "" +#~ "Ce n'est probablement pas votre faute... mais je suis très curieux de " +#~ "savoir comment vous avez réussi à  générer cette erreur de manière à  " +#~ "traiter un nouveau problème !" + +#~ msgid "µ" +#~ msgstr "µ" + +#~ msgid "add.mis.report.instance.dashboard.wizard" +#~ msgstr "add.mis.report.instance.dashboard.wizard" + +#~ msgid "ir.actions.report" +#~ msgstr "ir.actions.report" + +#~ msgid "mis.report" +#~ msgstr "mis.report" + +#~ msgid "mis.report.instance" +#~ msgstr "mis.report.instance" + +#~ msgid "mis.report.instance.period" +#~ msgstr "mis.report.instance.period" + +#~ msgid "mis.report.instance.period.sum" +#~ msgstr "mis.report.instance.period.sum" + +#~ msgid "mis.report.kpi" +#~ msgstr "mis.report.kpi" + +#~ msgid "mis.report.kpi.expression" +#~ msgstr "mis.report.kpi.expression" + +#~ msgid "mis.report.query" +#~ msgstr "mis.report.query" + +#~ msgid "mis.report.style" +#~ msgstr "mis.report.style" + +#~ msgid "mis.report.subkpi" +#~ msgstr "mis.report.subkpi" diff --git a/odex25_accounting/mis_builder/i18n/hr.po b/odex25_accounting/mis_builder/i18n/hr.po new file mode 100644 index 000000000..c48784011 --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/hr.po @@ -0,0 +1,1887 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-13 15:37+0000\n" +"PO-Revision-Date: 2020-01-28 18:13+0000\n" +"Last-Translator: Bole \n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\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: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (kopija)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" +"Model sličan 'account move line' modelu, sadrži barem sljedeća polja: debit, " +"credit, account_id i company_id." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" +"Model sličan 'account move line' modelu, sadrži barem sljedeća polja: debit, " +"credit, account_id i company_id. Ovaj model je izvor podataka za kolonu " +"Trenutno ( Actuals)." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "Filter po datumu je obavezan za izvor podataka u koloni %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +msgid "Account model" +msgstr "Model konta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "Kumulativna metoda" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "Dodaj na nadzornu ploču" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "Zbrajanje" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "Sve stavke" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "Sve proknjižene stavke" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "Iznos" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" +"Izraz koji vraća stil zavisno od KPI vrijednosti. Takav stil se primjenjuje " +"nakon stila retka." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "Analitički konto" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "Filter analitičkih konta" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "Analitički konto: %s" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "Oznake analitike" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "Filter oznaka analitike" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "Oznake analitike: %s" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "Automatsko širenje" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "Prosjek" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "Boja pozadine" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "Nasljeđivanje boje pozadine" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "Otkaži" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "Tvrtka" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +msgid "Date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +msgid "Date From" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +msgid "Date To" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +msgid "Disable account details expansion" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "Naziv " + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +msgid "Hide Always Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "ID" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +msgid "KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +msgid "MIS Builder XLSX report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +msgid "MIS Report - Sub Reports Relation" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +msgid "MIS Report Add to Dashboard Wizard" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +msgid "MIS Report Instance Period" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +msgid "MIS Report Instance Period Sum" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +msgid "MIS Report KPI Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +msgid "MIS Report Query" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +msgid "MIS Report Sub-KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +msgid "MIS Report Template" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +msgid "Move lines source model name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "Naziv" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +msgid "Report Action" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +msgid "Sub reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +msgid "Sub-KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +msgid "Subreport" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +msgid "Subreport name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "Ciljane stavke" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "ili" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "" + +#~ msgid "" +#~ "AccountingNone: a null value that behaves as 0 in arithmetic " +#~ "operations." +#~ msgstr "" +#~ "RačunovodstvenaNula: null vrijednost koja se ponaša kao 0 u " +#~ "aritmetičkim operacijama." + +#~ msgid "" +#~ "bal, crd, deb, pbal, nbal: balance, debit, credit, positive " +#~ "balance, negative balance." +#~ msgstr "" +#~ "bal, crd, deb, pbal, nbal: saldo, duguje, potražuje, pozitivan " +#~ "saldo, negativan saldo." + +#~ msgid "" +#~ "bal[70]: variation of the balance of account 70 over the period " +#~ "(it is the same as balp[70]." +#~ msgstr "" +#~ "bal[70]: varijanta salda konta 70 u periodu (isto kao balp[70]." + +#~ msgid "" +#~ "bale[1%]: balance of accounts starting with 1 at end of period." +#~ msgstr "bale[1%]: saldo konta koja počinju sa 1 na kraju perioda." + +#~ msgid "bali[70,60]: initial balance of accounts 70 and 60." +#~ msgstr "bali[70,60]: početni saldo konta 70 i 60." + +#~ msgid "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variation of the balance of all receivable accounts over the " +#~ "period." +#~ msgstr "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: varijacija slada svih potražnih konta kroz period.." + +#~ msgid "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balance of move lines related to tax grid 56." +#~ msgstr "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: saldo svih temeljnica povezanih sa poreznom skupinom 56." + +#~ msgid "" +#~ "balu[]: (u for unallocated) is a special expression that shows the " +#~ "unallocated profit/loss of previous\n" +#~ " fiscal years." +#~ msgstr "" +#~ "balu[]: (u za neraspoređene) je specijalni izraz koji prikazuje " +#~ "nerspoređeni prihod/rashod prehodne fiskalne godine." + +#~ msgid "" +#~ "crdp[40%]: sum of all credits on accounts starting with 40 during " +#~ "the period." +#~ msgstr "" +#~ "crdp[40%]: suma svih potražnih konta koja počinju sa 40 kroz " +#~ "zadani period.." + +#~ msgid "date_from, date_to: beginning and end date of the period." +#~ msgstr "date_from, date_to: početni i završni datumi perioda." + +#~ msgid "datetime, datetime, dateutil: the python modules." +#~ msgstr "datetime, datetime, dateutil: python moduli." + +#~ msgid "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: sum of all debits on " +#~ "accounts 55 and journal BNK1 during the period." +#~ msgstr "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: suma svih dugovnih " +#~ "iznosa konta 55 knjiženih u dnevniku BNK1 kroz period.." + +#~ msgid "" +#~ "p, i, e: respectively variation over the period, initial balance, " +#~ "ending balance" +#~ msgstr "" +#~ "p, i, e: varijacija kroz period, i - početno stanje, e - završno " +#~ "stanje" + +#~ msgid "" +#~ "pbale[55%]: sum of all ending balances of accounts starting with " +#~ "55 whose\n" +#~ " ending balance is positive." +#~ msgstr "" +#~ "pbale[55%]: suma svih završnih salda konta koja počinju sa 55 " +#~ "čiji\n" +#~ " završni saldo je pozitivan." + +#~ msgid "" +#~ "sum, min, max, len, avg: behave as expected, very similar to the " +#~ "python builtins." +#~ msgstr "" +#~ "sum, min, max, len, avg: očenikano ponašanje operatora, vrlo " +#~ "slično kao i u pythonu." + +#~ msgid "" +#~ "Additionally following variables are available in the evaluation context:" +#~ msgstr "Dodatno sljedeće varijable su dostupne u kontekstu:" diff --git a/odex25_accounting/mis_builder/i18n/it.po b/odex25_accounting/mis_builder/i18n/it.po new file mode 100644 index 000000000..93ce621cd --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/it.po @@ -0,0 +1,1776 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +msgid "Account model" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +msgid "Date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +msgid "Date From" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +msgid "Date To" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +msgid "Disable account details expansion" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +msgid "Hide Always Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +msgid "KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +msgid "MIS Builder XLSX report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +msgid "MIS Report - Sub Reports Relation" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +msgid "MIS Report Add to Dashboard Wizard" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +msgid "MIS Report Instance Period" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +msgid "MIS Report Instance Period Sum" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +msgid "MIS Report KPI Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +msgid "MIS Report Query" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +msgid "MIS Report Sub-KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +msgid "MIS Report Template" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +msgid "Move lines source model name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +msgid "Report Action" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +msgid "Sub reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +msgid "Sub-KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +msgid "Subreport" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +msgid "Subreport name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "" diff --git a/odex25_accounting/mis_builder/i18n/nl.po b/odex25_accounting/mis_builder/i18n/nl.po new file mode 100644 index 000000000..6e743bf28 --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/nl.po @@ -0,0 +1,2009 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +# Translators: +# Frank Schellenberg , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-13 15:37+0000\n" +"PO-Revision-Date: 2018-01-13 15:37+0000\n" +"Last-Translator: Frank Schellenberg , 2018\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\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" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (kopie)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" +"Een 'boekingsregel-achtig' model, d.w.z. heeft minimaal debet, credit, " +"datum, account_id en company_id velden" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +#, fuzzy +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" +"Een 'boekingsregel-achtig' model, d.w.z. heeft minimaal debet, credit, " +"datum, account_id en company_id velden" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "Een datum filter is verplicht voor deze bron in kolom %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +#, fuzzy +msgid "Account model" +msgstr "Rekening details optellen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "Accumulatiemethode" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "Actuele" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "Actuele (alternatief)" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" +"Actuele: Huidige data, van boekhouding en andere queries.\n" +"Actuele (alternatief): Huidige data van een alternatieve bron (eg een " +"database view welke ook boekingsregels kan laten zien).\n" +"Kolommen optellen: sommatie (+/-) van andere kolommen.\n" +"Vergelijk kolommen: vergelijk met andere kolom.\n" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "Voeg toe aan dashboard" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "Samenvoegen" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "Alle boekingen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "Alle Geboekte Regels" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "Hoeveelheid" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" +"Een uitdrukking die een stijl retourneert afhankelijk van de KPI-waarde. Een " +"dergelijke stijl wordt toegepast bovenop de regelstijl." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "automatisch uitbreiden" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "Gemiddelde" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "Achtergrond Kleur" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "Achtergrond Kleur Overerven" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Achtergrondkleur als geldige HEX code (van #000000 tot #FFFFFF)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "Uitgangsdatum" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "Vet" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "Kan een multi-kpi niet bijwerken vanaf de kpi-regel" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "Annuleer" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" +"Controleer of u dochterbedrijven wilt selecteren waarvan de data moet worden " +"meegenomen." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "Kleur" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "Kleur Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "Kolom" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, fuzzy, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "Kolom %skan niet met zichzelf worden vergeleken." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, fuzzy, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "Kolom %s met Actuele waardes moet van/tot data hebben." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "Kolommen" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "Te vergelijken kolommen moeten tot hetzelfde rapport in %s behoren" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "Op te sommen kolommen" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "Kolommen {} en {} zijn niet vergelijkbaar" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "Bedrijven" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "Bedrijven waarvoor de data wordt doorzocht." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "Bedrijf" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "Vergelijk" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "Vergelijk kolommen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "Vergelijkingsmethode" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "Vergelijkingsmodus" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "Dashboard" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +#, fuzzy +msgid "Date" +msgstr "Data" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "Datumveld" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +#, fuzzy +msgid "Date From" +msgstr "Datumveld" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "Datumbereik" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "Datumbereik Type" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +#, fuzzy +msgid "Date To" +msgstr "Data" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "Data" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "Dag" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "Omschrijving" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" +"Bepaalt hoe waarden van deze kpi over een periode worden omgezet in " +"overeenstemming met de rapportageperiode. \n" +"Som: waarden van kortere periode worden toegevoegd, waarden van langste of " +"gedeeltelijk overlappende perioden worden pro-rata temporis aangepast.\n" +"Gemiddelde: waarden van de opgenomen periode worden gemiddeld met een pro-" +"rata temporis-gewicht." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "Verschil" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +#, fuzzy +msgid "Disable account details expansion" +msgstr "Rekening details optellen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "Weergavenaam" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "Laat details per rekening zien" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "Verdeler Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "Domein" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "Dp Overerven" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "Duur" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" +"Vul hier een uitdrukking in, bijvoorbeeld balp[70%]. Zie ook het help " +"tabblad." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "Voorbeelden:" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "Exporteer" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "Uitdrukking" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "Uitdrukkingen" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "Uitdrukkingen kunnen alle geldige python uitdrukkingen zijn." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "Factor" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "Factor overerven" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "" +"Te gebruiken factor om de periode te normaliseren (wordt gebruikt bij " +"vergelijking" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "Opgehaalde veld namen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "Op te halen velden" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "Filters" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "Vaste data" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "Lettertype" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "Lettertypegrootte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "Lettertypegrootte Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "Letterstijl" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "Letterstijl Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "Lettertype Dikte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "Lettertype Dikte Overerven" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "Van" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "Help (voor KPI uitdrukkingen)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +#, fuzzy +msgid "Hide Always Inherit" +msgstr "Verberg Leeg Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "Verberg Leeg" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "Verberg Leeg Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "ID" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" +"Als currency_id niet bekend is, alle bedrijven moeten dezelfde valuta hebben." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "Inspringen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "Inspring Niveau" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "Inspring Niveau Overerven" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "Inspring niveau moet groter of gelijk zijn aan 0" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "Cursief" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "KPI" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +#, fuzzy +msgid "KPI Sequence" +msgstr "Reeks" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "De naam moet een geldige python identifier zijn" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "KPI's" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "Kpi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "Label" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "Landschap PDF" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "Voor het laatst aangepast op" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "Laatste Gegenereerde Rapport" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "Voor het laatst geüpdatet door" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "Voor het laatst geüpdatet op" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +#, fuzzy +msgid "MIS Builder XLSX report" +msgstr "MIS rapportage instantie XLS rapport" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "MIS Kpi Data Abtract class" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "MIS Rapport" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +#, fuzzy +msgid "MIS Report - Sub Reports Relation" +msgstr "MIS Rapport Resultaat" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +#, fuzzy +msgid "MIS Report Add to Dashboard Wizard" +msgstr "Voeg toe aan dashboard" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "MIS Rapport Instantie" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +#, fuzzy +msgid "MIS Report Instance Period" +msgstr "MIS Rapport Instantie" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +#, fuzzy +msgid "MIS Report Instance Period Sum" +msgstr "MIS Rapport Instantie" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "MIS Rapport Instanties" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "MIS Rapport KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +#, fuzzy +msgid "MIS Report KPI Expression" +msgstr "MIS Rapport KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +#, fuzzy +msgid "MIS Report Query" +msgstr "MIS Rapport" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "MIS Rapport Resultaat" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "MIS Rapport Stijl" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "MIS Rapport Stijlen" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +#, fuzzy +msgid "MIS Report Sub-KPI" +msgstr "MIS Rapport KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +#, fuzzy +msgid "MIS Report Template" +msgstr "MIS Rapport Templates" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "MIS Rapport Templates" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "MIS Rapportage" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "MIS Rapporten" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "MIS rapportage instantie QWEB PDF rapport" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "MIS rapportage instantie XLS rapport" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "Max" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "Min" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "Modus" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "Model" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "Maand" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "Bron boekingsregels" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +#, fuzzy +msgid "Move lines source model name" +msgstr "Bron boekingsregels" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "Meerdere" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "Meerdere bedrijven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "Naam" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "Geen datum filter" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "Een datum filter is niet toegestaan voor deze bron in kolom %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "Geen" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "Normaal" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "Aantal" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "Aantal periodes" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "Numeriek" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "Offset" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "Offset t.o.v. huidige periode" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "Bovenliggende kolom" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "Percentage" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "Periode naam dient per rapport uniek te zijn" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "Periode duur" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "Periodes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "Uitgangsdatum" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "Geef beide kolommen op om te vergelijken in %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "Voorvoegsel" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "Voorvoegsel Overerven" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "Voorbeeld" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "Print" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "Queries" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "Query Bedrijf" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "De naam moet een geldige python identifier zijn" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "Ten opzichte van de rapport uitgangsdatum" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "Rapport" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +#, fuzzy +msgid "Report Action" +msgstr "Rapport instantie" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "Rapport instantie" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "Uitgangsdatum Rapport (voor vandaag laat leeg)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "Afronding" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "Afronding overerven" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "Opslaan" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "Selecteer de bedrijven waarvoor de data moet worden doorzocht." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" +"Selecteer de hoofdvaluta voor het rapport. Vereist als bedrijven " +"verschillende valuta hebben." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "Reeks" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "Teken" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "Bron" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "String" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "Stijl" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "Stijl uitdrukking" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "Stijl voor detail rekening regels" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "Stijl naam" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "Sub KPI" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "Sub KPI filter" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "Sub KPI moet één keer worden gebruikt voor iedere KPI" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "Sub KPI's" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +#, fuzzy +msgid "Sub Reports" +msgstr "MIS Rapporten" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +#, fuzzy +msgid "Sub reports" +msgstr "MIS Rapporten" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +#, fuzzy +msgid "Sub-KPI Sequence" +msgstr "Reeks" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "De naam moet een geldige python identifier zijn" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "Subkpi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +#, fuzzy +msgid "Subreport" +msgstr "Rapport" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, fuzzy, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "De naam moet een geldige python identifier zijn" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +#, fuzzy +msgid "Subreport name should be unique by report" +msgstr "Periode naam dient per rapport uniek te zijn" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "Achtervoegsel" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "Achtervoegsel Overerven" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "Optellen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "Rekening details optellen" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" +"Som kan niet worden berekend in kolom {} omdat de kolommen die moeten worden " +"opgeteld geen gemeenschappelijke subkpis hebben" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "Kolommen optellen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "Doel Boekingen" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "Template" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "Tijdelijk" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "Tekst kleur" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Tekst kleur in geldige HEX code (van #000000 tot #FFFFFF)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "Tot" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "Onverwachte accumulatiemethode %s voor %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "Ledig tijdelijke rapporten" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "Geldig" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "Waarde type" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "Zichtbaarheid" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "Week" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "Ongeldige duur, moet positief zijn!" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "Ongeldige normalisatie factor, moet positief zijn!" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "Jaar" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "Periode %s kan niet bij zichzelf worden opgeteld." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "van %s tot %s" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "L" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "M" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "of" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "pp" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "S" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "versus" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "XL" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "XS" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "XXL" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "XXS" + +#~ msgid "" +#~ "AccountingNone: a null value that behaves as 0 in arithmetic " +#~ "operations." +#~ msgstr "" +#~ "AccountingNone: een null waarde welke zich gedraagt als een 0 in " +#~ "rekenkundige bewerkingen." + +#, fuzzy +#~ msgid "" +#~ "bal, crd, deb, pbal, nbal: balance, debit, credit, positive " +#~ "balance, negative balance." +#~ msgstr "bal, crd, deb: balans, debet, credit." + +#~ msgid "" +#~ "bal[70]: variation of the balance of account 70 over the period " +#~ "(it is the same as balp[70]." +#~ msgstr "" +#~ "bal[70]: variatie van de balans van rekening 70 over de periode " +#~ "(is hetzelfde als balp[70]." + +#~ msgid "" +#~ "bale[1%]: balance of accounts starting with 1 at end of period." +#~ msgstr "" +#~ "bale[1%]: balans van de rekeningen beginnend met een 1 aan het " +#~ "einde van de periode." + +#~ msgid "bali[70,60]: initial balance of accounts 70 and 60." +#~ msgstr "bali[70,60]: openingsbalans van de rekeningen 70 en 60." + +#~ msgid "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variation of the balance of all receivable accounts over the " +#~ "period." +#~ msgstr "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variatie van de balans bam alle te ontvangen rekeningen over " +#~ "de periode." + +#~ msgid "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balance of move lines related to tax grid 56." +#~ msgstr "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balans van de boekingsregels gerelateerd aan de belastingraster 56." + +#~ msgid "" +#~ "balu[]: (u for unallocated) is a special expression that shows the " +#~ "unallocated profit/loss of previous\n" +#~ " fiscal years." +#~ msgstr "" +#~ "balu[]: (u voor unallocated) is een speciale uitdrukking welke " +#~ "niet toegewezen winst/verlies van vorige\n" +#~ " fiscale jaren laat zien." + +#~ msgid "" +#~ "crdp[40%]: sum of all credits on accounts starting with 40 during " +#~ "the period." +#~ msgstr "" +#~ "crdp[40%]: som van alle kredieten op rekeningen beginnend met 40 " +#~ "over de periode." + +#~ msgid "date_from, date_to: beginning and end date of the period." +#~ msgstr "date_from, date_to: begin- en einddatum van de periode." + +#~ msgid "datetime, datetime, dateutil: the python modules." +#~ msgstr "datetime, datetime, dateutil: de python modules." + +#~ msgid "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: sum of all debits on " +#~ "accounts 55 and journal BNK1 during the period." +#~ msgstr "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: som van alle debet op " +#~ "rekening 55 en journaal BNK1 over de periode." + +#, fuzzy +#~ msgid "" +#~ "p, i, e: respectively variation over the period, initial balance, " +#~ "ending balance" +#~ msgstr "" +#~ "p, i, e: respectievelijk de variatie over; de periode, " +#~ "beginbalans, eindsaldo" + +#~ msgid "" +#~ "sum, min, max, len, avg: behave as expected, very similar to the " +#~ "python builtins." +#~ msgstr "" +#~ "sum, min, max, len, avg: Standaard werking, zeer vergelijkbaar met " +#~ "de python-builtins." + +#~ msgid "" +#~ "Additionally following variables are available in the evaluation context:" +#~ msgstr "" +#~ "Daarnaast zijn de volgende variabelen beschikbaar in de evaluatiecontext:" + +#, fuzzy +#~ msgid "" +#~ "Expressions can involve other KPI, sub KPI and query results by name (eg " +#~ "kpi1 + kpi2, kpi2.subkpi1, query1.field1)." +#~ msgstr "" +#~ "Uitdrukking kan ook andere KPI- en queryresultaten met naam omvatten " +#~ "(bijv. Kpi1 + kpi2)." + +#~ msgid "" +#~ "The account selector is a like expression on the account code (eg " +#~ "70%, etc)." +#~ msgstr "" +#~ "De account selector is een like uitdrukking op de rekening code " +#~ "(bv 70%, etc)." + +#~ msgid "" +#~ "The journal items domain is an Odoo domain filter on journal items." +#~ msgstr "" +#~ "De journal items domain is een Odoo domein filter op journaal " +#~ "items." + +#, fuzzy +#~ msgid "" +#~ "The following special elements are recognized in the expressions to " +#~ "compute accounting data:\n" +#~ " {bal|crd|deb|pbal|nbal}" +#~ "{pieu}[account selector][journal items domain]." +#~ msgstr "" +#~ "De volgende speciale elementen worden herkend in de uitdrukkingen om " +#~ "boekhoudgegevens te berekenen: \n" +#~ " {bal|crd|deb}{pieu}" +#~ "[account selecor][journal items domain]." + +#~ msgid "MIS Budget" +#~ msgstr "MIS Budgetten" + +#~ msgid "report.mis_builder.mis_report_instance_xlsx" +#~ msgstr "report.mis_builder.mis_report_instance_xlsx" + +#~ msgid "" +#~ "Probably not your fault... but I'm really curious to know how you managed " +#~ "to raise this error so I can handle one more corner case!" +#~ msgstr "" +#~ "Waarschijnlijk niet jouw schuld... maar we zijn erg benieuwd wat je hebt " +#~ "gedaan om deze fout te veroorzaken. Dan kunnen we dit probleem proberen " +#~ "te verhelpen!" + +#~ msgid "µ" +#~ msgstr "µ" + +#~ msgid "add.mis.report.instance.dashboard.wizard" +#~ msgstr "add.mis.report.instance.dashboard.wizard" + +#~ msgid "ir.actions.report" +#~ msgstr "ir.actions.report" + +#~ msgid "mis.report" +#~ msgstr "mis.report" + +#~ msgid "mis.report.instance" +#~ msgstr "mis.report.instance" + +#~ msgid "mis.report.instance.period" +#~ msgstr "mis.report.instance.period" + +#~ msgid "mis.report.instance.period.sum" +#~ msgstr "mis.report.instance.period.sum" + +#~ msgid "mis.report.kpi" +#~ msgstr "mis.report.kpi" + +#~ msgid "mis.report.kpi.expression" +#~ msgstr "mis.report.kpi.expression" + +#~ msgid "mis.report.query" +#~ msgstr "mis.report.query" + +#~ msgid "mis.report.style" +#~ msgstr "mis.report.style" + +#~ msgid "mis.report.subkpi" +#~ msgstr "mis.report.subkpi" diff --git a/odex25_accounting/mis_builder/i18n/nl_NL.po b/odex25_accounting/mis_builder/i18n/nl_NL.po new file mode 100644 index 000000000..1e78a7ceb --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/nl_NL.po @@ -0,0 +1,2012 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +# Translators: +# OCA Transbot , 2018 +# Frank Schellenberg , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-13 15:37+0000\n" +"PO-Revision-Date: 2018-07-07 15:10+0000\n" +"Last-Translator: Thomas Pot \n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_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 3.0.1\n" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (kopie)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" +"Een 'boekingsregel-achtig' model, d.w.z. heeft minimaal debet, credit, " +"datum, account_id en company_id velden" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +#, fuzzy +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" +"Een 'boekingsregel-achtig' model, d.w.z. heeft minimaal debet, credit, " +"datum, account_id en company_id velden" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "Een datum filter is verplicht voor deze bron in kolom %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +#, fuzzy +msgid "Account model" +msgstr "Rekening details optellen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "Accumulatiemethode" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "Actuele" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "Actuele (alternatief)" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" +"Actuele: Huidige data, van boekhouding en andere queries.\n" +"Actuele (alternatief): Huidige data van een alternatieve bron (eg een " +"database view welke ook boekingsregels kan laten zien).\n" +"Kolommen optellen: sommatie (+/-) van andere kolommen.\n" +"Vergelijk kolommen: vergelijk met andere kolom.\n" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "Voeg toe aan dashboard" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "Samenvoegen" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "Alle boekingen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "Alle Geboekte Regels" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "Hoeveelheid" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" +"Een uitdrukking die een stijl retourneert afhankelijk van de KPI-waarde. Een " +"dergelijke stijl wordt toegepast bovenop de regelstijl." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "automatisch uitbreiden" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "Gemiddelde" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "Achtergrond Kleur" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "Achtergrond Kleur Overerven" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Achtergrondkleur als geldige HEX code (van #000000 tot #FFFFFF)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "Uitgangsdatum" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "Vet" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "Kan een multi-kpi niet bijwerken vanaf de kpi-regel" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "Annuleer" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" +"Controleer of u dochterbedrijven wilt selecteren waarvan de data moet worden " +"meegenomen." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "Kleur" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "Kleur Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "Kolom" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, fuzzy, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "Kolom %skan niet met zichzelf worden vergeleken." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, fuzzy, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "Kolom %s met Actuele waardes moet van/tot data hebben." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "Kolommen" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "Te vergelijken kolommen moeten tot hetzelfde rapport in %s behoren" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "Op te sommen kolommen" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "Kolommen {} en {} zijn niet vergelijkbaar" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "Bedrijven" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "Bedrijven waarvoor de data wordt doorzocht." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "Bedrijf" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "Vergelijk" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "Vergelijk kolommen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "Vergelijkingsmethode" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "Vergelijkingsmodus" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "Valuta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "Dashboard" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +#, fuzzy +msgid "Date" +msgstr "Data" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "Datumveld" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +#, fuzzy +msgid "Date From" +msgstr "Datumveld" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "Datumbereik" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "Datumbereik Type" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +#, fuzzy +msgid "Date To" +msgstr "Data" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "Data" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "Dag" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "Omschrijving" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" +"Bepaalt hoe waarden van deze kpi over een periode worden omgezet in " +"overeenstemming met de rapportageperiode. \n" +"Som: waarden van kortere periode worden toegevoegd, waarden van langste of " +"gedeeltelijk overlappende perioden worden pro-rata temporis aangepast.\n" +"Gemiddelde: waarden van de opgenomen periode worden gemiddeld met een pro-" +"rata temporis-gewicht." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "Verschil" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +#, fuzzy +msgid "Disable account details expansion" +msgstr "Rekening details optellen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "Weergavenaam" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "Laat details per rekening zien" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "Verdeler Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "Domein" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "Dp Overerven" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "Duur" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" +"Vul hier een uitdrukking in, bijvoorbeeld balp[70%]. Zie ook het help " +"tabblad." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "Voorbeelden:" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "Exporteer" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "Uitdrukking" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "Uitdrukkingen" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "Uitdrukkingen kunnen alle geldige python uitdrukkingen zijn." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "Factor" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "Factor overerven" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "" +"Te gebruiken factor om de periode te normaliseren (wordt gebruikt bij " +"vergelijking" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "Opgehaalde veld namen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "Op te halen velden" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "Filters" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "Vaste data" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "Lettertype" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "Lettertypegrootte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "Lettertypegrootte Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "Letterstijl" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "Letterstijl Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "Lettertype Dikte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "Lettertype Dikte Overerven" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "Van" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "Help (voor KPI uitdrukkingen)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +#, fuzzy +msgid "Hide Always Inherit" +msgstr "Verberg Leeg Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "Verberg Leeg" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "Verberg Leeg Overerven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "ID" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" +"Als currency_id niet bekend is, alle bedrijven moeten dezelfde valuta hebben." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "Inspringen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "Inspring Niveau" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "Inspring Niveau Overerven" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "Inspring niveau moet groter of gelijk zijn aan 0" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "Cursief" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "KPI" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +#, fuzzy +msgid "KPI Sequence" +msgstr "Reeks" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "De naam moet een geldige python identifier zijn" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "KPI's" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "Kpi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "Label" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "Landschap PDF" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "Voor het laatst aangepast op" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "Laatste Gegenereerde Rapport" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "Voor het laatst geüpdatet door" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "Voor het laatst geüpdatet op" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +#, fuzzy +msgid "MIS Builder XLSX report" +msgstr "MIS rapportage instantie XLS rapport" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "MIS Kpi Data Abtract class" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "MIS Rapport" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +#, fuzzy +msgid "MIS Report - Sub Reports Relation" +msgstr "MIS Rapport Resultaat" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +#, fuzzy +msgid "MIS Report Add to Dashboard Wizard" +msgstr "Voeg toe aan dashboard" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "MIS Rapport Instantie" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +#, fuzzy +msgid "MIS Report Instance Period" +msgstr "MIS Rapport Instantie" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +#, fuzzy +msgid "MIS Report Instance Period Sum" +msgstr "MIS Rapport Instantie" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "MIS Rapport Instanties" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "MIS Rapport KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +#, fuzzy +msgid "MIS Report KPI Expression" +msgstr "MIS Rapport KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +#, fuzzy +msgid "MIS Report Query" +msgstr "MIS Rapport" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "MIS Rapport Resultaat" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "MIS Rapport Stijl" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "MIS Rapport Stijlen" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +#, fuzzy +msgid "MIS Report Sub-KPI" +msgstr "MIS Rapport KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +#, fuzzy +msgid "MIS Report Template" +msgstr "MIS Rapport Templates" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "MIS Rapport Templates" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "MIS Rapportage" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "MIS Rapporten" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "MIS rapportage instantie QWEB PDF rapport" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "MIS rapportage instantie XLS rapport" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "Max" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "Min" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "Modus" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "Model" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "Maand" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "Bron boekingsregels" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +#, fuzzy +msgid "Move lines source model name" +msgstr "Bron boekingsregels" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "Meerdere" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "Meerdere bedrijven" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "Naam" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "Geen datum filter" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "Een datum filter is niet toegestaan voor deze bron in kolom %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "Geen" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "Normaal" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "Aantal" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "Aantal periodes" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "Numeriek" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "Offset" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "Offset t.o.v. huidige periode" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "Bovenliggende kolom" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "Percentage" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "Periode naam dient per rapport uniek te zijn" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "Periode duur" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "Periodes" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "Uitgangsdatum" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "Geef beide kolommen op om te vergelijken in %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "Voorvoegsel" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "Voorvoegsel Overerven" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "Voorbeeld" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "Afdrukken" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "Query's" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "Query Bedrijf" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "De naam moet een geldige python identifier zijn" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "Ververs" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "Ten opzichte van de rapport uitgangsdatum" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "Rapport" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +#, fuzzy +msgid "Report Action" +msgstr "Rapport instantie" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "Rapport instantie" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "Uitgangsdatum Rapport (voor vandaag laat leeg)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "Afronding" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "Afronding overerven" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "Opslaan" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "Selecteer de bedrijven waarvoor de data moet worden doorzocht." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" +"Selecteer de hoofdvaluta voor het rapport. Vereist als bedrijven " +"verschillende valuta hebben." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "Reeks" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "Teken" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "Bron" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "String" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "Stijl" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "Stijl uitdrukking" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "Stijl voor detail rekening regels" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "Stijl naam" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "Sub KPI" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "Sub KPI filter" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "Sub KPI moet één keer worden gebruikt voor iedere KPI" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "Sub KPI's" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +#, fuzzy +msgid "Sub Reports" +msgstr "MIS Rapporten" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +#, fuzzy +msgid "Sub reports" +msgstr "MIS Rapporten" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +#, fuzzy +msgid "Sub-KPI Sequence" +msgstr "Reeks" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "De naam moet een geldige python identifier zijn" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "Subkpi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +#, fuzzy +msgid "Subreport" +msgstr "Rapport" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, fuzzy, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "De naam moet een geldige python identifier zijn" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +#, fuzzy +msgid "Subreport name should be unique by report" +msgstr "Periode naam dient per rapport uniek te zijn" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "Achtervoegsel" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "Achtervoegsel Overerven" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "Optellen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "Rekening details optellen" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" +"Som kan niet worden berekend in kolom {} omdat de kolommen die moeten worden " +"opgeteld geen gemeenschappelijke subkpis hebben" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "Kolommen optellen" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "Doel Boekingen" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "Template" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "Tijdelijk" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "Tekst kleur" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Tekst kleur in geldige HEX code (van #000000 tot #FFFFFF)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "Tot" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "Onverwachte accumulatiemethode %s voor %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "Ledig tijdelijke rapporten" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "Geldig" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "Waarde type" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "Zichtbaarheid" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "Week" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "Ongeldige duur, moet positief zijn!" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "Ongeldige normalisatie factor, moet positief zijn!" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "Jaar" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "Periode %s kan niet bij zichzelf worden opgeteld." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "van %s tot %s" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "L" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "M" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "of" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "pp" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "S" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "versus" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "XL" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "XS" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "XXL" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "XXS" + +#~ msgid "" +#~ "AccountingNone: a null value that behaves as 0 in arithmetic " +#~ "operations." +#~ msgstr "" +#~ "AccountingNone: een null waarde welke zich gedraagt als een 0 in " +#~ "rekenkundige bewerkingen." + +#, fuzzy +#~ msgid "" +#~ "bal, crd, deb, pbal, nbal: balance, debit, credit, positive " +#~ "balance, negative balance." +#~ msgstr "bal, crd, deb: balans, debet, credit." + +#~ msgid "" +#~ "bal[70]: variation of the balance of account 70 over the period " +#~ "(it is the same as balp[70]." +#~ msgstr "" +#~ "bal[70]: variatie van de balans van rekening 70 over de periode " +#~ "(is hetzelfde als balp[70]." + +#~ msgid "" +#~ "bale[1%]: balance of accounts starting with 1 at end of period." +#~ msgstr "" +#~ "bale[1%]: balans van de rekeningen beginnend met een 1 aan het " +#~ "einde van de periode." + +#~ msgid "bali[70,60]: initial balance of accounts 70 and 60." +#~ msgstr "bali[70,60]: openingsbalans van de rekeningen 70 en 60." + +#~ msgid "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variation of the balance of all receivable accounts over the " +#~ "period." +#~ msgstr "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variatie van de balans bam alle te ontvangen rekeningen over " +#~ "de periode." + +#~ msgid "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balance of move lines related to tax grid 56." +#~ msgstr "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balans van de boekingsregels gerelateerd aan de belastingraster 56." + +#~ msgid "" +#~ "balu[]: (u for unallocated) is a special expression that shows the " +#~ "unallocated profit/loss of previous\n" +#~ " fiscal years." +#~ msgstr "" +#~ "balu[]: (u voor unallocated) is een speciale uitdrukking welke " +#~ "niet toegewezen winst/verlies van vorige\n" +#~ " fiscale jaren laat zien." + +#~ msgid "" +#~ "crdp[40%]: sum of all credits on accounts starting with 40 during " +#~ "the period." +#~ msgstr "" +#~ "crdp[40%]: som van alle kredieten op rekeningen beginnend met 40 " +#~ "over de periode." + +#~ msgid "date_from, date_to: beginning and end date of the period." +#~ msgstr "date_from, date_to: begin- en einddatum van de periode." + +#~ msgid "datetime, datetime, dateutil: the python modules." +#~ msgstr "datetime, datetime, dateutil: de python modules." + +#~ msgid "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: sum of all debits on " +#~ "accounts 55 and journal BNK1 during the period." +#~ msgstr "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: som van alle debet op " +#~ "rekening 55 en journaal BNK1 over de periode." + +#, fuzzy +#~ msgid "" +#~ "p, i, e: respectively variation over the period, initial balance, " +#~ "ending balance" +#~ msgstr "" +#~ "p, i, e: respectievelijk de variatie over; de periode, " +#~ "beginbalans, eindsaldo" + +#~ msgid "" +#~ "sum, min, max, len, avg: behave as expected, very similar to the " +#~ "python builtins." +#~ msgstr "" +#~ "sum, min, max, len, avg: Standaard werking, zeer vergelijkbaar met " +#~ "de python-builtins." + +#~ msgid "" +#~ "Additionally following variables are available in the evaluation context:" +#~ msgstr "" +#~ "Daarnaast zijn de volgende variabelen beschikbaar in de evaluatiecontext:" + +#, fuzzy +#~ msgid "" +#~ "Expressions can involve other KPI, sub KPI and query results by name (eg " +#~ "kpi1 + kpi2, kpi2.subkpi1, query1.field1)." +#~ msgstr "" +#~ "Uitdrukking kan ook andere KPI- en queryresultaten met naam omvatten " +#~ "(bijv. Kpi1 + kpi2)." + +#~ msgid "" +#~ "The account selector is a like expression on the account code (eg " +#~ "70%, etc)." +#~ msgstr "" +#~ "De account selector is een like uitdrukking op de rekening code " +#~ "(bv 70%, etc)." + +#~ msgid "" +#~ "The journal items domain is an Odoo domain filter on journal items." +#~ msgstr "" +#~ "De journal items domain is een Odoo domein filter op journaal " +#~ "items." + +#, fuzzy +#~ msgid "" +#~ "The following special elements are recognized in the expressions to " +#~ "compute accounting data:\n" +#~ " {bal|crd|deb|pbal|nbal}" +#~ "{pieu}[account selector][journal items domain]." +#~ msgstr "" +#~ "De volgende speciale elementen worden herkend in de uitdrukkingen om " +#~ "boekhoudgegevens te berekenen: \n" +#~ " {bal|crd|deb}{pieu}" +#~ "[account selecor][journal items domain]." + +#~ msgid "MIS Budget" +#~ msgstr "MIS Budgetten" + +#~ msgid "report.mis_builder.mis_report_instance_xlsx" +#~ msgstr "report.mis_builder.mis_report_instance_xlsx" + +#~ msgid "" +#~ "Probably not your fault... but I'm really curious to know how you managed " +#~ "to raise this error so I can handle one more corner case!" +#~ msgstr "" +#~ "Waarschijnlijk niet jouw schuld... maar we zijn erg benieuwd wat je hebt " +#~ "gedaan om deze fout te veroorzaken. Dan kunnen we dit probleem proberen " +#~ "te verhelpen!" + +#~ msgid "µ" +#~ msgstr "µ" + +#~ msgid "add.mis.report.instance.dashboard.wizard" +#~ msgstr "add.mis.report.instance.dashboard.wizard" + +#~ msgid "ir.actions.report" +#~ msgstr "ir.actions.report" + +#~ msgid "mis.report" +#~ msgstr "mis.report" + +#~ msgid "mis.report.instance" +#~ msgstr "mis.report.instance" + +#~ msgid "mis.report.instance.period" +#~ msgstr "mis.report.instance.period" + +#~ msgid "mis.report.instance.period.sum" +#~ msgstr "mis.report.instance.period.sum" + +#~ msgid "mis.report.kpi" +#~ msgstr "mis.report.kpi" + +#~ msgid "mis.report.kpi.expression" +#~ msgstr "mis.report.kpi.expression" + +#~ msgid "mis.report.query" +#~ msgstr "mis.report.query" + +#~ msgid "mis.report.style" +#~ msgstr "mis.report.style" + +#~ msgid "mis.report.subkpi" +#~ msgstr "mis.report.subkpi" diff --git a/odex25_accounting/mis_builder/i18n/pt.po b/odex25_accounting/mis_builder/i18n/pt.po new file mode 100644 index 000000000..f0269d3fb --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/pt.po @@ -0,0 +1,1780 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-13 15:37+0000\n" +"PO-Revision-Date: 2018-01-13 15:37+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\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" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +msgid "Account model" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "Todos os lançamentos" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "Todos os lançamentos publicados" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "Empresa" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +msgid "Date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +msgid "Date From" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +msgid "Date To" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +msgid "Disable account details expansion" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "Nome a exibir" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +msgid "Hide Always Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "ID" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +msgid "KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "Última Modificação em" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +msgid "MIS Builder XLSX report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +msgid "MIS Report - Sub Reports Relation" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +msgid "MIS Report Add to Dashboard Wizard" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +msgid "MIS Report Instance Period" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +msgid "MIS Report Instance Period Sum" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +msgid "MIS Report KPI Expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +msgid "MIS Report Query" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +msgid "MIS Report Sub-KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +msgid "MIS Report Template" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +msgid "Move lines source model name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "Nome" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +msgid "Report Action" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub Reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +msgid "Sub reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +msgid "Sub-KPI Sequence" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +msgid "Subreport" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +msgid "Subreport name should be unique by report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "Movimentos alvo" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "ou" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "" diff --git a/odex25_accounting/mis_builder/i18n/pt_BR.po b/odex25_accounting/mis_builder/i18n/pt_BR.po new file mode 100644 index 000000000..c254d058f --- /dev/null +++ b/odex25_accounting/mis_builder/i18n/pt_BR.po @@ -0,0 +1,1965 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mis_builder +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-12-20 04:05+0000\n" +"Last-Translator: Eder Brito \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 3.9.1\n" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (cópia)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[('user_type_id', '=',\n" +" ref('account.\n" +" data_account_type_receivable')." +"id)][]\n" +" \n" +" : variation of the balance of " +"all receivable\n" +" accounts over the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" balp[][('tax_line_id." +"tag_ids', '=',\n" +" ref('l10n_be.tax_tag_56')." +"id)]\n" +" \n" +" : balance of move lines related " +"to tax grid\n" +" 56." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"\n" +" debp[55%][('journal_id." +"code', '=',\n" +" 'BNK1')]\n" +" \n" +" : sum of all debits on accounts " +"55 and\n" +" journal BNK1 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"AccountingNone\n" +" : a null value that behaves as 0 " +"in\n" +" arithmetic operations." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal, crd, deb, pbal, nbal\n" +" : balance, debit, credit, " +"positive balance,\n" +" negative balance." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bal[70]\n" +" : variation of the balance of " +"account 70\n" +" over the period (it is the same " +"as balp[70]." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bale[1%]\n" +" : balance of accounts starting " +"with 1 at end\n" +" of period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"bali[70,60]\n" +" : initial balance of accounts 70 " +"and 60." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"balu[]\n" +" : (u for unallocated) is a " +"special\n" +" expression that shows the " +"unallocated\n" +" profit/loss of previous\n" +" fiscal years." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"crdp[40%]\n" +" : sum of all credits on accounts " +"starting\n" +" with 40 during the period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"date_from, date_to\n" +" : beginning and end date of the " +"period." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"datetime, datetime, dateutil\n" +" : the python modules." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"p, i, e\n" +" : respectively variation over " +"the period,\n" +" initial balance, ending balance" +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"pbale[55%]\n" +" : sum of all ending balances of " +"accounts\n" +" starting with 55 whose\n" +" ending balance is positive." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"sum, min, max, len, avg\n" +" : behave as expected, very " +"similar to the\n" +" python builtins." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields." +msgstr "" +"Um modelo 'mova a linha como', ou seja, com ao menos os campos debit, " +"credit, date, account_id e company_id." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__move_lines_source +msgid "" +"A 'move line like' model, ie having at least debit, credit, date, account_id " +"and company_id fields. This model is the data source for column Actuals." +msgstr "" +"Um modelo 'mover linha como', ou seja, com ao menos os campos debit, credit, " +"date, account_id e company_id. Este modelo é a fonte de dados da coluna " +"Reais." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "A date filter is mandatory for this source in column %s." +msgstr "Um filtro de data é obrigatório para esta fonte na coluna %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__account_model +msgid "Account model" +msgstr "Modelo de conta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__accumulation_method +msgid "Accumulation Method" +msgstr "Método de Acumulação" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "" +"Actual (alternative) models used in columns must have the same account model " +"in the Account field and must be the same defined in the report template: %s" +msgstr "" +"Real (alternativa) modelos usados em colunas devem possuir a mesma conta do " +"modelo no campo Conta e devem ter a mesma definição no modelo do relatório: " +"%s" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals +msgid "Actuals" +msgstr "Atuais" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__actuals_alt +msgid "Actuals (alternative)" +msgstr "Atuais (alternativa)" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__source +msgid "" +"Actuals: current data, from accounting and other queries.\n" +"Actuals (alternative): current data from an alternative source (eg a " +"database view providing look-alike account move lines).\n" +"Sum columns: summation (+/-) of other columns.\n" +"Compare to column: compare to other column.\n" +msgstr "" +"Atuais: dados atuais, de contabilidade e outras consultas.\n" +"Atuais (alternativas): dados atuais de uma fonte alternativa (por exemplo, " +"uma exibição de banco de dados que fornece linhas de movimentação de conta " +"semelhantes).\n" +"Soma de Colunas: Soma (+/-) de outras colunas.\n" +"Comparar a Columa: Compare com outra coluna.\n" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_prorata_read_group_mixin +msgid "Adapt model with date_from/date_to for pro-rata temporis read_group" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_add_to_dashboard_action +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Add to dashboard" +msgstr "Adicionar ao Painel" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Additionally following variables are available\n" +" in the evaluation context:" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__aggregate +msgid "Aggregate" +msgstr "Agregado" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__all +msgid "All Entries" +msgstr "Todas as Entradas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__all_kpi_ids +msgid "All Kpi" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance__target_move__posted +msgid "All Posted Entries" +msgstr "Todas as Entradas Postadas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__allowed_cmpcol_ids +msgid "Allowed Cmpcol" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__amount +msgid "Amount" +msgstr "Montante" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__style_expression +msgid "" +"An expression that returns a style depending on the KPI value. Such style is " +"applied on top of the row style." +msgstr "" +"Uma expressão que retorna um estilo dependendo do valor KPI. Esse estilo é " +"aplicado no topo do estilo da linha." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_account_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "Analytic Account" +msgstr "Conta Analítica" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Account Filter" +msgstr "Filtro de Conta Analítica" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_group_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_group_id +#, python-format +msgid "Analytic Account Group" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account Group: %s" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Account: %s" +msgstr "Conta Analítica: %s" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__analytic_tag_ids +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "Analytic Tags" +msgstr "Marcador de Conta Analítica" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/js/mis_report_widget.js:0 +#, python-format +msgid "Analytic Tags Filter" +msgstr "Filtro de Marcadores Analíticos" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Analytic Tags: %s" +msgstr "Marcadores Analíticos: %s" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Auto expand" +msgstr "Expandir Automaticamente" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__avg +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__avg +#, python-format +msgid "Average" +msgstr "Média" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color +msgid "Background Color" +msgstr "Cor de Fundo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__background_color_inherit +msgid "Background Color Inherit" +msgstr "Cor de Fundo Herdada" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__background_color +msgid "Background color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Cor de fundo em código RGB válido (de #000000 a #FFFFFF)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date +msgid "Base date" +msgstr "Data base" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__bold +msgid "Bold" +msgstr "Negrito" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "Can not update a multi kpi from the kpi line" +msgstr "Não é possível atualizar um multi kpi da linha kpi" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__multi_company +msgid "" +"Check if you wish to specify children companies to be searched for data." +msgstr "" +"Verifique se deseja especificar empresas filhas para serem pesquisadas por " +"dados." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Color" +msgstr "Cor" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color_inherit +msgid "Color Inherit" +msgstr "Cor Herdada" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_to_sum_id +msgid "Column" +msgstr "Coluna" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Column %s cannot be compared to itrec." +msgstr "Coluna %s não pode ser comparada a itrec." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, fuzzy, python-format +msgid "Column %s with move lines source must have from/to dates." +msgstr "Coluna %s com pesquisas atuais devem ter datas de/para." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Columns" +msgstr "Colunas" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Columns to compare must belong to the same report in %s" +msgstr "Colunas para comparar devem pertencer ao mesmo relatório em %s" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_ids +msgid "Columns to sum" +msgstr "Colunas para somar" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "Columns {} and {} are not comparable" +msgstr "Colunas {} e {} não são comparáveis" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_ids +msgid "Companies" +msgstr "Empresas" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__query_company_ids +msgid "Companies for which data will be searched." +msgstr "Empresas para as quais os dados serão pesquisados." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__company_id +msgid "Company" +msgstr "Empresa" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_to_id +msgid "Compare" +msgstr "Comparar" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__cmpcol +msgid "Compare columns" +msgstr "Comparar colunas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__compare_method +msgid "Comparison Method" +msgstr "Método de Comparação" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__comparison_mode +msgid "Comparison Mode" +msgstr "Modo de Comparação" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__create_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__currency_id +msgid "Currency" +msgstr "Moeda" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__dashboard_id +msgid "Dashboard" +msgstr "Painel" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date +#, fuzzy +msgid "Date" +msgstr "Datas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__date_field +msgid "Date Field" +msgstr "Campo de Data" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_from +#, fuzzy +msgid "Date From" +msgstr "Campo de Data" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_range_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_id +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__date_range +#, python-format +msgid "Date Range" +msgstr "Intervalo de Data" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_range_type_id +msgid "Date Range Type" +msgstr "Tipo de Intervalo de Data" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__date_to +#, fuzzy +msgid "Date To" +msgstr "Datas" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Dates" +msgstr "Datas" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__d +#, python-format +msgid "Day" +msgstr "Dia" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__description +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__description +msgid "Description" +msgstr "Descrição" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_kpi__accumulation_method +msgid "" +"Determines how values of this kpi spanning over a time period are " +"transformed to match the reporting period. Sum: values of shorter period are " +"added, values of longest or partially overlapping periods are adjusted pro-" +"rata temporis.\n" +"Average: values of included period are averaged with a pro-rata temporis " +"weight." +msgstr "" +"Determina como os valores deste kpi abrangendo um período de tempo são " +"transformados para corresponder ao período do relatório. Soma: são " +"adicionados valores de período mais curto, valores de períodos mais longos " +"ou parcialmente sobrepostos são ajustados pro-rata temporis." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__diff +#, python-format +msgid "Difference" +msgstr "Diferença" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__no_auto_expand_accounts +msgid "Disable account details expansion" +msgstr "Desabilitar expansão de detalhes de conta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display Columns Description" +msgstr "Exibir Descrição de Colunas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__display_name +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__display_name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__display_name +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__display_name +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__display_name +msgid "Display Name" +msgstr "Exibir Nome" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts +msgid "Display details by account" +msgstr "Exibir detalhes por conta" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__display_columns_description +msgid "Display the date range details in the column headers." +msgstr "Exibir os detalhes de intervalo de data nas colunas de cabeçalhos." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider_inherit +msgid "Divider Inherit" +msgstr "Divisor de Herança" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__domain +msgid "Domain" +msgstr "Domínio" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp_inherit +msgid "Dp Inherit" +msgstr "Herança Dp" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_prorata_read_group_mixin__date +msgid "" +"Dummy field that adapts searches on date to searches on date_from/date_to." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__duration +msgid "Duration" +msgstr "Duração" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Enter expression here, for example balp[70%]. See also help tab." +msgstr "" +"Digite a expressão aqui, por exemplo balp[70%]. Veja também a guia ajuda." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Examples:" +msgstr "Exemplos:" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Export" +msgstr "Exportar" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__expression_ids +msgid "Expression" +msgstr "Expressão" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__expression_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions" +msgstr "Expressões" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Expressions can be any valid python expressions." +msgstr "Expressões podem ser qualquer expressão python válida." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"Expressions can involve other KPI, sub KPI and\n" +" query results by name (eg kpi1 + " +"kpi2,\n" +" kpi2.subkpi1, query1.field1)." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__normalize_factor +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__divider +msgid "Factor" +msgstr "Fator" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Factor inherit" +msgstr "Fator herdado" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__normalize_factor +msgid "Factor to use to normalize the period (used in comparison" +msgstr "Fator para usar para normalizar o período (usado em comparação" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_names +msgid "Fetched fields name" +msgstr "Nome de campos buscados" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__field_ids +msgid "Fields to fetch" +msgstr "Campos para buscar" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_tag_ids +msgid "" +"Filter column on journal entries that have all these analytic tags.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_group_id +msgid "" +"Filter column on journal entries that match this analytic account group. " +"This filter is combined with a AND with the report-level filters and cannot " +"be modified in the preview." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__analytic_account_id +msgid "" +"Filter column on journal entries that match this analytic account.This " +"filter is combined with a AND with the report-level filters and cannot be " +"modified in the preview." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Filters" +msgstr "Filtros" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__fix +msgid "Fixed dates" +msgstr "Datas fixas" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Font" +msgstr "Fonte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size +msgid "Font Size" +msgstr "Tamanho da Fonte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_size_inherit +msgid "Font Size Inherit" +msgstr "Tamanho da Fonte Herdada" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style +msgid "Font Style" +msgstr "Estilo da Fonte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_style_inherit +msgid "Font Style Inherit" +msgstr "Estilo da Fonte Herdada" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight +msgid "Font Weight" +msgstr "Espessura da Fonte" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__font_weight_inherit +msgid "Font Weight Inherit" +msgstr "Espessura da Fonte Herdada" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Forces the start date to Jan 1st of the relevant year" +msgstr "Force a data inicial para 1 Jan do respectivo ano" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_from +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_from +msgid "From" +msgstr "De" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_from +msgid "From (computed)" +msgstr "De (computado)" + +#. module: mis_builder +#: code:addons/mis_builder/report/mis_report_instance_xlsx.py:0 +#, python-format +msgid "Generated on {} at {}" +msgstr "Gerado em {} às {}" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "Help (for KPI expressions)" +msgstr "Ajuda (para expressões KPI)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always +msgid "Hide Always" +msgstr "Sempre Esconder" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_always_inherit +msgid "Hide Always Inherit" +msgstr "Sempre Esconder Herdado" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__hide_analytic_filters +msgid "Hide Analytic Filters" +msgstr "Esconder Filtros Analíticos" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty +msgid "Hide Empty" +msgstr "Esconder Vazio" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__hide_empty_inherit +msgid "Hide Empty Inherit" +msgstr "Esconder Vazio Herdado" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__id +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__id +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin__id +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx__id +msgid "ID" +msgstr "ID" + +#. module: mis_builder +#: code:addons/mis_builder/models/aep.py:0 +#, python-format +msgid "" +"If currency_id is not provided, all companies must have the same currency." +msgstr "" +"Se id da moeda(currency_id) não é fornecido, todas as empresas devem possuir " +"a mesma moeda." + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Indent" +msgstr "Endentação" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level +msgid "Indent Level" +msgstr "Nível de endentação" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__indent_level_inherit +msgid "Indent Level Inherit" +msgstr "Herança do Nível de Recuo" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "Indent level must be greater than or equal to 0" +msgstr "Nível de recuo deve ser maior ou igual a 0" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__italic +msgid "Italic" +msgstr "Itálico" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__kpi_expression_id +msgid "KPI" +msgstr "KPI" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" has type {} while a tuple was expected.\n" +"\n" +"This can be fixed by either:\n" +"\t- Changing the KPI value to a tuple of length {}\n" +"or\n" +"\t- Changing the KPI to `multi` mode and giving an explicit value for each " +"sub-KPI." +msgstr "" +"KPI \"{}\" possui o tipo {} enquanto uma tupla era o esperado.\n" +"\n" +"Isso pode ser corrigido assim:\n" +"\t- Alterando o valor do KPI para uma tupla de comprimento {}\n" +"ou\n" +"\t- Alterando o KPI para modo `multi` e dando um valor explícito para cada " +"sub-KPI." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, python-format +msgid "" +"KPI \"{}\" is valued as a tuple of length {} while a tuple of length {} is " +"expected." +msgstr "" +"O KPI \"{}\" esta definido como uma tupla de comprimento {} enquanto uma " +"tupla de comprimento {} era esperada." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq1 +msgid "KPI Sequence" +msgstr "KPI sequencia" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "KPI name ({}) must be a valid python identifier" +msgstr "O nome deve ser um identificador python válido" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__kpi_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "KPI's" +msgstr "KPI's" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report__all_kpi_ids +msgid "KPIs of this report and subreports." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__kpi_id +msgid "Kpi" +msgstr "Kpi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__name +msgid "Label" +msgstr "Campo (Rotulo)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__landscape_pdf +msgid "Landscape PDF" +msgstr "PDF em modo paisagem" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard____last_update +#: model:ir.model.fields,field_description:mis_builder.field_ir_actions_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi____last_update +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport____last_update +#: model:ir.model.fields,field_description:mis_builder.field_prorata_read_group_mixin____last_update +#: model:ir.model.fields,field_description:mis_builder.field_report_mis_builder_mis_report_instance_xlsx____last_update +msgid "Last Modified on" +msgstr "Última atualização em" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.last_mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.last_wizard_mis_report_instance_view_menu +msgid "Last Reports Generated" +msgstr "Últimos relatórios gerados" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_uid +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__write_date +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__write_date +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Layout" +msgstr "Layout" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_report_mis_builder_mis_report_instance_xlsx +#, fuzzy +msgid "MIS Builder XLSX report" +msgstr "Instância de Relatório XLS" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_kpi_data +msgid "MIS Kpi Data Abtract class" +msgstr "MIS Kpi Data Abtract class" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "MIS Report" +msgstr "Relatório SIG" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subreport +#, fuzzy +msgid "MIS Report - Sub Reports Relation" +msgstr "Resultado do Relatório SIG" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_add_mis_report_instance_dashboard_wizard +msgid "MIS Report Add to Dashboard Wizard" +msgstr "Relatório SIG Add ao Assistente de Dashboard" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "MIS Report Instance" +msgstr "Instância de Relatório SIG" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period +msgid "MIS Report Instance Period" +msgstr "Período da Instância do Relatório SIG" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_instance_period_sum +msgid "MIS Report Instance Period Sum" +msgstr "Soma do Período da Instância do Relatório SIG" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "MIS Report Instances" +msgstr "Instâncias do Relatório SIG" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "MIS Report KPI" +msgstr "Relatório KPI" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_kpi_expression +msgid "MIS Report KPI Expression" +msgstr "Expressão do KPI do Relatório SIG" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_query +msgid "MIS Report Query" +msgstr "Consulta do Relatório SIG" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_result_view_form +msgid "MIS Report Result" +msgstr "Resultado do Relatório SIG" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_style +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "MIS Report Style" +msgstr "Estilo do Relatório SIG" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_style_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_style_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_tree +msgid "MIS Report Styles" +msgstr "Estilos do Relatório SIG" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report_subkpi +msgid "MIS Report Sub-KPI" +msgstr "Sub-KPI do Relatório SIG" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_mis_report +msgid "MIS Report Template" +msgstr "Modelo do Relatório SIG" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_view_menu +msgid "MIS Report Templates" +msgstr "Modelos do Relatório SIG" + +#. module: mis_builder +#: model:ir.ui.menu,name:mis_builder.mis_report_conf_menu +#: model:ir.ui.menu,name:mis_builder.mis_report_finance_menu +msgid "MIS Reporting" +msgstr "Relatórios SIG" + +#. module: mis_builder +#: model:ir.actions.act_window,name:mis_builder.mis_report_instance_view_action +#: model:ir.ui.menu,name:mis_builder.mis_report_instance_view_menu +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_tree +msgid "MIS Reports" +msgstr "Relatórios SIG" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.qweb_pdf_export +msgid "MIS report instance QWEB PDF report" +msgstr "Instância de Relatório QWEB PDF" + +#. module: mis_builder +#: model:ir.actions.report,name:mis_builder.xls_export +msgid "MIS report instance XLS report" +msgstr "Instância de Relatório XLS" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__max +#, python-format +msgid "Max" +msgstr "Max" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__min +#, python-format +msgid "Min" +msgstr "Min" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__mode +msgid "Mode" +msgstr "Modo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__model_id +msgid "Model" +msgstr "Modelo" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__m +#, python-format +msgid "Month" +msgstr "Mês" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__move_lines_source +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_id +msgid "Move lines source" +msgstr "Mover fonte de linhas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_aml_model_name +msgid "Move lines source model name" +msgstr "Mover nome do modelo da fonte das linhas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__multi +msgid "Multi" +msgstr "Multi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__multi_company +msgid "Multiple companies" +msgstr "Múltiplas empresas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_add_mis_report_instance_dashboard_wizard__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__name +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__name +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +msgid "Name" +msgstr "Nome" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__none +msgid "No date filter" +msgstr "Sem filtro de data" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "No date filter is allowed for this source in column %s." +msgstr "Nenhum filtro de data é permitido para esta fonte na coluna %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__none +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__none +#, python-format +msgid "None" +msgstr "Nada" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_style__normal +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_weight__nornal +msgid "Normal" +msgstr "Normal" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Number" +msgstr "Número" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__duration +msgid "Number of periods" +msgstr "Número de períodos" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__num +#, python-format +msgid "Numeric" +msgstr "Numérico" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__offset +msgid "Offset" +msgstr "Deslocamento" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance_period__offset +msgid "Offset from current period" +msgstr "Deslocamento a partir do período atual" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__period_id +msgid "Parent column" +msgstr "Coluna Pai" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__compare_method__pct +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__pct +#, python-format +msgid "Percentage" +msgstr "Percentagem" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_name_unique +msgid "Period name should be unique by report" +msgstr "Nome do período deve ser único por relatório" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__type +msgid "Period type" +msgstr "Tipo do período" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__period_ids +msgid "Periods" +msgstr "Períodos" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__pivot_date +msgid "Pivot date" +msgstr "Data do Pivot" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "Please provide both columns to compare in %s." +msgstr "Por favor forneça ambas as colunas para comparar em %s." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix +msgid "Prefix" +msgstr "Prefixo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__prefix_inherit +msgid "Prefix Inherit" +msgstr "Herança de Prefixo" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Preview" +msgstr "Visualizar" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +#, python-format +msgid "Print" +msgstr "Imprimir" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__query_ids +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Queries" +msgstr "Consultas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__query_company_ids +msgid "Query Company" +msgstr "Empresa de Consulta" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "Query name ({}) must be valid python identifier" +msgstr "O nome deve ser um identificador python válido" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Refresh" +msgstr "Atualizar" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__mode__relative +msgid "Relative to report base date" +msgstr "Relativo à data base do relatório" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_query__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__report_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__report_id +msgid "Report" +msgstr "Relatório" + +#. module: mis_builder +#: model:ir.model,name:mis_builder.model_ir_actions_report +msgid "Report Action" +msgstr "Ação do Relatório" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__report_instance_id +msgid "Report Instance" +msgstr "Instância do Relatório" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__date +msgid "Report base date (leave empty to use current date)" +msgstr "Data Base do Relatório (deixar em branco para usar data atual)" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__dp +msgid "Rounding" +msgstr "Arredondamento" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Rounding inherit" +msgstr "Herança de Arredondamento" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "Save" +msgstr "Salvar" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__company_ids +msgid "Select companies for which data will be searched." +msgstr "Selecione empresas para as quais os dados serão pesquisados." + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_instance__currency_id +msgid "" +"Select target currency for the report. Required if companies have different " +"currencies." +msgstr "" +"Selecione a moeda de destino para o relatório. Necessário se as empresas " +"tiverem moedas diferentes." + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__sequence +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subkpi__sequence +msgid "Sequence" +msgstr "Sequência" + +#. module: mis_builder +#. openerp-web +#: code:addons/mis_builder/static/src/xml/mis_report_widget.xml:0 +#, python-format +msgid "Settings" +msgstr "Configurações" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_subreport_unique +msgid "" +"Should not include the same report more than once as sub report of a given " +"report" +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period_sum__sign +msgid "Sign" +msgstr "Assinar" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_period_view_form +msgid "Source" +msgstr "Fonte" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__type__str +#, python-format +msgid "String" +msgstr "Texto" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__style_id +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_id +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Style" +msgstr "Estilo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__style_expression +msgid "Style expression" +msgstr "Expressão de Estilo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__auto_expand_accounts_style_id +msgid "Style for account detail rows" +msgstr "Estilo para linhas de detalhes da conta" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__name +msgid "Style name" +msgstr "Nome do estilo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subkpi_ids +msgid "Sub KPI" +msgstr "Sub KPI" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__subkpi_ids +msgid "Sub KPI Filter" +msgstr "Filtro do Sub KPI" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_kpi_expression_subkpi_kpi_unique +msgid "Sub KPI must be used once and only once for each KPI" +msgstr "O sub KPI deve ser usado uma vez e apenas uma vez para cada KPI" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +msgid "Sub KPI's" +msgstr "Sub KPI's" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_form +#, fuzzy +msgid "Sub Reports" +msgstr "Relatórios SIG" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report__subreport_ids +#, fuzzy +msgid "Sub reports" +msgstr "Relatórios SIG" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__seq2 +msgid "Sub-KPI Sequence" +msgstr "Sequência do Sub-KPI" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#, fuzzy, python-format +msgid "Sub-KPI name ({}) must be a valid python identifier" +msgstr "O nome deve ser um identificador python válido" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi_expression__subkpi_id +msgid "Subkpi" +msgstr "Subkpi" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_subreport__subreport_id +#, fuzzy +msgid "Subreport" +msgstr "Relatório" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, python-format +msgid "Subreport loop detected" +msgstr "" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_subreport.py:0 +#, fuzzy, python-format +msgid "Subreport name ({}) must be a valid python identifier" +msgstr "O nome deve ser um identificador python válido" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_subreport_name_unique +#, fuzzy +msgid "Subreport name should be unique by report" +msgstr "Nome do período deve ser único por relatório" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix +msgid "Suffix" +msgstr "Sufixo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__suffix_inherit +msgid "Suffix Inherit" +msgstr "Herança do Sufixo" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_kpi__accumulation_method__sum +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_query__aggregate__sum +#, python-format +msgid "Sum" +msgstr "Soma" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_sumcol_accdet +msgid "Sum account details" +msgstr "Somar detalhes da conta" + +#. module: mis_builder +#: code:addons/mis_builder/models/kpimatrix.py:0 +#, python-format +msgid "" +"Sum cannot be computed in column {} because the columns to sum have no " +"common subkpis" +msgstr "" +"A soma não pode ser calculada na coluna {} porque as colunas a serem somadas " +"não têm possuem subkpis comuns" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__source__sumcol +msgid "Sum columns" +msgstr "Somar colunas" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__target_move +msgid "Target Moves" +msgstr "Movimentos Alvo" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_form +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_view_tree +msgid "Template" +msgstr "Modelo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__temporary +msgid "Temporary" +msgstr "Temporário" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_style__color +msgid "Text color" +msgstr "Cor do texto" + +#. module: mis_builder +#: model:ir.model.fields,help:mis_builder.field_mis_report_style__color +msgid "Text color in valid RGB code (from #000000 to #FFFFFF)" +msgstr "Cor do texto em código RGB válido (de #000000 a #FFFFFF)" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" account selector\n" +" is a like expression on the " +"account code (eg\n" +" 70%, etc)." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The\n" +" journal items domain\n" +" is an Odoo domain filter on " +"journal items." +msgstr "" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_view_kpi_form +msgid "" +"The following special elements are recognized in\n" +" the expressions to compute " +"accounting data:\n" +" \n" +" {bal|crd|deb|pbal|nbal}{pieu}" +"[account\n" +" selector][journal items domain]\n" +" \n" +" ." +msgstr "" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_kpi_data__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance__date_to +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__manual_date_to +msgid "To" +msgstr "Para" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__date_to +msgid "To (computed)" +msgstr "Para (computado)" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_kpi_data.py:0 +#, python-format +msgid "Unexpected accumulation method %s for %s." +msgstr "Método de acumulação %s não esperado para %s." + +#. module: mis_builder +#: code:addons/mis_builder/models/prorata_read_group_mixin.py:0 +#, python-format +msgid "Unsupported operator %s for searching on date" +msgstr "" + +#. module: mis_builder +#: model:ir.actions.server,name:mis_builder.ir_cron_vacuum_temp_reports_ir_actions_server +#: model:ir.cron,cron_name:mis_builder.ir_cron_vacuum_temp_reports +#: model:ir.cron,name:mis_builder.ir_cron_vacuum_temp_reports +msgid "Vacuum temporary reports" +msgstr "Relatórios temporários de vácuo" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__valid +msgid "Valid" +msgstr "Válido" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_kpi__type +msgid "Value type" +msgstr "Tipo de valor" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_style_view_form +msgid "Visibility" +msgstr "Visibilidade" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__w +#, python-format +msgid "Week" +msgstr "Semana" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_duration +msgid "Wrong duration, it must be positive!" +msgstr "Duração incorreta, deve ser positiva!" + +#. module: mis_builder +#: model:ir.model.constraint,message:mis_builder.constraint_mis_report_instance_period_normalize_factor +msgid "Wrong normalize factor, it must be positive!" +msgstr "Fator de normalização incorreto, deve ser positivo!" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_instance_period__type__y +#, python-format +msgid "Year" +msgstr "Ano" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__is_ytd +msgid "Year to date" +msgstr "No acumulado do ano" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "You cannot sum period %s with itself." +msgstr "Você não pode somar o período %s com ele mesmo." + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_instance.py:0 +#, python-format +msgid "from %s to %s" +msgstr "de %s até %s" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__large +msgid "large" +msgstr "grande" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__medium +msgid "medium" +msgstr "médio" + +#. module: mis_builder +#: model_terms:ir.ui.view,arch_db:mis_builder.mis_report_instance_add_to_dashboard_form_view +#: model_terms:ir.ui.view,arch_db:mis_builder.wizard_mis_report_instance_view_form +msgid "or" +msgstr "ou" + +#. module: mis_builder +#: code:addons/mis_builder/models/mis_report_style.py:0 +#, python-format +msgid "pp" +msgstr "pp" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__small +msgid "small" +msgstr "pequeno" + +#. module: mis_builder +#: model:ir.model.fields,field_description:mis_builder.field_mis_report_instance_period__source_cmpcol_from_id +msgid "versus" +msgstr "versus" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-large +msgid "x-large" +msgstr "muito grande" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__x-small +msgid "x-small" +msgstr "muito pequeno" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-large +msgid "xx-large" +msgstr "grandíssimo" + +#. module: mis_builder +#: model:ir.model.fields.selection,name:mis_builder.selection__mis_report_style__font_size__xx-small +msgid "xx-small" +msgstr "Pequeníssimo" + +#~ msgid "" +#~ "AccountingNone: a null value that behaves as 0 in arithmetic " +#~ "operations." +#~ msgstr "" +#~ "AccountingNone: um valor nulo que se comporta como 0 em operações " +#~ "aritméticas." + +#~ msgid "" +#~ "bal, crd, deb, pbal, nbal: balance, debit, credit, positive " +#~ "balance, negative balance." +#~ msgstr "" +#~ "bal, crd, deb, pbal, nbal: saldo, débito, crédito, balanço " +#~ "positivo, balanço negativo." + +#~ msgid "" +#~ "bal[70]: variation of the balance of account 70 over the period " +#~ "(it is the same as balp[70]." +#~ msgstr "" +#~ "bal[70]: variação do balanço da conta 70 ao longo do período (é o " +#~ "mesmo que balp [70]." + +#~ msgid "" +#~ "bale[1%]: balance of accounts starting with 1 at end of period." +#~ msgstr "" +#~ "bale[1%]: balanço de contas iniciando com 1 no final do período." + +#~ msgid "bali[70,60]: initial balance of accounts 70 and 60." +#~ msgstr "bali[70,60]: balanço inicial das contas 70 e 60." + +#~ msgid "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variation of the balance of all receivable accounts over the " +#~ "period." +#~ msgstr "" +#~ "balp[('user_type_id', '=', ref('account.data_account_type_receivable')." +#~ "id)][]: variação do balanço de todas as contas a receber durante o " +#~ "período." + +#~ msgid "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balance of move lines related to tax grid 56." +#~ msgstr "" +#~ "balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: saldo das linhas de movimento relacionadas ao imposto 56." + +#~ msgid "" +#~ "balu[]: (u for unallocated) is a special expression that shows the " +#~ "unallocated profit/loss of previous\n" +#~ " fiscal years." +#~ msgstr "" +#~ "balu[]: (u para não alocado) é uma expressão especial que exibe o " +#~ "lucro / perda não alocado de\n" +#~ " anos fiscais." + +#~ msgid "" +#~ "crdp[40%]: sum of all credits on accounts starting with 40 during " +#~ "the period." +#~ msgstr "" +#~ "crdp[40%]: soma de todos os créditos em contas iniciando com 40 " +#~ "durante o periodo." + +#~ msgid "date_from, date_to: beginning and end date of the period." +#~ msgstr "date_from, date_to: data inicial e final do período." + +#~ msgid "datetime, datetime, dateutil: the python modules." +#~ msgstr "datetime, datetime, dateutil: os módulos python." + +#~ msgid "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: sum of all debits on " +#~ "accounts 55 and journal BNK1 during the period." +#~ msgstr "" +#~ "debp[55%][('journal_id.code', '=', 'BNK1')]: soma de todos os " +#~ "débitos na conta 55 e diário BNK1 durante o período." + +#~ msgid "" +#~ "p, i, e: respectively variation over the period, initial balance, " +#~ "ending balance" +#~ msgstr "" +#~ "p, i, e: variação respectiva ao longo do período, balanço inicial, " +#~ "balanço final" + +#~ msgid "" +#~ "pbale[55%]: sum of all ending balances of accounts starting with " +#~ "55 whose\n" +#~ " ending balance is positive." +#~ msgstr "" +#~ "pbale[55%]: soma de todos os balanços finais de contas iniciando " +#~ "com 55 as quais\n" +#~ " o balanço final é positivo." + +#~ msgid "" +#~ "sum, min, max, len, avg: behave as expected, very similar to the " +#~ "python builtins." +#~ msgstr "" +#~ "sum, min, max, len, avg: comporta-se como o experado, muito " +#~ "similar aos builtins do python." + +#~ msgid "" +#~ "Additionally following variables are available in the evaluation context:" +#~ msgstr "" +#~ "Adicionalmente as seguintes variáveis estão disponíveis no contexto de " +#~ "avaliação:" + +#~ msgid "" +#~ "Expressions can involve other KPI, sub KPI and query results by name (eg " +#~ "kpi1 + kpi2, kpi2.subkpi1, query1.field1)." +#~ msgstr "" +#~ "Expressões podem envolver outros KPI, sub KPI e resultados de consultas " +#~ "por nome (ex: kpi1 + kpi2, kpi2.subkpi1, query1.field1)." + +#~ msgid "" +#~ "The account selector is a like expression on the account code (eg " +#~ "70%, etc)." +#~ msgstr "" +#~ "O seletor de conta é uma expressão semelhante no código da conta " +#~ "(ex 70%, etc)." + +#~ msgid "" +#~ "The journal items domain is an Odoo domain filter on journal items." +#~ msgstr "" +#~ "O domínio de itens do diário é um filtro de domínio do Odoo em " +#~ "itens de diário." + +#~ msgid "" +#~ "The following special elements are recognized in the expressions to " +#~ "compute accounting data:\n" +#~ " {bal|crd|deb|pbal|nbal}" +#~ "{pieu}[account selector][journal items domain]." +#~ msgstr "" +#~ "Os seguintes elementos especiais são reconhecidos na expressão para " +#~ "cálculo de dados da conta:\n" +#~ " {bal|crd|deb|pbal|nbal}" +#~ "{pieu}[account selector][journal items domain]." + +#~ msgid "MIS Budget" +#~ msgstr "Orçamento SIG" + +#~ msgid "report.mis_builder.mis_report_instance_xlsx" +#~ msgstr "report.mis_builder.mis_report_instance_xlsx" diff --git a/odex25_accounting/mis_builder/migrations/8.0.2.0.0/post-migration.py b/odex25_accounting/mis_builder/migrations/8.0.2.0.0/post-migration.py new file mode 100644 index 000000000..421bb33de --- /dev/null +++ b/odex25_accounting/mis_builder/migrations/8.0.2.0.0/post-migration.py @@ -0,0 +1,29 @@ +# Copyright 2017 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + + +def migrate(cr, version): + cr.execute( + """ + INSERT INTO mis_report_kpi_expression + (create_uid, create_date, write_uid, write_date, + kpi_id, name, sequence) + SELECT create_uid, create_date, write_uid, write_date, + id, old_expression, sequence + FROM mis_report_kpi + """ + ) + cr.execute( + """ + ALTER TABLE mis_report_kpi + DROP COLUMN old_expression + """ + ) + # set default mode to relative for existing periods + # as it was the only mode in previous versions + cr.execute( + """ + UPDATE mis_report_instance_period + SET mode='relative' + """ + ) diff --git a/odex25_accounting/mis_builder/migrations/8.0.2.0.0/pre-migration.py b/odex25_accounting/mis_builder/migrations/8.0.2.0.0/pre-migration.py new file mode 100644 index 000000000..83fc4b5da --- /dev/null +++ b/odex25_accounting/mis_builder/migrations/8.0.2.0.0/pre-migration.py @@ -0,0 +1,20 @@ +# Copyright 2017 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + + +def migrate(cr, version): + cr.execute( + """ + ALTER TABLE mis_report_kpi + RENAME COLUMN expression TO old_expression + """ + ) + # this migration to date_range type is partial, + # actual date ranges needs to be created manually + cr.execute( + """ + UPDATE mis_report_instance_period + SET type='date_range' + WHERE type='fp' + """ + ) diff --git a/odex25_accounting/mis_builder/models/__init__.py b/odex25_accounting/mis_builder/models/__init__.py new file mode 100644 index 000000000..af7bfa7e5 --- /dev/null +++ b/odex25_accounting/mis_builder/models/__init__.py @@ -0,0 +1,10 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import mis_report +from . import mis_report_subreport +from . import mis_report_instance +from . import mis_report_style +from . import aep +from . import mis_kpi_data +from . import prorata_read_group_mixin diff --git a/odex25_accounting/mis_builder/models/accounting_none.py b/odex25_accounting/mis_builder/models/accounting_none.py new file mode 100644 index 000000000..699bad9a9 --- /dev/null +++ b/odex25_accounting/mis_builder/models/accounting_none.py @@ -0,0 +1,215 @@ +# Copyright 2016 Thomas Binsfeld +# Copyright 2016 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +""" +Provides the AccountingNone singleton. + +AccountingNone is a null value that dissolves in basic arithmetic operations, +as illustrated in the examples below. In comparisons, AccountingNone behaves +the same as zero. + +>>> 1 + 1 +2 +>>> 1 + AccountingNone +1 +>>> AccountingNone + 1 +1 +>>> AccountingNone + None +AccountingNone +>>> None + AccountingNone +AccountingNone +>>> +AccountingNone +AccountingNone +>>> -AccountingNone +AccountingNone +>>> -(AccountingNone) +AccountingNone +>>> AccountingNone - 1 +-1 +>>> 1 - AccountingNone +1 +>>> abs(AccountingNone) +AccountingNone +>>> AccountingNone - None +AccountingNone +>>> None - AccountingNone +AccountingNone +>>> AccountingNone / 2 +0.0 +>>> 2 / AccountingNone +Traceback (most recent call last): + ... +ZeroDivisionError +>>> AccountingNone / AccountingNone +AccountingNone +>>> AccountingNone // 2 +0.0 +>>> 2 // AccountingNone +Traceback (most recent call last): + ... +ZeroDivisionError +>>> AccountingNone // AccountingNone +AccountingNone +>>> AccountingNone * 2 +0.0 +>>> 2 * AccountingNone +0.0 +>>> AccountingNone * AccountingNone +AccountingNone +>>> AccountingNone * None +AccountingNone +>>> None * AccountingNone +AccountingNone +>>> str(AccountingNone) +'' +>>> bool(AccountingNone) +False +>>> AccountingNone > 0 +False +>>> AccountingNone < 0 +False +>>> AccountingNone < 1 +True +>>> AccountingNone > 1 +False +>>> 0 < AccountingNone +False +>>> 0 > AccountingNone +False +>>> 1 < AccountingNone +False +>>> 1 > AccountingNone +True +>>> AccountingNone == 0 +True +>>> AccountingNone == 0.0 +True +>>> AccountingNone == None +True +>>> AccountingNone >= AccountingNone +True +>>> AccountingNone <= AccountingNone +True +>>> round(AccountingNone, 2) +0.0 +>>> float(AccountingNone) +0.0 +>>> int(AccountingNone) +0 +""" + +__all__ = ["AccountingNone"] + + +class AccountingNoneType(object): + def __add__(self, other): + if other is None: + return AccountingNone + return other + + __radd__ = __add__ + + def __sub__(self, other): + if other is None: + return AccountingNone + return -other + + def __rsub__(self, other): + if other is None: + return AccountingNone + return other + + def __iadd__(self, other): + if other is None: + return AccountingNone + return other + + def __isub__(self, other): + if other is None: + return AccountingNone + return -other + + def __abs__(self): + return self + + def __pos__(self): + return self + + def __neg__(self): + return self + + def __div__(self, other): + if other is AccountingNone: + return AccountingNone + return 0.0 + + def __rdiv__(self, other): + raise ZeroDivisionError + + def __floordiv__(self, other): + if other is AccountingNone: + return AccountingNone + return 0.0 + + def __rfloordiv__(self, other): + raise ZeroDivisionError + + def __truediv__(self, other): + if other is AccountingNone: + return AccountingNone + return 0.0 + + def __rtruediv__(self, other): + raise ZeroDivisionError + + def __mul__(self, other): + if other is None or other is AccountingNone: + return AccountingNone + return 0.0 + + __rmul__ = __mul__ + + def __repr__(self): + return "AccountingNone" + + def __str__(self): + return "" + + def __nonzero__(self): + return False + + def __bool__(self): + return False + + def __eq__(self, other): + return other == 0 or other is None or other is AccountingNone + + def __lt__(self, other): + return other > 0 + + def __gt__(self, other): + return other < 0 + + def __le__(self, other): + return other >= 0 + + def __ge__(self, other): + return other <= 0 + + def __float__(self): + return 0.0 + + def __int__(self): + return 0 + + def __round__(self, ndigits): + return 0.0 + + +AccountingNone = AccountingNoneType() + + +if __name__ == "__main__": # pragma: no cover + import doctest + + doctest.testmod() diff --git a/odex25_accounting/mis_builder/models/aep.py b/odex25_accounting/mis_builder/models/aep.py new file mode 100644 index 000000000..468cceb26 --- /dev/null +++ b/odex25_accounting/mis_builder/models/aep.py @@ -0,0 +1,549 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import re +from collections import defaultdict + +from odoo import _, fields +from odoo.exceptions import UserError +from odoo.models import expression +from odoo.tools.float_utils import float_is_zero +from odoo.tools.safe_eval import datetime, dateutil, safe_eval, time + +from .accounting_none import AccountingNone + +try: + import itertools.izip as zip +except ImportError: + pass # python 3 + + +_DOMAIN_START_RE = re.compile(r"\(|(['\"])[!&|]\1") + + +def _is_domain(s): + """ Test if a string looks like an Odoo domain """ + return _DOMAIN_START_RE.match(s) + + +class AccountingExpressionProcessor(object): + """Processor for accounting expressions. + + Expressions of the form [accounts][optional move line domain] + are supported, where: + * field is bal, crd, deb, pbal (positive balances only), + nbal (negative balance only) + * mode is i (initial balance), e (ending balance), + p (moves over period) + * there is also a special u mode (unallocated P&L) which computes + the sum from the beginning until the beginning of the fiscal year + of the period; it is only meaningful for P&L accounts + * accounts is a list of accounts, possibly containing % wildcards, + or a domain expression on account.account + * an optional domain on move lines allowing filters on eg analytic + accounts or journal + + Examples: + * bal[70]: variation of the balance of moves on account 70 + over the period (it is the same as balp[70]); + * bali[70,60]: balance of accounts 70 and 60 at the start of period; + * bale[1%]: balance of accounts starting with 1 at end of period. + + How to use: + * repeatedly invoke parse_expr() for each expression containing + accounting variables as described above; this lets the processor + group domains and modes and accounts; + * when all expressions have been parsed, invoke done_parsing() + to notify the processor that it can prepare to query (mainly + search all accounts - children, consolidation - that will need to + be queried; + * for each period, call do_queries(), then call replace_expr() for each + expression to replace accounting variables with their resulting value + for the given period. + + How it works: + * by accumulating the expressions before hand, it ensures to do the + strict minimum number of queries to the database (for each period, + one query per domain and mode); + * it queries using the orm read_group which reduces to a query with + sum on debit and credit and group by on account_id and company_id, + (note: it seems the orm then does one query per account to fetch + the account name...); + * additionally, one query per view/consolidation account is done to + discover the children accounts. + """ + + MODE_VARIATION = "p" + MODE_INITIAL = "i" + MODE_END = "e" + MODE_UNALLOCATED = "u" + + _ACC_RE = re.compile( + r"(?P\bbal|\bpbal|\bnbal|\bcrd|\bdeb)" + r"(?P[piseu])?" + r"\s*" + r"(?P_[a-zA-Z0-9]+|\[.*?\])" + r"\s*" + r"(?P\[.*?\])?" + ) + + def __init__(self, companies, currency=None, account_model="account.account"): + self.env = companies.env + self.companies = companies + if not currency: + self.currency = companies.mapped("currency_id") + if len(self.currency) > 1: + raise UserError( + _( + "If currency_id is not provided, " + "all companies must have the same currency." + ) + ) + else: + self.currency = currency + self.dp = self.currency.decimal_places + # before done_parsing: {(ml_domain, mode): set(acc_domain)} + # after done_parsing: {(ml_domain, mode): list(account_ids)} + self._map_account_ids = defaultdict(set) + # {account_domain: set(account_ids)} + self._account_ids_by_acc_domain = defaultdict(set) + # smart ending balance (returns AccountingNone if there + # are no moves in period and 0 initial balance), implies + # a first query to get the initial balance and another + # to get the variation, so it's a bit slower + self.smart_end = True + # Account model + self._account_model = self.env[account_model].with_context(active_test=False) + + def _account_codes_to_domain(self, account_codes): + """Convert a comma separated list of account codes + (possibly with wildcards) to a domain on account.account. + """ + elems = [] + for account_code in account_codes.split(","): + account_code = account_code.strip() + if "%" in account_code: + elems.append([("code", "=like", account_code)]) + else: + elems.append([("code", "=", account_code)]) + return tuple(expression.OR(elems)) + + def _parse_match_object(self, mo): + """Split a match object corresponding to an accounting variable + + Returns field, mode, account domain, move line domain. + """ + domain_eval_context = { + "ref": self.env.ref, + "user": self.env.user, + "time": time, + "datetime": datetime, + "dateutil": dateutil, + } + field, mode, account_sel, ml_domain = mo.groups() + # handle some legacy modes + if not mode: + mode = self.MODE_VARIATION + elif mode == "s": + mode = self.MODE_END + # convert account selector to account domain + if account_sel.startswith("_"): + # legacy bal_NNN% + acc_domain = self._account_codes_to_domain(account_sel[1:]) + else: + assert account_sel[0] == "[" and account_sel[-1] == "]" + inner_account_sel = account_sel[1:-1].strip() + if not inner_account_sel: + # empty selector: select all accounts + acc_domain = tuple() + elif _is_domain(inner_account_sel): + # account selector is a domain + acc_domain = tuple(safe_eval(account_sel, domain_eval_context)) + else: + # account selector is a list of account codes + acc_domain = self._account_codes_to_domain(inner_account_sel) + # move line domain + if ml_domain: + assert ml_domain[0] == "[" and ml_domain[-1] == "]" + ml_domain = tuple(safe_eval(ml_domain, domain_eval_context)) + else: + ml_domain = tuple() + return field, mode, acc_domain, ml_domain + + def parse_expr(self, expr): + """Parse an expression, extracting accounting variables. + + Move line domains and account selectors are extracted and + stored in the map so when all expressions have been parsed, + we know which account domains to query for each move line domain + and mode. + """ + for mo in self._ACC_RE.finditer(expr): + _, mode, acc_domain, ml_domain = self._parse_match_object(mo) + if mode == self.MODE_END and self.smart_end: + modes = (self.MODE_INITIAL, self.MODE_VARIATION, self.MODE_END) + else: + modes = (mode,) + for mode in modes: + key = (ml_domain, mode) + self._map_account_ids[key].add(acc_domain) + + def done_parsing(self): + """ Replace account domains by account ids in map """ + for key, acc_domains in self._map_account_ids.items(): + all_account_ids = set() + for acc_domain in acc_domains: + acc_domain_with_company = expression.AND( + [acc_domain, [("company_id", "in", self.companies.ids)]] + ) + account_ids = self._account_model.search(acc_domain_with_company).ids + self._account_ids_by_acc_domain[acc_domain].update(account_ids) + all_account_ids.update(account_ids) + self._map_account_ids[key] = list(all_account_ids) + + @classmethod + def has_account_var(cls, expr): + """Test if an string contains an accounting variable.""" + return bool(cls._ACC_RE.search(expr)) + + def get_account_ids_for_expr(self, expr): + """Get a set of account ids that are involved in an expression. + + Prerequisite: done_parsing() must have been invoked. + """ + account_ids = set() + for mo in self._ACC_RE.finditer(expr): + field, mode, acc_domain, ml_domain = self._parse_match_object(mo) + account_ids.update(self._account_ids_by_acc_domain[acc_domain]) + return account_ids + + def get_aml_domain_for_expr( + self, expr, date_from, date_to, target_move, account_id=None + ): + """Get a domain on account.move.line for an expression. + + Prerequisite: done_parsing() must have been invoked. + + Returns a domain that can be used to search on account.move.line. + """ + aml_domains = [] + date_domain_by_mode = {} + for mo in self._ACC_RE.finditer(expr): + field, mode, acc_domain, ml_domain = self._parse_match_object(mo) + aml_domain = list(ml_domain) + account_ids = set() + account_ids.update(self._account_ids_by_acc_domain[acc_domain]) + if not account_id: + aml_domain.append(("account_id", "in", tuple(account_ids))) + else: + # filter on account_id + if account_id in account_ids: + aml_domain.append(("account_id", "=", account_id)) + else: + continue + if field == "crd": + aml_domain.append(("credit", "<>", 0.0)) + elif field == "deb": + aml_domain.append(("debit", "<>", 0.0)) + aml_domains.append(expression.normalize_domain(aml_domain)) + if mode not in date_domain_by_mode: + date_domain_by_mode[mode] = self.get_aml_domain_for_dates( + date_from, date_to, mode, target_move + ) + assert aml_domains + # TODO we could do this for more precision: + # AND(OR(aml_domains[mode]), date_domain[mode]) for each mode + return expression.OR(aml_domains) + expression.OR(date_domain_by_mode.values()) + + def get_aml_domain_for_dates(self, date_from, date_to, mode, target_move): + if mode == self.MODE_VARIATION: + domain = [("date", ">=", date_from), ("date", "<=", date_to)] + elif mode in (self.MODE_INITIAL, self.MODE_END): + # for income and expense account, sum from the beginning + # of the current fiscal year only, for balance sheet accounts + # sum from the beginning of time + date_from_date = fields.Date.from_string(date_from) + # TODO this takes the fy from the first company + # make that user controllable (nice to have)? + fy_date_from = self.companies[0].compute_fiscalyear_dates(date_from_date)[ + "date_from" + ] + domain = [ + "|", + ("date", ">=", fields.Date.to_string(fy_date_from)), + ("account_id.user_type_id.include_initial_balance", "=", True), + ] + if mode == self.MODE_INITIAL: + domain.append(("date", "<", date_from)) + elif mode == self.MODE_END: + domain.append(("date", "<=", date_to)) + elif mode == self.MODE_UNALLOCATED: + date_from_date = fields.Date.from_string(date_from) + # TODO this takes the fy from the first company + # make that user controllable (nice to have)? + fy_date_from = self.companies[0].compute_fiscalyear_dates(date_from_date)[ + "date_from" + ] + domain = [ + ("date", "<", fields.Date.to_string(fy_date_from)), + ("account_id.user_type_id.include_initial_balance", "=", False), + ] + if target_move == "posted": + domain.append(("move_id.state", "=", "posted")) + return expression.normalize_domain(domain) + + def _get_company_rates(self, date): + # get exchange rates for each company with its rouding + company_rates = {} + target_rate = self.currency.with_context(date=date).rate + for company in self.companies: + if company.currency_id != self.currency: + rate = target_rate / company.currency_id.with_context(date=date).rate + else: + rate = 1.0 + company_rates[company.id] = (rate, company.currency_id.decimal_places) + return company_rates + + def do_queries( + self, + date_from, + date_to, + target_move="posted", + additional_move_line_filter=None, + aml_model=None, + ): + """Query sums of debit and credit for all accounts and domains + used in expressions. + + This method must be executed after done_parsing(). + """ + if not aml_model: + aml_model = self.env["account.move.line"] + else: + aml_model = self.env[aml_model] + aml_model = aml_model.with_context(active_test=False) + company_rates = self._get_company_rates(date_to) + # {(domain, mode): {account_id: (debit, credit)}} + self._data = defaultdict(dict) + domain_by_mode = {} + ends = [] + for key in self._map_account_ids: + domain, mode = key + if mode == self.MODE_END and self.smart_end: + # postpone computation of ending balance + ends.append((domain, mode)) + continue + if mode not in domain_by_mode: + domain_by_mode[mode] = self.get_aml_domain_for_dates( + date_from, date_to, mode, target_move + ) + domain = list(domain) + domain_by_mode[mode] + domain.append(("account_id", "in", self._map_account_ids[key])) + if additional_move_line_filter: + domain.extend(additional_move_line_filter) + # fetch sum of debit/credit, grouped by account_id + accs = aml_model.read_group( + domain, + ["debit", "credit", "account_id", "company_id"], + ["account_id", "company_id"], + lazy=False, + ) + for acc in accs: + rate, dp = company_rates[acc["company_id"][0]] + debit = acc["debit"] or 0.0 + credit = acc["credit"] or 0.0 + if mode in (self.MODE_INITIAL, self.MODE_UNALLOCATED) and float_is_zero( + debit - credit, precision_digits=self.dp + ): + # in initial mode, ignore accounts with 0 balance + continue + self._data[key][acc["account_id"][0]] = (debit * rate, credit * rate) + # compute ending balances by summing initial and variation + for key in ends: + domain, mode = key + initial_data = self._data[(domain, self.MODE_INITIAL)] + variation_data = self._data[(domain, self.MODE_VARIATION)] + account_ids = set(initial_data.keys()) | set(variation_data.keys()) + for account_id in account_ids: + di, ci = initial_data.get(account_id, (AccountingNone, AccountingNone)) + dv, cv = variation_data.get( + account_id, (AccountingNone, AccountingNone) + ) + self._data[key][account_id] = (di + dv, ci + cv) + + def replace_expr(self, expr): + """Replace accounting variables in an expression by their amount. + + Returns a new expression string. + + This method must be executed after do_queries(). + """ + + def f(mo): + field, mode, acc_domain, ml_domain = self._parse_match_object(mo) + key = (ml_domain, mode) + account_ids_data = self._data[key] + v = AccountingNone + account_ids = self._account_ids_by_acc_domain[acc_domain] + for account_id in account_ids: + debit, credit = account_ids_data.get( + account_id, (AccountingNone, AccountingNone) + ) + if field == "bal": + v += debit - credit + elif field == "pbal" and debit >= credit: + v += debit - credit + elif field == "nbal" and debit < credit: + v += debit - credit + elif field == "deb": + v += debit + elif field == "crd": + v += credit + # in initial balance mode, assume 0 is None + # as it does not make sense to distinguish 0 from "no data" + if ( + v is not AccountingNone + and mode in (self.MODE_INITIAL, self.MODE_UNALLOCATED) + and float_is_zero(v, precision_digits=self.dp) + ): + v = AccountingNone + return "(" + repr(v) + ")" + + return self._ACC_RE.sub(f, expr) + + def replace_exprs_by_account_id(self, exprs): + """Replace accounting variables in a list of expression + by their amount, iterating by accounts involved in the expression. + + yields account_id, replaced_expr + + This method must be executed after do_queries(). + """ + + def f(mo): + field, mode, acc_domain, ml_domain = self._parse_match_object(mo) + key = (ml_domain, mode) + # first check if account_id is involved in + # the current expression part + if account_id not in self._account_ids_by_acc_domain[acc_domain]: + return "(AccountingNone)" + # here we know account_id is involved in acc_domain + account_ids_data = self._data[key] + debit, credit = account_ids_data.get( + account_id, (AccountingNone, AccountingNone) + ) + if field == "bal": + v = debit - credit + elif field == "pbal": + if debit >= credit: + v = debit - credit + else: + v = AccountingNone + elif field == "nbal": + if debit < credit: + v = debit - credit + else: + v = AccountingNone + elif field == "deb": + v = debit + elif field == "crd": + v = credit + # in initial balance mode, assume 0 is None + # as it does not make sense to distinguish 0 from "no data" + if ( + v is not AccountingNone + and mode in (self.MODE_INITIAL, self.MODE_UNALLOCATED) + and float_is_zero(v, precision_digits=self.dp) + ): + v = AccountingNone + return "(" + repr(v) + ")" + + account_ids = set() + for expr in exprs: + for mo in self._ACC_RE.finditer(expr): + field, mode, acc_domain, ml_domain = self._parse_match_object(mo) + key = (ml_domain, mode) + account_ids_data = self._data[key] + for account_id in self._account_ids_by_acc_domain[acc_domain]: + if account_id in account_ids_data: + account_ids.add(account_id) + + for account_id in account_ids: + yield account_id, [self._ACC_RE.sub(f, expr) for expr in exprs] + + @classmethod + def _get_balances(cls, mode, companies, date_from, date_to, target_move="posted"): + expr = "deb{mode}[], crd{mode}[]".format(mode=mode) + aep = AccountingExpressionProcessor(companies) + # disable smart_end to have the data at once, instead + # of initial + variation + aep.smart_end = False + aep.parse_expr(expr) + aep.done_parsing() + aep.do_queries(date_from, date_to, target_move) + return aep._data[((), mode)] + + @classmethod + def get_balances_initial(cls, companies, date, target_move="posted"): + """A convenience method to obtain the initial balances of all accounts + at a given date. + + It is the same as get_balances_end(date-1). + + :param companies: + :param date: + :param target_move: if 'posted', consider only posted moves + + Returns a dictionary: {account_id, (debit, credit)} + """ + return cls._get_balances(cls.MODE_INITIAL, companies, date, date, target_move) + + @classmethod + def get_balances_end(cls, companies, date, target_move="posted"): + """A convenience method to obtain the ending balances of all accounts + at a given date. + + It is the same as get_balances_initial(date+1). + + :param companies: + :param date: + :param target_move: if 'posted', consider only posted moves + + Returns a dictionary: {account_id, (debit, credit)} + """ + return cls._get_balances(cls.MODE_END, companies, date, date, target_move) + + @classmethod + def get_balances_variation( + cls, companies, date_from, date_to, target_move="posted" + ): + """A convenience method to obtain the variation of the + balances of all accounts over a period. + + :param companies: + :param date: + :param target_move: if 'posted', consider only posted moves + + Returns a dictionary: {account_id, (debit, credit)} + """ + return cls._get_balances( + cls.MODE_VARIATION, companies, date_from, date_to, target_move + ) + + @classmethod + def get_unallocated_pl(cls, companies, date, target_move="posted"): + """A convenience method to obtain the unallocated profit/loss + of the previous fiscal years at a given date. + + :param companies: + :param date: + :param target_move: if 'posted', consider only posted moves + + Returns a tuple (debit, credit) + """ + # TODO shoud we include here the accounts of type "unaffected" + # or leave that to the caller? + bals = cls._get_balances( + cls.MODE_UNALLOCATED, companies, date, date, target_move + ) + return tuple(map(sum, zip(*bals.values()))) diff --git a/odex25_accounting/mis_builder/models/aggregate.py b/odex25_accounting/mis_builder/models/aggregate.py new file mode 100644 index 000000000..32e34bd95 --- /dev/null +++ b/odex25_accounting/mis_builder/models/aggregate.py @@ -0,0 +1,129 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + + +def _sum(lst): + """Same as stdlib sum but returns None instead of 0 + in case of empty sequence. + + >>> sum([1]) + 1 + >>> _sum([1]) + 1 + >>> sum([1, 2]) + 3 + >>> _sum([1, 2]) + 3 + >>> sum([]) + 0 + >>> _sum([]) + """ + if not lst: + return None + return sum(lst) + + +def _avg(lst): + """Arithmetic mean of a sequence. Returns None in case of empty sequence. + + >>> _avg([1]) + 1.0 + >>> _avg([1, 2]) + 1.5 + >>> _avg([]) + """ + if not lst: + return None + return sum(lst) / float(len(lst)) + + +def _min(*args): + """Same as stdlib min but returns None instead of exception + in case of empty sequence. + + >>> min(1, 2) + 1 + >>> _min(1, 2) + 1 + >>> min([1, 2]) + 1 + >>> _min([1, 2]) + 1 + >>> min(1) + Traceback (most recent call last): + File "", line 1, in ? + TypeError: 'int' object is not iterable + >>> _min(1) + Traceback (most recent call last): + File "", line 1, in ? + TypeError: 'int' object is not iterable + >>> min([1]) + 1 + >>> _min([1]) + 1 + >>> min() + Traceback (most recent call last): + File "", line 1, in ? + TypeError: min expected 1 arguments, got 0 + >>> _min() + Traceback (most recent call last): + File "", line 1, in ? + TypeError: min expected 1 arguments, got 0 + >>> min([]) + Traceback (most recent call last): + File "", line 1, in ? + ValueError: min() arg is an empty sequence + >>> _min([]) + """ + if len(args) == 1 and not args[0]: + return None + return min(*args) + + +def _max(*args): + """Same as stdlib max but returns None instead of exception + in case of empty sequence. + + >>> max(1, 2) + 2 + >>> _max(1, 2) + 2 + >>> max([1, 2]) + 2 + >>> _max([1, 2]) + 2 + >>> max(1) + Traceback (most recent call last): + File "", line 1, in ? + TypeError: 'int' object is not iterable + >>> _max(1) + Traceback (most recent call last): + File "", line 1, in ? + TypeError: 'int' object is not iterable + >>> max([1]) + 1 + >>> _max([1]) + 1 + >>> max() + Traceback (most recent call last): + File "", line 1, in ? + TypeError: max expected 1 arguments, got 0 + >>> _max() + Traceback (most recent call last): + File "", line 1, in ? + TypeError: max expected 1 arguments, got 0 + >>> max([]) + Traceback (most recent call last): + File "", line 1, in ? + ValueError: max() arg is an empty sequence + >>> _max([]) + """ + if len(args) == 1 and not args[0]: + return None + return max(*args) + + +if __name__ == "__main__": # pragma: no cover + import doctest + + doctest.testmod() diff --git a/odex25_accounting/mis_builder/models/data_error.py b/odex25_accounting/mis_builder/models/data_error.py new file mode 100644 index 000000000..8b53921d2 --- /dev/null +++ b/odex25_accounting/mis_builder/models/data_error.py @@ -0,0 +1,17 @@ +# Copyright 2016 ACSONE SA/NV () +# Copyright 2016 Akretion () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + + +class DataError(Exception): + def __init__(self, name, msg): + super(DataError, self).__init__() + self.name = name + self.msg = msg + + def __repr__(self): + return "{}({})".format(self.__class__.__name__, repr(self.name)) + + +class NameDataError(DataError): + pass diff --git a/odex25_accounting/mis_builder/models/expression_evaluator.py b/odex25_accounting/mis_builder/models/expression_evaluator.py new file mode 100644 index 000000000..a98ac4e37 --- /dev/null +++ b/odex25_accounting/mis_builder/models/expression_evaluator.py @@ -0,0 +1,76 @@ +# Copyright 2020 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from .mis_safe_eval import NameDataError, mis_safe_eval + +try: + import itertools.izip as zip +except ImportError: + pass # python 3 + + +class ExpressionEvaluator(object): + def __init__( + self, + aep, + date_from, + date_to, + target_move=None, + additional_move_line_filter=None, + aml_model=None, + ): + self.aep = aep + self.date_from = date_from + self.date_to = date_to + self.target_move = target_move + self.additional_move_line_filter = additional_move_line_filter + self.aml_model = aml_model + self._aep_queries_done = False + + def aep_do_queries(self): + if self.aep and not self._aep_queries_done: + self.aep.do_queries( + self.date_from, + self.date_to, + self.target_move, + self.additional_move_line_filter, + self.aml_model, + ) + self._aep_queries_done = True + + def eval_expressions(self, expressions, locals_dict): + vals = [] + drilldown_args = [] + name_error = False + for expression in expressions: + expr = expression and expression.name or "AccountingNone" + if self.aep: + replaced_expr = self.aep.replace_expr(expr) + else: + replaced_expr = expr + val = mis_safe_eval(replaced_expr, locals_dict) + vals.append(val) + if isinstance(val, NameDataError): + name_error = True + if replaced_expr != expr: + drilldown_args.append({"expr": expr}) + else: + drilldown_args.append(None) + return vals, drilldown_args, name_error + + def eval_expressions_by_account(self, expressions, locals_dict): + if not self.aep: + return + exprs = [e and e.name or "AccountingNone" for e in expressions] + for account_id, replaced_exprs in self.aep.replace_exprs_by_account_id(exprs): + vals = [] + drilldown_args = [] + name_error = False + for expr, replaced_expr in zip(exprs, replaced_exprs): + val = mis_safe_eval(replaced_expr, locals_dict) + vals.append(val) + if replaced_expr != expr: + drilldown_args.append({"expr": expr, "account_id": account_id}) + else: + drilldown_args.append(None) + yield account_id, vals, drilldown_args, name_error diff --git a/odex25_accounting/mis_builder/models/kpimatrix.py b/odex25_accounting/mis_builder/models/kpimatrix.py new file mode 100644 index 000000000..8b89b28fe --- /dev/null +++ b/odex25_accounting/mis_builder/models/kpimatrix.py @@ -0,0 +1,544 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import logging +from collections import OrderedDict, defaultdict + +from odoo import _ +from odoo.exceptions import UserError + +from .accounting_none import AccountingNone +from .mis_kpi_data import ACC_SUM +from .mis_safe_eval import DataError, mis_safe_eval +from .simple_array import SimpleArray + +try: + import itertools.izip as zip +except ImportError: + pass # python 3 + + +_logger = logging.getLogger(__name__) + + +class KpiMatrixRow(object): + + # TODO: ultimately, the kpi matrix will become ignorant of KPI's and + # accounts and know about rows, columns, sub columns and styles only. + # It is already ignorant of period and only knowns about columns. + # This will require a correct abstraction for expanding row details. + + def __init__(self, matrix, kpi, account_id=None, parent_row=None): + self._matrix = matrix + self.kpi = kpi + self.account_id = account_id + self.description = "" + self.parent_row = parent_row + if not self.account_id: + self.style_props = self._matrix._style_model.merge( + [self.kpi.report_id.style_id, self.kpi.style_id] + ) + else: + self.style_props = self._matrix._style_model.merge( + [self.kpi.report_id.style_id, self.kpi.auto_expand_accounts_style_id] + ) + + @property + def label(self): + if not self.account_id: + return self.kpi.description + else: + return self._matrix.get_account_name(self.account_id) + + @property + def row_id(self): + if not self.account_id: + return self.kpi.name + else: + return "{}:{}".format(self.kpi.name, self.account_id) + + def iter_cell_tuples(self, cols=None): + if cols is None: + cols = self._matrix.iter_cols() + for col in cols: + yield col.get_cell_tuple_for_row(self) + + def iter_cells(self, subcols=None): + if subcols is None: + subcols = self._matrix.iter_subcols() + for subcol in subcols: + yield subcol.get_cell_for_row(self) + + def is_empty(self): + for cell in self.iter_cells(): + if cell and cell.val not in (AccountingNone, None): + return False + return True + + +class KpiMatrixCol(object): + def __init__(self, key, label, description, locals_dict, subkpis): + self.key = key + self.label = label + self.description = description + self.locals_dict = locals_dict + self.colspan = subkpis and len(subkpis) or 1 + self._subcols = [] + self.subkpis = subkpis + if not subkpis: + subcol = KpiMatrixSubCol(self, "", "", 0) + self._subcols.append(subcol) + else: + for i, subkpi in enumerate(subkpis): + subcol = KpiMatrixSubCol(self, subkpi.description, "", i) + self._subcols.append(subcol) + self._cell_tuples_by_row = {} # {row: (cells tuple)} + + def _set_cell_tuple(self, row, cell_tuple): + self._cell_tuples_by_row[row] = cell_tuple + + def iter_subcols(self): + return self._subcols + + def iter_cell_tuples(self): + return self._cell_tuples_by_row.values() + + def get_cell_tuple_for_row(self, row): + return self._cell_tuples_by_row.get(row) + + +class KpiMatrixSubCol(object): + def __init__(self, col, label, description, index=0): + self.col = col + self.label = label + self.description = description + self.index = index + + @property + def subkpi(self): + if self.col.subkpis: + return self.col.subkpis[self.index] + + def iter_cells(self): + for cell_tuple in self.col.iter_cell_tuples(): + yield cell_tuple[self.index] + + def get_cell_for_row(self, row): + cell_tuple = self.col.get_cell_tuple_for_row(row) + if cell_tuple is None: + return None + return cell_tuple[self.index] + + +class KpiMatrixCell(object): # noqa: B903 (immutable data class) + def __init__( + self, + row, + subcol, + val, + val_rendered, + val_comment, + style_props, + drilldown_arg, + val_type, + ): + self.row = row + self.subcol = subcol + self.val = val + self.val_rendered = val_rendered + self.val_comment = val_comment + self.style_props = style_props + self.drilldown_arg = drilldown_arg + self.val_type = val_type + + +class KpiMatrix(object): + def __init__(self, env, multi_company=False, account_model="account.account"): + # cache language id for faster rendering + lang_model = env["res.lang"] + self.lang = lang_model._lang_get(env.user.lang) + self._style_model = env["mis.report.style"] + self._account_model = env[account_model] + # data structures + # { kpi: KpiMatrixRow } + self._kpi_rows = OrderedDict() + # { kpi: {account_id: KpiMatrixRow} } + self._detail_rows = {} + # { col_key: KpiMatrixCol } + self._cols = OrderedDict() + # { col_key (left of comparison): [(col_key, base_col_key)] } + self._comparison_todo = defaultdict(list) + # { col_key (left of sum): (col_key, [(sign, sum_col_key)]) + self._sum_todo = {} + # { account_id: account_name } + self._account_names = {} + self._multi_company = multi_company + + def declare_kpi(self, kpi): + """Declare a new kpi (row) in the matrix. + + Invoke this first for all kpi, in display order. + """ + self._kpi_rows[kpi] = KpiMatrixRow(self, kpi) + self._detail_rows[kpi] = {} + + def declare_col(self, col_key, label, description, locals_dict, subkpis): + """Declare a new column, giving it an identifier (key). + + Invoke the declare_* methods in display order. + """ + col = KpiMatrixCol(col_key, label, description, locals_dict, subkpis) + self._cols[col_key] = col + return col + + def declare_comparison( + self, cmpcol_key, col_key, base_col_key, label, description=None + ): + """Declare a new comparison column. + + Invoke the declare_* methods in display order. + """ + self._comparison_todo[cmpcol_key] = (col_key, base_col_key, label, description) + self._cols[cmpcol_key] = None # reserve slot in insertion order + + def declare_sum( + self, sumcol_key, col_to_sum_keys, label, description=None, sum_accdet=False + ): + """Declare a new summation column. + + Invoke the declare_* methods in display order. + :param col_to_sum_keys: [(sign, col_key)] + """ + self._sum_todo[sumcol_key] = (col_to_sum_keys, label, description, sum_accdet) + self._cols[sumcol_key] = None # reserve slot in insertion order + + def set_values(self, kpi, col_key, vals, drilldown_args, tooltips=True): + """Set values for a kpi and a colum. + + Invoke this after declaring the kpi and the column. + """ + self.set_values_detail_account( + kpi, col_key, None, vals, drilldown_args, tooltips + ) + + def set_values_detail_account( + self, kpi, col_key, account_id, vals, drilldown_args, tooltips=True + ): + """Set values for a kpi and a column and a detail account. + + Invoke this after declaring the kpi and the column. + """ + if not account_id: + row = self._kpi_rows[kpi] + else: + kpi_row = self._kpi_rows[kpi] + if account_id in self._detail_rows[kpi]: + row = self._detail_rows[kpi][account_id] + else: + row = KpiMatrixRow(self, kpi, account_id, parent_row=kpi_row) + self._detail_rows[kpi][account_id] = row + col = self._cols[col_key] + cell_tuple = [] + assert len(vals) == col.colspan + assert len(drilldown_args) == col.colspan + for val, drilldown_arg, subcol in zip(vals, drilldown_args, col.iter_subcols()): + if isinstance(val, DataError): + val_rendered = val.name + val_comment = val.msg + else: + val_rendered = self._style_model.render( + self.lang, row.style_props, kpi.type, val + ) + if row.kpi.multi and subcol.subkpi: + val_comment = u"{}.{} = {}".format( + row.kpi.name, + subcol.subkpi.name, + row.kpi._get_expression_str_for_subkpi(subcol.subkpi), + ) + else: + val_comment = u"{} = {}".format(row.kpi.name, row.kpi.expression) + cell_style_props = row.style_props + if row.kpi.style_expression: + # evaluate style expression + try: + style_name = mis_safe_eval( + row.kpi.style_expression, col.locals_dict + ) + except Exception: + _logger.error( + "Error evaluating style expression <%s>", + row.kpi.style_expression, + exc_info=True, + ) + if style_name: + style = self._style_model.search([("name", "=", style_name)]) + if style: + cell_style_props = self._style_model.merge( + [row.style_props, style[0]] + ) + else: + _logger.error("Style '%s' not found.", style_name) + cell = KpiMatrixCell( + row, + subcol, + val, + val_rendered, + tooltips and val_comment or None, + cell_style_props, + drilldown_arg, + kpi.type, + ) + cell_tuple.append(cell) + assert len(cell_tuple) == col.colspan + col._set_cell_tuple(row, cell_tuple) + + def _common_subkpis(self, cols): + if not cols: + return set() + common_subkpis = set(cols[0].subkpis) + for col in cols[1:]: + common_subkpis = common_subkpis & set(col.subkpis) + return common_subkpis + + def compute_comparisons(self): + """Compute comparisons. + + Invoke this after setting all values. + """ + for ( + cmpcol_key, + (col_key, base_col_key, label, description), + ) in self._comparison_todo.items(): + col = self._cols[col_key] + base_col = self._cols[base_col_key] + common_subkpis = self._common_subkpis([col, base_col]) + if (col.subkpis or base_col.subkpis) and not common_subkpis: + raise UserError( + _("Columns {} and {} are not comparable").format( + col.description, base_col.description + ) + ) + if not label: + label = u"{} vs {}".format(col.label, base_col.label) + comparison_col = KpiMatrixCol( + cmpcol_key, + label, + description, + {}, + sorted(common_subkpis, key=lambda s: s.sequence), + ) + self._cols[cmpcol_key] = comparison_col + for row in self.iter_rows(): + cell_tuple = col.get_cell_tuple_for_row(row) + base_cell_tuple = base_col.get_cell_tuple_for_row(row) + if cell_tuple is None and base_cell_tuple is None: + continue + if cell_tuple is None: + vals = [AccountingNone] * (len(common_subkpis) or 1) + else: + vals = [ + cell.val + for cell in cell_tuple + if not common_subkpis or cell.subcol.subkpi in common_subkpis + ] + if base_cell_tuple is None: + base_vals = [AccountingNone] * (len(common_subkpis) or 1) + else: + base_vals = [ + cell.val + for cell in base_cell_tuple + if not common_subkpis or cell.subcol.subkpi in common_subkpis + ] + comparison_cell_tuple = [] + for val, base_val, comparison_subcol in zip( + vals, base_vals, comparison_col.iter_subcols() + ): + # TODO FIXME average factors + comparison = self._style_model.compare_and_render( + self.lang, + row.style_props, + row.kpi.type, + row.kpi.compare_method, + val, + base_val, + 1, + 1, + ) + delta, delta_r, delta_style, delta_type = comparison + comparison_cell_tuple.append( + KpiMatrixCell( + row, + comparison_subcol, + delta, + delta_r, + None, + delta_style, + None, + delta_type, + ) + ) + comparison_col._set_cell_tuple(row, comparison_cell_tuple) + + def compute_sums(self): + """Compute comparisons. + + Invoke this after setting all values. + """ + for ( + sumcol_key, + (col_to_sum_keys, label, description, sum_accdet), + ) in self._sum_todo.items(): + sumcols = [self._cols[k] for (sign, k) in col_to_sum_keys] + # TODO check all sumcols are resolved; we need a kind of + # recompute queue here so we don't depend on insertion + # order + common_subkpis = self._common_subkpis(sumcols) + if any(c.subkpis for c in sumcols) and not common_subkpis: + raise UserError( + _( + "Sum cannot be computed in column {} " + "because the columns to sum have no " + "common subkpis" + ).format(label) + ) + sum_col = KpiMatrixCol( + sumcol_key, + label, + description, + {}, + sorted(common_subkpis, key=lambda s: s.sequence), + ) + self._cols[sumcol_key] = sum_col + for row in self.iter_rows(): + acc = SimpleArray([AccountingNone] * (len(common_subkpis) or 1)) + if row.kpi.accumulation_method == ACC_SUM and not ( + row.account_id and not sum_accdet + ): + for sign, col_to_sum in col_to_sum_keys: + cell_tuple = self._cols[col_to_sum].get_cell_tuple_for_row(row) + if cell_tuple is None: + vals = [AccountingNone] * (len(common_subkpis) or 1) + else: + vals = [ + cell.val + for cell in cell_tuple + if not common_subkpis + or cell.subcol.subkpi in common_subkpis + ] + if sign == "+": + acc += SimpleArray(vals) + else: + acc -= SimpleArray(vals) + self.set_values_detail_account( + row.kpi, + sumcol_key, + row.account_id, + acc, + [None] * (len(common_subkpis) or 1), + tooltips=False, + ) + + def iter_rows(self): + """Iterate rows in display order. + + yields KpiMatrixRow. + """ + for kpi_row in self._kpi_rows.values(): + yield kpi_row + detail_rows = self._detail_rows[kpi_row.kpi].values() + detail_rows = sorted(detail_rows, key=lambda r: r.label) + for detail_row in detail_rows: + yield detail_row + + def iter_cols(self): + """Iterate columns in display order. + + yields KpiMatrixCol: one for each column or comparison. + """ + for _col_key, col in self._cols.items(): + yield col + + def iter_subcols(self): + """Iterate sub columns in display order. + + yields KpiMatrixSubCol: one for each subkpi in each column + and comparison. + """ + for col in self.iter_cols(): + for subcol in col.iter_subcols(): + yield subcol + + def _load_account_names(self): + account_ids = set() + for detail_rows in self._detail_rows.values(): + account_ids.update(detail_rows.keys()) + accounts = self._account_model.search([("id", "in", list(account_ids))]) + self._account_names = {a.id: self._get_account_name(a) for a in accounts} + + def _get_account_name(self, account): + result = u"{} {}".format(account.code, account.name) + if self._multi_company: + result = u"{} [{}]".format(result, account.company_id.name) + return result + + def get_account_name(self, account_id): + if account_id not in self._account_names: + self._load_account_names() + return self._account_names[account_id] + + def as_dict(self): + header = [{"cols": []}, {"cols": []}] + for col in self.iter_cols(): + header[0]["cols"].append( + { + "label": col.label, + "description": col.description, + "colspan": col.colspan, + } + ) + for subcol in col.iter_subcols(): + header[1]["cols"].append( + { + "label": subcol.label, + "description": subcol.description, + "colspan": 1, + } + ) + + body = [] + for row in self.iter_rows(): + if ( + row.style_props.hide_empty and row.is_empty() + ) or row.style_props.hide_always: + continue + row_data = { + "row_id": row.row_id, + "parent_row_id": (row.parent_row and row.parent_row.row_id or None), + "label": row.label, + "description": row.description, + "style": self._style_model.to_css_style(row.style_props), + "cells": [], + } + for cell in row.iter_cells(): + if cell is None: + # TODO use subcol style here + row_data["cells"].append({}) + else: + if cell.val is AccountingNone or isinstance(cell.val, DataError): + val = None + else: + val = cell.val + col_data = { + "val": val, + "val_r": cell.val_rendered, + "val_c": cell.val_comment, + "style": self._style_model.to_css_style( + cell.style_props, no_indent=True + ), + } + if cell.drilldown_arg: + col_data["drilldown_arg"] = cell.drilldown_arg + row_data["cells"].append(col_data) + body.append(row_data) + + return {"header": header, "body": body} diff --git a/odex25_accounting/mis_builder/models/mis_kpi_data.py b/odex25_accounting/mis_builder/models/mis_kpi_data.py new file mode 100644 index 000000000..1f9ba18cb --- /dev/null +++ b/odex25_accounting/mis_builder/models/mis_kpi_data.py @@ -0,0 +1,112 @@ +# Copyright 2017 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from collections import defaultdict + +from odoo import _, api, fields, models +from odoo.exceptions import UserError +from odoo.osv import expression + +ACC_SUM = "sum" +ACC_AVG = "avg" +ACC_NONE = "none" + + +def intersect_days(item_dt_from, item_dt_to, dt_from, dt_to): + item_days = (item_dt_to - item_dt_from).days + 1.0 + i_dt_from = max(dt_from, item_dt_from) + i_dt_to = min(dt_to, item_dt_to) + i_days = (i_dt_to - i_dt_from).days + 1.0 + return i_days, item_days + + +class MisKpiData(models.AbstractModel): + """Abstract class for manually entered KPI values.""" + + _name = "mis.kpi.data" + _description = "MIS Kpi Data Abtract class" + + name = fields.Char(compute="_compute_name", required=False, readonly=True) + kpi_expression_id = fields.Many2one( + comodel_name="mis.report.kpi.expression", + required=True, + ondelete="restrict", + string="KPI", + ) + date_from = fields.Date(required=True, string="From") + date_to = fields.Date(required=True, string="To") + amount = fields.Float() + seq1 = fields.Integer( + related="kpi_expression_id.kpi_id.sequence", + store=True, + readonly=True, + string="KPI Sequence", + ) + seq2 = fields.Integer( + related="kpi_expression_id.subkpi_id.sequence", + store=True, + readonly=True, + string="Sub-KPI Sequence", + ) + + @api.depends( + "kpi_expression_id.subkpi_id.name", + "kpi_expression_id.kpi_id.name", + "date_from", + "date_to", + ) + def _compute_name(self): + for rec in self: + subkpi_name = rec.kpi_expression_id.subkpi_id.name + if subkpi_name: + subkpi_name = "." + subkpi_name + else: + subkpi_name = "" + rec.name = u"{}{}: {} - {}".format( + rec.kpi_expression_id.kpi_id.name, + subkpi_name, + rec.date_from, + rec.date_to, + ) + + @api.model + def _intersect_days(self, item_dt_from, item_dt_to, dt_from, dt_to): + return intersect_days(item_dt_from, item_dt_to, dt_from, dt_to) + + @api.model + def _query_kpi_data(self, date_from, date_to, base_domain): + """Query mis.kpi.data over a time period. + + Returns {mis.report.kpi.expression: amount} + """ + dt_from = fields.Date.from_string(date_from) + dt_to = fields.Date.from_string(date_to) + # all data items within or overlapping [date_from, date_to] + date_domain = [("date_from", "<=", date_to), ("date_to", ">=", date_from)] + domain = expression.AND([date_domain, base_domain]) + res = defaultdict(float) + res_avg = defaultdict(list) + for item in self.search(domain): + item_dt_from = fields.Date.from_string(item.date_from) + item_dt_to = fields.Date.from_string(item.date_to) + i_days, item_days = self._intersect_days( + item_dt_from, item_dt_to, dt_from, dt_to + ) + if item.kpi_expression_id.kpi_id.accumulation_method == ACC_SUM: + # accumulate pro-rata overlap between item and reporting period + res[item.kpi_expression_id] += item.amount * i_days / item_days + elif item.kpi_expression_id.kpi_id.accumulation_method == ACC_AVG: + # memorize the amount and number of days overlapping + # the reporting period (used as weight in average) + res_avg[item.kpi_expression_id].append((i_days, item.amount)) + else: + raise UserError( + _("Unexpected accumulation method %s for %s.") + % (item.kpi_expression_id.kpi_id.accumulation_method, item.name) + ) + # compute weighted average for ACC_AVG + for kpi_expression, amounts in res_avg.items(): + res[kpi_expression] = sum(d * a for d, a in amounts) / sum( + d for d, a in amounts + ) + return res diff --git a/odex25_accounting/mis_builder/models/mis_report.py b/odex25_accounting/mis_builder/models/mis_report.py new file mode 100644 index 000000000..75b644652 --- /dev/null +++ b/odex25_accounting/mis_builder/models/mis_report.py @@ -0,0 +1,981 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import datetime +import logging +import re +import time +from collections import defaultdict + +import dateutil +import pytz + +from odoo import _, api, fields, models +from odoo.exceptions import UserError, ValidationError +from odoo.models import expression as osv_expression +from odoo.tools.safe_eval import safe_eval + +from .accounting_none import AccountingNone +from .aep import AccountingExpressionProcessor as AEP +from .aggregate import _avg, _max, _min, _sum +from .expression_evaluator import ExpressionEvaluator +from .kpimatrix import KpiMatrix +from .mis_kpi_data import ACC_AVG, ACC_NONE, ACC_SUM +from .mis_report_style import CMP_DIFF, CMP_NONE, CMP_PCT, TYPE_NUM, TYPE_PCT, TYPE_STR +from .mis_safe_eval import DataError +from .simple_array import SimpleArray, named_simple_array + +_logger = logging.getLogger(__name__) + + +class SubKPITupleLengthError(UserError): + pass + + +class SubKPIUnknownTypeError(UserError): + pass + + +class AutoStruct(object): + def __init__(self, **kwargs): + for k, v in kwargs.items(): + setattr(self, k, v) + + +def _utc_midnight(d, tz_name, add_day=0): + d = fields.Datetime.from_string(d) + datetime.timedelta(days=add_day) + utc_tz = pytz.timezone("UTC") + context_tz = pytz.timezone(tz_name) + local_timestamp = context_tz.localize(d, is_dst=False) + return fields.Datetime.to_string(local_timestamp.astimezone(utc_tz)) + + +def _python_var(var_str): + return re.sub(r"\W|^(?=\d)", "_", var_str).lower() + + +def _is_valid_python_var(name): + return re.match("[_A-Za-z][_a-zA-Z0-9]*$", name) + + +class MisReportKpi(models.Model): + """A KPI is an element (ie a line) of a MIS report. + + In addition to a name and description, it has an expression + to compute it based on queries defined in the MIS report. + It also has various informations defining how to render it + (numeric or percentage or a string, a prefix, a suffix, divider) and + how to render comparison of two values of the KPI. + KPI's have a sequence and are ordered inside the MIS report. + """ + + _name = "mis.report.kpi" + _description = "MIS Report KPI" + + name = fields.Char(size=32, required=True, string="Name") + description = fields.Char(required=True, string="Description", translate=True) + multi = fields.Boolean() + expression = fields.Char( + compute="_compute_expression", + inverse="_inverse_expression", + string="Expression", + ) + expression_ids = fields.One2many( + comodel_name="mis.report.kpi.expression", + inverse_name="kpi_id", + copy=True, + string="Expressions", + ) + auto_expand_accounts = fields.Boolean(string="Display details by account") + auto_expand_accounts_style_id = fields.Many2one( + string="Style for account detail rows", + comodel_name="mis.report.style", + required=False, + ) + style_id = fields.Many2one( + string="Style", comodel_name="mis.report.style", required=False + ) + style_expression = fields.Char( + string="Style expression", + help="An expression that returns a style depending on the KPI value. " + "Such style is applied on top of the row style.", + ) + type = fields.Selection( + [ + (TYPE_NUM, _("Numeric")), + (TYPE_PCT, _("Percentage")), + (TYPE_STR, _("String")), + ], + required=True, + string="Value type", + default=TYPE_NUM, + ) + compare_method = fields.Selection( + [ + (CMP_DIFF, _("Difference")), + (CMP_PCT, _("Percentage")), + (CMP_NONE, _("None")), + ], + required=True, + string="Comparison Method", + default=CMP_PCT, + ) + accumulation_method = fields.Selection( + [(ACC_SUM, _("Sum")), (ACC_AVG, _("Average")), (ACC_NONE, _("None"))], + required=True, + string="Accumulation Method", + default=ACC_SUM, + help="Determines how values of this kpi spanning over a " + "time period are transformed to match the reporting period. " + "Sum: values of shorter period are added, " + "values of longest or partially overlapping periods are " + "adjusted pro-rata temporis.\n" + "Average: values of included period are averaged " + "with a pro-rata temporis weight.", + ) + sequence = fields.Integer(string="Sequence", default=100) + report_id = fields.Many2one( + "mis.report", string="Report", required=True, ondelete="cascade" + ) + + _order = "sequence, id" + + def name_get(self): + res = [] + for rec in self: + name = u"{} ({})".format(rec.description, rec.name) + res.append((rec.id, name)) + return res + + @api.model + def name_search(self, name="", args=None, operator="ilike", limit=100): + domain = args or [] + domain += ["|", ("name", operator, name), ("description", operator, name)] + return self.search(domain, limit=limit).name_get() + + @api.constrains("name") + def _check_name(self): + for record in self: + if not _is_valid_python_var(record.name): + raise ValidationError( + _("KPI name ({}) must be a valid python identifier").format( + record.name + ) + ) + + @api.depends("expression_ids.subkpi_id.name", "expression_ids.name") + def _compute_expression(self): + for kpi in self: + exprs = [] + for expression in kpi.expression_ids: + if expression.subkpi_id: + exprs.append( + u"{}\xa0=\xa0{}".format( + expression.subkpi_id.name, expression.name + ) + ) + else: + exprs.append(expression.name or "AccountingNone") + kpi.expression = ",\n".join(exprs) + + def _inverse_expression(self): + for kpi in self: + if kpi.multi: + raise UserError(_("Can not update a multi kpi from " "the kpi line")) + if kpi.expression_ids: + kpi.expression_ids[0].write({"name": kpi.expression, "subkpi_id": None}) + for expression in kpi.expression_ids[1:]: + expression.unlink() + else: + expression = self.env["mis.report.kpi.expression"].new( + {"name": kpi.expression} + ) + kpi.expression_ids += expression + + @api.onchange("multi") + def _onchange_multi(self): + for kpi in self: + if not kpi.multi: + if kpi.expression_ids: + kpi.expression = kpi.expression_ids[0].name + else: + kpi.expression = None + else: + expressions = [] + for subkpi in kpi.report_id.subkpi_ids: + expressions.append( + (0, 0, {"name": kpi.expression, "subkpi_id": subkpi.id}) + ) + kpi.expression_ids = expressions + + @api.onchange("description") + def _onchange_description(self): + """ construct name from description """ + if self.description and not self.name: + self.name = _python_var(self.description) + + @api.onchange("type") + def _onchange_type(self): + if self.type == TYPE_NUM: + self.compare_method = CMP_PCT + self.accumulation_method = ACC_SUM + elif self.type == TYPE_PCT: + self.compare_method = CMP_DIFF + self.accumulation_method = ACC_AVG + elif self.type == TYPE_STR: + self.compare_method = CMP_NONE + self.accumulation_method = ACC_NONE + + def _get_expression_str_for_subkpi(self, subkpi): + e = self._get_expression_for_subkpi(subkpi) + return e and e.name or "" + + def _get_expression_for_subkpi(self, subkpi): + for expression in self.expression_ids: + if expression.subkpi_id == subkpi: + return expression + return None + + def _get_expressions(self, subkpis): + if subkpis and self.multi: + return [self._get_expression_for_subkpi(subkpi) for subkpi in subkpis] + else: + if self.expression_ids: + assert len(self.expression_ids) == 1 + assert not self.expression_ids[0].subkpi_id + return self.expression_ids + else: + return [None] + + +class MisReportSubkpi(models.Model): + _name = "mis.report.subkpi" + _description = "MIS Report Sub-KPI" + _order = "sequence, id" + + sequence = fields.Integer(default=1) + report_id = fields.Many2one( + comodel_name="mis.report", required=True, ondelete="cascade" + ) + name = fields.Char(size=32, required=True, string="Name") + description = fields.Char(required=True, string="Description", translate=True) + expression_ids = fields.One2many("mis.report.kpi.expression", "subkpi_id") + + @api.constrains("name") + def _check_name(self): + for record in self: + if not _is_valid_python_var(record.name): + raise ValidationError( + _("Sub-KPI name ({}) must be a valid python identifier").format( + record.name + ) + ) + + @api.onchange("description") + def _onchange_description(self): + """ construct name from description """ + if self.description and not self.name: + self.name = _python_var(self.description) + + +class MisReportKpiExpression(models.Model): + """A KPI Expression is an expression of a line of a MIS report Kpi. + It's used to compute the kpi value. + """ + + _name = "mis.report.kpi.expression" + _description = "MIS Report KPI Expression" + _order = "sequence, name, id" + + sequence = fields.Integer(related="subkpi_id.sequence", store=True, readonly=True) + name = fields.Char(string="Expression") + kpi_id = fields.Many2one("mis.report.kpi", required=True, ondelete="cascade") + # TODO FIXME set readonly=True when onchange('subkpi_ids') below works + subkpi_id = fields.Many2one("mis.report.subkpi", readonly=False, ondelete="cascade") + + _sql_constraints = [ + ( + "subkpi_kpi_unique", + "unique(subkpi_id, kpi_id)", + "Sub KPI must be used once and only once for each KPI", + ) + ] + + def name_get(self): + res = [] + for rec in self: + kpi = rec.kpi_id + subkpi = rec.subkpi_id + if subkpi: + name = u"{} / {} ({}.{})".format( + kpi.description, subkpi.description, kpi.name, subkpi.name + ) + else: + name = rec.kpi_id.display_name + res.append((rec.id, name)) + return res + + @api.model + def name_search(self, name="", args=None, operator="ilike", limit=100): + # TODO maybe implement negative search operators, although + # there is not really a use case for that + domain = args or [] + splitted_name = name.split(".", 2) + name_search_domain = [] + if "." in name: + kpi_name, subkpi_name = splitted_name[0], splitted_name[1] + name_search_domain = osv_expression.AND( + [ + name_search_domain, + [ + "|", + "|", + "&", + ("kpi_id.name", "=", kpi_name), + ("subkpi_id.name", operator, subkpi_name), + ("kpi_id.description", operator, name), + ("subkpi_id.description", operator, name), + ], + ] + ) + name_search_domain = osv_expression.OR( + [ + name_search_domain, + [ + "|", + ("kpi_id.name", operator, name), + ("kpi_id.description", operator, name), + ], + ] + ) + domain = osv_expression.AND([domain, name_search_domain]) + return self.search(domain, limit=limit).name_get() + + +class MisReportQuery(models.Model): + """A query to fetch arbitrary data for a MIS report. + + A query works on a model and has a domain and list of fields to fetch. + At runtime, the domain is expanded with a "and" on the date/datetime field. + """ + + _name = "mis.report.query" + _description = "MIS Report Query" + + @api.depends("field_ids") + def _compute_field_names(self): + for record in self: + field_names = [field.name for field in record.field_ids] + record.field_names = ", ".join(field_names) + + name = fields.Char(size=32, required=True, string="Name") + model_id = fields.Many2one( + "ir.model", required=True, string="Model", ondelete="cascade" + ) + field_ids = fields.Many2many( + "ir.model.fields", required=True, string="Fields to fetch" + ) + field_names = fields.Char( + compute="_compute_field_names", string="Fetched fields name" + ) + aggregate = fields.Selection( + [ + ("sum", _("Sum")), + ("avg", _("Average")), + ("min", _("Min")), + ("max", _("Max")), + ], + string="Aggregate", + ) + date_field = fields.Many2one( + comodel_name="ir.model.fields", + required=True, + domain=[("ttype", "in", ("date", "datetime"))], + ondelete="cascade", + ) + domain = fields.Char(string="Domain") + report_id = fields.Many2one( + comodel_name="mis.report", string="Report", required=True, ondelete="cascade" + ) + + _order = "name" + + @api.constrains("name") + def _check_name(self): + for record in self: + if not _is_valid_python_var(record.name): + raise ValidationError( + _("Query name ({}) must be valid python identifier").format( + record.name + ) + ) + + +class MisReport(models.Model): + """A MIS report template (without period information) + + The MIS report holds: + * a list of explicit queries; the result of each query is + stored in a variable with same name as a query, containing as list + of data structures populated with attributes for each fields to fetch; + when queries have an aggregate method and no fields to group, it returns + a data structure with the aggregated fields + * a list of KPI to be evaluated based on the variables resulting + from the accounting data and queries (KPI expressions can references + queries and accounting expression - see AccoutingExpressionProcessor) + """ + + _name = "mis.report" + _description = "MIS Report Template" + + def _default_move_lines_source(self): + return self.env["ir.model"].search([("model", "=", "account.move.line")]) + + name = fields.Char(required=True, string="Name", translate=True) + description = fields.Char(required=False, string="Description", translate=True) + style_id = fields.Many2one(string="Style", comodel_name="mis.report.style") + query_ids = fields.One2many( + "mis.report.query", "report_id", string="Queries", copy=True + ) + kpi_ids = fields.One2many("mis.report.kpi", "report_id", string="KPI's", copy=True) + subkpi_ids = fields.One2many( + "mis.report.subkpi", "report_id", string="Sub KPI", copy=True + ) + subreport_ids = fields.One2many( + "mis.report.subreport", "report_id", string="Sub reports", copy=True + ) + all_kpi_ids = fields.One2many( + comodel_name="mis.report.kpi", + compute="_compute_all_kpi_ids", + help="KPIs of this report and subreports.", + ) + move_lines_source = fields.Many2one( + comodel_name="ir.model", + string="Move lines source", + domain=[ + ("field_id.name", "=", "debit"), + ("field_id.name", "=", "credit"), + ("field_id.name", "=", "account_id"), + ("field_id.name", "=", "date"), + ("field_id.name", "=", "company_id"), + ], + default=_default_move_lines_source, + required=True, + ondelete="cascade", + help="A 'move line like' model, ie having at least debit, credit, " + "date, account_id and company_id fields. This model is the " + "data source for column Actuals.", + ) + account_model = fields.Char( + compute="_compute_account_model", string="Account model" + ) + + @api.depends("kpi_ids", "subreport_ids") + def _compute_all_kpi_ids(self): + for rec in self: + rec.all_kpi_ids = rec.kpi_ids | rec.subreport_ids.mapped( + "subreport_id.kpi_ids" + ) + + @api.depends("move_lines_source") + def _compute_account_model(self): + for record in self: + record.account_model = record.move_lines_source.field_id.filtered( + lambda r: r.name == "account_id" + ).relation + + @api.onchange("subkpi_ids") + def _on_change_subkpi_ids(self): + """Update kpi expressions when subkpis change on the report, + so the list of kpi expressions is always up-to-date""" + for kpi in self.kpi_ids: + if not kpi.multi: + continue + new_subkpis = {subkpi for subkpi in self.subkpi_ids} + expressions = [] + for expression in kpi.expression_ids: + assert expression.subkpi_id # must be true if kpi is multi + if expression.subkpi_id not in self.subkpi_ids: + expressions.append((2, expression.id, None)) # remove + else: + new_subkpis.remove(expression.subkpi_id) # no change + for subkpi in new_subkpis: + # TODO FIXME this does not work, while the remove above works + expressions.append( + (0, None, {"name": False, "subkpi_id": subkpi.id}) + ) # add empty expressions for new subkpis + if expressions: + kpi.expressions_ids = expressions + + def get_wizard_report_action(self): + action = self.env.ref("mis_builder.mis_report_instance_view_action") + res = action.read()[0] + view = self.env.ref("mis_builder.wizard_mis_report_instance_view_form") + res.update( + { + "view_id": view.id, + "views": [(view.id, "form")], + "target": "new", + "context": { + "default_report_id": self.id, + "default_name": self.name, + "default_temporary": True, + }, + } + ) + return res + + def copy(self, default=None): + self.ensure_one() + default = dict(default or []) + default["name"] = _("%s (copy)") % self.name + new = super(MisReport, self).copy(default) + # after a copy, we have new subkpis, but the expressions + # subkpi_id fields still point to the original one, so + # we patch them after copying + subkpis_by_name = {sk.name: sk for sk in new.subkpi_ids} + for subkpi in self.subkpi_ids: + # search expressions linked to subkpis of the original report + exprs = self.env["mis.report.kpi.expression"].search( + [("kpi_id.report_id", "=", new.id), ("subkpi_id", "=", subkpi.id)] + ) + # and replace them with references to subkpis of the new report + exprs.write({"subkpi_id": subkpis_by_name[subkpi.name].id}) + return new + + # TODO: kpi name cannot be start with query name + + def prepare_kpi_matrix(self, multi_company=False): + self.ensure_one() + kpi_matrix = KpiMatrix(self.env, multi_company, self.account_model) + for kpi in self.kpi_ids: + kpi_matrix.declare_kpi(kpi) + return kpi_matrix + + def _prepare_aep(self, companies, currency=None): + self.ensure_one() + aep = AEP(companies, currency, self.account_model) + for kpi in self.all_kpi_ids: + for expression in kpi.expression_ids: + if expression.name: + aep.parse_expr(expression.name) + aep.done_parsing() + return aep + + def prepare_locals_dict(self): + return { + "sum": _sum, + "min": _min, + "max": _max, + "len": len, + "avg": _avg, + "time": time, + "datetime": datetime, + "dateutil": dateutil, + "AccountingNone": AccountingNone, + "SimpleArray": SimpleArray, + } + + def _fetch_queries(self, date_from, date_to, get_additional_query_filter=None): + self.ensure_one() + res = {} + for query in self.query_ids: + model = self.env[query.model_id.model] + eval_context = { + "env": self.env, + "time": time, + "datetime": datetime, + "dateutil": dateutil, + # deprecated + "uid": self.env.uid, + "context": self.env.context, + } + domain = query.domain and safe_eval(query.domain, eval_context) or [] + if get_additional_query_filter: + domain.extend(get_additional_query_filter(query)) + if query.date_field.ttype == "date": + domain.extend( + [ + (query.date_field.name, ">=", date_from), + (query.date_field.name, "<=", date_to), + ] + ) + else: + datetime_from = _utc_midnight(date_from, self._context.get("tz", "UTC")) + datetime_to = _utc_midnight( + date_to, self._context.get("tz", "UTC"), add_day=1 + ) + domain.extend( + [ + (query.date_field.name, ">=", datetime_from), + (query.date_field.name, "<", datetime_to), + ] + ) + field_names = [f.name for f in query.field_ids] + all_stored = all([model._fields[f].store for f in field_names]) + if not query.aggregate: + data = model.search_read(domain, field_names) + res[query.name] = [AutoStruct(**d) for d in data] + elif query.aggregate == "sum" and all_stored: + # use read_group to sum stored fields + data = model.read_group(domain, field_names, []) + s = AutoStruct(count=data[0]["__count"]) + for field_name in field_names: + try: + v = data[0][field_name] + except KeyError: + _logger.error( + "field %s not found in read_group " "for %s; not summable?", + field_name, + model._name, + ) + v = AccountingNone + setattr(s, field_name, v) + res[query.name] = s + else: + data = model.search_read(domain, field_names) + s = AutoStruct(count=len(data)) + if query.aggregate == "min": + agg = _min + elif query.aggregate == "max": + agg = _max + elif query.aggregate == "avg": + agg = _avg + elif query.aggregate == "sum": + agg = _sum + for field_name in field_names: + setattr(s, field_name, agg([d[field_name] for d in data])) + res[query.name] = s + return res + + def _declare_and_compute_col( # noqa: C901 (TODO simplify this fnction) + self, + expression_evaluator, + kpi_matrix, + col_key, + col_label, + col_description, + subkpis_filter, + locals_dict, + no_auto_expand_accounts=False, + ): + """This is the main computation loop. + + It evaluates the kpis and puts the results in the KpiMatrix. + Evaluation is done through the expression_evaluator so data sources + can provide their own mean of obtaining the data (eg preset + kpi values for budget, or alternative move line sources). + """ + + if subkpis_filter: + # TODO filter by subkpi names + subkpis = [subkpi for subkpi in self.subkpi_ids if subkpi in subkpis_filter] + else: + subkpis = self.subkpi_ids + + SimpleArray_cls = named_simple_array( + "SimpleArray_{}".format(col_key), [subkpi.name for subkpi in subkpis] + ) + locals_dict["SimpleArray"] = SimpleArray_cls + + col = kpi_matrix.declare_col( + col_key, col_label, col_description, locals_dict, subkpis + ) + + compute_queue = self.kpi_ids + recompute_queue = [] + while True: + for kpi in compute_queue: + # build the list of expressions for this kpi + expressions = kpi._get_expressions(subkpis) + + ( + vals, + drilldown_args, + name_error, + ) = expression_evaluator.eval_expressions(expressions, locals_dict) + for drilldown_arg in drilldown_args: + if not drilldown_arg: + continue + drilldown_arg["period_id"] = col_key + drilldown_arg["kpi_id"] = kpi.id + + if name_error: + recompute_queue.append(kpi) + else: + # no error, set it in locals_dict so it can be used + # in computing other kpis + if not subkpis or not kpi.multi: + locals_dict[kpi.name] = vals[0] + else: + locals_dict[kpi.name] = SimpleArray_cls(vals) + + # even in case of name error we set the result in the matrix + # so the name error will be displayed if it cannot be + # resolved by recomputing later + + if subkpis and not kpi.multi: + # here we have one expression for this kpi, but + # multiple subkpis (so this kpi is most probably + # a sum or other operation on multi-valued kpis) + if isinstance(vals[0], tuple): + vals = vals[0] + if len(vals) != col.colspan: + raise SubKPITupleLengthError( + _( + 'KPI "{}" is valued as a tuple of ' + "length {} while a tuple of length {} " + "is expected." + ).format(kpi.description, len(vals), col.colspan) + ) + elif isinstance(vals[0], DataError): + vals = (vals[0],) * col.colspan + else: + raise SubKPIUnknownTypeError( + _( + 'KPI "{}" has type {} while a tuple was ' + "expected.\n\nThis can be fixed by either:\n\t- " + "Changing the KPI value to a tuple of length " + "{}\nor\n\t- Changing the " + "KPI to `multi` mode and giving an explicit " + "value for each sub-KPI." + ).format(kpi.description, type(vals[0]), col.colspan) + ) + if len(drilldown_args) != col.colspan: + drilldown_args = [None] * col.colspan + + kpi_matrix.set_values(kpi, col_key, vals, drilldown_args) + + if ( + name_error + or no_auto_expand_accounts + or not kpi.auto_expand_accounts + ): + continue + + for ( + account_id, + vals, + drilldown_args, + _name_error, + ) in expression_evaluator.eval_expressions_by_account( + expressions, locals_dict + ): + for drilldown_arg in drilldown_args: + if not drilldown_arg: + continue + drilldown_arg["period_id"] = col_key + drilldown_arg["kpi_id"] = kpi.id + kpi_matrix.set_values_detail_account( + kpi, col_key, account_id, vals, drilldown_args + ) + + if len(recompute_queue) == 0: + # nothing to recompute, we are done + break + if len(recompute_queue) == len(compute_queue): + # could not compute anything in this iteration + # (ie real Name errors or cyclic dependency) + # so we stop trying + break + # try again + compute_queue = recompute_queue + recompute_queue = [] + + def declare_and_compute_period( + self, + kpi_matrix, + col_key, + col_label, + col_description, + aep, + date_from, + date_to, + target_move, + subkpis_filter=None, + get_additional_move_line_filter=None, + get_additional_query_filter=None, + locals_dict=None, + aml_model=None, + no_auto_expand_accounts=False, + ): + _logger.warning( + "declare_and_compute_period() is deprecated, " + "use _declare_and_compute_period() instead" + ) + expression_evaluator = ExpressionEvaluator( + aep, + date_from, + date_to, + target_move, + get_additional_move_line_filter() + if get_additional_move_line_filter + else None, + aml_model, + ) + return self._declare_and_compute_period( + expression_evaluator, + kpi_matrix, + col_key, + col_label, + col_description, + subkpis_filter, + get_additional_query_filter, + locals_dict, + no_auto_expand_accounts, + ) + + def _declare_and_compute_period( + self, + expression_evaluator, + kpi_matrix, + col_key, + col_label, + col_description, + subkpis_filter=None, + get_additional_query_filter=None, + locals_dict=None, + no_auto_expand_accounts=False, + ): + """Evaluate a report for a given period, populating a KpiMatrix. + + :param expression_evaluator: an ExpressionEvaluator instance + :param kpi_matrix: the KpiMatrix object to be populated created + with prepare_kpi_matrix() + :param col_key: the period key to use when populating the KpiMatrix + :param subkpis_filter: a list of subkpis to include in the evaluation + (if empty, use all subkpis) + :param get_additional_query_filter: a bound method that takes a single + query argument and returns a + domain compatible with the query + underlying model + :param locals_dict: personalized locals dictionary used as evaluation + context for the KPI expressions + :param no_auto_expand_accounts: disable expansion of account details + """ + self.ensure_one() + + # prepare the localsdict + if locals_dict is None: + locals_dict = {} + + # Evaluate subreports + for subreport in self.subreport_ids: + subreport_locals_dict = subreport.subreport_id._evaluate( + expression_evaluator, subkpis_filter, get_additional_query_filter + ) + locals_dict[subreport.name] = AutoStruct( + **{ + srk.name: subreport_locals_dict.get(srk.name, AccountingNone) + for srk in subreport.subreport_id.kpi_ids + } + ) + + locals_dict.update(self.prepare_locals_dict()) + locals_dict["date_from"] = fields.Date.from_string( + expression_evaluator.date_from + ) + locals_dict["date_to"] = fields.Date.from_string(expression_evaluator.date_to) + + # fetch non-accounting queries + locals_dict.update( + self._fetch_queries( + expression_evaluator.date_from, + expression_evaluator.date_to, + get_additional_query_filter, + ) + ) + + # use AEP to do the accounting queries + expression_evaluator.aep_do_queries() + + self._declare_and_compute_col( + expression_evaluator, + kpi_matrix, + col_key, + col_label, + col_description, + subkpis_filter, + locals_dict, + no_auto_expand_accounts, + ) + + def get_kpis_by_account_id(self, company): + """ Return { account_id: set(kpi) } """ + aep = self._prepare_aep(company) + res = defaultdict(set) + for kpi in self.kpi_ids: + for expression in kpi.expression_ids: + if not expression.name: + continue + account_ids = aep.get_account_ids_for_expr(expression.name) + for account_id in account_ids: + res[account_id].add(kpi) + return res + + def evaluate( + self, + aep, + date_from, + date_to, + target_move="posted", + aml_model=None, + subkpis_filter=None, + get_additional_move_line_filter=None, + get_additional_query_filter=None, + ): + """Simplified method to evaluate a report over a time period. + + :param aep: an AccountingExpressionProcessor instance created + using _prepare_aep() + :param date_from, date_to: the starting and ending date + :param target_move: all|posted + :param aml_model: the name of a model that is compatible with + account.move.line + :param subkpis_filter: a list of subkpis to include in the evaluation + (if empty, use all subkpis) + :param get_additional_move_line_filter: a bound method that takes + no arguments and returns + a domain compatible with + account.move.line + :param get_additional_query_filter: a bound method that takes a single + query argument and returns a + domain compatible with the query + underlying model + :return: a dictionary where keys are KPI names, and values are the + evaluated results; some additional keys might be present: + these should be ignored as they might be removed in + the future. + """ + expression_evaluator = ExpressionEvaluator( + aep, + date_from, + date_to, + target_move, + get_additional_move_line_filter() + if get_additional_move_line_filter + else None, + aml_model, + ) + return self._evaluate(expression_evaluator, subkpis_filter) + + def _evaluate( + self, + expression_evaluator, + subkpis_filter=None, + get_additional_query_filter=None, + ): + locals_dict = {} + kpi_matrix = self.prepare_kpi_matrix() + self._declare_and_compute_period( + expression_evaluator, + kpi_matrix, + col_key=1, + col_label="", + col_description="", + subkpis_filter=subkpis_filter, + get_additional_query_filter=get_additional_query_filter, + locals_dict=locals_dict, + no_auto_expand_accounts=True, + ) + return locals_dict diff --git a/odex25_accounting/mis_builder/models/mis_report_instance.py b/odex25_accounting/mis_builder/models/mis_report_instance.py new file mode 100644 index 000000000..30e238f11 --- /dev/null +++ b/odex25_accounting/mis_builder/models/mis_report_instance.py @@ -0,0 +1,908 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import datetime +import logging + +from dateutil.relativedelta import relativedelta + +from odoo import _, api, fields, models +from odoo.exceptions import UserError, ValidationError + +from .aep import AccountingExpressionProcessor as AEP +from .expression_evaluator import ExpressionEvaluator + +_logger = logging.getLogger(__name__) + + +SRC_ACTUALS = "actuals" +SRC_ACTUALS_ALT = "actuals_alt" +SRC_CMPCOL = "cmpcol" +SRC_SUMCOL = "sumcol" + +MODE_NONE = "none" +MODE_FIX = "fix" +MODE_REL = "relative" + + +class DateFilterRequired(ValidationError): + pass + + +class DateFilterForbidden(ValidationError): + pass + + +class MisReportInstancePeriodSum(models.Model): + + _name = "mis.report.instance.period.sum" + _description = "MIS Report Instance Period Sum" + + period_id = fields.Many2one( + comodel_name="mis.report.instance.period", + string="Parent column", + ondelete="cascade", + required=True, + ) + period_to_sum_id = fields.Many2one( + comodel_name="mis.report.instance.period", + string="Column", + ondelete="restrict", + required=True, + ) + sign = fields.Selection([("+", "+"), ("-", "-")], required=True, default="+") + + @api.constrains("period_id", "period_to_sum_id") + def _check_period_to_sum(self): + for rec in self: + if rec.period_id == rec.period_to_sum_id: + raise ValidationError( + _("You cannot sum period %s with itself.") % rec.period_id.name + ) + + +class MisReportInstancePeriod(models.Model): + """A MIS report instance has the logic to compute + a report template for a given date period. + + Periods have a duration (day, week, fiscal period) and + are defined as an offset relative to a pivot date. + """ + + @api.depends( + "report_instance_id.pivot_date", + "report_instance_id.comparison_mode", + "date_range_type_id", + "type", + "offset", + "duration", + "mode", + "manual_date_from", + "manual_date_to", + "is_ytd", + ) + def _compute_dates(self): + for record in self: + record.date_from = False + record.date_to = False + record.valid = False + report = record.report_instance_id + d = fields.Date.from_string(report.pivot_date) + if not report.comparison_mode: + record.date_from = report.date_from + record.date_to = report.date_to + record.valid = record.date_from and record.date_to + elif record.mode == MODE_NONE: + record.date_from = False + record.date_to = False + record.valid = True + elif record.mode == MODE_FIX: + record.date_from = record.manual_date_from + record.date_to = record.manual_date_to + record.valid = record.date_from and record.date_to + elif record.mode == MODE_REL and record.type == "d": + date_from = d + datetime.timedelta(days=record.offset) + date_to = date_from + datetime.timedelta(days=record.duration - 1) + record.date_from = fields.Date.to_string(date_from) + record.date_to = fields.Date.to_string(date_to) + record.valid = True + elif record.mode == MODE_REL and record.type == "w": + date_from = d - datetime.timedelta(d.weekday()) + date_from = date_from + datetime.timedelta(days=record.offset * 7) + date_to = date_from + datetime.timedelta(days=(7 * record.duration) - 1) + record.date_from = fields.Date.to_string(date_from) + record.date_to = fields.Date.to_string(date_to) + record.valid = True + elif record.mode == MODE_REL and record.type == "m": + date_from = d.replace(day=1) + date_from = date_from + relativedelta(months=record.offset) + date_to = ( + date_from + + relativedelta(months=record.duration - 1) + + relativedelta(day=31) + ) + record.date_from = fields.Date.to_string(date_from) + record.date_to = fields.Date.to_string(date_to) + record.valid = True + elif record.mode == MODE_REL and record.type == "y": + date_from = d.replace(month=1, day=1) + date_from = date_from + relativedelta(years=record.offset) + date_to = date_from + relativedelta(years=record.duration - 1) + date_to = date_to.replace(month=12, day=31) + record.date_from = fields.Date.to_string(date_from) + record.date_to = fields.Date.to_string(date_to) + record.valid = True + elif record.mode == MODE_REL and record.type == "date_range": + date_range_obj = record.env["date.range"] + current_periods = date_range_obj.search( + [ + ("type_id", "=", record.date_range_type_id.id), + ("date_start", "<=", d), + ("date_end", ">=", d), + "|", + ("company_id", "=", False), + ( + "company_id", + "in", + record.report_instance_id.query_company_ids.ids, + ), + ] + ) + if current_periods: + # TODO we take the first date range we found as current + # this may be surprising if several companies + # have overlapping date ranges with different dates + current_period = current_periods[0] + all_periods = date_range_obj.search( + [ + ("type_id", "=", current_period.type_id.id), + ("company_id", "=", current_period.company_id.id), + ], + order="date_start", + ) + p = all_periods.ids.index(current_period.id) + record.offset + if p >= 0 and p + record.duration <= len(all_periods): + periods = all_periods[p : p + record.duration] + record.date_from = periods[0].date_start + record.date_to = periods[-1].date_end + record.valid = True + if record.mode == MODE_REL and record.valid and record.is_ytd: + record.date_from = fields.Date.from_string(record.date_to).replace( + day=1, month=1 + ) + + _name = "mis.report.instance.period" + _description = "MIS Report Instance Period" + + name = fields.Char(size=32, required=True, string="Label", translate=True) + mode = fields.Selection( + [ + (MODE_FIX, "Fixed dates"), + (MODE_REL, "Relative to report base date"), + (MODE_NONE, "No date filter"), + ], + required=True, + default=MODE_FIX, + ) + type = fields.Selection( + [ + ("d", _("Day")), + ("w", _("Week")), + ("m", _("Month")), + ("y", _("Year")), + ("date_range", _("Date Range")), + ], + string="Period type", + ) + is_ytd = fields.Boolean( + default=False, + string="Year to date", + help="Forces the start date to Jan 1st of the relevant year", + ) + date_range_type_id = fields.Many2one( + comodel_name="date.range.type", + string="Date Range Type", + domain=[("allow_overlap", "=", False)], + ) + offset = fields.Integer( + string="Offset", help="Offset from current period", default=-1 + ) + duration = fields.Integer(string="Duration", help="Number of periods", default=1) + date_from = fields.Date(compute="_compute_dates", string="From (computed)") + date_to = fields.Date(compute="_compute_dates", string="To (computed)") + manual_date_from = fields.Date(string="From") + manual_date_to = fields.Date(string="To") + date_range_id = fields.Many2one(comodel_name="date.range", string="Date Range") + valid = fields.Boolean(compute="_compute_dates", type="boolean", string="Valid") + sequence = fields.Integer(string="Sequence", default=100) + report_instance_id = fields.Many2one( + comodel_name="mis.report.instance", + string="Report Instance", + required=True, + ondelete="cascade", + ) + report_id = fields.Many2one(related="report_instance_id.report_id") + normalize_factor = fields.Integer( + string="Factor", + help="Factor to use to normalize the period (used in comparison", + default=1, + ) + subkpi_ids = fields.Many2many("mis.report.subkpi", string="Sub KPI Filter") + + source = fields.Selection( + [ + (SRC_ACTUALS, "Actuals"), + (SRC_ACTUALS_ALT, "Actuals (alternative)"), + (SRC_SUMCOL, "Sum columns"), + (SRC_CMPCOL, "Compare columns"), + ], + default=SRC_ACTUALS, + required=True, + help="Actuals: current data, from accounting and other queries.\n" + "Actuals (alternative): current data from an " + "alternative source (eg a database view providing look-alike " + "account move lines).\n" + "Sum columns: summation (+/-) of other columns.\n" + "Compare to column: compare to other column.\n", + ) + source_aml_model_id = fields.Many2one( + comodel_name="ir.model", + string="Move lines source", + domain=[ + ("field_id.name", "=", "debit"), + ("field_id.name", "=", "credit"), + ("field_id.name", "=", "account_id"), + ("field_id.name", "=", "date"), + ("field_id.name", "=", "company_id"), + ("field_id.model_id.model", "!=", "account.move.line"), + ], + help="A 'move line like' model, ie having at least debit, credit, " + "date, account_id and company_id fields.", + ) + source_aml_model_name = fields.Char( + string="Move lines source model name", related="source_aml_model_id.model" + ) + source_sumcol_ids = fields.One2many( + comodel_name="mis.report.instance.period.sum", + inverse_name="period_id", + string="Columns to sum", + ) + source_sumcol_accdet = fields.Boolean(string="Sum account details") + source_cmpcol_from_id = fields.Many2one( + comodel_name="mis.report.instance.period", string="versus" + ) + source_cmpcol_to_id = fields.Many2one( + comodel_name="mis.report.instance.period", string="Compare" + ) + allowed_cmpcol_ids = fields.Many2many( + comodel_name="mis.report.instance.period", compute="_compute_allowed_cmpcol_ids" + ) + # filters + analytic_account_id = fields.Many2one( + comodel_name="account.analytic.account", + string="Analytic Account", + help=( + "Filter column on journal entries that match this analytic account." + "This filter is combined with a AND with the report-level filters " + "and cannot be modified in the preview." + ), + ) + analytic_group_id = fields.Many2one( + comodel_name="account.analytic.group", + string="Analytic Account Group", + help=( + "Filter column on journal entries that match this analytic account " + "group. This filter is combined with a AND with the report-level " + "filters and cannot be modified in the preview." + ), + ) + analytic_tag_ids = fields.Many2many( + comodel_name="account.analytic.tag", + string="Analytic Tags", + help=( + "Filter column on journal entries that have all these analytic tags." + "This filter is combined with a AND with the report-level filters " + "and cannot be modified in the preview." + ), + ) + + _order = "sequence, id" + + _sql_constraints = [ + ("duration", "CHECK (duration>0)", "Wrong duration, it must be positive!"), + ( + "normalize_factor", + "CHECK (normalize_factor>0)", + "Wrong normalize factor, it must be positive!", + ), + ( + "name_unique", + "unique(name, report_instance_id)", + "Period name should be unique by report", + ), + ] + + @api.depends("report_instance_id") + def _compute_allowed_cmpcol_ids(self): + """Compute actual records while in NewId context""" + for record in self: + record.allowed_cmpcol_ids = record.report_instance_id.period_ids - record + + @api.constrains("source_aml_model_id") + def _check_source_aml_model_id(self): + for record in self: + if record.source_aml_model_id: + record_model = record.source_aml_model_id.field_id.filtered( + lambda r: r.name == "account_id" + ).relation + report_account_model = record.report_id.account_model + if record_model != report_account_model: + raise ValidationError( + _( + "Actual (alternative) models used in columns must " + "have the same account model in the Account field and must " + "be the same defined in the " + "report template: %s" + ) + % report_account_model + ) + + @api.onchange("date_range_id") + def _onchange_date_range(self): + if self.date_range_id: + self.manual_date_from = self.date_range_id.date_start + self.manual_date_to = self.date_range_id.date_end + + @api.onchange("manual_date_from", "manual_date_to") + def _onchange_dates(self): + if self.date_range_id: + if ( + self.manual_date_from != self.date_range_id.date_start + or self.manual_date_to != self.date_range_id.date_end + ): + self.date_range_id = False + + @api.onchange("source") + def _onchange_source(self): + if self.source in (SRC_SUMCOL, SRC_CMPCOL): + self.mode = MODE_NONE + + def _get_aml_model_name(self): + self.ensure_one() + if self.source == SRC_ACTUALS: + return self.report_id.move_lines_source.model + elif self.source == SRC_ACTUALS_ALT: + return self.source_aml_model_name + return False + + @api.model + def _get_filter_domain_from_context(self): + filters = [] + mis_report_filters = self.env.context.get("mis_report_filters", {}) + for filter_name, domain in mis_report_filters.items(): + if domain: + value = domain.get("value") + operator = domain.get("operator", "=") + # Operator = 'all' when coming from JS widget + if operator == "all": + if not isinstance(value, list): + value = [value] + for m in value: + filters.append((filter_name, "in", [m])) + else: + filters.append((filter_name, operator, value)) + return filters + + def _get_additional_move_line_filter(self): + """Prepare a filter to apply on all move lines + + This filter is applied with a AND operator on all + accounting expression domains. This hook is intended + to be inherited, and is useful to implement filtering + on analytic dimensions or operational units. + + The default filter is built from a ``mis_report_filters`` context + key, which is a list set by the analytic filtering mechanism + of the mis report widget:: + + [(field_name, {'value': value, 'operator': operator})] + + Returns an Odoo domain expression (a python list) + compatible with account.move.line.""" + self.ensure_one() + domain = self._get_filter_domain_from_context() + if ( + self._get_aml_model_name() == "account.move.line" + and self.report_instance_id.target_move == "posted" + ): + domain.extend([("move_id.state", "=", "posted")]) + if self.analytic_account_id: + domain.append(("analytic_account_id", "=", self.analytic_account_id.id)) + if self.analytic_group_id: + domain.append( + ("analytic_account_id.group_id", "=", self.analytic_group_id.id) + ) + for tag in self.analytic_tag_ids: + domain.append(("analytic_tag_ids", "=", tag.id)) + return domain + + def _get_additional_query_filter(self, query): + """Prepare an additional filter to apply on the query + + This filter is combined to the query domain with a AND + operator. This hook is intended + to be inherited, and is useful to implement filtering + on analytic dimensions or operational units. + + Returns an Odoo domain expression (a python list) + compatible with the model of the query.""" + self.ensure_one() + return [] + + @api.constrains("mode", "source") + def _check_mode_source(self): + for rec in self: + if rec.source in (SRC_ACTUALS, SRC_ACTUALS_ALT): + if rec.mode == MODE_NONE: + raise DateFilterRequired( + _("A date filter is mandatory for this source " "in column %s.") + % rec.name + ) + elif rec.source in (SRC_SUMCOL, SRC_CMPCOL): + if rec.mode != MODE_NONE: + raise DateFilterForbidden( + _("No date filter is allowed for this source " "in column %s.") + % rec.name + ) + + @api.constrains("source", "source_cmpcol_from_id", "source_cmpcol_to_id") + def _check_source_cmpcol(self): + for rec in self: + if rec.source == SRC_CMPCOL: + if not rec.source_cmpcol_from_id or not rec.source_cmpcol_to_id: + raise ValidationError( + _("Please provide both columns to compare in %s.") % rec.name + ) + if rec.source_cmpcol_from_id == rec or rec.source_cmpcol_to_id == rec: + raise ValidationError( + _("Column %s cannot be compared to itrec.") % rec.name + ) + if ( + rec.source_cmpcol_from_id.report_instance_id + != rec.report_instance_id + or rec.source_cmpcol_to_id.report_instance_id + != rec.report_instance_id + ): + raise ValidationError( + _("Columns to compare must belong to the same report " "in %s") + % rec.name + ) + + def copy_data(self, default=None): + if self.source == SRC_CMPCOL: + # While duplicating a MIS report instance, comparison columns are + # ignored because they would raise an error, as they keep the old + # `source_cmpcol_from_id` and `source_cmpcol_to_id` from the + # original record. + return [ + False, + ] + return super().copy_data(default=default) + + +class MisReportInstance(models.Model): + """The MIS report instance combines everything to compute + a MIS report template for a set of periods.""" + + @api.depends("date") + def _compute_pivot_date(self): + for record in self: + if record.date: + record.pivot_date = record.date + else: + record.pivot_date = fields.Date.context_today(record) + + _name = "mis.report.instance" + _description = "MIS Report Instance" + + name = fields.Char(required=True, string="Name", translate=True) + description = fields.Char(related="report_id.description", readonly=True) + date = fields.Date( + string="Base date", help="Report base date " "(leave empty to use current date)" + ) + pivot_date = fields.Date(compute="_compute_pivot_date", string="Pivot date") + report_id = fields.Many2one("mis.report", required=True, string="Report") + period_ids = fields.One2many( + comodel_name="mis.report.instance.period", + inverse_name="report_instance_id", + required=True, + string="Periods", + copy=True, + ) + target_move = fields.Selection( + [("posted", "All Posted Entries"), ("all", "All Entries")], + string="Target Moves", + required=True, + default="posted", + ) + company_id = fields.Many2one( + comodel_name="res.company", + string="Company", + default=lambda self: self.env.company, + required=True, + ) + multi_company = fields.Boolean( + string="Multiple companies", + help="Check if you wish to specify " + "children companies to be searched for data.", + default=False, + ) + company_ids = fields.Many2many( + comodel_name="res.company", + string="Companies", + help="Select companies for which data will be searched.", + ) + query_company_ids = fields.Many2many( + comodel_name="res.company", + compute="_compute_query_company_ids", + help="Companies for which data will be searched.", + ) + currency_id = fields.Many2one( + comodel_name="res.currency", + string="Currency", + help="Select target currency for the report. " + "Required if companies have different currencies.", + required=False, + ) + landscape_pdf = fields.Boolean(string="Landscape PDF") + no_auto_expand_accounts = fields.Boolean(string="Disable account details expansion") + display_columns_description = fields.Boolean( + help="Display the date range details in the column headers." + ) + comparison_mode = fields.Boolean( + compute="_compute_comparison_mode", inverse="_inverse_comparison_mode" + ) + date_range_id = fields.Many2one(comodel_name="date.range", string="Date Range") + date_from = fields.Date(string="From") + date_to = fields.Date(string="To") + temporary = fields.Boolean(default=False) + analytic_account_id = fields.Many2one( + comodel_name="account.analytic.account", string="Analytic Account" + ) + analytic_group_id = fields.Many2one( + comodel_name="account.analytic.group", + string="Analytic Account Group", + ) + analytic_tag_ids = fields.Many2many( + comodel_name="account.analytic.tag", string="Analytic Tags" + ) + hide_analytic_filters = fields.Boolean(default=True) + + @api.onchange("company_id", "multi_company") + def _onchange_company(self): + if self.company_id and self.multi_company: + self.company_ids = self.env["res.company"].search( + [("id", "child_of", self.company_id.id)] + ) + else: + self.company_ids = False + + @api.depends("multi_company", "company_id", "company_ids") + def _compute_query_company_ids(self): + for rec in self: + if rec.multi_company: + rec.query_company_ids = rec.company_ids or rec.company_id + else: + rec.query_company_ids = rec.company_id + + @api.model + def get_filter_descriptions_from_context(self): + filters = self.env.context.get("mis_report_filters", {}) + analytic_account_id = filters.get("analytic_account_id", {}).get("value") + filter_descriptions = [] + if analytic_account_id: + analytic_account = self.env["account.analytic.account"].browse( + analytic_account_id + ) + filter_descriptions.append( + _("Analytic Account: %s") % analytic_account.display_name + ) + analytic_group_id = filters.get("analytic_account_id.group_id", {}).get("value") + if analytic_group_id: + analytic_group = self.env["account.analytic.group"].browse( + analytic_group_id + ) + filter_descriptions.append( + _("Analytic Account Group: %s") % analytic_group.display_name + ) + analytic_tag_value = filters.get("analytic_tag_ids", {}).get("value") + if analytic_tag_value: + # TODO 14 we need a test to cover this + analytic_tag_names = self.resolve_2many_commands( + "analytic_tag_ids", analytic_tag_value, ["name"] + ) + filter_descriptions.append( + _("Analytic Tags: %s") + % ", ".join([rec["name"] for rec in analytic_tag_names]) + ) + return filter_descriptions + + def save_report(self): + self.ensure_one() + self.write({"temporary": False}) + action = self.env.ref("mis_builder.mis_report_instance_view_action") + res = action.read()[0] + view = self.env.ref("mis_builder.mis_report_instance_view_form") + res.update({"views": [(view.id, "form")], "res_id": self.id}) + return res + + @api.model + def _vacuum_report(self, hours=24): + clear_date = fields.Datetime.to_string( + datetime.datetime.now() - datetime.timedelta(hours=hours) + ) + reports = self.search( + [("write_date", "<", clear_date), ("temporary", "=", True)] + ) + _logger.debug("Vacuum %s Temporary MIS Builder Report", len(reports)) + return reports.unlink() + + def copy(self, default=None): + self.ensure_one() + default = dict(default or {}) + default["name"] = _("%s (copy)") % self.name + return super(MisReportInstance, self).copy(default) + + def _format_date(self, date): + # format date following user language + lang_model = self.env["res.lang"] + lang = lang_model._lang_get(self.env.user.lang) + date_format = lang.date_format + return datetime.datetime.strftime(fields.Date.from_string(date), date_format) + + @api.depends("date_from") + def _compute_comparison_mode(self): + for instance in self: + instance.comparison_mode = bool(instance.period_ids) and not bool( + instance.date_from + ) + + def _inverse_comparison_mode(self): + for record in self: + if not record.comparison_mode: + if not record.date_from: + record.date_from = fields.Date.context_today(self) + if not record.date_to: + record.date_to = fields.Date.context_today(self) + record.period_ids.unlink() + record.write({"period_ids": [(0, 0, {"name": "Default"})]}) + else: + record.date_from = None + record.date_to = None + + @api.onchange("date_range_id") + def _onchange_date_range(self): + if self.date_range_id: + self.date_from = self.date_range_id.date_start + self.date_to = self.date_range_id.date_end + + @api.onchange("date_from", "date_to") + def _onchange_dates(self): + if self.date_range_id: + if ( + self.date_from != self.date_range_id.date_start + or self.date_to != self.date_range_id.date_end + ): + self.date_range_id = False + + def _add_analytic_filters_to_context(self, context): + self.ensure_one() + if self.analytic_account_id: + context["mis_report_filters"]["analytic_account_id"] = { + "value": self.analytic_account_id.id, + "operator": "=", + } + if self.analytic_group_id: + context["mis_report_filters"]["analytic_account_id.group_id"] = { + "value": self.analytic_group_id.id, + "operator": "=", + } + if self.analytic_tag_ids: + context["mis_report_filters"]["analytic_tag_ids"] = { + "value": self.analytic_tag_ids.ids, + "operator": "all", + } + + def _context_with_filters(self): + self.ensure_one() + if "mis_report_filters" in self.env.context: + # analytic filters are already in context, do nothing + return self.env.context + context = dict(self.env.context, mis_report_filters={}) + self._add_analytic_filters_to_context(context) + return context + + def preview(self): + self.ensure_one() + view_id = self.env.ref("mis_builder." "mis_report_instance_result_view_form") + return { + "type": "ir.actions.act_window", + "res_model": "mis.report.instance", + "res_id": self.id, + "view_mode": "form", + "view_id": view_id.id, + "target": "current", + "context": self._context_with_filters(), + } + + def print_pdf(self): + self.ensure_one() + context = dict(self._context_with_filters(), landscape=self.landscape_pdf) + return ( + self.env.ref("mis_builder.qweb_pdf_export") + .with_context(context) + .report_action(self, data=dict(dummy=True)) # required to propagate context + ) + + def export_xls(self): + self.ensure_one() + context = dict(self._context_with_filters()) + return ( + self.env.ref("mis_builder.xls_export") + .with_context(context) + .report_action(self, data=dict(dummy=True)) # required to propagate context + ) + + def display_settings(self): + assert len(self.ids) <= 1 + view_id = self.env.ref("mis_builder.mis_report_instance_view_form") + return { + "type": "ir.actions.act_window", + "res_model": "mis.report.instance", + "res_id": self.id if self.id else False, + "view_mode": "form", + "views": [(view_id.id, "form")], + "view_id": view_id.id, + "target": "current", + } + + def _add_column_move_lines(self, aep, kpi_matrix, period, label, description): + if not period.date_from or not period.date_to: + raise UserError( + _("Column %s with move lines source must have from/to dates.") + % (period.name,) + ) + expression_evaluator = ExpressionEvaluator( + aep, + period.date_from, + period.date_to, + None, # target_move now part of additional_move_line_filter + period._get_additional_move_line_filter(), + period._get_aml_model_name(), + ) + self.report_id._declare_and_compute_period( + expression_evaluator, + kpi_matrix, + period.id, + label, + description, + period.subkpi_ids, + period._get_additional_query_filter, + no_auto_expand_accounts=self.no_auto_expand_accounts, + ) + + def _add_column_sumcol(self, aep, kpi_matrix, period, label, description): + kpi_matrix.declare_sum( + period.id, + [(c.sign, c.period_to_sum_id.id) for c in period.source_sumcol_ids], + label, + description, + period.source_sumcol_accdet, + ) + + def _add_column_cmpcol(self, aep, kpi_matrix, period, label, description): + kpi_matrix.declare_comparison( + period.id, + period.source_cmpcol_to_id.id, + period.source_cmpcol_from_id.id, + label, + description, + ) + + def _add_column(self, aep, kpi_matrix, period, label, description): + if period.source == SRC_ACTUALS: + return self._add_column_move_lines( + aep, kpi_matrix, period, label, description + ) + elif period.source == SRC_ACTUALS_ALT: + return self._add_column_move_lines( + aep, kpi_matrix, period, label, description + ) + elif period.source == SRC_SUMCOL: + return self._add_column_sumcol(aep, kpi_matrix, period, label, description) + elif period.source == SRC_CMPCOL: + return self._add_column_cmpcol(aep, kpi_matrix, period, label, description) + + def _compute_matrix(self): + """Compute a report and return a KpiMatrix. + + The key attribute of the matrix columns (KpiMatrixCol) + is guaranteed to be the id of the mis.report.instance.period. + """ + self.ensure_one() + aep = self.report_id._prepare_aep(self.query_company_ids, self.currency_id) + kpi_matrix = self.report_id.prepare_kpi_matrix(self.multi_company) + for period in self.period_ids: + description = None + if period.mode == MODE_NONE: + pass + elif not self.display_columns_description: + pass + elif period.date_from == period.date_to and period.date_from: + description = self._format_date(period.date_from) + elif period.date_from and period.date_to: + date_from = self._format_date(period.date_from) + date_to = self._format_date(period.date_to) + description = _("from %s to %s") % (date_from, date_to) + self._add_column(aep, kpi_matrix, period, period.name, description) + kpi_matrix.compute_comparisons() + kpi_matrix.compute_sums() + return kpi_matrix + + def compute(self): + self.ensure_one() + kpi_matrix = self._compute_matrix() + return kpi_matrix.as_dict() + + def drilldown(self, arg): + self.ensure_one() + period_id = arg.get("period_id") + expr = arg.get("expr") + account_id = arg.get("account_id") + if period_id and expr and AEP.has_account_var(expr): + period = self.env["mis.report.instance.period"].browse(period_id) + aep = AEP( + self.query_company_ids, self.currency_id, self.report_id.account_model + ) + aep.parse_expr(expr) + aep.done_parsing() + domain = aep.get_aml_domain_for_expr( + expr, + period.date_from, + period.date_to, + None, # target_move now part of additional_move_line_filter + account_id, + ) + domain.extend(period._get_additional_move_line_filter()) + return { + "name": self._get_drilldown_action_name(arg), + "domain": domain, + "type": "ir.actions.act_window", + "res_model": period._get_aml_model_name(), + "views": [[False, "list"], [False, "form"]], + "view_mode": "list", + "target": "current", + "context": {"active_test": False}, + } + else: + return False + + def _get_drilldown_action_name(self, arg): + kpi_id = arg.get("kpi_id") + kpi = self.env["mis.report.kpi"].browse(kpi_id) + period_id = arg.get("period_id") + period = self.env["mis.report.instance.period"].browse(period_id) + account_id = arg.get("account_id") + + if account_id: + account = self.env[self.report_id.account_model].browse(account_id) + return "{kpi} - {account} - {period}".format( + kpi=kpi.description, + account=account.display_name, + period=period.display_name, + ) + else: + return "{kpi} - {period}".format( + kpi=kpi.description, + period=period.display_name, + ) diff --git a/odex25_accounting/mis_builder/models/mis_report_style.py b/odex25_accounting/mis_builder/models/mis_report_style.py new file mode 100644 index 000000000..c206f2cf8 --- /dev/null +++ b/odex25_accounting/mis_builder/models/mis_report_style.py @@ -0,0 +1,311 @@ +# Copyright 2016 Therp BV () +# Copyright 2016 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import sys + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + +from .accounting_none import AccountingNone +from .data_error import DataError + +if sys.version_info.major >= 3: + unicode = str + + +class PropertyDict(dict): + def __getattr__(self, name): + return self.get(name) + + def copy(self): # pylint: disable=copy-wo-api-one,method-required-super + return PropertyDict(self) + + +PROPS = [ + "color", + "background_color", + "font_style", + "font_weight", + "font_size", + "indent_level", + "prefix", + "suffix", + "dp", + "divider", + "hide_empty", + "hide_always", +] + +TYPE_NUM = "num" +TYPE_PCT = "pct" +TYPE_STR = "str" + +CMP_DIFF = "diff" +CMP_PCT = "pct" +CMP_NONE = "none" + + +class MisReportKpiStyle(models.Model): + + _name = "mis.report.style" + _description = "MIS Report Style" + + @api.constrains("indent_level") + def check_positive_val(self): + for record in self: + if record.indent_level < 0: + raise ValidationError( + _("Indent level must be greater than " "or equal to 0") + ) + + _font_style_selection = [("normal", "Normal"), ("italic", "Italic")] + + _font_weight_selection = [("nornal", "Normal"), ("bold", "Bold")] + + _font_size_selection = [ + ("medium", "medium"), + ("xx-small", "xx-small"), + ("x-small", "x-small"), + ("small", "small"), + ("large", "large"), + ("x-large", "x-large"), + ("xx-large", "xx-large"), + ] + + _font_size_to_xlsx_size = { + "medium": 11, + "xx-small": 5, + "x-small": 7, + "small": 9, + "large": 13, + "x-large": 15, + "xx-large": 17, + } + + # style name + # TODO enforce uniqueness + name = fields.Char(string="Style name", required=True) + + # color + color_inherit = fields.Boolean(default=True) + color = fields.Char( + string="Text color", + help="Text color in valid RGB code (from #000000 to #FFFFFF)", + default="#000000", + ) + background_color_inherit = fields.Boolean(default=True) + background_color = fields.Char( + help="Background color in valid RGB code (from #000000 to #FFFFFF)", + default="#FFFFFF", + ) + # font + font_style_inherit = fields.Boolean(default=True) + font_style = fields.Selection(selection=_font_style_selection) + font_weight_inherit = fields.Boolean(default=True) + font_weight = fields.Selection(selection=_font_weight_selection) + font_size_inherit = fields.Boolean(default=True) + font_size = fields.Selection(selection=_font_size_selection) + # indent + indent_level_inherit = fields.Boolean(default=True) + indent_level = fields.Integer() + # number format + prefix_inherit = fields.Boolean(default=True) + prefix = fields.Char(size=16, string="Prefix") + suffix_inherit = fields.Boolean(default=True) + suffix = fields.Char(size=16, string="Suffix") + dp_inherit = fields.Boolean(default=True) + dp = fields.Integer(string="Rounding", default=0) + divider_inherit = fields.Boolean(default=True) + divider = fields.Selection( + [ + ("1e-6", _("µ")), + ("1e-3", _("m")), + ("1", _("1")), + ("1e3", _("k")), + ("1e6", _("M")), + ], + string="Factor", + default="1", + ) + hide_empty_inherit = fields.Boolean(default=True) + hide_empty = fields.Boolean(default=False) + hide_always_inherit = fields.Boolean(default=True) + hide_always = fields.Boolean(default=False) + + @api.model + def merge(self, styles): + """Merge several styles, giving priority to the last. + + Returns a PropertyDict of style properties. + """ + r = PropertyDict() + for style in styles: + if not style: + continue + if isinstance(style, dict): + r.update(style) + else: + for prop in PROPS: + inherit = getattr(style, prop + "_inherit", None) + if not inherit: + value = getattr(style, prop) + r[prop] = value + return r + + @api.model + def render(self, lang, style_props, type, value, sign="-"): + if type == TYPE_NUM: + return self.render_num( + lang, + value, + style_props.divider, + style_props.dp, + style_props.prefix, + style_props.suffix, + sign=sign, + ) + elif type == TYPE_PCT: + return self.render_pct(lang, value, style_props.dp, sign=sign) + else: + return self.render_str(lang, value) + + @api.model + def render_num( + self, lang, value, divider=1.0, dp=0, prefix=None, suffix=None, sign="-" + ): + # format number following user language + if value is None or value is AccountingNone: + return u"" + value = round(value / float(divider or 1), dp or 0) or 0 + r = lang.format("%%%s.%df" % (sign, dp or 0), value, grouping=True) + r = r.replace("-", u"\N{NON-BREAKING HYPHEN}") + if prefix: + r = prefix + u"\N{NO-BREAK SPACE}" + r + if suffix: + r = r + u"\N{NO-BREAK SPACE}" + suffix + return r + + @api.model + def render_pct(self, lang, value, dp=1, sign="-"): + return self.render_num(lang, value, divider=0.01, dp=dp, suffix="%", sign=sign) + + @api.model + def render_str(self, lang, value): + if value is None or value is AccountingNone: + return u"" + return unicode(value) + + @api.model + def compare_and_render( + self, + lang, + style_props, + type, + compare_method, + value, + base_value, + average_value=1, + average_base_value=1, + ): + """ + :param lang: res.lang record + :param style_props: PropertyDict with style properties + :param type: num, pct or str + :param compare_method: diff, pct, none + :param value: value to compare (value - base_value) + :param base_value: value compared with (value - base_value) + :param average_value: value = value / average_value + :param average_base_value: base_value = base_value / average_base_value + :return: tuple with 4 elements + - delta = comparison result (Float or AccountingNone) + - delta_r = delta rendered in formatted string (String) + - delta_style = PropertyDict with style properties + - delta_type = Type of the comparison result (num or pct) + """ + delta = AccountingNone + delta_r = "" + delta_style = style_props.copy() + delta_type = TYPE_NUM + if isinstance(value, DataError) or isinstance(base_value, DataError): + return AccountingNone, "", delta_style, delta_type + if value is None: + value = AccountingNone + if base_value is None: + base_value = AccountingNone + if type == TYPE_PCT: + delta = value - base_value + if delta and round(delta, (style_props.dp or 0) + 2) != 0: + delta_style.update(divider=0.01, prefix="", suffix=_("pp")) + else: + delta = AccountingNone + elif type == TYPE_NUM: + if value and average_value: + # pylint: disable=redefined-variable-type + value = value / float(average_value) + if base_value and average_base_value: + # pylint: disable=redefined-variable-type + base_value = base_value / float(average_base_value) + if compare_method == CMP_DIFF: + delta = value - base_value + if delta and round(delta, style_props.dp or 0) != 0: + pass + else: + delta = AccountingNone + elif compare_method == CMP_PCT: + if base_value and round(base_value, style_props.dp or 0) != 0: + delta = (value - base_value) / abs(base_value) + if delta and round(delta, 3) != 0: + delta_style.update(dp=1) + delta_type = TYPE_PCT + else: + delta = AccountingNone + if delta is not AccountingNone: + delta_r = self.render(lang, delta_style, delta_type, delta, sign="+") + return delta, delta_r, delta_style, delta_type + + @api.model + def to_xlsx_style(self, type, props, no_indent=False): + xlsx_attributes = [ + ("italic", props.font_style == "italic"), + ("bold", props.font_weight == "bold"), + ("size", self._font_size_to_xlsx_size.get(props.font_size, 11)), + ("font_color", props.color), + ("bg_color", props.background_color), + ] + if type == TYPE_NUM: + num_format = u"#,##0" + if props.dp: + num_format += u"." + num_format += u"0" * props.dp + if props.prefix: + num_format = u'"{} "{}'.format(props.prefix, num_format) + if props.suffix: + num_format = u'{}" {}"'.format(num_format, props.suffix) + xlsx_attributes.append(("num_format", num_format)) + elif type == TYPE_PCT: + num_format = u"0" + if props.dp: + num_format += u"." + num_format += u"0" * props.dp + num_format += "%" + xlsx_attributes.append(("num_format", num_format)) + if props.indent_level is not None and not no_indent: + xlsx_attributes.append(("indent", props.indent_level)) + return dict([a for a in xlsx_attributes if a[1] is not None]) + + @api.model + def to_css_style(self, props, no_indent=False): + css_attributes = [ + ("font-style", props.font_style), + ("font-weight", props.font_weight), + ("font-size", props.font_size), + ("color", props.color), + ("background-color", props.background_color), + ] + if props.indent_level is not None and not no_indent: + css_attributes.append(("text-indent", "{}em".format(props.indent_level))) + return ( + "; ".join(["%s: %s" % a for a in css_attributes if a[1] is not None]) + or None + ) diff --git a/odex25_accounting/mis_builder/models/mis_report_subreport.py b/odex25_accounting/mis_builder/models/mis_report_subreport.py new file mode 100644 index 000000000..3f3cdbe2c --- /dev/null +++ b/odex25_accounting/mis_builder/models/mis_report_subreport.py @@ -0,0 +1,66 @@ +# Copyright 2020 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + +from odoo.addons.mis_builder.models.mis_report import _is_valid_python_var + + +class ParentLoopError(ValidationError): + pass + + +class InvalidNameError(ValidationError): + pass + + +class MisReportSubReport(models.Model): + _name = "mis.report.subreport" + _description = "MIS Report - Sub Reports Relation" + + name = fields.Char(required=True) + report_id = fields.Many2one(comodel_name="mis.report", required=True) + subreport_id = fields.Many2one(comodel_name="mis.report", required=True) + + _sql_constraints = [ + ( + "name_unique", + "unique(name, report_id)", + "Subreport name should be unique by report", + ), + ( + "subreport_unique", + "unique(subreport_id, report_id)", + "Should not include the same report more than once as sub report " + "of a given report", + ), + ] + + @api.constrains("name") + def _check_name(self): + for rec in self: + if not _is_valid_python_var(rec.name): + raise InvalidNameError( + _("Subreport name ({}) must be a valid python identifier").format( + rec.name + ) + ) + + @api.constrains("report_id", "subreport_id") + def _check_loop(self): + def _has_subreport(reports, report): + if not reports: + return False + if report in reports: + return True + return any( + _has_subreport(r.subreport_ids.mapped("subreport_id"), report) + for r in reports + ) + + for rec in self: + if _has_subreport(rec.subreport_id, rec.report_id): + raise ParentLoopError(_("Subreport loop detected")) + + # TODO check subkpi compatibility in subreports diff --git a/odex25_accounting/mis_builder/models/mis_safe_eval.py b/odex25_accounting/mis_builder/models/mis_safe_eval.py new file mode 100644 index 000000000..42fa31834 --- /dev/null +++ b/odex25_accounting/mis_builder/models/mis_safe_eval.py @@ -0,0 +1,33 @@ +# Copyright 2016 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import traceback + +from odoo.tools.safe_eval import _BUILTINS, _SAFE_OPCODES, test_expr + +from .data_error import DataError, NameDataError + +__all__ = ["mis_safe_eval"] + + +def mis_safe_eval(expr, locals_dict): + """Evaluate an expression using safe_eval + + Returns the evaluated value or DataError. + + Raises NameError if the evaluation depends on a variable that is not + present in local_dict. + """ + try: + c = test_expr(expr, _SAFE_OPCODES, mode="eval") + globals_dict = {"__builtins__": _BUILTINS} + # pylint: disable=eval-used,eval-referenced + val = eval(c, globals_dict, locals_dict) + except NameError: + val = NameDataError("#NAME", traceback.format_exc()) + except ZeroDivisionError: + # pylint: disable=redefined-variable-type + val = DataError("#DIV/0", traceback.format_exc()) + except Exception: + val = DataError("#ERR", traceback.format_exc()) + return val diff --git a/odex25_accounting/mis_builder/models/prorata_read_group_mixin.py b/odex25_accounting/mis_builder/models/prorata_read_group_mixin.py new file mode 100644 index 000000000..ba3ab08db --- /dev/null +++ b/odex25_accounting/mis_builder/models/prorata_read_group_mixin.py @@ -0,0 +1,96 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import _, api, fields, models +from odoo.exceptions import UserError +from odoo.fields import Date + +from .mis_kpi_data import intersect_days + + +class ProRataReadGroupMixin(models.AbstractModel): + _name = "prorata.read_group.mixin" + _description = "Adapt model with date_from/date_to for pro-rata temporis read_group" + + date_from = fields.Date(required=True) + date_to = fields.Date(required=True) + date = fields.Date( + compute=lambda self: None, + search="_search_date", + help=( + "Dummy field that adapts searches on date " + "to searches on date_from/date_to." + ), + ) + + def _search_date(self, operator, value): + if operator in (">=", ">"): + return [("date_to", operator, value)] + elif operator in ("<=", "<"): + return [("date_from", operator, value)] + raise UserError( + _("Unsupported operator %s for searching on date") % (operator,) + ) + + @api.model + def _intersect_days(self, item_dt_from, item_dt_to, dt_from, dt_to): + return intersect_days(item_dt_from, item_dt_to, dt_from, dt_to) + + @api.model + def read_group( + self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True + ): + """Override read_group to perform pro-rata temporis adjustments. + + When read_group is invoked with a domain that filters on + a time period (date >= from and date <= to, or + date_from <= to and date_to >= from), adjust the accumulated + values pro-rata temporis. + """ + date_from = None + date_to = None + assert isinstance(domain, list) + for domain_item in domain: + if isinstance(domain_item, (list, tuple)): + field, op, value = domain_item + if field == "date" and op == ">=": + date_from = value + elif field == "date_to" and op == ">=": + date_from = value + elif field == "date" and op == "<=": + date_to = value + elif field == "date_from" and op == "<=": + date_to = value + if ( + date_from is not None + and date_to is not None + and not any(":" in f for f in fields) + ): + dt_from = Date.from_string(date_from) + dt_to = Date.from_string(date_to) + res = {} + sum_fields = set(fields) - set(groupby) + read_fields = set(fields + ["date_from", "date_to"]) + for item in self.search(domain).read(read_fields): + key = tuple(item[k] for k in groupby) + if key not in res: + res[key] = {k: item[k] for k in groupby} + res[key].update({k: 0.0 for k in sum_fields}) + res_item = res[key] + for sum_field in sum_fields: + item_dt_from = Date.from_string(item["date_from"]) + item_dt_to = Date.from_string(item["date_to"]) + i_days, item_days = self._intersect_days( + item_dt_from, item_dt_to, dt_from, dt_to + ) + res_item[sum_field] += item[sum_field] * i_days / item_days + return res.values() + return super(ProRataReadGroupMixin, self).read_group( + domain, + fields, + groupby, + offset=offset, + limit=limit, + orderby=orderby, + lazy=lazy, + ) diff --git a/odex25_accounting/mis_builder/models/simple_array.py b/odex25_accounting/mis_builder/models/simple_array.py new file mode 100644 index 000000000..507d5a6e0 --- /dev/null +++ b/odex25_accounting/mis_builder/models/simple_array.py @@ -0,0 +1,184 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +""" A trivial immutable array that supports basic arithmetic operations. + +>>> a = SimpleArray((1.0, 2.0, 3.0)) +>>> b = SimpleArray((4.0, 5.0, 6.0)) +>>> t = (4.0, 5.0, 6.0) +>>> +a +SimpleArray((1.0, 2.0, 3.0)) +>>> -a +SimpleArray((-1.0, -2.0, -3.0)) +>>> a + b +SimpleArray((5.0, 7.0, 9.0)) +>>> b + a +SimpleArray((5.0, 7.0, 9.0)) +>>> a + t +SimpleArray((5.0, 7.0, 9.0)) +>>> t + a +SimpleArray((5.0, 7.0, 9.0)) +>>> a - b +SimpleArray((-3.0, -3.0, -3.0)) +>>> a - t +SimpleArray((-3.0, -3.0, -3.0)) +>>> t - a +SimpleArray((3.0, 3.0, 3.0)) +>>> a * b +SimpleArray((4.0, 10.0, 18.0)) +>>> b * a +SimpleArray((4.0, 10.0, 18.0)) +>>> a * t +SimpleArray((4.0, 10.0, 18.0)) +>>> t * a +SimpleArray((4.0, 10.0, 18.0)) +>>> a / b +SimpleArray((0.25, 0.4, 0.5)) +>>> b / a +SimpleArray((4.0, 2.5, 2.0)) +>>> a / t +SimpleArray((0.25, 0.4, 0.5)) +>>> t / a +SimpleArray((4.0, 2.5, 2.0)) +>>> b / 2 +SimpleArray((2.0, 2.5, 3.0)) +>>> 2 * b +SimpleArray((8.0, 10.0, 12.0)) +>>> 1 - b +SimpleArray((-3.0, -4.0, -5.0)) +>>> b += 2 ; b +SimpleArray((6.0, 7.0, 8.0)) +>>> a / ((1.0, 0.0, 1.0)) +SimpleArray((1.0, DataError('#DIV/0'), 3.0)) +>>> a / 0.0 +SimpleArray((DataError('#DIV/0'), DataError('#DIV/0'), DataError('#DIV/0'))) +>>> a * ((1.0, 'a', 1.0)) +SimpleArray((1.0, DataError('#ERR'), 3.0)) +>>> 6.0 / a +SimpleArray((6.0, 3.0, 2.0)) +>>> Vector = named_simple_array('Vector', ('x', 'y')) +>>> p1 = Vector((1, 2)) +>>> print(p1.x, p1.y, p1) +1 2 Vector((1, 2)) +>>> p2 = Vector((2, 3)) +>>> print(p2.x, p2.y, p2) +2 3 Vector((2, 3)) +>>> p3 = p1 + p2 +>>> print(p3.x, p3.y, p3) +3 5 Vector((3, 5)) +>>> p4 = (4, 5) + p2 +>>> print(p4.x, p4.y, p4) +6 8 Vector((6, 8)) +>>> p1 * 2 +Vector((2, 4)) +>>> 2 * p1 +Vector((2, 4)) +>>> p1 - 1 +Vector((0, 1)) +>>> 1 - p1 +Vector((0, -1)) +>>> p1 / 2.0 +Vector((0.5, 1.0)) +>>> v = 2.0 / p1 +>>> print(v.x, v.y, v) +2.0 1.0 Vector((2.0, 1.0)) +""" + +import itertools +import operator +import traceback + +from .data_error import DataError + +__all__ = ["SimpleArray", "named_simple_array"] + + +class SimpleArray(tuple): + def _op(self, op, other): + def _o2(x, y): + try: + return op(x, y) + except ZeroDivisionError: + return DataError("#DIV/0", traceback.format_exc()) + except Exception: + return DataError("#ERR", traceback.format_exc()) + + if isinstance(other, tuple): + if len(other) != len(self): + raise TypeError("tuples must have same length for %s" % op) + return self.__class__(map(_o2, self, other)) + else: + return self.__class__(_o2(z, other) for z in self) + + def _cast(self, other): + if isinstance(other, self.__class__): + return other + elif isinstance(other, tuple): + return self.__class__(other) + else: + # other is a scalar + return self.__class__(itertools.repeat(other, len(self))) + + def __add__(self, other): + return self._op(operator.add, other) + + __radd__ = __add__ + + def __pos__(self): + return self.__class__(map(operator.pos, self)) + + def __neg__(self): + return self.__class__(map(operator.neg, self)) + + def __sub__(self, other): + return self._op(operator.sub, other) + + def __rsub__(self, other): + return self._cast(other)._op(operator.sub, self) + + def __mul__(self, other): + return self._op(operator.mul, other) + + __rmul__ = __mul__ + + def __div__(self, other): + return self._op(operator.div, other) + + def __floordiv__(self, other): + return self._op(operator.floordiv, other) + + def __truediv__(self, other): + return self._op(operator.truediv, other) + + def __rdiv__(self, other): + return self._cast(other)._op(operator.div, self) + + def __rfloordiv__(self, other): + return self._cast(other)._op(operator.floordiv, self) + + def __rtruediv__(self, other): + return self._cast(other)._op(operator.truediv, self) + + def __repr__(self): + return "{}({})".format(self.__class__.__name__, tuple.__repr__(self)) + + +def named_simple_array(typename, field_names): + """Return a subclass of SimpleArray, with named properties. + + This method is to SimpleArray what namedtuple is to tuple. + It's less sophisticated than namedtuple so some namedtuple + advanced use cases may not work, but it's good enough for + our needs in mis_builder, ie referring to subkpi values + by name. + """ + props = { + field_name: property(operator.itemgetter(i)) + for i, field_name in enumerate(field_names) + } + return type(typename, (SimpleArray,), props) + + +if __name__ == "__main__": # pragma: no cover + import doctest + + doctest.testmod() diff --git a/odex25_accounting/mis_builder/readme/CONTRIBUTORS.rst b/odex25_accounting/mis_builder/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000..0bd722a3f --- /dev/null +++ b/odex25_accounting/mis_builder/readme/CONTRIBUTORS.rst @@ -0,0 +1,23 @@ +* Stéphane Bidoul +* Laetitia Gangloff +* Adrien Peiffer +* Alexis de Lattre +* Alexandre Fayolle +* Jordi Ballester +* Thomas Binsfeld +* Giovanni Capalbo +* Marco Calcagni +* Sébastien Beau +* Laurent Mignon +* Luc De Meyer +* Benjamin Willig +* Martronic SA +* nicomacr +* Juan Jose Scarafia +* Richard deMeester +* Eric Caudal +* Andrea Stirpe +* Maxence Groine +* Arnaud Pineux +* Ernesto Tejeda +* Pedro M. Baeza diff --git a/odex25_accounting/mis_builder/readme/DESCRIPTION.rst b/odex25_accounting/mis_builder/readme/DESCRIPTION.rst new file mode 100644 index 000000000..44542643d --- /dev/null +++ b/odex25_accounting/mis_builder/readme/DESCRIPTION.rst @@ -0,0 +1,5 @@ +This module allows you to build Management Information Systems dashboards. +Such style of reports presents KPI in rows and time periods in columns. +Reports mainly fetch data from account moves, but can also combine data coming +from arbitrary Odoo models. Reports can be exported to PDF, Excel and they +can be added to Odoo dashboards. diff --git a/odex25_accounting/mis_builder/readme/DEVELOP.rst b/odex25_accounting/mis_builder/readme/DEVELOP.rst new file mode 100644 index 000000000..6595dbe2b --- /dev/null +++ b/odex25_accounting/mis_builder/readme/DEVELOP.rst @@ -0,0 +1,6 @@ +A typical extension is to provide a mechanism to filter reports on analytic dimensions +or operational units. To implement this, you can override _get_additional_move_line_filter +and _get_additional_filter to further filter move lines or queries based on a user +selection. A typical use case could be to add an analytic account field on mis.report.instance, +or even on mis.report.instance.period if you want different columns to show different +analytic accounts. diff --git a/odex25_accounting/mis_builder/readme/HISTORY.rst b/odex25_accounting/mis_builder/readme/HISTORY.rst new file mode 100644 index 000000000..4e320ba68 --- /dev/null +++ b/odex25_accounting/mis_builder/readme/HISTORY.rst @@ -0,0 +1,428 @@ +14.0.3.6.7 (2021-06-02) +**Bugfixes** + +- When on a MIS Report Instance, if you wanted to generate a new line of type comparison, you couldn't currently select any existing period to compare. + This happened because the field domain was searching in a NewId context, thus not finding a correct period. + Changing the domain and making it use a computed field with a search for the _origin record solves the problem. (`#361 `_) + + +14.0.3.6.6 (2021-04-23) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Bugfixes** + +- Fix drilldown action name when the account model has been customized. (`#350 `_) + + +14.0.3.6.5 (2021-04-23) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Bugfixes** + +- While duplicating a MIS report instance, comparison columns are ignored because + they would raise an error otherwise, as they keep the old source_cmpcol_from_id + and source_cmpcol_to_id from the original record. (`#343 `_) + + +14.0.3.6.4 (2021-04-06) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Features** + +- The drilldown action name displayed on the breadcrumb has been revised. + The kpi description and the account ``display_name`` are shown instead + of the kpi's technical definition. (`#304 `_) +- Add analytic group filters on report instance, periods and in the interactive + view. (`#320 `_) + + +13.0.3.6.3 (2020-08-28) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Bugfixes** + +- Having a "Compare columns" added on a KPI with an associated style using a + Factor/Divider did lead to the said factor being applied on the percentages + when exporting to XLSX. (`#300 `_) + + +**Misc** + +- `#280 `_, `#296 `_ + + +13.0.3.6.2 (2020-04-22) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Bugfixes** + +- The "Settings" button is now displayed for users with the "Show full accounting features" right when previewing a report. (`#281 `_) + + +13.0.3.6.1 (2020-04-22) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Bugfixes** + +- Fix ``TypeError: 'module' object is not iterable`` when using + budgets by account. (`#276 `_) + + +13.0.3.6.0 (2020-03-28) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Features** + +- Add column-level filters on analytic account and analytic tags. + These filters are combined with a AND with the report-level filters + and cannot be modified in the preview. (`#138 `_) +- Access to KPI from other reports in KPI expressions, aka subreports. In a + report template, one can list named "subreports" (other report templates). When + evaluating expressions, you can access KPI's of subreports with a dot-prefix + notation. Example: you can define a MIS Report for a "Balance Sheet", and then + have another MIS Report "Balance Sheet Ratios" that fetches KPI's from "Balance + Sheet" to create new KPI's for the ratios (e.g. balance_sheet.current_assets / + balance_sheet.total_assets). (`#155 `_) + + +13.0.3.5.0 (2020-01-??) +~~~~~~~~~~~~~~~~~~~~~~~ + +Migration to odoo 13.0. + +12.0.3.5.0 (2019-10-26) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Features** + +- The ``account_id`` field of the model selected in 'Move lines source' + in the Period form can now be a Many2one + relationship with any model that has a ``code`` field (not only with + ``account.account`` model). To this end, the model to be used for Actuals + move lines can be configured on the report template. It can be something else + than move lines and the only constraint is that its ``account_id`` field + has a ``code`` field. (`#149 `_) +- Add ``source_aml_model_name`` field so extension modules providing + alternative data sources can more easily customize their data source. (`#214 `_) +- Support analytic tag filters in the backend view and preview widget. + Selecting several tags in the filter means filtering on move lines which + have *all* these tags set. This is to support the most common use case of + using tags for different dimensions. The filter also makes a AND with the + analytic account filter. (`#228 `_) +- Display company in account details rows in multi-company mode. (`#242 `_) + + +**Bugfixes** + +- Propagate context to xlsx report, so the analytic account filter + works when exporting to xslx too. This also requires a fix to + ``report_xlsx`` (see https://github.com/OCA/reporting-engine/pull/259). (`#178 `_) +- In columns of type Sum, preserve styles for KPIs that are not summable + (eg percentage values). Before this fix, such cells were displayed without + style. (`#219 `_) +- In Excel export, keep the percentage point suffix (pp) instead of replacing it with %. (`#220 `_) + + +12.0.3.4.0 (2019-07-09) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Features** + +- New year-to-date mode for defining periods. (`#165 `_) +- Add support for move lines with negative debit or credit. + Used by some for storno accounting. Not officially supported. (`#175 `_) +- In Excel export, use a number format with thousands separator. The + specific separator used depends on the Excel configuration (eg regional + settings). (`#190 `_) +- Add generation date/time at the end of the XLS export. (`#191 `_) +- In presence of Sub KPIs, report more informative user errors when + non-multi expressions yield tuples of incorrect lenght. (`#196 `_) + + +**Bugfixes** + +- Fix rendering of percentage types in Excel export. (`#192 `_) + + +12.0.3.3.0 (2019-01-26) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Features** + +*Dynamic analytic filters in report preview are not yet available in 11, +this requires an update to the JS widget that proved difficult to implement +so far. Help welcome.* + +- Analytic account filters. On a report, an analytic + account can be selected for filtering. The filter will + be applied to move lines queries. A filter box is also + available in the widget to let the user select the analytic + account during report preview. (`#15 `_) +- Control visibility of analytic filter combo box in widget. + This is useful to hide the analytic filters on reports where + they do not make sense, such as balance sheet reports. (`#42 `_) +- Display analytic filters in the header of exported pdf and xls. (`#44 `_) +- Replace the last old gtk icons with fontawesome icons. (`#104 `_) +- Use active_test=False in AEP queries. + This is important for reports involving inactive taxes. + This should not negatively effect existing reports, because + an accounting report must take into account all existing move lines + even if they reference objects such as taxes, journals, accounts types + that have been deactivated since their creation. (`#107 `_) +- int(), float() and round() support for AccountingNone. (`#108 `_) +- Allow referencing subkpis by name by writing `kpi_x.subkpi_y` in expressions. (`#114 `_) +- Add an option to control the display of the start/end dates in the + column headers. It is disabled by default (this is a change compared + to previous behaviour). (`#118 `_) +- Add evaluate method to mis.report. This is a simplified + method to evaluate kpis of a report over a time period, + without creating a mis.report.instance. (`#123 `_) + +**Bugs** + +- In the style form, hide the "Hide always" checkbox when "Hide always inherit" + is checked, as for all other syle elements. (`#121 _`) + +**Upgrading from 3.2 (breaking changes)** + +If you use ``Actuals (alternative)`` data source in combination with analytic +filters, the underlying model must now have an ``analytic_account_id`` field. + + +11.0.3.2.2 (2018-06-30) +~~~~~~~~~~~~~~~~~~~~~~~ + +* [FIX] Fix bug in company_default_get call returning + id instead of recordset + (`#103 `_) +* [IMP] add "hide always" style property to make hidden KPI's + (for KPI that serve as basis for other formulas, but do not + need to be displayed). + (`#46 `_) + +11.0.3.2.1 (2018-05-29) +~~~~~~~~~~~~~~~~~~~~~~~ + +* [FIX] Missing comparison operator for AccountingNone + leading to errors in pbal computations + (`#93 `_) + +10.0.3.2.0 (2018-05-02) +~~~~~~~~~~~~~~~~~~~~~~~ + +* [FIX] make subkpi ordering deterministic + (`#71 `_) +* [ADD] report instance level option to disable account expansion, + enabling the creation of detailed templates while deferring the decision + of rendering the details or not to the report instance + (`#74 `_) +* [ADD] pbal and nbal accounting expressions, to sum positive + and negative balances respectively (ie ignoring accounts with negative, + resp positive balances) + (`#86 `_) + +11.0.3.1.2 (2018-02-04) +~~~~~~~~~~~~~~~~~~~~~~~ + +Migration to Odoo 11. No new feature. +(`#67 `_) + +10.0.3.1.1 (2017-11-14) +~~~~~~~~~~~~~~~~~~~~~~~ + +New features: + +* [ADD] month and year relative periods, easier to use than + date ranges for the most common case. + (`#2 `_) +* [ADD] multi-company consolidation support, with currency conversion + (the conversion rate date is the end of the reporting period) + (`#7 `_, + `#3 `_) +* [ADD] provide ref, datetime, dateutil, time, user in the evaluation + context of move line domains; among other things, this allows using + references to xml ids (such as account types or tax tags) when + querying move lines + (`#26 `_). +* [ADD] extended account selectors: you can now select accounts using + any domain on account.account, not only account codes + ``balp[('user_type_id', '=', ref('account.data_account_type_receivable').id)]`` + (`#4 `_). +* [IMP] in the report instance configuration form, the filters are + now grouped in a notebook page, this improves readability and + extensibility + (`#39 `_). + +Bug fixes: + +* [FIX] fix error when saving periods in comparison mode on newly + created (not yet saved) report instances. + `#50 `_ +* [FIX] improve display of Base Date report instance view. + `#51 `_ + +Upgrading from 3.0 (breaking changes): + +* Alternative move line data sources must have a company_id field. + +10.0.3.0.4 (2017-10-14) +~~~~~~~~~~~~~~~~~~~~~~~ + +Bug fix: + +* [FIX] issue with initial balance rounding. + `#30 `_ + +10.0.3.0.3 (2017-10-03) +~~~~~~~~~~~~~~~~~~~~~~~ + +Bug fix: + +* [FIX] fix error saving KPI on newly created reports. + `#18 `_ + +10.0.3.0.2 (2017-10-01) +~~~~~~~~~~~~~~~~~~~~~~~ + +New features: + +* [ADD] Alternative move line source per report column. + This makes mis buidler accounting expressions work on any model + that has debit, credit, account_id and date fields. Provided you can + expose, say, committed purchases, or your budget as a view with + debit, credit and account_id, this opens up a lot of possibilities +* [ADD] Comparison column source (more flexible than the previous, + now deprecated, comparison mechanism). + CAVEAT: there is no automated migration to the new mechanism. +* [ADD] Sum column source, to create columns that add/subtract + other columns. +* [ADD] mis.kpi.data abstract model as a basis for manual KPI values + supporting automatic ajustment to the reporting time period (the basis + for budget item, but could also server other purposes, such as manually + entering some KPI values, such as number of employee) +* [ADD] mis_builder_budget module providing a new budget data source +* [ADD] new "hide empty" style property +* [IMP] new AEP method to get accounts involved in an expression + (this is useful to find which KPI relate to a given P&L + acount, to implement budget control) +* [IMP] many UI improvements +* [IMP] many code style improvements and some refactoring +* [IMP] add the column date_from, date_to in expression evaluation context, + as well as time, datetime and dateutil modules + +Main bug fixes: + +* [FIX] deletion of templates and reports (cascade and retricts) + (https://github.com/OCA/account-financial-reporting/issues/281) +* [FIX] copy of reports + (https://github.com/OCA/account-financial-reporting/issues/282) +* [FIX] better error message when periods have wrong/missing dates + (https://github.com/OCA/account-financial-reporting/issues/283) +* [FIX] xlsx export of string types KPI + (https://github.com/OCA/account-financial-reporting/issues/285) +* [FIX] sorting of detail by account +* [FIX] computation bug in detail by account when multiple accounting + expressions were used in a KPI +* [FIX] permission issue when adding report to dashboard with non admin user + +10.0.2.0.3 (unreleased) +~~~~~~~~~~~~~~~~~~~~~~~ + +* [IMP] more robust behaviour in presence of missing expressions +* [FIX] indent style +* [FIX] local variable 'ctx' referenced before assignment when generating + reports with no objects +* [IMP] use fontawesome icons +* [MIG] migrate to 10.0 +* [FIX] unicode error when exporting to Excel +* [IMP] provide full access to mis builder style for group Adviser. + +9.0.2.0.2 (2016-09-27) +~~~~~~~~~~~~~~~~~~~~~~ + +* [IMP] Add refresh button in mis report preview. +* [IMP] Widget code changes to allow to add fields in the widget more easily. + +9.0.2.0.1 (2016-05-26) +~~~~~~~~~~~~~~~~~~~~~~ + +* [IMP] remove unused argument in declare_and_compute_period() + for a cleaner API. This is a breaking API changing merged in + urgency before it is used by other modules. + +9.0.2.0.0 (2016-05-24) +~~~~~~~~~~~~~~~~~~~~~~ + +Part of the work for this release has been done at the Sorrento sprint +April 26-29, 2016. The rest (ie a major refactoring) has been done in +the weeks after. + +* [IMP] hide button box in edit mode on the report instance settings form +* [FIX] Fix sum aggregation of non-stored fields + (https://github.com/OCA/account-financial-reporting/issues/178) +* [IMP] There is now a default style at the report level +* [CHG] Number display properties (rounding, prefix, suffix, factor) are + now defined in styles +* [CHG] Percentage difference are rounded to 1 digit instead of the kpi's + rounding, as the KPI rounding does not make sense in this case +* [CHG] The divider suffix (k, M, etc) is not inserted automatically anymore + because it is inconsistent when working with prefixes; you need to add it + manually in the suffix +* [IMP] AccountingExpressionProcessor now supports 'balu' expressions + to obtain the unallocated profit/loss of previous fiscal years; + get_unallocated_pl is the corresponding convenience method +* [IMP] AccountingExpressionProcessor now has easy methods to obtain + balances by account: get_balances_initial, get_balances_end, + get_balances_variation +* [IMP] there is now an auto-expand feature to automatically display + a detail by account for selected kpis +* [IMP] the kpi and period lists are now manipulated through forms instead + of directly in the tree views +* [IMP] it is now possible to create a report through a wizard, such + reports are deemed temporary and available through a "Last Reports Generated" + menu, they are garbaged collected automatically, unless saved permanently, + which can be done using a Save button +* [IMP] there is now a beginner mode to configure simple reports with + only one period +* [IMP] it is now easier to configure periods with fixed start/end dates +* [IMP] the new sub-kpi mechanism allows the creation of columns + with multiple values, or columns with different values +* [IMP] thanks to the new style model, the Excel export is now styled +* [IMP] a new style model is now used to centralize style configuration +* [FIX] use =like instead of like to search for accounts, because + the % are added by the user in the expressions +* [FIX] Correctly compute the initial balance of income and expense account + based on the start of the fiscal year +* [IMP] Support date ranges (from OCA/server-tools/date_range) as a more + flexible alternative to fiscal periods +* v9 migration: fiscal periods are removed, account charts are removed, + consolidation accounts have been removed + +8.0.1.0.0 (2016-04-27) +~~~~~~~~~~~~~~~~~~~~~~ + +* The copy of a MIS Report Instance now copies period. + https://github.com/OCA/account-financial-reporting/pull/181 +* The copy of a MIS Report Template now copies KPIs and queries. + https://github.com/OCA/account-financial-reporting/pull/177 +* Usability: the default view for MIS Report instances is now the rendered preview, + and the settings are accessible through a gear icon in the list view and + a button in the preview. + https://github.com/OCA/account-financial-reporting/pull/170 +* Display blank cells instead of 0.0 when there is no data. + https://github.com/OCA/account-financial-reporting/pull/169 +* Usability: better layout of the MIS Report periods settings on small screens. + https://github.com/OCA/account-financial-reporting/pull/167 +* Include the download buttons inside the MIS Builder widget, and refactor + the widget to open the door to analytic filtering in the previews. + https://github.com/OCA/account-financial-reporting/pull/151 +* Add KPI rendering prefixes (so you can print $ in front of the value). + https://github.com/OCA/account-financial-reporting/pull/158 +* Add hooks for analytic filtering. + https://github.com/OCA/account-financial-reporting/pull/128 + https://github.com/OCA/account-financial-reporting/pull/131 + +8.0.0.2.0 +~~~~~~~~~ + +Pre-history. Or rather, you need to look at the git log. diff --git a/odex25_accounting/mis_builder/readme/INSTALL.rst b/odex25_accounting/mis_builder/readme/INSTALL.rst new file mode 100644 index 000000000..7b0f57714 --- /dev/null +++ b/odex25_accounting/mis_builder/readme/INSTALL.rst @@ -0,0 +1,7 @@ +Your preferred way to install addons will work with MIS Builder. + +An easy way to install it with all its dependencies is using pip: + +* ``pip install --pre odoo12-addon-mis_builder`` +* then restart Odoo, update the addons list in your database, and install + the MIS Builder application. diff --git a/odex25_accounting/mis_builder/readme/ROADMAP.rst b/odex25_accounting/mis_builder/readme/ROADMAP.rst new file mode 100644 index 000000000..085352cdb --- /dev/null +++ b/odex25_accounting/mis_builder/readme/ROADMAP.rst @@ -0,0 +1,3 @@ +The mis_builder `roadmap `_ +and `known issues `_ can +be found on GitHub. diff --git a/odex25_accounting/mis_builder/readme/USAGE.rst b/odex25_accounting/mis_builder/readme/USAGE.rst new file mode 100644 index 000000000..19383ac2b --- /dev/null +++ b/odex25_accounting/mis_builder/readme/USAGE.rst @@ -0,0 +1,26 @@ +To configure this module, you need to: + +* Go to Accounting > Configuration > MIS Reporting > MIS Report Templates where + you can create report templates by defining KPI's. KPI's constitute the rows of your + reports. Such report templates are time independent. + +.. figure:: https://raw.githubusercontent.com/OCA/mis-builder/10.0/mis_builder/static/description/ex_report_template.png + :alt: Sample report template + :width: 80 % + :align: center + +* Then in Accounting > Reports > MIS Reporting > MIS Reports you can create report instance by + binding the templates to time periods, hence defining the columns of your reports. + +.. figure:: https://raw.githubusercontent.com/OCA/mis-builder/10.0/mis_builder/static/description/ex_report_settings.png + :alt: Sample report configuration + :width: 80 % + :align: center + +* From the MIS Reports view, you can preview the report, add it to and Odoo dashboard, + and export it to PDF or Excel. + +.. figure:: https://raw.githubusercontent.com/OCA/mis-builder/10.0/mis_builder/static/description/ex_report_preview.png + :alt: Sample preview + :width: 80 % + :align: center diff --git a/odex25_accounting/mis_builder/readme/newsfragments/.gitignore b/odex25_accounting/mis_builder/readme/newsfragments/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/odex25_accounting/mis_builder/report/__init__.py b/odex25_accounting/mis_builder/report/__init__.py new file mode 100644 index 000000000..6f814d60b --- /dev/null +++ b/odex25_accounting/mis_builder/report/__init__.py @@ -0,0 +1,5 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import mis_report_instance_qweb +from . import mis_report_instance_xlsx diff --git a/odex25_accounting/mis_builder/report/mis_report_instance_qweb.py b/odex25_accounting/mis_builder/report/mis_report_instance_qweb.py new file mode 100644 index 000000000..bf7d07e3b --- /dev/null +++ b/odex25_accounting/mis_builder/report/mis_report_instance_qweb.py @@ -0,0 +1,28 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import logging + +from odoo import models + +_logger = logging.getLogger(__name__) + + +class Report(models.Model): + _inherit = "ir.actions.report" + + def _render_qweb_pdf(self, res_ids=None, data=None): + if self.report_name == "mis_builder.report_mis_report_instance": + if not res_ids: + res_ids = self.env.context.get("active_ids") + mis_report_instance = self.env["mis.report.instance"].browse(res_ids)[0] + context = dict( + mis_report_instance._context_with_filters(), + landscape=mis_report_instance.landscape_pdf, + ) + # data=None, because it was there only to force Odoo + # to propagate context + return super(Report, self.with_context(context))._render_qweb_pdf( + res_ids, data=None + ) + return super(Report, self)._render_qweb_pdf(res_ids, data) diff --git a/odex25_accounting/mis_builder/report/mis_report_instance_qweb.xml b/odex25_accounting/mis_builder/report/mis_report_instance_qweb.xml new file mode 100644 index 000000000..c1146f809 --- /dev/null +++ b/odex25_accounting/mis_builder/report/mis_report_instance_qweb.xml @@ -0,0 +1,116 @@ + + + + MIS report instance QWEB PDF report + mis.report.instance + ir.actions.report + mis_builder.report_mis_report_instance + qweb-pdf + + + + + diff --git a/odex25_accounting/mis_builder/report/mis_report_instance_xlsx.py b/odex25_accounting/mis_builder/report/mis_report_instance_xlsx.py new file mode 100644 index 000000000..a35ff42fe --- /dev/null +++ b/odex25_accounting/mis_builder/report/mis_report_instance_xlsx.py @@ -0,0 +1,174 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import logging +import numbers +from collections import defaultdict +from datetime import datetime + +from odoo import _, fields, models + +from ..models.accounting_none import AccountingNone +from ..models.data_error import DataError +from ..models.mis_report_style import TYPE_STR + +_logger = logging.getLogger(__name__) + + +ROW_HEIGHT = 15 # xlsxwriter units +COL_WIDTH = 0.9 # xlsxwriter units +MIN_COL_WIDTH = 10 # characters +MAX_COL_WIDTH = 50 # characters + + +class MisBuilderXlsx(models.AbstractModel): + _name = "report.mis_builder.mis_report_instance_xlsx" + _description = "MIS Builder XLSX report" + _inherit = "report.report_xlsx.abstract" + + def generate_xlsx_report(self, workbook, data, objects): + + # get the computed result of the report + matrix = objects._compute_matrix() + style_obj = self.env["mis.report.style"] + + # create worksheet + report_name = u"{} - {}".format( + objects[0].name, u", ".join([a.name for a in objects[0].query_company_ids]) + ) + sheet = workbook.add_worksheet(report_name[:31]) + row_pos = 0 + col_pos = 0 + # width of the labels column + label_col_width = MIN_COL_WIDTH + # {col_pos: max width in characters} + col_width = defaultdict(lambda: MIN_COL_WIDTH) + + # document title + bold = workbook.add_format({"bold": True}) + header_format = workbook.add_format( + {"bold": True, "align": "center", "bg_color": "#F0EEEE"} + ) + sheet.write(row_pos, 0, report_name, bold) + row_pos += 2 + + # filters + if not objects.hide_analytic_filters: + for filter_description in objects.get_filter_descriptions_from_context(): + sheet.write(row_pos, 0, filter_description) + row_pos += 1 + row_pos += 1 + + # column headers + sheet.write(row_pos, 0, "", header_format) + col_pos = 1 + for col in matrix.iter_cols(): + label = col.label + if col.description: + label += "\n" + col.description + sheet.set_row(row_pos, ROW_HEIGHT * 2) + if col.colspan > 1: + sheet.merge_range( + row_pos, + col_pos, + row_pos, + col_pos + col.colspan - 1, + label, + header_format, + ) + else: + sheet.write(row_pos, col_pos, label, header_format) + col_width[col_pos] = max( + col_width[col_pos], len(col.label or ""), len(col.description or "") + ) + col_pos += col.colspan + row_pos += 1 + + # sub column headers + sheet.write(row_pos, 0, "", header_format) + col_pos = 1 + for subcol in matrix.iter_subcols(): + label = subcol.label + if subcol.description: + label += "\n" + subcol.description + sheet.set_row(row_pos, ROW_HEIGHT * 2) + sheet.write(row_pos, col_pos, label, header_format) + col_width[col_pos] = max( + col_width[col_pos], + len(subcol.label or ""), + len(subcol.description or ""), + ) + col_pos += 1 + row_pos += 1 + + # rows + for row in matrix.iter_rows(): + if ( + row.style_props.hide_empty and row.is_empty() + ) or row.style_props.hide_always: + continue + row_xlsx_style = style_obj.to_xlsx_style(TYPE_STR, row.style_props) + row_format = workbook.add_format(row_xlsx_style) + col_pos = 0 + label = row.label + if row.description: + label += "\n" + row.description + sheet.set_row(row_pos, ROW_HEIGHT * 2) + sheet.write(row_pos, col_pos, label, row_format) + label_col_width = max( + label_col_width, len(row.label or ""), len(row.description or "") + ) + for cell in row.iter_cells(): + col_pos += 1 + if not cell or cell.val is AccountingNone: + # TODO col/subcol format + sheet.write(row_pos, col_pos, "", row_format) + continue + cell_xlsx_style = style_obj.to_xlsx_style( + cell.val_type, cell.style_props, no_indent=True + ) + cell_xlsx_style["align"] = "right" + cell_format = workbook.add_format(cell_xlsx_style) + if isinstance(cell.val, DataError): + val = cell.val.name + # TODO display cell.val.msg as Excel comment? + elif cell.val is None or cell.val is AccountingNone: + val = "" + else: + divider = float(cell.style_props.get("divider", 1)) + if ( + divider != 1 + and isinstance(cell.val, numbers.Number) + and not cell.val_type == "pct" + ): + val = cell.val / divider + else: + val = cell.val + sheet.write(row_pos, col_pos, val, cell_format) + col_width[col_pos] = max( + col_width[col_pos], len(cell.val_rendered or "") + ) + row_pos += 1 + + # Add date/time footer + row_pos += 1 + footer_format = workbook.add_format( + {"italic": True, "font_color": "#202020", "size": 9} + ) + lang_model = self.env["res.lang"] + lang = lang_model._lang_get(self.env.user.lang) + + now_tz = fields.Datetime.context_timestamp( + self.env["res.users"], datetime.now() + ) + create_date = _("Generated on {} at {}").format( + now_tz.strftime(lang.date_format), now_tz.strftime(lang.time_format) + ) + sheet.write(row_pos, 0, create_date, footer_format) + + # adjust col widths + sheet.set_column(0, 0, min(label_col_width, MAX_COL_WIDTH) * COL_WIDTH) + data_col_width = min(MAX_COL_WIDTH, max(col_width.values())) + min_col_pos = min(col_width.keys()) + max_col_pos = max(col_width.keys()) + sheet.set_column(min_col_pos, max_col_pos, data_col_width * COL_WIDTH) diff --git a/odex25_accounting/mis_builder/report/mis_report_instance_xlsx.xml b/odex25_accounting/mis_builder/report/mis_report_instance_xlsx.xml new file mode 100644 index 000000000..6059075b3 --- /dev/null +++ b/odex25_accounting/mis_builder/report/mis_report_instance_xlsx.xml @@ -0,0 +1,11 @@ + + + + MIS report instance XLS report + mis.report.instance + ir.actions.report + mis_builder.mis_report_instance_xlsx + xlsx + mis_report_instance + + diff --git a/odex25_accounting/mis_builder/security/ir.model.access.csv b/odex25_accounting/mis_builder/security/ir.model.access.csv new file mode 100644 index 000000000..5a61ee7cf --- /dev/null +++ b/odex25_accounting/mis_builder/security/ir.model.access.csv @@ -0,0 +1,22 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +manage_mis_report_kpi,manage_mis_report_kpi,model_mis_report_kpi,account.group_account_manager,1,1,1,1 +access_mis_report_kpi,access_mis_report_kpi,model_mis_report_kpi,base.group_user,1,0,0,0 +manage_mis_report_query,manage_mis_report_query,model_mis_report_query,account.group_account_manager,1,1,1,1 +access_mis_report_query,access_mis_report_query,model_mis_report_query,base.group_user,1,0,0,0 +manage_mis_report,manage_mis_report,model_mis_report,account.group_account_manager,1,1,1,1 +access_mis_report,access_mis_report,model_mis_report,base.group_user,1,0,0,0 +manage_mis_report_instance_period,manage_mis_report_instance_period,model_mis_report_instance_period,account.group_account_manager,1,1,1,1 +access_mis_report_instance_period,access_mis_report_instance_period,model_mis_report_instance_period,base.group_user,1,0,0,0 +manage_mis_report_instance_period_sum,manage_mis_report_instance_period_sum,model_mis_report_instance_period_sum,account.group_account_manager,1,1,1,1 +access_mis_report_instance_period_sum,access_mis_report_instance_period_sum,model_mis_report_instance_period_sum,base.group_user,1,0,0,0 +manage_mis_report_instance,manage_mis_report_instance,model_mis_report_instance,account.group_account_manager,1,1,1,1 +access_mis_report_instance,access_mis_report_instance,model_mis_report_instance,base.group_user,1,0,0,0 +manage_mis_report_subkpi,access_mis_report_subkpi,model_mis_report_subkpi,account.group_account_manager,1,1,1,1 +access_mis_report_subkpi,access_mis_report_subkpi,model_mis_report_subkpi,base.group_user,1,0,0,0 +manage_mis_report_kpi_expression,access_mis_report_kpi_expression,model_mis_report_kpi_expression,account.group_account_manager,1,1,1,1 +access_mis_report_kpi_expression,access_mis_report_kpi_expression,model_mis_report_kpi_expression,base.group_user,1,0,0,0 +manage_mis_report_subreport,access_mis_report_subreport,model_mis_report_subreport,account.group_account_manager,1,1,1,1 +access_mis_report_subreport,access_mis_report_subreport,model_mis_report_subreport,base.group_user,1,0,0,0 +manage_mis_report_style,access_mis_report_style,model_mis_report_style,account.group_account_manager,1,1,1,1 +access_mis_report_style,access_mis_report_style,model_mis_report_style,base.group_user,1,0,0,0 +access_add_to_dashboard_wizard,access_add_to_dashboard_wizard,model_add_mis_report_instance_dashboard_wizard,base.group_user,1,1,1,0 diff --git a/odex25_accounting/mis_builder/security/mis_builder_security.xml b/odex25_accounting/mis_builder/security/mis_builder_security.xml new file mode 100644 index 000000000..6c37f2513 --- /dev/null +++ b/odex25_accounting/mis_builder/security/mis_builder_security.xml @@ -0,0 +1,10 @@ + + + + Mis Report Instance multi company + + + ['|',('company_id','=',False),('company_id','in',company_ids)] + + + diff --git a/odex25_accounting/mis_builder/static/description/ex_report_preview.png b/odex25_accounting/mis_builder/static/description/ex_report_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..e818c5244272f9a71fe6e0300fa5d58fe8431e07 GIT binary patch literal 96172 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�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�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�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 RhR2>EEv^756xI9u{{h_mD*ONd literal 0 HcmV?d00001 diff --git a/odex25_accounting/mis_builder/static/description/ex_report_template.png b/odex25_accounting/mis_builder/static/description/ex_report_template.png new file mode 100644 index 0000000000000000000000000000000000000000..33950ae6ab8ad00133220b385242e1926a455262 GIT binary patch literal 100278 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 SZ#_W!L0kO^82R|+@Ba%!cmA;e literal 0 HcmV?d00001 diff --git a/odex25_accounting/mis_builder/static/description/icon.png b/odex25_accounting/mis_builder/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1afa781fabb8088818f3940ef56711e6281bd31e GIT binary patch literal 4770 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 literal 0 HcmV?d00001 diff --git a/odex25_accounting/mis_builder/static/description/index.html b/odex25_accounting/mis_builder/static/description/index.html new file mode 100644 index 000000000..9d39660cf --- /dev/null +++ b/odex25_accounting/mis_builder/static/description/index.html @@ -0,0 +1,949 @@ + + + + + + +MIS Builder + + + +

    +

    MIS Builder

    + + +

    Production/Stable License: AGPL-3 OCA/mis-builder Translate me on Weblate Try me on Runbot

    +

    This module allows you to build Management Information Systems dashboards. +Such style of reports presents KPI in rows and time periods in columns. +Reports mainly fetch data from account moves, but can also combine data coming +from arbitrary Odoo models. Reports can be exported to PDF, Excel and they +can be added to Odoo dashboards.

    +

    Table of contents

    + +
    +

    Installation

    +

    Your preferred way to install addons will work with MIS Builder.

    +

    An easy way to install it with all its dependencies is using pip:

    +
      +
    • pip install --pre odoo12-addon-mis_builder
    • +
    • then restart Odoo, update the addons list in your database, and install +the MIS Builder application.
    • +
    +
    +
    +

    Usage

    +

    To configure this module, you need to:

    +
      +
    • Go to Accounting > Configuration > MIS Reporting > MIS Report Templates where +you can create report templates by defining KPI’s. KPI’s constitute the rows of your +reports. Such report templates are time independent.
    • +
    +
    +Sample report template +
    +
      +
    • Then in Accounting > Reports > MIS Reporting > MIS Reports you can create report instance by +binding the templates to time periods, hence defining the columns of your reports.
    • +
    +
    +Sample report configuration +
    +
      +
    • From the MIS Reports view, you can preview the report, add it to and Odoo dashboard, +and export it to PDF or Excel.
    • +
    +
    +Sample preview +
    +
    +
    +

    Development

    +

    A typical extension is to provide a mechanism to filter reports on analytic dimensions +or operational units. To implement this, you can override _get_additional_move_line_filter +and _get_additional_filter to further filter move lines or queries based on a user +selection. A typical use case could be to add an analytic account field on mis.report.instance, +or even on mis.report.instance.period if you want different columns to show different +analytic accounts.

    +
    +
    +

    Known issues / Roadmap

    +

    The mis_builder roadmap +and known issues can +be found on GitHub.

    +
    +
    +

    Changelog

    +

    14.0.3.6.7 (2021-06-02) +Bugfixes

    +
      +
    • When on a MIS Report Instance, if you wanted to generate a new line of type comparison, you couldn’t currently select any existing period to compare. +This happened because the field domain was searching in a NewId context, thus not finding a correct period. +Changing the domain and making it use a computed field with a search for the _origin record solves the problem. (#361)
    • +
    +
    +

    14.0.3.6.6 (2021-04-23)

    +

    Bugfixes

    +
      +
    • Fix drilldown action name when the account model has been customized. (#350)
    • +
    +
    +
    +

    14.0.3.6.5 (2021-04-23)

    +

    Bugfixes

    +
      +
    • While duplicating a MIS report instance, comparison columns are ignored because +they would raise an error otherwise, as they keep the old source_cmpcol_from_id +and source_cmpcol_to_id from the original record. (#343)
    • +
    +
    +
    +

    14.0.3.6.4 (2021-04-06)

    +

    Features

    +
      +
    • The drilldown action name displayed on the breadcrumb has been revised. +The kpi description and the account display_name are shown instead +of the kpi’s technical definition. (#304)
    • +
    • Add analytic group filters on report instance, periods and in the interactive +view. (#320)
    • +
    +
    +
    +

    13.0.3.6.3 (2020-08-28)

    +

    Bugfixes

    +
      +
    • Having a “Compare columns” added on a KPI with an associated style using a +Factor/Divider did lead to the said factor being applied on the percentages +when exporting to XLSX. (#300)
    • +
    +

    Misc

    + +
    +
    +

    13.0.3.6.2 (2020-04-22)

    +

    Bugfixes

    +
      +
    • The “Settings” button is now displayed for users with the “Show full accounting features” right when previewing a report. (#281)
    • +
    +
    +
    +

    13.0.3.6.1 (2020-04-22)

    +

    Bugfixes

    +
      +
    • Fix TypeError: 'module' object is not iterable when using +budgets by account. (#276)
    • +
    +
    +
    +

    13.0.3.6.0 (2020-03-28)

    +

    Features

    +
      +
    • Add column-level filters on analytic account and analytic tags. +These filters are combined with a AND with the report-level filters +and cannot be modified in the preview. (#138)
    • +
    • Access to KPI from other reports in KPI expressions, aka subreports. In a +report template, one can list named “subreports” (other report templates). When +evaluating expressions, you can access KPI’s of subreports with a dot-prefix +notation. Example: you can define a MIS Report for a “Balance Sheet”, and then +have another MIS Report “Balance Sheet Ratios” that fetches KPI’s from “Balance +Sheet” to create new KPI’s for the ratios (e.g. balance_sheet.current_assets / +balance_sheet.total_assets). (#155)
    • +
    +
    +
    +

    13.0.3.5.0 (2020-01-??)

    +

    Migration to odoo 13.0.

    +
    +
    +

    12.0.3.5.0 (2019-10-26)

    +

    Features

    +
      +
    • The account_id field of the model selected in ‘Move lines source’ +in the Period form can now be a Many2one +relationship with any model that has a code field (not only with +account.account model). To this end, the model to be used for Actuals +move lines can be configured on the report template. It can be something else +than move lines and the only constraint is that its account_id field +has a code field. (#149)
    • +
    • Add source_aml_model_name field so extension modules providing +alternative data sources can more easily customize their data source. (#214)
    • +
    • Support analytic tag filters in the backend view and preview widget. +Selecting several tags in the filter means filtering on move lines which +have all these tags set. This is to support the most common use case of +using tags for different dimensions. The filter also makes a AND with the +analytic account filter. (#228)
    • +
    • Display company in account details rows in multi-company mode. (#242)
    • +
    +

    Bugfixes

    +
      +
    • Propagate context to xlsx report, so the analytic account filter +works when exporting to xslx too. This also requires a fix to +report_xlsx (see https://github.com/OCA/reporting-engine/pull/259). (#178)
    • +
    • In columns of type Sum, preserve styles for KPIs that are not summable +(eg percentage values). Before this fix, such cells were displayed without +style. (#219)
    • +
    • In Excel export, keep the percentage point suffix (pp) instead of replacing it with %. (#220)
    • +
    +
    +
    +

    12.0.3.4.0 (2019-07-09)

    +

    Features

    +
      +
    • New year-to-date mode for defining periods. (#165)
    • +
    • Add support for move lines with negative debit or credit. +Used by some for storno accounting. Not officially supported. (#175)
    • +
    • In Excel export, use a number format with thousands separator. The +specific separator used depends on the Excel configuration (eg regional +settings). (#190)
    • +
    • Add generation date/time at the end of the XLS export. (#191)
    • +
    • In presence of Sub KPIs, report more informative user errors when +non-multi expressions yield tuples of incorrect lenght. (#196)
    • +
    +

    Bugfixes

    +
      +
    • Fix rendering of percentage types in Excel export. (#192)
    • +
    +
    +
    +

    12.0.3.3.0 (2019-01-26)

    +

    Features

    +

    Dynamic analytic filters in report preview are not yet available in 11, +this requires an update to the JS widget that proved difficult to implement +so far. Help welcome.

    +
      +
    • Analytic account filters. On a report, an analytic +account can be selected for filtering. The filter will +be applied to move lines queries. A filter box is also +available in the widget to let the user select the analytic +account during report preview. (#15)
    • +
    • Control visibility of analytic filter combo box in widget. +This is useful to hide the analytic filters on reports where +they do not make sense, such as balance sheet reports. (#42)
    • +
    • Display analytic filters in the header of exported pdf and xls. (#44)
    • +
    • Replace the last old gtk icons with fontawesome icons. (#104)
    • +
    • Use active_test=False in AEP queries. +This is important for reports involving inactive taxes. +This should not negatively effect existing reports, because +an accounting report must take into account all existing move lines +even if they reference objects such as taxes, journals, accounts types +that have been deactivated since their creation. (#107)
    • +
    • int(), float() and round() support for AccountingNone. (#108)
    • +
    • Allow referencing subkpis by name by writing kpi_x.subkpi_y in expressions. (#114)
    • +
    • Add an option to control the display of the start/end dates in the +column headers. It is disabled by default (this is a change compared +to previous behaviour). (#118)
    • +
    • Add evaluate method to mis.report. This is a simplified +method to evaluate kpis of a report over a time period, +without creating a mis.report.instance. (#123)
    • +
    +

    Bugs

    +
      +
    • In the style form, hide the “Hide always” checkbox when “Hide always inherit” +is checked, as for all other syle elements. (#121 <https://github.com/OCA/mis-builder/pull/121>_)
    • +
    +

    Upgrading from 3.2 (breaking changes)

    +

    If you use Actuals (alternative) data source in combination with analytic +filters, the underlying model must now have an analytic_account_id field.

    +
    +
    +

    11.0.3.2.2 (2018-06-30)

    +
      +
    • [FIX] Fix bug in company_default_get call returning +id instead of recordset +(#103)
    • +
    • [IMP] add “hide always” style property to make hidden KPI’s +(for KPI that serve as basis for other formulas, but do not +need to be displayed). +(#46)
    • +
    +
    +
    +

    11.0.3.2.1 (2018-05-29)

    +
      +
    • [FIX] Missing comparison operator for AccountingNone +leading to errors in pbal computations +(#93)
    • +
    +
    +
    +

    10.0.3.2.0 (2018-05-02)

    +
      +
    • [FIX] make subkpi ordering deterministic +(#71)
    • +
    • [ADD] report instance level option to disable account expansion, +enabling the creation of detailed templates while deferring the decision +of rendering the details or not to the report instance +(#74)
    • +
    • [ADD] pbal and nbal accounting expressions, to sum positive +and negative balances respectively (ie ignoring accounts with negative, +resp positive balances) +(#86)
    • +
    +
    +
    +

    11.0.3.1.2 (2018-02-04)

    +

    Migration to Odoo 11. No new feature. +(#67)

    +
    +
    +

    10.0.3.1.1 (2017-11-14)

    +

    New features:

    +
      +
    • [ADD] month and year relative periods, easier to use than +date ranges for the most common case. +(#2)
    • +
    • [ADD] multi-company consolidation support, with currency conversion +(the conversion rate date is the end of the reporting period) +(#7, +#3)
    • +
    • [ADD] provide ref, datetime, dateutil, time, user in the evaluation +context of move line domains; among other things, this allows using +references to xml ids (such as account types or tax tags) when +querying move lines +(#26).
    • +
    • [ADD] extended account selectors: you can now select accounts using +any domain on account.account, not only account codes +balp[('user_type_id', '=', ref('account.data_account_type_receivable').id)] +(#4).
    • +
    • [IMP] in the report instance configuration form, the filters are +now grouped in a notebook page, this improves readability and +extensibility +(#39).
    • +
    +

    Bug fixes:

    +
      +
    • [FIX] fix error when saving periods in comparison mode on newly +created (not yet saved) report instances. +#50
    • +
    • [FIX] improve display of Base Date report instance view. +#51
    • +
    +

    Upgrading from 3.0 (breaking changes):

    +
      +
    • Alternative move line data sources must have a company_id field.
    • +
    +
    +
    +

    10.0.3.0.4 (2017-10-14)

    +

    Bug fix:

    +
      +
    • [FIX] issue with initial balance rounding. +#30
    • +
    +
    +
    +

    10.0.3.0.3 (2017-10-03)

    +

    Bug fix:

    +
      +
    • [FIX] fix error saving KPI on newly created reports. +#18
    • +
    +
    +
    +

    10.0.3.0.2 (2017-10-01)

    +

    New features:

    +
      +
    • [ADD] Alternative move line source per report column. +This makes mis buidler accounting expressions work on any model +that has debit, credit, account_id and date fields. Provided you can +expose, say, committed purchases, or your budget as a view with +debit, credit and account_id, this opens up a lot of possibilities
    • +
    • [ADD] Comparison column source (more flexible than the previous, +now deprecated, comparison mechanism). +CAVEAT: there is no automated migration to the new mechanism.
    • +
    • [ADD] Sum column source, to create columns that add/subtract +other columns.
    • +
    • [ADD] mis.kpi.data abstract model as a basis for manual KPI values +supporting automatic ajustment to the reporting time period (the basis +for budget item, but could also server other purposes, such as manually +entering some KPI values, such as number of employee)
    • +
    • [ADD] mis_builder_budget module providing a new budget data source
    • +
    • [ADD] new “hide empty” style property
    • +
    • [IMP] new AEP method to get accounts involved in an expression +(this is useful to find which KPI relate to a given P&L +acount, to implement budget control)
    • +
    • [IMP] many UI improvements
    • +
    • [IMP] many code style improvements and some refactoring
    • +
    • [IMP] add the column date_from, date_to in expression evaluation context, +as well as time, datetime and dateutil modules
    • +
    +

    Main bug fixes:

    + +
    +
    +

    10.0.2.0.3 (unreleased)

    +
      +
    • [IMP] more robust behaviour in presence of missing expressions
    • +
    • [FIX] indent style
    • +
    • [FIX] local variable ‘ctx’ referenced before assignment when generating +reports with no objects
    • +
    • [IMP] use fontawesome icons
    • +
    • [MIG] migrate to 10.0
    • +
    • [FIX] unicode error when exporting to Excel
    • +
    • [IMP] provide full access to mis builder style for group Adviser.
    • +
    +
    +
    +

    9.0.2.0.2 (2016-09-27)

    +
      +
    • [IMP] Add refresh button in mis report preview.
    • +
    • [IMP] Widget code changes to allow to add fields in the widget more easily.
    • +
    +
    +
    +

    9.0.2.0.1 (2016-05-26)

    +
      +
    • [IMP] remove unused argument in declare_and_compute_period() +for a cleaner API. This is a breaking API changing merged in +urgency before it is used by other modules.
    • +
    +
    +
    +

    9.0.2.0.0 (2016-05-24)

    +

    Part of the work for this release has been done at the Sorrento sprint +April 26-29, 2016. The rest (ie a major refactoring) has been done in +the weeks after.

    +
      +
    • [IMP] hide button box in edit mode on the report instance settings form
    • +
    • [FIX] Fix sum aggregation of non-stored fields +(https://github.com/OCA/account-financial-reporting/issues/178)
    • +
    • [IMP] There is now a default style at the report level
    • +
    • [CHG] Number display properties (rounding, prefix, suffix, factor) are +now defined in styles
    • +
    • [CHG] Percentage difference are rounded to 1 digit instead of the kpi’s +rounding, as the KPI rounding does not make sense in this case
    • +
    • [CHG] The divider suffix (k, M, etc) is not inserted automatically anymore +because it is inconsistent when working with prefixes; you need to add it +manually in the suffix
    • +
    • [IMP] AccountingExpressionProcessor now supports ‘balu’ expressions +to obtain the unallocated profit/loss of previous fiscal years; +get_unallocated_pl is the corresponding convenience method
    • +
    • [IMP] AccountingExpressionProcessor now has easy methods to obtain +balances by account: get_balances_initial, get_balances_end, +get_balances_variation
    • +
    • [IMP] there is now an auto-expand feature to automatically display +a detail by account for selected kpis
    • +
    • [IMP] the kpi and period lists are now manipulated through forms instead +of directly in the tree views
    • +
    • [IMP] it is now possible to create a report through a wizard, such +reports are deemed temporary and available through a “Last Reports Generated” +menu, they are garbaged collected automatically, unless saved permanently, +which can be done using a Save button
    • +
    • [IMP] there is now a beginner mode to configure simple reports with +only one period
    • +
    • [IMP] it is now easier to configure periods with fixed start/end dates
    • +
    • [IMP] the new sub-kpi mechanism allows the creation of columns +with multiple values, or columns with different values
    • +
    • [IMP] thanks to the new style model, the Excel export is now styled
    • +
    • [IMP] a new style model is now used to centralize style configuration
    • +
    • [FIX] use =like instead of like to search for accounts, because +the % are added by the user in the expressions
    • +
    • [FIX] Correctly compute the initial balance of income and expense account +based on the start of the fiscal year
    • +
    • [IMP] Support date ranges (from OCA/server-tools/date_range) as a more +flexible alternative to fiscal periods
    • +
    • v9 migration: fiscal periods are removed, account charts are removed, +consolidation accounts have been removed
    • +
    +
    +
    +

    8.0.1.0.0 (2016-04-27)

    + +
    +
    +

    8.0.0.2.0

    +

    Pre-history. Or rather, you need to look at the git log.

    +
    +
    +
    +

    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

    +
      +
    • ACSONE SA/NV
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    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:

    +

    sbidoul

    +

    This module is part of the OCA/mis-builder project on GitHub.

    +

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

    +
    +
    +
    + + diff --git a/odex25_accounting/mis_builder/static/src/css/custom.css b/odex25_accounting/mis_builder/static/src/css/custom.css new file mode 100644 index 000000000..3ea36d7a6 --- /dev/null +++ b/odex25_accounting/mis_builder/static/src/css/custom.css @@ -0,0 +1,29 @@ +.o_web_client .mis_builder_amount { + text-align: right; +} + +.o_web_client .mis_builder_collabel { + text-align: center; +} + +.o_web_client .mis_builder_rowlabel { + text-align: left; +} + +.o_web_client .mis_builder a { + /* we don't want the link color, to respect user styles */ + color: inherit; +} + +.o_web_client .mis_builder a:hover { + /* underline links on hover to give a visual cue */ + text-decoration: underline; +} + +.oe_mis_builder_content { + padding: 10px; +} + +.oe_mis_builder_analytic_filter_box { + padding-bottom: 10px; +} diff --git a/odex25_accounting/mis_builder/static/src/css/report.css b/odex25_accounting/mis_builder/static/src/css/report.css new file mode 100644 index 000000000..0d58939ca --- /dev/null +++ b/odex25_accounting/mis_builder/static/src/css/report.css @@ -0,0 +1,46 @@ +.mis_table { + display: table; + width: 100%; + table-layout: fixed; +} +.mis_row { + display: table-row; + page-break-inside: avoid; +} +.mis_cell { + display: table-cell; + page-break-inside: avoid; +} +.mis_thead { + display: table-header-group; +} +.mis_tbody { + display: table-row-group; +} +.mis_table, +.mis_table .mis_row { + border-left: 0px; + border-right: 0px; + text-align: left; + padding-right: 3px; + padding-left: 3px; + padding-top: 2px; + padding-bottom: 2px; + border-collapse: collapse; +} +.mis_table .mis_row { + border-color: grey; + border-bottom: 1px solid lightGrey; +} +.mis_table .mis_cell.mis_collabel { + font-weight: bold; + background-color: #f0f0f0; + text-align: center; +} +.mis_table .mis_cell.mis_rowlabel { + text-align: left; + /*white-space: nowrap;*/ +} +.mis_table .mis_cell.mis_amount { + text-align: right; +} diff --git a/odex25_accounting/mis_builder/static/src/js/mis_report_widget.js b/odex25_accounting/mis_builder/static/src/js/mis_report_widget.js new file mode 100644 index 000000000..fedfe9032 --- /dev/null +++ b/odex25_accounting/mis_builder/static/src/js/mis_report_widget.js @@ -0,0 +1,450 @@ +/* Copyright 2014-2019 ACSONE SA/NV () + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). */ + +odoo.define("mis_builder.widget", function (require) { + "use strict"; + + var AbstractField = require("web.AbstractField"); + var StandaloneFieldManagerMixin = require("web.StandaloneFieldManagerMixin"); + var field_registry = require("web.field_registry"); + var relational_fields = require("web.relational_fields"); + var BasicModel = require("web.BasicModel"); + + var core = require("web.core"); + var session = require("web.session"); + + var _t = core._t; + + var MisReportWidget = AbstractField.extend(StandaloneFieldManagerMixin, { + template: "MisReportWidgetTemplate", + + events: _.extend({}, AbstractField.prototype.events, { + "click .mis_builder_drilldown": "drilldown", + "click .oe_mis_builder_print": "printPdf", + "click .oe_mis_builder_export": "exportXls", + "click .oe_mis_builder_settings": "displaySettings", + "click .oe_mis_builder_refresh": "refresh", + }), + + init: function () { + var self = this; + self._super.apply(self, arguments); + StandaloneFieldManagerMixin.init.call(self); + self.model = new BasicModel(self); // For FieldManagerMixin + self.analytic_account_id_domain = []; // TODO unused for now + self.analytic_account_id_label = _t("Analytic Account Filter"); + self.analytic_account_id_m2o = undefined; // Field widget + self.analytic_group_id_domain = []; // TODO unused for now + self.analytic_group_filter_name = "analytic_account_id.group_id"; + self.analytic_group_id_label = _t("Analytic Account Group"); + self.analytic_group_id_m2o = undefined; // Field widget + self.analytic_tag_ids_domain = []; // TODO unused for now + self.analytic_tag_ids_label = _t("Analytic Tags Filter"); + self.analytic_tag_ids_m2m = undefined; // Field widget + self.mis_report_data = undefined; + self.show_settings = false; + self.has_group_analytic_accounting = false; + self.has_group_analytic_tags = false; + self.hide_analytic_filters = false; + }, + + _getFilterValue: function (name) { + var filters = this.getParent().state.context.mis_report_filters || {}; + var filter = filters[name] || {}; + return filter.value; + }, + + _setFilterValue: function (name, value, operator) { + var context = this.getParent().state.context; + var filters = undefined; + if (context.mis_report_filters === undefined) { + filters = {}; + context.mis_report_filters = filters; + } else { + filters = context.mis_report_filters; + } + if (value === undefined) { + filters[name] = {}; + return; + } + filters[name] = { + value: value, + operator: operator, + }; + }, + + /** + * Return the id of the mis.report.instance to which the widget is + * bound. + * + * @returns int + */ + _instanceId: function () { + if (this.value) { + return this.value; + } + + /* + * This trick is needed because in a dashboard the view does + * not seem to be bound to an instance: it seems to be a limitation + * of Odoo dashboards that are not designed to contain forms but + * rather tree views or charts. + */ + var context = this.getParent().state.context; + if (context.active_model === "mis.report.instance") { + return context.active_id; + } + }, + + /** + * Method called between @see init and @see start. Performs asynchronous + * calls required by the rendering and the start method. + * + * @returns Promise + */ + willStart: function () { + var self = this; + var context = self.getParent().state.context; + + var def1 = self + ._rpc({ + model: "mis.report.instance", + method: "compute", + args: [self._instanceId()], + context: context, + }) + .then(function (result) { + self.mis_report_data = result; + }); + + var def2 = session + .user_has_group("account.group_account_user") + .then(function (result) { + self.show_settings = result; + }); + + var def3 = session + .user_has_group("analytic.group_analytic_accounting") + .then(function (result) { + self.has_group_analytic_accounting = result; + }); + + var def4 = session + .user_has_group("analytic.group_analytic_tags") + .then(function (result) { + self.has_group_analytic_tags = result; + }); + + var def5 = self + ._rpc({ + model: "mis.report.instance", + method: "read", + args: [self._instanceId(), ["hide_analytic_filters"]], + context: context, + }) + .then(function (result) { + self.hide_analytic_filters = result[0].hide_analytic_filters; + }); + + return $.when( + this._super.apply(this, arguments), + def1, + def2, + def3, + def4, + def5 + ); + }, + + start: function () { + var self = this; + self._super.apply(self, arguments); + self._addAnalyticFilters(); + }, + + /** + * Create list of field descriptors to be provided + * to BasicModel.makeRecord. + * + * @returns list of objects + */ + _getFilterFields: function () { + var self = this; + var fields = []; + if (self.has_group_analytic_accounting) { + fields.push({ + relation: "account.analytic.account", + type: "many2one", + name: "filter_analytic_account_id", + value: self._getFilterValue("analytic_account_id"), + }); + fields.push({ + relation: "account.analytic.group", + type: "many2one", + name: "filter_analytic_account_id.group_id", + value: self._getFilterValue("analytic_account_id.group_id"), + }); + } + if (self.has_group_analytic_tags) { + fields.push({ + relation: "account.analytic.tag", + type: "many2many", + name: "filter_analytic_tag_ids", + value: self._getFilterValue("analytic_tag_ids"), + }); + } + return fields; + }, + + /** + * Create fieldInfo structure to be provided + * to BasicModel.makeRecord. + * + * @returns object + */ + _getFilterFieldInfo: function () { + return {}; + }, + + /** + * Create analytic filter widgets and add them in the filter box. + * + * @param {Object} record @see BasicModel.makeRecord + */ + _makeFilterFieldWidgets: function (record) { + var self = this; + + if (self.has_group_analytic_accounting) { + self.analytic_account_id_m2o = new relational_fields.FieldMany2One( + self, + "filter_analytic_account_id", + record, + { + mode: "edit", + attrs: { + placeholder: self.analytic_account_id_label, + options: { + no_create: "True", + no_open: "True", + }, + }, + } + ); + self._registerWidget( + record.id, + self.analytic_account_id_m2o.name, + self.analytic_account_id_m2o + ); + self.analytic_account_id_m2o.appendTo(self.getMisBuilderFilterBox()); + + self.analytic_group_id_m2o = new relational_fields.FieldMany2One( + self, + "filter_analytic_account_id.group_id", + record, + { + mode: "edit", + attrs: { + placeholder: self.analytic_group_id_label, + options: { + no_create: "True", + no_open: "True", + }, + }, + } + ); + self._registerWidget( + record.id, + self.analytic_group_id_m2o.name, + self.analytic_group_id_m2o + ); + self.analytic_group_id_m2o.appendTo(self.getMisBuilderFilterBox()); + } + + if (self.has_group_analytic_tags) { + self.analytic_tag_ids_m2m = new relational_fields.FieldMany2ManyTags( + self, + "filter_analytic_tag_ids", + record, + { + mode: "edit", + attrs: { + placeholder: self.analytic_tag_ids_label, + options: { + no_create: "True", + no_open: "True", + }, + }, + } + ); + self._registerWidget( + record.id, + self.analytic_tag_ids_m2m.name, + self.analytic_tag_ids_m2m + ); + self.analytic_tag_ids_m2m.appendTo(self.getMisBuilderFilterBox()); + } + }, + + /** + * Hack to work around Odoo not fetching display name for + * x2many used with makeRecord. + * + * @returns a list of deferred + * to be awaited before creating the widgets. + * + * @param {Object} record @see BasicModel.makeRecord + */ + _beforeCreateWidgets: function (record) { + var self = this; + var defs = []; + + if (self.has_group_analytic_tags) { + var dataPoint = record.data.filter_analytic_tag_ids; + dataPoint.fieldsInfo.default.display_name = {}; + defs.push(self.model.reload(dataPoint.id)); + } + + return defs; + }, + + /** + * Populate the analytic filters box. + * This method is not meant to be overridden. + */ + _addAnalyticFilters: function () { + var self = this; + if (self.hide_analytic_filters) { + return; + } + self.model + .makeRecord( + "dummy.model", + self._getFilterFields(), + self._getFilterFieldInfo() + ) + .then(function (recordId) { + var record = self.model.get(recordId); + var defs = self._beforeCreateWidgets(record); + $.when.apply($, defs).then(function () { + record = self.model.get(record.id); + self._makeFilterFieldWidgets(record); + }); + }); + }, + + _confirmChange: function () { + var self = this; + var result = StandaloneFieldManagerMixin._confirmChange.apply( + self, + arguments + ); + + if (self.analytic_account_id_m2o !== undefined) { + if (self.analytic_account_id_m2o.value) { + self._setFilterValue( + "analytic_account_id", + self.analytic_account_id_m2o.value.res_id, + "=" + ); + } else { + self._setFilterValue("analytic_account_id", undefined); + } + } + + if (self.analytic_group_id_m2o !== undefined) { + if (self.analytic_group_id_m2o.value) { + self._setFilterValue( + self.analytic_group_filter_name, + self.analytic_group_id_m2o.value.res_id, + "=" + ); + } else { + self._setFilterValue(self.analytic_group_filter_name, undefined); + } + } + + if (self.analytic_tag_ids_m2m !== undefined) { + if ( + self.analytic_tag_ids_m2m.value && + self.analytic_tag_ids_m2m.value.res_ids.length > 0 + ) { + self._setFilterValue( + "analytic_tag_ids", + self.analytic_tag_ids_m2m.value.res_ids, + "all" + ); + } else { + self._setFilterValue("analytic_tag_ids", undefined); + } + } + + return result; + }, + + refresh: function () { + this.replace(); + }, + + printPdf: function () { + var self = this; + var context = self.getParent().state.context; + this._rpc({ + model: "mis.report.instance", + method: "print_pdf", + args: [this._instanceId()], + context: context, + }).then(function (result) { + self.do_action(result); + }); + }, + + exportXls: function () { + var self = this; + var context = self.getParent().state.context; + this._rpc({ + model: "mis.report.instance", + method: "export_xls", + args: [this._instanceId()], + context: context, + }).then(function (result) { + self.do_action(result); + }); + }, + + displaySettings: function () { + var self = this; + var context = self.getParent().state.context; + this._rpc({ + model: "mis.report.instance", + method: "display_settings", + args: [this._instanceId()], + context: context, + }).then(function (result) { + self.do_action(result); + }); + }, + + drilldown: function (event) { + var self = this; + var context = self.getParent().state.context; + var drilldown = $(event.target).data("drilldown"); + this._rpc({ + model: "mis.report.instance", + method: "drilldown", + args: [this._instanceId(), drilldown], + context: context, + }).then(function (result) { + self.do_action(result); + }); + }, + + getMisBuilderFilterBox: function () { + var self = this; + return self.$(".oe_mis_builder_analytic_filter_box"); + }, + }); + + field_registry.add("mis_report_widget", MisReportWidget); + + return MisReportWidget; +}); diff --git a/odex25_accounting/mis_builder/static/src/xml/mis_report_widget.xml b/odex25_accounting/mis_builder/static/src/xml/mis_report_widget.xml new file mode 100644 index 000000000..274c4f8c6 --- /dev/null +++ b/odex25_accounting/mis_builder/static/src/xml/mis_report_widget.xml @@ -0,0 +1,98 @@ + diff --git a/odex25_accounting/mis_builder/tests/__init__.py b/odex25_accounting/mis_builder/tests/__init__.py new file mode 100644 index 000000000..1174376d6 --- /dev/null +++ b/odex25_accounting/mis_builder/tests/__init__.py @@ -0,0 +1,16 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import test_accounting_none +from . import test_analytic_filters +from . import test_aep +from . import test_multi_company_aep +from . import test_aggregate +from . import test_data_sources +from . import test_kpi_data +from . import test_mis_report_instance +from . import test_mis_safe_eval +from . import test_period_dates +from . import test_render +from . import test_simple_array +from . import test_utc_midnight diff --git a/odex25_accounting/mis_builder/tests/common.py b/odex25_accounting/mis_builder/tests/common.py new file mode 100644 index 000000000..3f9bc5c29 --- /dev/null +++ b/odex25_accounting/mis_builder/tests/common.py @@ -0,0 +1,80 @@ +# Copyright 2017 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import doctest + +from odoo.tests import BaseCase, tagged + + +def setup_test_model(env, model_cls): + model_cls._build_model(env.registry, env.cr) + env.registry.setup_models(env.cr) + env.registry.init_models( + env.cr, [model_cls._name], dict(env.context, update_custom_fields=True) + ) + + +def teardown_test_model(env, model_cls): + del env.registry.models[model_cls._name] + env.registry.setup_models(env.cr) + + +def _zip(iter1, iter2): + i = 0 + iter1 = iter(iter1) + iter2 = iter(iter2) + while True: + i1 = next(iter1, None) + i2 = next(iter2, None) + if i1 is None and i2 is None: + return + yield i, i1, i2 + i += 1 + + +def assert_matrix(matrix, expected): + for i, row, expected_row in _zip(matrix.iter_rows(), expected): + if row is None and expected_row is not None: + raise AssertionError("not enough rows") + if row is not None and expected_row is None: + raise AssertionError("too many rows") + for j, cell, expected_val in _zip(row.iter_cells(), expected_row): + assert ( + cell and cell.val + ) == expected_val, "{} != {} in row {} col {}".format( + cell and cell.val, expected_val, i, j + ) + + +@tagged("doctest") +class OdooDocTestCase(BaseCase): + """ + We need a custom DocTestCase class in order to: + - define test_tags to run as part of standard tests + - output a more meaningful test name than default "DocTestCase.runTest" + """ + + __qualname__ = "doctests for " + + def __init__(self, test): + self.__test = test + self.__name = test._dt_test.name + super().__init__(self.__name) + + def __getattr__(self, item): + if item == self.__name: + return self.__test + + +def load_doctests(module): + """ + Generates a tests loading method for the doctests of the given module + https://docs.python.org/3/library/unittest.html#load-tests-protocol + """ + + def load_tests(loader, tests, ignore): + for test in doctest.DocTestSuite(module): + tests.addTest(OdooDocTestCase(test)) + return tests + + return load_tests diff --git a/odex25_accounting/mis_builder/tests/test_accounting_none.py b/odex25_accounting/mis_builder/tests/test_accounting_none.py new file mode 100644 index 000000000..ced8c3ef9 --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_accounting_none.py @@ -0,0 +1,8 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + + +from ..models import accounting_none +from .common import load_doctests + +load_tests = load_doctests(accounting_none) diff --git a/odex25_accounting/mis_builder/tests/test_aep.py b/odex25_accounting/mis_builder/tests/test_aep.py new file mode 100644 index 000000000..8d9bf433d --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_aep.py @@ -0,0 +1,412 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import datetime +import time + +import odoo.tests.common as common +from odoo import fields +from odoo.tools.safe_eval import safe_eval + +from ..models.accounting_none import AccountingNone +from ..models.aep import AccountingExpressionProcessor as AEP, _is_domain + + +class TestAEP(common.TransactionCase): + def setUp(self): + super(TestAEP, self).setUp() + self.res_company = self.env["res.company"] + self.account_model = self.env["account.account"] + self.move_model = self.env["account.move"] + self.journal_model = self.env["account.journal"] + self.curr_year = datetime.date.today().year + self.prev_year = self.curr_year - 1 + # create company + self.company = self.res_company.create({"name": "AEP Company"}) + # create receivable bs account + type_ar = self.browse_ref("account.data_account_type_receivable") + self.account_ar = self.account_model.create( + { + "company_id": self.company.id, + "code": "400AR", + "name": "Receivable", + "user_type_id": type_ar.id, + "reconcile": True, + } + ) + # create income pl account + type_in = self.browse_ref("account.data_account_type_revenue") + self.account_in = self.account_model.create( + { + "company_id": self.company.id, + "code": "700IN", + "name": "Income", + "user_type_id": type_in.id, + } + ) + # create journal + self.journal = self.journal_model.create( + { + "company_id": self.company.id, + "name": "Sale journal", + "code": "VEN", + "type": "sale", + } + ) + # create move in December last year + self._create_move( + date=datetime.date(self.prev_year, 12, 1), + amount=100, + debit_acc=self.account_ar, + credit_acc=self.account_in, + ) + # create move in January this year + self._create_move( + date=datetime.date(self.curr_year, 1, 1), + amount=300, + debit_acc=self.account_ar, + credit_acc=self.account_in, + ) + # create move in March this year + self._create_move( + date=datetime.date(self.curr_year, 3, 1), + amount=500, + debit_acc=self.account_ar, + credit_acc=self.account_in, + ) + # create the AEP, and prepare the expressions we'll need + self.aep = AEP(self.company) + self.aep.parse_expr("bali[]") + self.aep.parse_expr("bale[]") + self.aep.parse_expr("balp[]") + self.aep.parse_expr("balu[]") + self.aep.parse_expr("bali[700IN]") + self.aep.parse_expr("bale[700IN]") + self.aep.parse_expr("balp[700IN]") + self.aep.parse_expr("bali[400AR]") + self.aep.parse_expr("bale[400AR]") + self.aep.parse_expr("balp[400AR]") + self.aep.parse_expr("debp[400A%]") + self.aep.parse_expr("crdp[700I%]") + self.aep.parse_expr("bali[400%]") + self.aep.parse_expr("bale[700%]") + self.aep.parse_expr("balp[]" "[('account_id.code', '=', '400AR')]") + self.aep.parse_expr( + "balp[]" + "[('account_id.user_type_id', '=', " + " ref('account.data_account_type_receivable').id)]" + ) + self.aep.parse_expr( + "balp[('user_type_id', '=', " + " ref('account.data_account_type_receivable').id)]" + ) + self.aep.parse_expr( + "balp['&', " + " ('user_type_id', '=', " + " ref('account.data_account_type_receivable').id), " + " ('code', '=', '400AR')]" + ) + self.aep.parse_expr("bal_700IN") # deprecated + self.aep.parse_expr("bals[700IN]") # deprecated + + def _create_move(self, date, amount, debit_acc, credit_acc, post=True): + move = self.move_model.create( + { + "journal_id": self.journal.id, + "date": fields.Date.to_string(date), + "line_ids": [ + (0, 0, {"name": "/", "debit": amount, "account_id": debit_acc.id}), + ( + 0, + 0, + {"name": "/", "credit": amount, "account_id": credit_acc.id}, + ), + ], + } + ) + if post: + move._post() + return move + + def _do_queries(self, date_from, date_to): + self.aep.do_queries( + date_from=fields.Date.to_string(date_from), + date_to=fields.Date.to_string(date_to), + target_move="posted", + ) + + def _eval(self, expr): + eval_dict = {"AccountingNone": AccountingNone} + return safe_eval(self.aep.replace_expr(expr), eval_dict) + + def _eval_by_account_id(self, expr): + res = {} + eval_dict = {"AccountingNone": AccountingNone} + for account_id, replaced_exprs in self.aep.replace_exprs_by_account_id([expr]): + res[account_id] = safe_eval(replaced_exprs[0], eval_dict) + return res + + def test_sanity_check(self): + self.assertEqual(self.company.fiscalyear_last_day, 31) + self.assertEqual(self.company.fiscalyear_last_month, "12") + + def test_aep_basic(self): + self.aep.done_parsing() + # let's query for december + self._do_queries( + datetime.date(self.prev_year, 12, 1), datetime.date(self.prev_year, 12, 31) + ) + # initial balance must be None + self.assertIs(self._eval("bali[400AR]"), AccountingNone) + self.assertIs(self._eval("bali[700IN]"), AccountingNone) + # check variation + self.assertEqual(self._eval("balp[400AR]"), 100) + self.assertEqual(self._eval("balp[][('account_id.code', '=', '400AR')]"), 100) + self.assertEqual( + self._eval( + "balp[]" + "[('account_id.user_type_id', '=', " + " ref('account.data_account_type_receivable').id)]" + ), + 100, + ) + self.assertEqual( + self._eval( + "balp[('user_type_id', '=', " + " ref('account.data_account_type_receivable').id)]" + ), + 100, + ) + self.assertEqual( + self._eval( + "balp['&', " + " ('user_type_id', '=', " + " ref('account.data_account_type_receivable').id), " + " ('code', '=', '400AR')]" + ), + 100, + ) + self.assertEqual(self._eval("balp[700IN]"), -100) + # check ending balance + self.assertEqual(self._eval("bale[400AR]"), 100) + self.assertEqual(self._eval("bale[700IN]"), -100) + + # let's query for January + self._do_queries( + datetime.date(self.curr_year, 1, 1), datetime.date(self.curr_year, 1, 31) + ) + # initial balance is None for income account (it's not carried over) + self.assertEqual(self._eval("bali[400AR]"), 100) + self.assertIs(self._eval("bali[700IN]"), AccountingNone) + # check variation + self.assertEqual(self._eval("balp[400AR]"), 300) + self.assertEqual(self._eval("balp[700IN]"), -300) + # check ending balance + self.assertEqual(self._eval("bale[400AR]"), 400) + self.assertEqual(self._eval("bale[700IN]"), -300) + + # let's query for March + self._do_queries( + datetime.date(self.curr_year, 3, 1), datetime.date(self.curr_year, 3, 31) + ) + # initial balance is the ending balance fo January + self.assertEqual(self._eval("bali[400AR]"), 400) + self.assertEqual(self._eval("bali[700IN]"), -300) + self.assertEqual(self._eval("pbali[400AR]"), 400) + self.assertEqual(self._eval("nbali[400AR]"), 0) + self.assertEqual(self._eval("nbali[700IN]"), -300) + self.assertEqual(self._eval("pbali[700IN]"), 0) + # check variation + self.assertEqual(self._eval("balp[400AR]"), 500) + self.assertEqual(self._eval("balp[700IN]"), -500) + self.assertEqual(self._eval("nbalp[400AR]"), 0) + self.assertEqual(self._eval("pbalp[400AR]"), 500) + self.assertEqual(self._eval("nbalp[700IN]"), -500) + self.assertEqual(self._eval("pbalp[700IN]"), 0) + # check ending balance + self.assertEqual(self._eval("bale[400AR]"), 900) + self.assertEqual(self._eval("nbale[400AR]"), 0) + self.assertEqual(self._eval("pbale[400AR]"), 900) + self.assertEqual(self._eval("bale[700IN]"), -800) + self.assertEqual(self._eval("nbale[700IN]"), -800) + self.assertEqual(self._eval("pbale[700IN]"), 0) + # check some variant expressions, for coverage + self.assertEqual(self._eval("crdp[700I%]"), 500) + self.assertEqual(self._eval("debp[400A%]"), 500) + self.assertEqual(self._eval("bal_700IN"), -500) + self.assertEqual(self._eval("bals[700IN]"), -800) + + # unallocated p&l from previous year + self.assertEqual(self._eval("balu[]"), -100) + + # TODO allocate profits, and then... + + def test_aep_by_account(self): + self.aep.done_parsing() + self._do_queries( + datetime.date(self.curr_year, 3, 1), datetime.date(self.curr_year, 3, 31) + ) + variation = self._eval_by_account_id("balp[]") + self.assertEqual(variation, {self.account_ar.id: 500, self.account_in.id: -500}) + variation = self._eval_by_account_id("pbalp[]") + self.assertEqual( + variation, {self.account_ar.id: 500, self.account_in.id: AccountingNone} + ) + variation = self._eval_by_account_id("nbalp[]") + self.assertEqual( + variation, {self.account_ar.id: AccountingNone, self.account_in.id: -500} + ) + variation = self._eval_by_account_id("balp[700IN]") + self.assertEqual(variation, {self.account_in.id: -500}) + variation = self._eval_by_account_id("crdp[700IN] - debp[400AR]") + self.assertEqual(variation, {self.account_ar.id: -500, self.account_in.id: 500}) + end = self._eval_by_account_id("bale[]") + self.assertEqual(end, {self.account_ar.id: 900, self.account_in.id: -800}) + + def test_aep_convenience_methods(self): + initial = AEP.get_balances_initial( + self.company, time.strftime("%Y") + "-03-01", "posted" + ) + self.assertEqual( + initial, {self.account_ar.id: (400, 0), self.account_in.id: (0, 300)} + ) + variation = AEP.get_balances_variation( + self.company, + time.strftime("%Y") + "-03-01", + time.strftime("%Y") + "-03-31", + "posted", + ) + self.assertEqual( + variation, {self.account_ar.id: (500, 0), self.account_in.id: (0, 500)} + ) + end = AEP.get_balances_end( + self.company, time.strftime("%Y") + "-03-31", "posted" + ) + self.assertEqual( + end, {self.account_ar.id: (900, 0), self.account_in.id: (0, 800)} + ) + unallocated = AEP.get_unallocated_pl( + self.company, time.strftime("%Y") + "-03-15", "posted" + ) + self.assertEqual(unallocated, (0, 100)) + + def test_float_is_zero(self): + dp = self.company.currency_id.decimal_places + self.assertEqual(dp, 2) + # make initial balance at Jan 1st equal to 0.01 + self._create_move( + date=datetime.date(self.prev_year, 12, 1), + amount=100.01, + debit_acc=self.account_in, + credit_acc=self.account_ar, + ) + initial = AEP.get_balances_initial( + self.company, time.strftime("%Y") + "-01-01", "posted" + ) + self.assertEqual(initial, {self.account_ar.id: (100.00, 100.01)}) + # make initial balance at Jan 1st equal to 0.001 + self._create_move( + date=datetime.date(self.prev_year, 12, 1), + amount=0.009, + debit_acc=self.account_ar, + credit_acc=self.account_in, + ) + initial = AEP.get_balances_initial( + self.company, time.strftime("%Y") + "-01-01", "posted" + ) + # epsilon initial balances is reported as empty + self.assertEqual(initial, {}) + + def test_get_account_ids_for_expr(self): + self.aep.done_parsing() + expr = "balp[700IN]" + account_ids = self.aep.get_account_ids_for_expr(expr) + self.assertEqual(account_ids, {self.account_in.id}) + expr = "balp[700%]" + account_ids = self.aep.get_account_ids_for_expr(expr) + self.assertEqual(account_ids, {self.account_in.id}) + expr = "bali[400%], bale[700%]" # subkpis combined expression + account_ids = self.aep.get_account_ids_for_expr(expr) + self.assertEqual(account_ids, {self.account_in.id, self.account_ar.id}) + + def test_get_aml_domain_for_expr(self): + self.aep.done_parsing() + expr = "balp[700IN]" + domain = self.aep.get_aml_domain_for_expr( + expr, "2017-01-01", "2017-03-31", target_move="posted" + ) + self.assertEqual( + domain, + [ + ("account_id", "in", (self.account_in.id,)), + "&", + "&", + ("date", ">=", "2017-01-01"), + ("date", "<=", "2017-03-31"), + ("move_id.state", "=", "posted"), + ], + ) + expr = "debi[700IN] - crdi[400AR]" + domain = self.aep.get_aml_domain_for_expr( + expr, "2017-02-01", "2017-03-31", target_move="draft" + ) + self.assertEqual( + domain, + [ + "|", + # debi[700IN] + "&", + ("account_id", "in", (self.account_in.id,)), + ("debit", "<>", 0.0), + # crdi[400AR] + "&", + ("account_id", "in", (self.account_ar.id,)), + ("credit", "<>", 0.0), + "&", + # for P&L accounts, only after fy start + "|", + ("date", ">=", "2017-01-01"), + ("account_id.user_type_id.include_initial_balance", "=", True), + # everything must be before from_date for initial balance + ("date", "<", "2017-02-01"), + ], + ) + + def test_is_domain(self): + self.assertTrue(_is_domain("('a', '=' 1)")) + self.assertTrue(_is_domain("'&', ('a', '=' 1), ('b', '=', 1)")) + self.assertTrue(_is_domain("'|', ('a', '=' 1), ('b', '=', 1)")) + self.assertTrue(_is_domain("'!', ('a', '=' 1), ('b', '=', 1)")) + self.assertTrue(_is_domain("\"&\", ('a', '=' 1), ('b', '=', 1)")) + self.assertTrue(_is_domain("\"|\", ('a', '=' 1), ('b', '=', 1)")) + self.assertTrue(_is_domain("\"!\", ('a', '=' 1), ('b', '=', 1)")) + self.assertFalse(_is_domain("123%")) + self.assertFalse(_is_domain("123%,456")) + self.assertFalse(_is_domain("")) + + def test_inactive_tax(self): + expr = 'balp[][("tax_ids.name", "=", "test tax")]' + self.aep.parse_expr(expr) + self.aep.done_parsing() + + tax = self.env["account.tax"].create( + dict(name="test tax", active=True, amount=0, company_id=self.company.id) + ) + move = self._create_move( + date=datetime.date(self.prev_year, 12, 1), + amount=100, + debit_acc=self.account_ar, + credit_acc=self.account_in, + post=False, + ) + for ml in move.line_ids: + if ml.credit: + ml.write(dict(tax_ids=[(6, 0, [tax.id])])) + tax.active = False + move._post() + # let's query for december 1st + self._do_queries( + datetime.date(self.prev_year, 12, 1), datetime.date(self.prev_year, 12, 1) + ) + # let's see if there was a match + self.assertEqual(self._eval(expr), -100) diff --git a/odex25_accounting/mis_builder/tests/test_aggregate.py b/odex25_accounting/mis_builder/tests/test_aggregate.py new file mode 100644 index 000000000..f1650f1e2 --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_aggregate.py @@ -0,0 +1,7 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from ..models import aggregate +from .common import load_doctests + +load_tests = load_doctests(aggregate) diff --git a/odex25_accounting/mis_builder/tests/test_analytic_filters.py b/odex25_accounting/mis_builder/tests/test_analytic_filters.py new file mode 100644 index 000000000..7c03caf51 --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_analytic_filters.py @@ -0,0 +1,115 @@ +# Copyright 2019 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import TransactionCase + + +class TestAnalyticFilters(TransactionCase): + def setUp(self): + super(TestAnalyticFilters, self).setUp() + self.aag = self.env["account.analytic.group"].search([], limit=1) + + def test_context_with_filters(self): + aaa = self.env["account.analytic.account"].search([], limit=1) + mri = self.env["mis.report.instance"].new() + mri.analytic_account_id = False + mri.analytic_group_id = False + assert mri._context_with_filters().get("mis_report_filters") == {} + mri.analytic_account_id = aaa + mri.analytic_group_id = self.aag + assert mri._context_with_filters().get("mis_report_filters") == { + "analytic_account_id": {"value": aaa.id, "operator": "="}, + "analytic_account_id.group_id": {"value": self.aag.id, "operator": "="}, + } + # test _context_with_filters does nothing is a filter is already + # in the context + mri.with_context(mis_report_filters={"f": 1})._context_with_filters().get( + "mis_report_filters" + ) == {"f": 1} + + def _check_get_filter_domain_from_context( + self, mis_report_filters, expected_domain + ): + domain = ( + self.env["mis.report.instance.period"] + .with_context(mis_report_filters=mis_report_filters) + ._get_filter_domain_from_context() + ) + assert domain == expected_domain + + def _check_get_filter_descriptions_from_context( + self, mis_report_filters, expected_domain + ): + filter_descriptions = ( + self.env["mis.report.instance"] + .with_context(mis_report_filters=mis_report_filters) + .get_filter_descriptions_from_context() + ) + assert filter_descriptions == expected_domain + + def test_get_filter_domain_from_context_1(self): + # no filter, no domain + self._check_get_filter_domain_from_context({}, []) + # the most basic analytic account filter (default operator is =) + self._check_get_filter_domain_from_context( + {"analytic_account_id": {"value": 1}}, [("analytic_account_id", "=", 1)] + ) + self._check_get_filter_domain_from_context( + {"analytic_group_id": {"value": 1}}, [("analytic_group_id", "=", 1)] + ) + # custom operator + self._check_get_filter_domain_from_context( + {"analytic_account_id": {"value": 1, "operator": "!="}}, + [("analytic_account_id", "!=", 1)], + ) + self._check_get_filter_domain_from_context( + {"analytic_group_id": {"value": 1, "operator": "!="}}, + [("analytic_group_id", "!=", 1)], + ) + # any field name works + self._check_get_filter_domain_from_context( + {"some_field": {"value": "x"}}, [("some_field", "=", "x")] + ) + # filter name without value => no domain + self._check_get_filter_domain_from_context({"some_field": None}, []) + # "is not set" filter must work + self._check_get_filter_domain_from_context( + {"analytic_account_id": {"value": False}}, + [("analytic_account_id", "=", False)], + ) + self._check_get_filter_domain_from_context( + {"analytic_group_id": {"value": False}}, + [("analytic_group_id", "=", False)], + ) + # Filter from analytic account filter widget + self._check_get_filter_domain_from_context( + {"analytic_account_id": {"value": 1, "operator": "all"}}, + [("analytic_account_id", "in", [1])], + ) + + # Filter from analytic group filter widget + self._check_get_filter_domain_from_context( + {"analytic_group_id": {"value": 1, "operator": "all"}}, + [("analytic_group_id", "in", [1])], + ) + + # Filter from analytic tags filter widget + self._check_get_filter_domain_from_context( + {"analytic_tag_ids": {"value": [1, 2], "operator": "all"}}, + [("analytic_tag_ids", "in", [1]), ("analytic_tag_ids", "in", [2])], + ) + + def test_get_filter_descriptions_from_context_1(self): + self._check_get_filter_descriptions_from_context( + {"analytic_account_id.group_id": {"value": self.aag.id}}, + ["Analytic Account Group: %s" % self.aag.display_name], + ) + + def test_get_additional_move_line_filter_with_analytic_group(self): + instance_period = self.env["mis.report.instance.period"].new( + { + "analytic_group_id": self.aag.id, + } + ) + domain = instance_period._get_additional_move_line_filter() + assert domain == [("analytic_account_id.group_id", "=", self.aag.id)] diff --git a/odex25_accounting/mis_builder/tests/test_data_sources.py b/odex25_accounting/mis_builder/tests/test_data_sources.py new file mode 100644 index 000000000..c29ca967f --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_data_sources.py @@ -0,0 +1,221 @@ +# Copyright 2016 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import odoo.tests.common as common + +from ..models.accounting_none import AccountingNone +from ..models.mis_report import CMP_DIFF +from ..models.mis_report_instance import ( + MODE_NONE, + SRC_ACTUALS_ALT, + SRC_CMPCOL, + SRC_SUMCOL, +) +from .common import assert_matrix + + +class TestMisReportInstanceDataSources(common.TransactionCase): + """Test sum and comparison data source.""" + + def _create_move(self, date, amount, debit_acc, credit_acc): + move = self.move_model.create( + { + "journal_id": self.journal.id, + "date": date, + "line_ids": [ + (0, 0, {"name": "/", "debit": amount, "account_id": debit_acc.id}), + ( + 0, + 0, + {"name": "/", "credit": amount, "account_id": credit_acc.id}, + ), + ], + } + ) + move._post() + return move + + def setUp(self): + super(TestMisReportInstanceDataSources, self).setUp() + self.account_model = self.env["account.account"] + self.move_model = self.env["account.move"] + self.journal_model = self.env["account.journal"] + # create receivable bs account + type_ar = self.browse_ref("account.data_account_type_receivable") + self.account_ar = self.account_model.create( + { + "company_id": self.env.user.company_id.id, + "code": "400AR", + "name": "Receivable", + "user_type_id": type_ar.id, + "reconcile": True, + } + ) + # create income account + type_in = self.browse_ref("account.data_account_type_revenue") + self.account_in = self.account_model.create( + { + "company_id": self.env.user.company_id.id, + "code": "700IN", + "name": "Income", + "user_type_id": type_in.id, + } + ) + self.account_in2 = self.account_model.create( + { + "company_id": self.env.user.company_id.id, + "code": "700IN2", + "name": "Income", + "user_type_id": type_in.id, + } + ) + # create journal + self.journal = self.journal_model.create( + { + "company_id": self.env.user.company_id.id, + "name": "Sale journal", + "code": "VEN", + "type": "sale", + } + ) + # create move + self._create_move( + date="2017-01-01", + amount=11, + debit_acc=self.account_ar, + credit_acc=self.account_in, + ) + # create move + self._create_move( + date="2017-02-01", + amount=13, + debit_acc=self.account_ar, + credit_acc=self.account_in, + ) + self._create_move( + date="2017-02-01", + amount=17, + debit_acc=self.account_ar, + credit_acc=self.account_in2, + ) + # create report + self.report = self.env["mis.report"].create(dict(name="test report")) + self.kpi1 = self.env["mis.report.kpi"].create( + dict( + report_id=self.report.id, + name="k1", + description="kpi 1", + expression="-balp[700IN]", + compare_method=CMP_DIFF, + ) + ) + self.expr1 = self.kpi1.expression_ids[0] + self.kpi2 = self.env["mis.report.kpi"].create( + dict( + report_id=self.report.id, + name="k2", + description="kpi 2", + expression="-balp[700%]", + compare_method=CMP_DIFF, + auto_expand_accounts=True, + ) + ) + self.instance = self.env["mis.report.instance"].create( + dict(name="test instance", report_id=self.report.id, comparison_mode=True) + ) + self.p1 = self.env["mis.report.instance.period"].create( + dict( + name="p1", + report_instance_id=self.instance.id, + manual_date_from="2017-01-01", + manual_date_to="2017-01-31", + ) + ) + self.p2 = self.env["mis.report.instance.period"].create( + dict( + name="p2", + report_instance_id=self.instance.id, + manual_date_from="2017-02-01", + manual_date_to="2017-02-28", + ) + ) + + def test_sum(self): + self.psum = self.env["mis.report.instance.period"].create( + dict( + name="psum", + report_instance_id=self.instance.id, + mode=MODE_NONE, + source=SRC_SUMCOL, + source_sumcol_ids=[ + (0, 0, dict(period_to_sum_id=self.p1.id, sign="+")), + (0, 0, dict(period_to_sum_id=self.p2.id, sign="+")), + ], + ) + ) + matrix = self.instance._compute_matrix() + # None in last col because account details are not summed by default + assert_matrix( + matrix, + [ + [11, 13, 24], + [11, 30, 41], + [11, 13, AccountingNone], + [AccountingNone, 17, AccountingNone], + ], + ) + + def test_sum_diff(self): + self.psum = self.env["mis.report.instance.period"].create( + dict( + name="psum", + report_instance_id=self.instance.id, + mode=MODE_NONE, + source=SRC_SUMCOL, + source_sumcol_ids=[ + (0, 0, dict(period_to_sum_id=self.p1.id, sign="+")), + (0, 0, dict(period_to_sum_id=self.p2.id, sign="-")), + ], + source_sumcol_accdet=True, + ) + ) + matrix = self.instance._compute_matrix() + assert_matrix( + matrix, + [[11, 13, -2], [11, 30, -19], [11, 13, -2], [AccountingNone, 17, -17]], + ) + + def test_cmp(self): + self.pcmp = self.env["mis.report.instance.period"].create( + dict( + name="pcmp", + report_instance_id=self.instance.id, + mode=MODE_NONE, + source=SRC_CMPCOL, + source_cmpcol_from_id=self.p1.id, + source_cmpcol_to_id=self.p2.id, + ) + ) + matrix = self.instance._compute_matrix() + assert_matrix( + matrix, [[11, 13, 2], [11, 30, 19], [11, 13, 2], [AccountingNone, 17, 17]] + ) + + def test_actuals(self): + matrix = self.instance._compute_matrix() + assert_matrix(matrix, [[11, 13], [11, 30], [11, 13], [AccountingNone, 17]]) + + def test_actuals_disable_auto_expand_accounts(self): + self.instance.no_auto_expand_accounts = True + matrix = self.instance._compute_matrix() + assert_matrix(matrix, [[11, 13], [11, 30]]) + + def test_actuals_alt(self): + aml_model = self.env["ir.model"].search([("name", "=", "account.move.line")]) + self.kpi2.auto_expand_accounts = False + self.p1.source = SRC_ACTUALS_ALT + self.p1.source_aml_model_id = aml_model.id + self.p2.source = SRC_ACTUALS_ALT + self.p1.source_aml_model_id = aml_model.id + matrix = self.instance._compute_matrix() + assert_matrix(matrix, [[11, 13], [11, 30]]) diff --git a/odex25_accounting/mis_builder/tests/test_kpi_data.py b/odex25_accounting/mis_builder/tests/test_kpi_data.py new file mode 100644 index 000000000..5461a36df --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_kpi_data.py @@ -0,0 +1,143 @@ +# Copyright 2017 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import models +from odoo.tests.common import SavepointCase + +from ..models.mis_kpi_data import ACC_AVG, ACC_SUM +from .common import setup_test_model, teardown_test_model + + +class TestKpiData(SavepointCase): + class MisKpiDataTestItem(models.Model): + + _name = "mis.kpi.data.test.item" + _inherit = "mis.kpi.data" + _description = "MIS Kpi Data test item" + + @classmethod + def setUpClass(cls): + super(TestKpiData, cls).setUpClass() + setup_test_model(cls.env, cls.MisKpiDataTestItem) + + report = cls.env["mis.report"].create(dict(name="test report")) + cls.kpi1 = cls.env["mis.report.kpi"].create( + dict( + report_id=report.id, + name="k1", + description="kpi 1", + expression="AccountingNone", + ) + ) + cls.expr1 = cls.kpi1.expression_ids[0] + cls.kpi2 = cls.env["mis.report.kpi"].create( + dict( + report_id=report.id, + name="k2", + description="kpi 2", + expression="AccountingNone", + ) + ) + cls.expr2 = cls.kpi2.expression_ids[0] + cls.kd11 = cls.env["mis.kpi.data.test.item"].create( + dict( + kpi_expression_id=cls.expr1.id, + date_from="2017-05-01", + date_to="2017-05-10", + amount=10, + ) + ) + cls.kd12 = cls.env["mis.kpi.data.test.item"].create( + dict( + kpi_expression_id=cls.expr1.id, + date_from="2017-05-11", + date_to="2017-05-20", + amount=20, + ) + ) + cls.kd13 = cls.env["mis.kpi.data.test.item"].create( + dict( + kpi_expression_id=cls.expr1.id, + date_from="2017-05-21", + date_to="2017-05-25", + amount=30, + ) + ) + cls.kd21 = cls.env["mis.kpi.data.test.item"].create( + dict( + kpi_expression_id=cls.expr2.id, + date_from="2017-06-01", + date_to="2017-06-30", + amount=3, + ) + ) + + @classmethod + def tearDownClass(cls): + teardown_test_model(cls.env, cls.MisKpiDataTestItem) + super(TestKpiData, cls).tearDownClass() + + def test_kpi_data_name(self): + self.assertEqual(self.kd11.name, "k1: 2017-05-01 - 2017-05-10") + self.assertEqual(self.kd12.name, "k1: 2017-05-11 - 2017-05-20") + + def test_kpi_data_sum(self): + self.assertEqual(self.kpi1.accumulation_method, ACC_SUM) + # one full + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-05-01", "2017-05-10", [] + ) + self.assertEqual(r, {self.expr1: 10}) + # one half + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-05-01", "2017-05-05", [] + ) + self.assertEqual(r, {self.expr1: 5}) + # two full + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-05-01", "2017-05-20", [] + ) + self.assertEqual(r, {self.expr1: 30}) + # two half + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-05-06", "2017-05-15", [] + ) + self.assertEqual(r, {self.expr1: 15}) + # more than covered range + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-01-01", "2017-05-31", [] + ) + self.assertEqual(r, {self.expr1: 60}) + # two kpis + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-05-21", "2017-06-30", [] + ) + self.assertEqual(r, {self.expr1: 30, self.expr2: 3}) + + def test_kpi_data_avg(self): + self.kpi1.accumulation_method = ACC_AVG + # one full + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-05-01", "2017-05-10", [] + ) + self.assertEqual(r, {self.expr1: 10}) + # one half + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-05-01", "2017-05-05", [] + ) + self.assertEqual(r, {self.expr1: 10}) + # two full + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-05-01", "2017-05-20", [] + ) + self.assertEqual(r, {self.expr1: (10 * 10 + 20 * 10) / 20}) + # two half + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-05-06", "2017-05-15", [] + ) + self.assertEqual(r, {self.expr1: (10 * 5 + 20 * 5) / 10}) + # more than covered range + r = self.env["mis.kpi.data.test.item"]._query_kpi_data( + "2017-01-01", "2017-05-31", [] + ) + self.assertEqual(r, {self.expr1: (10 * 10 + 20 * 10 + 30 * 5) / 25}) diff --git a/odex25_accounting/mis_builder/tests/test_mis_report_instance.py b/odex25_accounting/mis_builder/tests/test_mis_report_instance.py new file mode 100644 index 000000000..82394038d --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_mis_report_instance.py @@ -0,0 +1,551 @@ +# Copyright 2016 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import odoo.tests.common as common +from odoo.tools import test_reports + +from ..models.accounting_none import AccountingNone +from ..models.mis_report import TYPE_STR, SubKPITupleLengthError, SubKPIUnknownTypeError + + +class TestMisReportInstance(common.HttpCase): + """Basic integration test to exercise mis.report.instance. + + We don't check the actual results here too much as computation correctness + should be covered by lower level unit tests. + """ + + def setUp(self): + super(TestMisReportInstance, self).setUp() + partner_model_id = self.env.ref("base.model_res_partner").id + partner_create_date_field_id = self.env.ref( + "base.field_res_partner__create_date" + ).id + partner_debit_field_id = self.env.ref("account.field_res_partner__debit").id + # create a report with 2 subkpis and one query + self.report = self.env["mis.report"].create( + dict( + name="test report", + subkpi_ids=[ + (0, 0, dict(name="sk1", description="subkpi 1", sequence=1)), + (0, 0, dict(name="sk2", description="subkpi 2", sequence=2)), + ], + query_ids=[ + ( + 0, + 0, + dict( + name="partner", + model_id=partner_model_id, + field_ids=[(4, partner_debit_field_id, None)], + date_field=partner_create_date_field_id, + aggregate="sum", + ), + ) + ], + ) + ) + # create another report with 2 subkpis, no query + self.report_2 = self.env["mis.report"].create( + dict( + name="another test report", + subkpi_ids=[ + ( + 0, + 0, + dict( + name="subkpi1_report2", + description="subkpi 1, report 2", + sequence=1, + ), + ), + ( + 0, + 0, + dict( + name="subkpi2_report2", + description="subkpi 2, report 2", + sequence=2, + ), + ), + ], + ) + ) + # Third report, 2 subkpis, no query + self.report_3 = self.env["mis.report"].create( + dict( + name="test report 3", + subkpi_ids=[ + ( + 0, + 0, + dict( + name="subkpi1_report3", + description="subkpi 1, report 3", + sequence=1, + ), + ), + ( + 0, + 0, + dict( + name="subkpi2_report3", + description="subkpi 2, report 3", + sequence=2, + ), + ), + ], + ) + ) + # kpi with accounting formulas + self.kpi1 = self.env["mis.report.kpi"].create( + dict( + report_id=self.report.id, + description="kpi 1", + name="k1", + multi=True, + expression_ids=[ + ( + 0, + 0, + dict(name="bale[200%]", subkpi_id=self.report.subkpi_ids[0].id), + ), + ( + 0, + 0, + dict(name="balp[200%]", subkpi_id=self.report.subkpi_ids[1].id), + ), + ], + ) + ) + # kpi with accounting formula and query + self.kpi2 = self.env["mis.report.kpi"].create( + dict( + report_id=self.report.id, + description="kpi 2", + name="k2", + multi=True, + expression_ids=[ + ( + 0, + 0, + dict(name="balp[200%]", subkpi_id=self.report.subkpi_ids[0].id), + ), + ( + 0, + 0, + dict( + name="partner.debit", subkpi_id=self.report.subkpi_ids[1].id + ), + ), + ], + ) + ) + # kpi with a simple expression summing other multi-valued kpis + self.env["mis.report.kpi"].create( + dict( + report_id=self.report.id, + description="kpi 4", + name="k4", + multi=False, + expression="k1 + k2 + k3", + ) + ) + # kpi with 2 constants + self.env["mis.report.kpi"].create( + dict( + report_id=self.report.id, + description="kpi 3", + name="k3", + multi=True, + expression_ids=[ + ( + 0, + 0, + dict( + name="AccountingNone", + subkpi_id=self.report.subkpi_ids[0].id, + ), + ), + (0, 0, dict(name="1.0", subkpi_id=self.report.subkpi_ids[1].id)), + ], + ) + ) + # kpi with a NameError (x not defined) + self.env["mis.report.kpi"].create( + dict( + report_id=self.report.id, + description="kpi 5", + name="k5", + multi=True, + expression_ids=[ + (0, 0, dict(name="x", subkpi_id=self.report.subkpi_ids[0].id)), + (0, 0, dict(name="1.0", subkpi_id=self.report.subkpi_ids[1].id)), + ], + ) + ) + # string-type kpi + self.env["mis.report.kpi"].create( + dict( + report_id=self.report.id, + description="kpi 6", + name="k6", + multi=True, + type=TYPE_STR, + expression_ids=[ + (0, 0, dict(name='"bla"', subkpi_id=self.report.subkpi_ids[0].id)), + ( + 0, + 0, + dict(name='"blabla"', subkpi_id=self.report.subkpi_ids[1].id), + ), + ], + ) + ) + # kpi that references another subkpi by name + self.env["mis.report.kpi"].create( + dict( + report_id=self.report.id, + description="kpi 7", + name="k7", + multi=True, + expression_ids=[ + (0, 0, dict(name="k3.sk1", subkpi_id=self.report.subkpi_ids[0].id)), + (0, 0, dict(name="k3.sk2", subkpi_id=self.report.subkpi_ids[1].id)), + ], + ) + ) + # Report 2 : kpi with AccountingNone value + self.env["mis.report.kpi"].create( + dict( + report_id=self.report_2.id, + description="AccountingNone kpi", + name="AccountingNoneKPI", + multi=False, + ) + ) + # Report 2 : 'classic' kpi with values for each sub-KPI + self.env["mis.report.kpi"].create( + dict( + report_id=self.report_2.id, + description="Classic kpi", + name="classic_kpi_r2", + multi=True, + expression_ids=[ + ( + 0, + 0, + dict( + name="bale[200%]", subkpi_id=self.report_2.subkpi_ids[0].id + ), + ), + ( + 0, + 0, + dict( + name="balp[200%]", subkpi_id=self.report_2.subkpi_ids[1].id + ), + ), + ], + ) + ) + # Report 3 : kpi with wrong tuple length + self.env["mis.report.kpi"].create( + dict( + report_id=self.report_3.id, + description="Wrong tuple length kpi", + name="wrongTupleLen", + multi=False, + expression="('hello', 'does', 'this', 'work')", + ) + ) + # Report 3 : 'classic' kpi + self.env["mis.report.kpi"].create( + dict( + report_id=self.report_3.id, + description="Classic kpi", + name="classic_kpi_r2", + multi=True, + expression_ids=[ + ( + 0, + 0, + dict( + name="bale[200%]", subkpi_id=self.report_3.subkpi_ids[0].id + ), + ), + ( + 0, + 0, + dict( + name="balp[200%]", subkpi_id=self.report_3.subkpi_ids[1].id + ), + ), + ], + ) + ) + # create a report instance + self.report_instance = self.env["mis.report.instance"].create( + dict( + name="test instance", + report_id=self.report.id, + company_id=self.env.ref("base.main_company").id, + period_ids=[ + ( + 0, + 0, + dict( + name="p1", + mode="relative", + type="d", + subkpi_ids=[(4, self.report.subkpi_ids[0].id, None)], + ), + ), + ( + 0, + 0, + dict( + name="p2", + mode="fix", + manual_date_from="2014-01-01", + manual_date_to="2014-12-31", + ), + ), + ], + ) + ) + # same for report 2 + self.report_instance_2 = self.env["mis.report.instance"].create( + dict( + name="test instance 2", + report_id=self.report_2.id, + company_id=self.env.ref("base.main_company").id, + period_ids=[ + ( + 0, + 0, + dict( + name="p3", + mode="fix", + manual_date_from="2019-01-01", + manual_date_to="2019-12-31", + ), + ) + ], + ) + ) + # and for report 3 + self.report_instance_3 = self.env["mis.report.instance"].create( + dict( + name="test instance 3", + report_id=self.report_3.id, + company_id=self.env.ref("base.main_company").id, + period_ids=[ + ( + 0, + 0, + dict( + name="p4", + mode="fix", + manual_date_from="2019-01-01", + manual_date_to="2019-12-31", + ), + ) + ], + ) + ) + + def test_compute(self): + matrix = self.report_instance._compute_matrix() + for row in matrix.iter_rows(): + vals = [c.val for c in row.iter_cells()] + if row.kpi.name == "k3": + # k3 is constant + self.assertEqual(vals, [AccountingNone, AccountingNone, 1.0]) + elif row.kpi.name == "k6": + # k6 is a string kpi + self.assertEqual(vals, ["bla", "bla", "blabla"]) + elif row.kpi.name == "k7": + # k7 references k3 via subkpi names + self.assertEqual(vals, [AccountingNone, AccountingNone, 1.0]) + + def test_multi_company_compute(self): + self.report_instance.write( + { + "multi_company": True, + "company_ids": [(6, 0, self.report_instance.company_id.ids)], + } + ) + self.report_instance.report_id.kpi_ids.write({"auto_expand_accounts": True}) + matrix = self.report_instance._compute_matrix() + for row in matrix.iter_rows(): + if row.account_id: + account = self.env["account.account"].browse(row.account_id) + self.assertEqual( + row.label, + "%s %s [%s]" + % (account.code, account.name, account.company_id.name), + ) + self.report_instance.write({"multi_company": False}) + matrix = self.report_instance._compute_matrix() + for row in matrix.iter_rows(): + if row.account_id: + account = self.env["account.account"].browse(row.account_id) + self.assertEqual(row.label, "{} {}".format(account.code, account.name)) + + def test_evaluate(self): + company = self.env.ref("base.main_company") + aep = self.report._prepare_aep(company) + r = self.report.evaluate(aep, date_from="2014-01-01", date_to="2014-12-31") + self.assertEqual(r["k3"], (AccountingNone, 1.0)) + self.assertEqual(r["k6"], ("bla", "blabla")) + self.assertEqual(r["k7"], (AccountingNone, 1.0)) + + def test_json(self): + self.report_instance.compute() + + def test_drilldown(self): + action = self.report_instance.drilldown( + dict(expr="balp[200%]", period_id=self.report_instance.period_ids[0].id) + ) + account_ids = ( + self.env["account.account"].search([("code", "=like", "200%")]).ids + ) + self.assertTrue(("account_id", "in", tuple(account_ids)) in action["domain"]) + self.assertEqual(action["res_model"], "account.move.line") + + def test_drilldown_action_name_with_account(self): + period = self.report_instance.period_ids[0] + account = self.env["account.account"].search([], limit=1) + args = { + "period_id": period.id, + "kpi_id": self.kpi1.id, + "account_id": account.id, + } + action_name = self.report_instance._get_drilldown_action_name(args) + expected_name = "{kpi} - {account} - {period}".format( + kpi=self.kpi1.description, + account=account.display_name, + period=period.display_name, + ) + assert action_name == expected_name + + def test_drilldown_action_name_without_account(self): + period = self.report_instance.period_ids[0] + args = { + "period_id": period.id, + "kpi_id": self.kpi1.id, + } + action_name = self.report_instance._get_drilldown_action_name(args) + expected_name = "{kpi} - {period}".format( + kpi=self.kpi1.description, + period=period.display_name, + ) + assert action_name == expected_name + + def test_qweb(self): + self.report_instance.print_pdf() # get action + test_reports.try_report( + self.env.cr, + self.env.uid, + "mis_builder.report_mis_report_instance", + [self.report_instance.id], + report_type="qweb-pdf", + ) + + def test_xlsx(self): + self.report_instance.export_xls() # get action + test_reports.try_report( + self.env.cr, + self.env.uid, + "mis_builder.mis_report_instance_xlsx", + [self.report_instance.id], + report_type="xlsx", + ) + + def test_get_kpis_by_account_id(self): + account_ids = ( + self.env["account.account"].search([("code", "=like", "200%")]).mapped("id") + ) + kpi200 = {self.kpi1, self.kpi2} + res = self.report.get_kpis_by_account_id(self.env.ref("base.main_company")) + for account_id in account_ids: + self.assertTrue(account_id in res) + self.assertEqual(res[account_id], kpi200) + + def test_kpi_name_get_name_search(self): + r = self.env["mis.report.kpi"].name_search("k1") + self.assertEqual(len(r), 1) + self.assertEqual(r[0][0], self.kpi1.id) + self.assertEqual(r[0][1], "kpi 1 (k1)") + r = self.env["mis.report.kpi"].name_search("kpi 1") + self.assertEqual(len(r), 1) + self.assertEqual(r[0][0], self.kpi1.id) + self.assertEqual(r[0][1], "kpi 1 (k1)") + + def test_kpi_expr_name_get_name_search(self): + r = self.env["mis.report.kpi.expression"].name_search("k1") + self.assertEqual( + [i[1] for i in r], + ["kpi 1 / subkpi 1 (k1.sk1)", "kpi 1 / subkpi 2 (k1.sk2)"], + ) + r = self.env["mis.report.kpi.expression"].name_search("k1.sk1") + self.assertEqual([i[1] for i in r], ["kpi 1 / subkpi 1 (k1.sk1)"]) + r = self.env["mis.report.kpi.expression"].name_search("k4") + self.assertEqual([i[1] for i in r], ["kpi 4 (k4)"]) + + def test_multi_company_onchange(self): + # not multi company + self.assertTrue(self.report_instance.company_id) + self.assertFalse(self.report_instance.multi_company) + self.assertFalse(self.report_instance.company_ids) + self.assertEqual( + self.report_instance.query_company_ids[0], self.report_instance.company_id + ) + # create a child company + self.env["res.company"].create( + dict(name="company 2", parent_id=self.report_instance.company_id.id) + ) + companies = self.env["res.company"].search( + [("id", "child_of", self.report_instance.company_id.id)] + ) + self.report_instance.multi_company = True + # multi company, company_ids not set + self.assertEqual( + self.report_instance.query_company_ids[0], self.report_instance.company_id + ) + # set company_ids + self.report_instance._onchange_company() + self.assertTrue(self.report_instance.multi_company) + self.assertEqual(self.report_instance.company_ids, companies) + self.assertEqual(self.report_instance.query_company_ids, companies) + # reset single company mode + self.report_instance.multi_company = False + self.assertEqual( + self.report_instance.query_company_ids[0], self.report_instance.company_id + ) + self.report_instance._onchange_company() + self.assertFalse(self.report_instance.company_ids) + + def test_mis_report_analytic_filters(self): + # Check that matrix has no values when using a filter with a non + # existing account + matrix = self.report_instance.with_context( + mis_report_filters={"analytic_account_id": {"value": 999}} + )._compute_matrix() + for row in matrix.iter_rows(): + vals = [c.val for c in row.iter_cells()] + if row.kpi.name == "k1": + self.assertEqual(vals, [AccountingNone, AccountingNone, AccountingNone]) + elif row.kpi.name == "k2": + self.assertEqual(vals, [AccountingNone, AccountingNone, None]) + elif row.kpi.name == "k4": + self.assertEqual(vals, [AccountingNone, AccountingNone, 1.0]) + + def test_raise_when_unknown_kpi_value_type(self): + with self.assertRaises(SubKPIUnknownTypeError): + self.report_instance_2.compute() + + def test_raise_when_wrong_tuple_length_with_subkpis(self): + with self.assertRaises(SubKPITupleLengthError): + self.report_instance_3.compute() diff --git a/odex25_accounting/mis_builder/tests/test_mis_safe_eval.py b/odex25_accounting/mis_builder/tests/test_mis_safe_eval.py new file mode 100644 index 000000000..c6947fe9c --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_mis_safe_eval.py @@ -0,0 +1,25 @@ +# Copyright 2016 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import odoo.tests.common as common + +from ..models.mis_safe_eval import DataError, NameDataError, mis_safe_eval + + +class TestMisSafeEval(common.TransactionCase): + def test_nominal(self): + val = mis_safe_eval("a + 1", {"a": 1}) + self.assertEqual(val, 2) + + def test_exceptions(self): + val = mis_safe_eval("1/0", {}) # division by zero + self.assertTrue(isinstance(val, DataError)) + self.assertEqual(val.name, "#DIV/0") + val = mis_safe_eval("1a", {}) # syntax error + self.assertTrue(isinstance(val, DataError)) + self.assertEqual(val.name, "#ERR") + + def test_name_error(self): + val = mis_safe_eval("a + 1", {}) + self.assertTrue(isinstance(val, NameDataError)) + self.assertEqual(val.name, "#NAME") diff --git a/odex25_accounting/mis_builder/tests/test_multi_company_aep.py b/odex25_accounting/mis_builder/tests/test_multi_company_aep.py new file mode 100644 index 000000000..cd7988918 --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_multi_company_aep.py @@ -0,0 +1,207 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import datetime + +import odoo.tests.common as common +from odoo import fields +from odoo.tools.safe_eval import safe_eval + +from ..models.accounting_none import AccountingNone +from ..models.aep import AccountingExpressionProcessor as AEP + + +class TestMultiCompanyAEP(common.TransactionCase): + def setUp(self): + super(TestMultiCompanyAEP, self).setUp() + self.res_company = self.env["res.company"] + self.account_model = self.env["account.account"] + self.move_model = self.env["account.move"] + self.journal_model = self.env["account.journal"] + self.currency_model = self.env["res.currency"] + self.curr_year = datetime.date.today().year + self.prev_year = self.curr_year - 1 + self.usd = self.currency_model.search([("name", "=", "USD")]) + self.eur = self.currency_model.search([("name", "=", "EUR")]) + # create company A and B + self.company_eur = self.res_company.create( + {"name": "CYEUR", "currency_id": self.eur.id} + ) + self.company_usd = self.res_company.create( + {"name": "CYUSD", "currency_id": self.usd.id} + ) + self.env["res.currency.rate"].search([]).unlink() + type_ar = self.browse_ref("account.data_account_type_receivable") + type_in = self.browse_ref("account.data_account_type_revenue") + for company, divider in [(self.company_eur, 1.0), (self.company_usd, 2.0)]: + # create receivable bs account + company_key = company.name + setattr( + self, + "account_ar_" + company_key, + self.account_model.create( + { + "company_id": company.id, + "code": "400AR", + "name": "Receivable", + "user_type_id": type_ar.id, + "reconcile": True, + } + ), + ) + # create income pl account + setattr( + self, + "account_in_" + company_key, + self.account_model.create( + { + "company_id": company.id, + "code": "700IN", + "name": "Income", + "user_type_id": type_in.id, + } + ), + ) + # create journal + setattr( + self, + "journal" + company_key, + self.journal_model.create( + { + "company_id": company.id, + "name": "Sale journal", + "code": "VEN", + "type": "sale", + } + ), + ) + # create move in december last year + self._create_move( + journal=getattr(self, "journal" + company_key), + date=datetime.date(self.prev_year, 12, 1), + amount=100 / divider, + debit_acc=getattr(self, "account_ar_" + company_key), + credit_acc=getattr(self, "account_in_" + company_key), + ) + # create move in january this year + self._create_move( + journal=getattr(self, "journal" + company_key), + date=datetime.date(self.curr_year, 1, 1), + amount=300 / divider, + debit_acc=getattr(self, "account_ar_" + company_key), + credit_acc=getattr(self, "account_in_" + company_key), + ) + # create move in february this year + self._create_move( + journal=getattr(self, "journal" + company_key), + date=datetime.date(self.curr_year, 3, 1), + amount=500 / divider, + debit_acc=getattr(self, "account_ar_" + company_key), + credit_acc=getattr(self, "account_in_" + company_key), + ) + + def _create_move(self, journal, date, amount, debit_acc, credit_acc): + move = self.move_model.create( + { + "journal_id": journal.id, + "date": fields.Date.to_string(date), + "line_ids": [ + (0, 0, {"name": "/", "debit": amount, "account_id": debit_acc.id}), + ( + 0, + 0, + {"name": "/", "credit": amount, "account_id": credit_acc.id}, + ), + ], + } + ) + move._post() + return move + + def _do_queries(self, companies, currency, date_from, date_to): + # create the AEP, and prepare the expressions we'll need + aep = AEP(companies, currency) + aep.parse_expr("bali[]") + aep.parse_expr("bale[]") + aep.parse_expr("balp[]") + aep.parse_expr("balu[]") + aep.parse_expr("bali[700IN]") + aep.parse_expr("bale[700IN]") + aep.parse_expr("balp[700IN]") + aep.parse_expr("bali[400AR]") + aep.parse_expr("bale[400AR]") + aep.parse_expr("balp[400AR]") + aep.parse_expr("debp[400A%]") + aep.parse_expr("crdp[700I%]") + aep.parse_expr("bali[400%]") + aep.parse_expr("bale[700%]") + aep.done_parsing() + aep.do_queries( + date_from=fields.Date.to_string(date_from), + date_to=fields.Date.to_string(date_to), + target_move="posted", + ) + return aep + + def _eval(self, aep, expr): + eval_dict = {"AccountingNone": AccountingNone} + return safe_eval(aep.replace_expr(expr), eval_dict) + + def _eval_by_account_id(self, aep, expr): + res = {} + eval_dict = {"AccountingNone": AccountingNone} + for account_id, replaced_exprs in aep.replace_exprs_by_account_id([expr]): + res[account_id] = safe_eval(replaced_exprs[0], eval_dict) + return res + + def test_aep_basic(self): + # let's query for december, one company + aep = self._do_queries( + self.company_eur, + None, + datetime.date(self.prev_year, 12, 1), + datetime.date(self.prev_year, 12, 31), + ) + self.assertEqual(self._eval(aep, "balp[700IN]"), -100) + aep = self._do_queries( + self.company_usd, + None, + datetime.date(self.prev_year, 12, 1), + datetime.date(self.prev_year, 12, 31), + ) + self.assertEqual(self._eval(aep, "balp[700IN]"), -50) + # let's query for december, two companies + aep = self._do_queries( + self.company_eur | self.company_usd, + self.eur, + datetime.date(self.prev_year, 12, 1), + datetime.date(self.prev_year, 12, 31), + ) + self.assertEqual(self._eval(aep, "balp[700IN]"), -150) + + def test_aep_multi_currency(self): + date_from = datetime.date(self.prev_year, 12, 1) + date_to = datetime.date(self.prev_year, 12, 31) + today = datetime.date.today() + self.env["res.currency.rate"].create( + dict(currency_id=self.usd.id, name=date_to, rate=1.1) + ) + self.env["res.currency.rate"].create( + dict(currency_id=self.usd.id, name=today, rate=1.2) + ) + # let's query for december, one company, default currency = eur + aep = self._do_queries(self.company_eur, None, date_from, date_to) + self.assertEqual(self._eval(aep, "balp[700IN]"), -100) + # let's query for december, two companies + aep = self._do_queries( + self.company_eur | self.company_usd, self.eur, date_from, date_to + ) + self.assertAlmostEqual(self._eval(aep, "balp[700IN]"), -100 - 50 / 1.1) + # let's query for december, one company, currency = usd + aep = self._do_queries(self.company_eur, self.usd, date_from, date_to) + self.assertAlmostEqual(self._eval(aep, "balp[700IN]"), -100 * 1.1) + # let's query for december, two companies, currency = usd + aep = self._do_queries( + self.company_eur | self.company_usd, self.usd, date_from, date_to + ) + self.assertAlmostEqual(self._eval(aep, "balp[700IN]"), -100 * 1.1 - 50) diff --git a/odex25_accounting/mis_builder/tests/test_period_dates.py b/odex25_accounting/mis_builder/tests/test_period_dates.py new file mode 100644 index 000000000..fb72627dd --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_period_dates.py @@ -0,0 +1,159 @@ +# Copyright 2017 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import odoo.tests.common as common +from odoo import fields + +from ..models.mis_report_instance import ( + MODE_FIX, + MODE_NONE, + MODE_REL, + SRC_SUMCOL, + DateFilterForbidden, + DateFilterRequired, +) +from .common import assert_matrix + + +class TestPeriodDates(common.TransactionCase): + def setUp(self): + super(TestPeriodDates, self).setUp() + self.report_obj = self.env["mis.report"] + self.instance_obj = self.env["mis.report.instance"] + self.period_obj = self.env["mis.report.instance.period"] + self.report = self.report_obj.create(dict(name="test-report")) + self.instance = self.instance_obj.create( + dict(name="test-instance", report_id=self.report.id, comparison_mode=False) + ) + self.assertEqual(len(self.instance.period_ids), 1) + self.period = self.instance.period_ids[0] + + def assertDateEqual(self, first, second, msg=None): + self.assertEqual(first, fields.Date.from_string(second), msg) + + def test_date_filter_constraints(self): + self.instance.comparison_mode = True + with self.assertRaises(DateFilterRequired): + self.period.write(dict(mode=MODE_NONE)) + with self.assertRaises(DateFilterForbidden): + self.period.write(dict(mode=MODE_FIX, source=SRC_SUMCOL)) + + def test_simple_mode(self): + # not comparison_mode + self.assertFalse(self.instance.comparison_mode) + period = self.instance.period_ids[0] + self.assertEqual(period.date_from, self.instance.date_from) + self.assertEqual(period.date_to, self.instance.date_to) + + def tests_mode_none(self): + self.instance.comparison_mode = True + self.period.write(dict(mode=MODE_NONE, source=SRC_SUMCOL)) + self.assertFalse(self.period.date_from) + self.assertFalse(self.period.date_to) + self.assertTrue(self.period.valid) + + def tests_mode_fix(self): + self.instance.comparison_mode = True + self.period.write( + dict( + mode=MODE_FIX, + manual_date_from="2017-01-01", + manual_date_to="2017-12-31", + ) + ) + self.assertDateEqual(self.period.date_from, "2017-01-01") + self.assertDateEqual(self.period.date_to, "2017-12-31") + self.assertTrue(self.period.valid) + + def test_rel_day(self): + self.instance.write(dict(comparison_mode=True, date="2017-01-01")) + self.period.write(dict(mode=MODE_REL, type="d", offset="-2")) + self.assertDateEqual(self.period.date_from, "2016-12-30") + self.assertDateEqual(self.period.date_to, "2016-12-30") + self.assertTrue(self.period.valid) + + def test_rel_day_ytd(self): + self.instance.write(dict(comparison_mode=True, date="2019-05-03")) + self.period.write(dict(mode=MODE_REL, type="d", offset="-2", is_ytd=True)) + self.assertDateEqual(self.period.date_from, "2019-01-01") + self.assertDateEqual(self.period.date_to, "2019-05-01") + self.assertTrue(self.period.valid) + + def test_rel_week(self): + self.instance.write(dict(comparison_mode=True, date="2016-12-30")) + self.period.write(dict(mode=MODE_REL, type="w", offset="1", duration=2)) + # from Monday to Sunday, the week after 2016-12-30 + self.assertDateEqual(self.period.date_from, "2017-01-02") + self.assertDateEqual(self.period.date_to, "2017-01-15") + self.assertTrue(self.period.valid) + + def test_rel_week_ytd(self): + self.instance.write(dict(comparison_mode=True, date="2019-05-27")) + self.period.write( + dict(mode=MODE_REL, type="w", offset="1", duration=2, is_ytd=True) + ) + self.assertDateEqual(self.period.date_from, "2019-01-01") + self.assertDateEqual(self.period.date_to, "2019-06-16") + self.assertTrue(self.period.valid) + + def test_rel_month(self): + self.instance.write(dict(comparison_mode=True, date="2017-01-05")) + self.period.write(dict(mode=MODE_REL, type="m", offset="1")) + self.assertDateEqual(self.period.date_from, "2017-02-01") + self.assertDateEqual(self.period.date_to, "2017-02-28") + self.assertTrue(self.period.valid) + + def test_rel_month_ytd(self): + self.instance.write(dict(comparison_mode=True, date="2019-05-15")) + self.period.write(dict(mode=MODE_REL, type="m", offset="-1", is_ytd=True)) + self.assertDateEqual(self.period.date_from, "2019-01-01") + self.assertDateEqual(self.period.date_to, "2019-04-30") + self.assertTrue(self.period.valid) + + def test_rel_year(self): + self.instance.write(dict(comparison_mode=True, date="2017-05-06")) + self.period.write(dict(mode=MODE_REL, type="y", offset="1")) + self.assertDateEqual(self.period.date_from, "2018-01-01") + self.assertDateEqual(self.period.date_to, "2018-12-31") + self.assertTrue(self.period.valid) + + def test_rel_date_range(self): + # create a few date ranges + date_range_type = self.env["date.range.type"].create(dict(name="Year")) + for year in (2016, 2017, 2018): + self.env["date.range"].create( + dict( + type_id=date_range_type.id, + name="%d" % year, + date_start="%d-01-01" % year, + date_end="%d-12-31" % year, + company_id=False, + ) + ) + self.instance.write(dict(comparison_mode=True, date="2017-06-15")) + self.period.write( + dict( + mode=MODE_REL, + type="date_range", + date_range_type_id=date_range_type.id, + offset="-1", + duration=3, + ) + ) + self.assertDateEqual(self.period.date_from, "2016-01-01") + self.assertDateEqual(self.period.date_to, "2018-12-31") + self.assertTrue(self.period.valid) + + def test_dates_in_expr(self): + self.env["mis.report.kpi"].create( + dict( + report_id=self.report.id, + name="k1", + description="kpi 1", + expression="(date_to - date_from).days + 1", + ) + ) + self.instance.date_from = "2017-01-01" + self.instance.date_to = "2017-01-31" + matrix = self.instance._compute_matrix() + assert_matrix(matrix, [[31]]) diff --git a/odex25_accounting/mis_builder/tests/test_render.py b/odex25_accounting/mis_builder/tests/test_render.py new file mode 100644 index 000000000..7c1234c61 --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_render.py @@ -0,0 +1,317 @@ +# Copyright 2016 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import odoo.tests.common as common + +from ..models.accounting_none import AccountingNone +from ..models.data_error import DataError +from ..models.mis_report_style import CMP_DIFF, CMP_PCT, TYPE_NUM, TYPE_PCT, TYPE_STR + + +class TestRendering(common.TransactionCase): + def setUp(self): + super(TestRendering, self).setUp() + self.style_obj = self.env["mis.report.style"] + self.kpi_obj = self.env["mis.report.kpi"] + self.style = self.style_obj.create(dict(name="teststyle")) + self.lang = ( + self.env["res.lang"] + .with_context(active_test=False) + .search([("code", "=", "en_US")])[0] + ) + + def _render(self, value, type=TYPE_NUM): + style_props = self.style_obj.merge([self.style]) + return self.style_obj.render(self.lang, style_props, type, value) + + def _compare_and_render( + self, value, base_value, type=TYPE_NUM, compare_method=CMP_PCT + ): + style_props = self.style_obj.merge([self.style]) + r = self.style_obj.compare_and_render( + self.lang, style_props, type, compare_method, value, base_value + )[:2] + if r[0]: + return (round(r[0], 8), r[1]) + else: + return r + + def test_render(self): + self.assertEqual(u"1", self._render(1)) + self.assertEqual(u"1", self._render(1.1)) + self.assertEqual(u"2", self._render(1.6)) + self.style.dp_inherit = False + self.style.dp = 2 + self.assertEqual(u"1.00", self._render(1)) + self.assertEqual(u"1.10", self._render(1.1)) + self.assertEqual(u"1.60", self._render(1.6)) + self.assertEqual(u"1.61", self._render(1.606)) + self.assertEqual(u"12,345.67", self._render(12345.67)) + + def test_render_negative(self): + # non breaking hyphen + self.assertEqual(u"\u20111", self._render(-1)) + + def test_render_zero(self): + self.assertEqual(u"0", self._render(0)) + self.assertEqual(u"", self._render(None)) + self.assertEqual(u"", self._render(AccountingNone)) + + def test_render_suffix(self): + self.style.suffix_inherit = False + self.style.suffix = u"€" + self.assertEqual(u"1\xa0€", self._render(1)) + self.style.suffix = u"k€" + self.style.divider_inherit = False + self.style.divider = "1e3" + self.assertEqual(u"1\xa0k€", self._render(1000)) + + def test_render_prefix(self): + self.style.prefix_inherit = False + self.style.prefix = u"$" + self.assertEqual(u"$\xa01", self._render(1)) + self.style.prefix = u"k$" + self.style.divider_inherit = False + self.style.divider = "1e3" + self.assertEqual(u"k$\xa01", self._render(1000)) + + def test_render_divider(self): + self.style.divider_inherit = False + self.style.divider = "1e3" + self.style.dp_inherit = False + self.style.dp = 0 + self.assertEqual(u"1", self._render(1000)) + self.style.divider = "1e6" + self.style.dp = 3 + self.assertEqual(u"0.001", self._render(1000)) + self.style.divider = "1e-3" + self.style.dp = 0 + self.assertEqual(u"1,000", self._render(1)) + self.style.divider = "1e-6" + self.style.dp = 0 + self.assertEqual(u"1,000,000", self._render(1)) + + def test_render_pct(self): + self.assertEqual(u"100\xa0%", self._render(1, TYPE_PCT)) + self.assertEqual(u"50\xa0%", self._render(0.5, TYPE_PCT)) + self.style.dp_inherit = False + self.style.dp = 2 + self.assertEqual(u"51.23\xa0%", self._render(0.5123, TYPE_PCT)) + + def test_render_string(self): + self.assertEqual(u"", self._render("", TYPE_STR)) + self.assertEqual(u"", self._render(None, TYPE_STR)) + self.assertEqual(u"abcdé", self._render(u"abcdé", TYPE_STR)) + + def test_compare_num_pct(self): + self.assertEqual((1.0, u"+100.0\xa0%"), self._compare_and_render(100, 50)) + self.assertEqual((0.5, u"+50.0\xa0%"), self._compare_and_render(75, 50)) + self.assertEqual((0.5, u"+50.0\xa0%"), self._compare_and_render(-25, -50)) + self.assertEqual((1.0, u"+100.0\xa0%"), self._compare_and_render(0, -50)) + self.assertEqual((2.0, u"+200.0\xa0%"), self._compare_and_render(50, -50)) + self.assertEqual((-0.5, u"\u201150.0\xa0%"), self._compare_and_render(25, 50)) + self.assertEqual((-1.0, u"\u2011100.0\xa0%"), self._compare_and_render(0, 50)) + self.assertEqual((-2.0, u"\u2011200.0\xa0%"), self._compare_and_render(-50, 50)) + self.assertEqual((-0.5, u"\u201150.0\xa0%"), self._compare_and_render(-75, -50)) + self.assertEqual( + (AccountingNone, u""), self._compare_and_render(50, AccountingNone) + ) + self.assertEqual((AccountingNone, u""), self._compare_and_render(50, None)) + self.assertEqual((AccountingNone, u""), self._compare_and_render(50, 50)) + self.assertEqual((0.002, u"+0.2\xa0%"), self._compare_and_render(50.1, 50)) + self.assertEqual((AccountingNone, u""), self._compare_and_render(50.01, 50)) + self.assertEqual( + (-1.0, u"\u2011100.0\xa0%"), self._compare_and_render(AccountingNone, 50) + ) + self.assertEqual( + (-1.0, u"\u2011100.0\xa0%"), self._compare_and_render(None, 50) + ) + self.assertEqual( + (AccountingNone, u""), self._compare_and_render(DataError("#ERR", "."), 1) + ) + self.assertEqual( + (AccountingNone, u""), self._compare_and_render(1, DataError("#ERR", ".")) + ) + + def test_compare_num_diff(self): + self.assertEqual( + (25, u"+25"), self._compare_and_render(75, 50, TYPE_NUM, CMP_DIFF) + ) + self.assertEqual( + (-25, u"\u201125"), self._compare_and_render(25, 50, TYPE_NUM, CMP_DIFF) + ) + self.style.suffix_inherit = False + self.style.suffix = u"€" + self.assertEqual( + (-25, u"\u201125\xa0€"), + self._compare_and_render(25, 50, TYPE_NUM, CMP_DIFF), + ) + self.style.suffix = u"" + self.assertEqual( + (50.0, u"+50"), + self._compare_and_render(50, AccountingNone, TYPE_NUM, CMP_DIFF), + ) + self.assertEqual( + (50.0, u"+50"), self._compare_and_render(50, None, TYPE_NUM, CMP_DIFF) + ) + self.assertEqual( + (-50.0, u"\u201150"), + self._compare_and_render(AccountingNone, 50, TYPE_NUM, CMP_DIFF), + ) + self.assertEqual( + (-50.0, u"\u201150"), self._compare_and_render(None, 50, TYPE_NUM, CMP_DIFF) + ) + self.style.dp_inherit = False + self.style.dp = 2 + self.assertEqual( + (0.1, u"+0.10"), self._compare_and_render(1.1, 1.0, TYPE_NUM, CMP_DIFF) + ) + self.assertEqual( + (AccountingNone, u""), + self._compare_and_render(1.001, 1.0, TYPE_NUM, CMP_DIFF), + ) + + def test_compare_pct(self): + self.assertEqual( + (0.25, u"+25\xa0pp"), self._compare_and_render(0.75, 0.50, TYPE_PCT) + ) + self.assertEqual( + (AccountingNone, u""), self._compare_and_render(0.751, 0.750, TYPE_PCT) + ) + + def test_compare_pct_result_type(self): + style_props = self.style_obj.merge([self.style]) + result = self.style_obj.compare_and_render( + self.lang, style_props, TYPE_PCT, CMP_DIFF, 0.75, 0.50 + ) + self.assertEqual(result[3], TYPE_NUM) + + def test_merge(self): + self.style.color = "#FF0000" + self.style.color_inherit = False + style_props = self.style_obj.merge([self.style]) + self.assertEqual(style_props, {"color": "#FF0000"}) + style_dict = {"color": "#00FF00", "dp": 0} + style_props = self.style_obj.merge([self.style, style_dict]) + self.assertEqual(style_props, {"color": "#00FF00", "dp": 0}) + style2 = self.style_obj.create( + dict( + name="teststyle2", + dp_inherit=False, + dp=1, + # color_inherit=True: will not be applied + color="#0000FF", + ) + ) + style_props = self.style_obj.merge([self.style, style_dict, style2]) + self.assertEqual(style_props, {"color": "#00FF00", "dp": 1}) + + def test_css(self): + self.style.color_inherit = False + self.style.color = "#FF0000" + self.style.background_color_inherit = False + self.style.background_color = "#0000FF" + self.style.suffix_inherit = False + self.style.suffix = "s" + self.style.prefix_inherit = False + self.style.prefix = "p" + self.style.font_style_inherit = False + self.style.font_style = "italic" + self.style.font_weight_inherit = False + self.style.font_weight = "bold" + self.style.font_size_inherit = False + self.style.font_size = "small" + self.style.indent_level_inherit = False + self.style.indent_level = 2 + style_props = self.style_obj.merge([self.style]) + css = self.style_obj.to_css_style(style_props) + self.assertEqual( + css, + "font-style: italic; " + "font-weight: bold; " + "font-size: small; " + "color: #FF0000; " + "background-color: #0000FF; " + "text-indent: 2em", + ) + css = self.style_obj.to_css_style(style_props, no_indent=True) + self.assertEqual( + css, + "font-style: italic; " + "font-weight: bold; " + "font-size: small; " + "color: #FF0000; " + "background-color: #0000FF", + ) + + def test_xslx(self): + self.style.color_inherit = False + self.style.color = "#FF0000" + self.style.background_color_inherit = False + self.style.background_color = "#0000FF" + self.style.suffix_inherit = False + self.style.suffix = "s" + self.style.prefix_inherit = False + self.style.prefix = "p" + self.style.dp_inherit = False + self.style.dp = 2 + self.style.font_style_inherit = False + self.style.font_style = "italic" + self.style.font_weight_inherit = False + self.style.font_weight = "bold" + self.style.font_size_inherit = False + self.style.font_size = "small" + self.style.indent_level_inherit = False + self.style.indent_level = 2 + style_props = self.style_obj.merge([self.style]) + xlsx = self.style_obj.to_xlsx_style(TYPE_NUM, style_props) + self.assertEqual( + xlsx, + { + "italic": True, + "bold": True, + "size": 9, + "font_color": u"#FF0000", + "bg_color": u"#0000FF", + "num_format": u'"p "#,##0.00" s"', + "indent": 2, + }, + ) + xlsx = self.style_obj.to_xlsx_style(TYPE_NUM, style_props, no_indent=True) + self.assertEqual( + xlsx, + { + "italic": True, + "bold": True, + "size": 9, + "font_color": u"#FF0000", + "bg_color": u"#0000FF", + "num_format": u'"p "#,##0.00" s"', + }, + ) + # percent type ignore prefix and suffix + xlsx = self.style_obj.to_xlsx_style(TYPE_PCT, style_props, no_indent=True) + self.assertEqual( + xlsx, + { + "italic": True, + "bold": True, + "size": 9, + "font_color": u"#FF0000", + "bg_color": u"#0000FF", + "num_format": u"0.00%", + }, + ) + + # str type have no num_format style + xlsx = self.style_obj.to_xlsx_style(TYPE_STR, style_props, no_indent=True) + self.assertEqual( + xlsx, + { + "italic": True, + "bold": True, + "size": 9, + "font_color": u"#FF0000", + "bg_color": u"#0000FF", + }, + ) diff --git a/odex25_accounting/mis_builder/tests/test_simple_array.py b/odex25_accounting/mis_builder/tests/test_simple_array.py new file mode 100644 index 000000000..36d8e131b --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_simple_array.py @@ -0,0 +1,7 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from ..models import simple_array +from .common import load_doctests + +load_tests = load_doctests(simple_array) diff --git a/odex25_accounting/mis_builder/tests/test_subreport.py b/odex25_accounting/mis_builder/tests/test_subreport.py new file mode 100644 index 000000000..5f24bf520 --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_subreport.py @@ -0,0 +1,96 @@ +# Copyright 2020 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import SavepointCase + +from odoo.addons.mis_builder.models.expression_evaluator import ExpressionEvaluator +from odoo.addons.mis_builder.models.mis_report_subreport import ( + InvalidNameError, + ParentLoopError, +) + + +class TestMisSubreport(SavepointCase): + @classmethod + def setUpClass(cls): + super(TestMisSubreport, cls).setUpClass() + # create report + cls.subreport = cls.env["mis.report"].create(dict(name="test subreport")) + cls.subreport_kpi1 = cls.env["mis.report.kpi"].create( + dict( + report_id=cls.subreport.id, + name="sk1", + description="subreport kpi 1", + expression="11", + ) + ) + cls.report = cls.env["mis.report"].create( + dict( + name="test report", + subreport_ids=[ + (0, 0, dict(name="subreport", subreport_id=cls.subreport.id)) + ], + ) + ) + cls.report_kpi1 = cls.env["mis.report.kpi"].create( + dict( + report_id=cls.report.id, + name="k1", + description="report kpi 1", + expression="subreport.sk1 + 1", + ) + ) + cls.parent_report = cls.env["mis.report"].create( + dict( + name="parent report", + subreport_ids=[(0, 0, dict(name="report", subreport_id=cls.report.id))], + ) + ) + cls.parent_report_kpi1 = cls.env["mis.report.kpi"].create( + dict( + report_id=cls.parent_report.id, + name="pk1", + description="parent report kpi 1", + expression="report.k1 + 1", + ) + ) + + def test_basic(self): + ee = ExpressionEvaluator(aep=None, date_from="2017-01-01", date_to="2017-01-16") + d = self.report._evaluate(ee) + assert d["k1"] == 12 + + def test_two_levels(self): + ee = ExpressionEvaluator(aep=None, date_from="2017-01-01", date_to="2017-01-16") + d = self.parent_report._evaluate(ee) + assert d["pk1"] == 13 + + def test_detect_loop(self): + with self.assertRaises(ParentLoopError): + self.report.write( + dict( + subreport_ids=[ + ( + 0, + 0, + dict(name="preport1", subreport_id=self.parent_report.id), + ) + ] + ) + ) + with self.assertRaises(ParentLoopError): + self.report.write( + dict( + subreport_ids=[ + ( + 0, + 0, + dict(name="preport2", subreport_id=self.report.id), + ) + ] + ) + ) + + def test_invalid_name(self): + with self.assertRaises(InvalidNameError): + self.report.subreport_ids[0].name = "ab c" diff --git a/odex25_accounting/mis_builder/tests/test_utc_midnight.py b/odex25_accounting/mis_builder/tests/test_utc_midnight.py new file mode 100644 index 000000000..344af9406 --- /dev/null +++ b/odex25_accounting/mis_builder/tests/test_utc_midnight.py @@ -0,0 +1,19 @@ +# Copyright 2014 ACSONE SA/NV () +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import odoo.tests.common as common + +from ..models.mis_report import _utc_midnight + + +class TestUtcMidnight(common.TransactionCase): + def test_utc_midnight(self): + date_to_convert = "2014-07-05" + date_time_convert = _utc_midnight(date_to_convert, "Europe/Brussels") + self.assertEqual(date_time_convert, "2014-07-04 22:00:00") + date_time_convert = _utc_midnight(date_to_convert, "Europe/Brussels", add_day=1) + self.assertEqual(date_time_convert, "2014-07-05 22:00:00") + date_time_convert = _utc_midnight(date_to_convert, "US/Pacific") + self.assertEqual(date_time_convert, "2014-07-05 07:00:00") + date_time_convert = _utc_midnight(date_to_convert, "US/Pacific", add_day=1) + self.assertEqual(date_time_convert, "2014-07-06 07:00:00") diff --git a/odex25_accounting/mis_builder/views/mis_report.xml b/odex25_accounting/mis_builder/views/mis_report.xml new file mode 100644 index 000000000..466f006ed --- /dev/null +++ b/odex25_accounting/mis_builder/views/mis_report.xml @@ -0,0 +1,321 @@ + + + + mis.report.view.tree + mis.report + + + + + + + + + mis.report.view.form + mis.report + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + mis.report.view.kpi.form + mis.report.kpi + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    + Expressions can be any valid python expressions. +

    +

    + The following special elements are recognized in + the expressions to compute accounting data: + + {bal|crd|deb|pbal|nbal}{pieu}[account + selector][journal items domain] + + . +

    +
      +
    • + bal, crd, deb, pbal, nbal + : balance, debit, credit, positive balance, + negative balance. +
    • +
    • + p, i, e + : respectively variation over the period, + initial balance, ending balance +
    • +
    • + The + account selector + is a like expression on the account code (eg + 70%, etc). +
    • +
    • + The + journal items domain + is an Odoo domain filter on journal items. +
    • +
    • + balu[] + : (u for unallocated) is a special + expression that shows the unallocated + profit/loss of previous + fiscal years. +
    • +
    +

    + Expressions can involve other KPI, sub KPI and + query results by name (eg kpi1 + kpi2, + kpi2.subkpi1, query1.field1). +

    +

    + Additionally following variables are available + in the evaluation context: +

    +
      +
    • + sum, min, max, len, avg + : behave as expected, very similar to the + python builtins. +
    • +
    • + datetime, datetime, dateutil + : the python modules. +
    • +
    • + date_from, date_to + : beginning and end date of the period. +
    • +
    • + AccountingNone + : a null value that behaves as 0 in + arithmetic operations. +
    • +
    +
    +
    + +
    +

    Examples:

    +
      +
    • + bal[70] + : variation of the balance of account 70 + over the period (it is the same as balp[70]. +
    • +
    • + bali[70,60] + : initial balance of accounts 70 and 60. +
    • +
    • + bale[1%%] + : balance of accounts starting with 1 at end + of period. +
    • +
    • + crdp[40%] + : sum of all credits on accounts starting + with 40 during the period. +
    • +
    • + + debp[55%][('journal_id.code', '=', + 'BNK1')] + + : sum of all debits on accounts 55 and + journal BNK1 during the period. +
    • +
    • + + balp[('user_type_id', '=', + ref('account. + data_account_type_receivable').id)][] + + : variation of the balance of all receivable + accounts over the period. +
    • +
    • + + balp[][('tax_line_id.tag_ids', '=', + ref('l10n_be.tax_tag_56').id)] + + : balance of move lines related to tax grid + 56. +
    • +
    • + pbale[55%] + : sum of all ending balances of accounts + starting with 55 whose + ending balance is positive. +
    • +
    +
    +
    +
    +
    +
    +
    +
    +
    + + MIS Report Templates + + mis.report + tree,form + + + +
    diff --git a/odex25_accounting/mis_builder/views/mis_report_instance.xml b/odex25_accounting/mis_builder/views/mis_report_instance.xml new file mode 100644 index 000000000..d180c0619 --- /dev/null +++ b/odex25_accounting/mis_builder/views/mis_report_instance.xml @@ -0,0 +1,408 @@ + + + + + + + + diff --git a/odex25_accounting/odex25_account_accountant/views/product_views.xml b/odex25_accounting/odex25_account_accountant/views/product_views.xml new file mode 100644 index 000000000..32068535c --- /dev/null +++ b/odex25_accounting/odex25_account_accountant/views/product_views.xml @@ -0,0 +1,31 @@ + + + + res.partner.form + res.partner + + + + account.group_account_manager + + + Accounting + + + Accounting + + + + + + product.template.form.inherit + product.template + 5 + + + + account.group_account_invoice,account.group_account_readonly + + + + diff --git a/odex25_accounting/odex25_account_accountant/views/res_config_settings_views.xml b/odex25_accounting/odex25_account_accountant/views/res_config_settings_views.xml new file mode 100644 index 000000000..e4dc27267 --- /dev/null +++ b/odex25_accounting/odex25_account_accountant/views/res_config_settings_views.xml @@ -0,0 +1,107 @@ + + + + res.config.settings.view.form.inherit.account.accountant + res.config.settings + + +
    + Accounting + Accounting +
    +
    +
    +
    +
    +
    + Fiscal Year +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + 0 +
    +
    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + + +
    +
    +
    + Inter-Banks Transfers +
    + Account used when transferring between banks +
    +
    +
    +
    +
    +
    +
    + + + + diff --git a/odex25_accounting/odex25_account_accountant/wizard/__init__.py b/odex25_accounting/odex25_account_accountant/wizard/__init__.py new file mode 100644 index 000000000..33eb68558 --- /dev/null +++ b/odex25_accounting/odex25_account_accountant/wizard/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import account_change_lock_date diff --git a/odex25_accounting/odex25_account_accountant/wizard/account_change_lock_date.py b/odex25_accounting/odex25_account_accountant/wizard/account_change_lock_date.py new file mode 100644 index 000000000..7c3c0b3dc --- /dev/null +++ b/odex25_accounting/odex25_account_accountant/wizard/account_change_lock_date.py @@ -0,0 +1,35 @@ +from odoo import models, fields, _ +from odoo.exceptions import UserError + + +class AccountChangeLockDate(models.TransientModel): + """ + This wizard is used to change the lock date + """ + _name = 'account.change.lock.date' + _description = 'Change Lock Date' + + period_lock_date = fields.Date( + string='Lock Date for Non-Advisers', + default=lambda self: self.env.company.period_lock_date, + help='Only users with the Adviser role can edit accounts prior to and inclusive of this date. Use it for period locking inside an open fiscal year, for example.') + fiscalyear_lock_date = fields.Date( + string='Lock Date for All Users', + default=lambda self: self.env.company.fiscalyear_lock_date, + help='No users, including Advisers, can edit accounts prior to and inclusive of this date. Use it for fiscal year locking for example.') + tax_lock_date = fields.Date( + "Tax Lock Date", + default=lambda self: self.env.company.tax_lock_date, + help='No users can edit journal entries related to a tax prior and inclusive of this date.') + + + def change_lock_date(self): + if self.user_has_groups('account.group_account_manager'): + self.env.company.sudo().write({ + 'period_lock_date': self.period_lock_date, + 'fiscalyear_lock_date': self.fiscalyear_lock_date, + 'tax_lock_date': self.tax_lock_date, + }) + else: + raise UserError(_('Only Billing Administrators are allowed to change lock dates!')) + return {'type': 'ir.actions.act_window_close'} diff --git a/odex25_accounting/odex25_account_accountant/wizard/account_change_lock_date.xml b/odex25_accounting/odex25_account_accountant/wizard/account_change_lock_date.xml new file mode 100644 index 000000000..de68fd492 --- /dev/null +++ b/odex25_accounting/odex25_account_accountant/wizard/account_change_lock_date.xml @@ -0,0 +1,41 @@ + + + + + + account.change.lock.date.form + account.change.lock.date + +
    + + + + + + + +
    +
    +
    +
    +
    + + + Lock your Fiscal Period + account.change.lock.date + form + + new + + + +
    +
    diff --git a/odex25_accounting/odex25_account_accountant/wizard/reconcile_model_wizard.xml b/odex25_accounting/odex25_account_accountant/wizard/reconcile_model_wizard.xml new file mode 100644 index 000000000..3305d7f46 --- /dev/null +++ b/odex25_accounting/odex25_account_accountant/wizard/reconcile_model_wizard.xml @@ -0,0 +1,44 @@ + + + + + account.reconcile.model.form + account.reconcile.model + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/odex25_accounting/odex25_account_asset/__init__.py b/odex25_accounting/odex25_account_asset/__init__.py new file mode 100644 index 000000000..024844063 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- + + +from . import models +from . import wizard +from . import report diff --git a/odex25_accounting/odex25_account_asset/__manifest__.py b/odex25_accounting/odex25_account_asset/__manifest__.py new file mode 100644 index 000000000..7f5238ef1 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/__manifest__.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- + + +{ + 'name': 'Assets Management', + 'description': """ +Assets management +================= +Manage assets owned by a company or a person. +Keeps track of depreciations, and creates corresponding journal entries. + + """, + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': 'Expert Co. Ltd.', + 'website': 'http://www.exp-sa.com', + 'sequence': 32, + 'depends': ['odex25_account_reports', ], + 'data': [ + 'security/account_asset_security.xml', + 'security/ir.model.access.csv', + 'wizard/asset_modify_views.xml', + 'wizard/asset_pause_views.xml', + 'wizard/asset_sell_views.xml', + 'views/account_account_views.xml', + 'views/account_asset_views.xml', + 'views/account_deferred_revenue.xml', + 'views/account_deferred_expense.xml', + 'views/account_move_views.xml', + 'views/account_asset_templates.xml', + 'report/account_assets_report_views.xml', + ], + 'demo': [ + 'demo/account_deferred_revenue_demo.xml', + ], + 'qweb': [ + "static/src/xml/account_asset_template.xml", + ], + # 'auto_install': True, +} diff --git a/odex25_accounting/odex25_account_asset/demo/account_deferred_revenue_demo.xml b/odex25_accounting/odex25_account_asset/demo/account_deferred_revenue_demo.xml new file mode 100644 index 000000000..3c92b02be --- /dev/null +++ b/odex25_accounting/odex25_account_asset/demo/account_deferred_revenue_demo.xml @@ -0,0 +1,24 @@ + + + + + + + + Revenue Recognition Maintenance Contract - 1 Years + 12 + 1 + + + + sale + model + + + diff --git a/odex25_accounting/odex25_account_asset/i18n/ar.po b/odex25_accounting/odex25_account_asset/i18n/ar.po new file mode 100644 index 000000000..922dd8b19 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/i18n/ar.po @@ -0,0 +1,2114 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_asset +# +# Translators: +# Sherif Abd Ekmoniem , 2020 +# Eng.Walid Ramadan , 2020 +# Osama Ahmaro , 2020 +# Mustafa Rawi , 2020 +# Sadig Adam , 2020 +# amrnegm , 2020 +# Martin Trigaux, 2020 +# hoxhe Aits , 2020 +# Osoul , 2020 +# Ghaith Gammar , 2020 +# Ali Alrehawi , 2020 +# amal ahmed , 2020 +# Zuhair Hammadi , 2020 +# Shaima Safar , 2020 +# Islam Eldeeb , 2020 +# Mostafa Hanafy , 2020 +# Nisrine Tagri , 2020 +# Tasneem Sarhan , 2020 +# MOHAMMAD IBRAHIM , 2020 +# Talal Albahra , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 13:47+0000\n" +"PO-Revision-Date: 2020-09-07 08:17+0000\n" +"Last-Translator: Talal Albahra , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid " (copy)" +msgstr " (نسخة)" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__total_depreciation_entries_count +msgid "# Depreciation Entries" +msgstr " قيود الإهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__gross_increase_count +msgid "# Gross Increases" +msgstr "الزيادات الإجمالية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__depreciation_entries_count +msgid "# Posted Depreciation Entries" +msgstr "قيود الإهلاك المُرحلة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "%s created from invoice" +msgstr "تم انشاؤها من الفاتورة %s" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "(prorata entry)" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "A deferred expense has been created for this move:" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "A deferred revenue has been created for this move:" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "A document linked to %s has been deleted: " +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "A gross increase has been created" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_account_account +msgid "Account" +msgstr "حساب" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__account_asset_counterpart_id +msgid "Account Asset Counterpart" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_account_assets_report +msgid "Account Assets Report" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__account_depreciation_id +msgid "Account Depreciation" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__account_depreciation_expense_id +msgid "Account Depreciation Expense" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__user_type_id +msgid "" +"Account Type is used for information purpose, to generate country-specific " +"legal reports, and set the rules to close a fiscal year and generate opening" +" entries." +msgstr "" +"يستخدم نوع الحساب في استخراج التقارير وفقاً للتقارير القانونية المطلوبة في " +"كل دولة، وتضع القواعد اللازمة في إقفال سنة مالية وإنشاء القيد الافتتاحي " +"للسنة المالية اللاحقة." + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__account_depreciation_id +msgid "Account used in the depreciation entries, to decrease the asset value." +msgstr "الحساب المستخدم لقيود إهلاكات الأصل، لتخفيض القيمة الدفترية للأصل." + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__account_depreciation_expense_id +msgid "" +"Account used in the periodical entries, to record a part of the asset as " +"expense." +msgstr "الحساب المستخدم للقيود الدورية لتسجيل قيد مصروف الإهلاك." + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Account used to recognize the expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Account used to recognize the revenue" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Account used to record the deferred expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Account used to record the deferred income" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__account_asset_id +msgid "" +"Account used to record the purchase of the asset at its original price." +msgstr "الحساب المستخدم لتسجيل قيد شراء الأصل بسعره الأصلي." + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset_sell__gain_account_id +msgid "Account used to write the journal item in case of gain" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_res_company__gain_account_id +msgid "" +"Account used to write the journal item in case of gain while selling an " +"asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset_sell__loss_account_id +msgid "Account used to write the journal item in case of loss" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_res_company__loss_account_id +msgid "" +"Account used to write the journal item in case of loss while selling an " +"asset" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Accounting" +msgstr "الحسابات" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__acquisition_date +#, python-format +msgid "Acquisition Date" +msgstr "تاريخ الاستحواذ" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__action +msgid "Action" +msgstr "إجراء" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_needaction +msgid "Action Needed" +msgstr "إجراء مطلوب" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__active +msgid "Active" +msgstr "نشط" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_ids +msgid "Activities" +msgstr "الأنشطة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "زخرفة استثناء النشاط" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_state +msgid "Activity State" +msgstr "حالة النشاط" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_type_icon +msgid "Activity Type Icon" +msgstr "أيقونة نوع النشاط" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "All the lines should be from the same account" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "All the lines should be from the same move type" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "All the lines should be posted" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__already_depreciated_amount_import +msgid "Already Depreciated Amount Import" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__parent_id +msgid "An asset has a parent when it is the result of gaining value" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "An asset has been created for this move:" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__account_analytic_id +msgid "Analytic Account" +msgstr "الحساب التحليلي" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__analytic_tag_ids +msgid "Analytic Tag" +msgstr "الوسم التحليلي" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Archived" +msgstr "مؤرشف" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__asset_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__asset_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__asset_id +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__asset_type__purchase +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +#, python-format +msgid "Asset" +msgstr "الأصل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Asset Account" +msgstr "حساب الأصل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__account_asset_id +msgid "Asset Gross Increase Account" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_id_display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_id_display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_id_display_name +msgid "Asset Id Display Name" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_ids_display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_ids_display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_ids_display_name +msgid "Asset Ids Display Name" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move_line__asset_ids +msgid "Asset Linked" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_manually_modified +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_manually_modified +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_manually_modified +msgid "Asset Manually Modified" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__asset_model +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_expense_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Asset Model" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Asset Model name" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_asset_model_form +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_asset_model_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_purchase_tree +msgid "Asset Models" +msgstr "نموذج الأصل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__name +msgid "Asset Name" +msgstr "اسم الأصل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Asset Options" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__asset_type +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__asset_type +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_asset_type +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_asset_type +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_asset_type +msgid "Asset Type" +msgstr "نوع الأصل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_value_change +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_value_change +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_value_change +msgid "Asset Value Change" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Asset Values" +msgstr "قيم الأصول" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset created" +msgstr "تم إنشاء الأصل" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_move_line__asset_ids +msgid "Asset created from this Journal Item" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset paused" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset sold or disposed. Accounting entry awaiting for validation." +msgstr "تم بيع أو تخريد الأصل، القيود المحاسبية في انتظار المراجعة والترحيل." + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Asset unpaused" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Asset(s)" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_account_asset +msgid "Asset/Revenue Recognition" +msgstr "إثبات الأصل/الربح" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_asset_form +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_ids +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_asset_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_purchase_tree +#, python-format +msgid "Assets" +msgstr "الأصول" + +#. module: odex25_account_asset +#: model:ir.ui.menu,name:odex25_account_asset.menu_finance_config_assets +msgid "Assets and Revenues" +msgstr "الأصول والإيرادات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Assets in closed state" +msgstr "الأصول المُقفلة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Assets in draft and open states" +msgstr "الأصول المسودة والجارية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_attachment_count +msgid "Attachment Count" +msgstr "عدد المرفقات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Automate Asset" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Automate Deferred Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Automate Deferred Revenue" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__book_value +#, python-format +msgid "Book Value" +msgstr "القيمة الدفترية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__can_create_asset +msgid "Can Create Asset" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_pause_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_sell_form +msgid "Cancel" +msgstr "الغاء" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Category of asset" +msgstr "فئة الأصل" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Characteristics" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__children_ids +msgid "Children" +msgstr "الفروع" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__method +msgid "" +"Choose the method to use to compute the amount of depreciation lines.\n" +" * Straight Line: Calculated on basis of: Gross Value / Number of Depreciations\n" +" * Declining: Calculated on basis of: Residual Value * Declining Factor\n" +" * Declining then Straight Line: Like Declining but with a minimum depreciation value equal to the straight line value." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__state__close +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Closed" +msgstr "مغلق" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_res_company +msgid "Companies" +msgstr "شركات" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__company_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__company_id +msgid "Company" +msgstr "شركة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Compute Depreciation" +msgstr "احتساب الإهلاك" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Compute Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Compute Revenue" +msgstr "حساب الأرباح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Confirm" +msgstr "تأكيد" + +#. module: odex25_account_asset +#: model:ir.actions.server,name:odex25_account_asset.action_account_aml_to_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__create_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_move_line_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_move_line_tree_grouped_inherit +msgid "Create Asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__create_asset__validate +msgid "Create and validate" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__create_asset__draft +msgid "Create in draft" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__create_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__create_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__create_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__create_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__create_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__create_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_depreciated_value +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_depreciated_value +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_depreciated_value +msgid "Cumulative Depreciation" +msgstr "مجمع الإهلاك" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Cumulative Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Cumulative Revenue" +msgstr "الأرباح التراكمية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__currency_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__currency_id +msgid "Currency" +msgstr "العملة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Current" +msgstr "الجاري" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Current Values" +msgstr "القيم الحالية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__invoice_id +msgid "Customer Invoice" +msgstr "فاتورة العميل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__date +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Date" +msgstr "التاريخ" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Dec. then Straight" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__method__degressive +#, python-format +msgid "Declining" +msgstr "انخفاض" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__method_progress_factor +msgid "Declining Factor" +msgstr "عامل الانخفاض" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__method__degressive_then_linear +msgid "Declining then Straight Line" +msgstr "الانخفاض ثم الخط المستقيم" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__asset_type__expense +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__asset_type__expense +#, python-format +msgid "Deferred Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_expense_model_search +msgid "Deferred Expense Account" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Deferred Expense Amount" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Deferred Expense Model" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Deferred Expense Model name" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_expense_model_form +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_expense_model_recognition +msgid "Deferred Expense Models" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Deferred Expense Options" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Deferred Expense name" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Deferred Expense(s)" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_expense_form +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_expense_recognition +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_tree +#, python-format +msgid "Deferred Expenses" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +msgid "Deferred Expenses Models" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__asset_type__sale +#, python-format +msgid "Deferred Revenue" +msgstr "الأرباح المُرحلة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Deferred Revenue Account" +msgstr "حساب الإيرادات المُرحلة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Deferred Revenue Amount" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Deferred Revenue Model" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Deferred Revenue Model name" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_revenue_model_form +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_revenue_model_recognition +msgid "Deferred Revenue Models" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Deferred Revenue Options" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Deferred Revenue name" +msgstr "اسم الأرباح المُرحلة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Deferred Revenue(s)" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_revenue_form +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_revenue_recognition +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_sale_tree +#, python-format +msgid "Deferred Revenues" +msgstr "إيرادات مدفوعة مقدمًا" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +msgid "Deferred Revenues Models" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Deferred expense" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Deferred expense created" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Deferred revenue" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Deferred revenue created" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__value_residual +msgid "Depreciable Amount" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__value_residual +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_remaining_value +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_remaining_value +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_remaining_value +msgid "Depreciable Value" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Depreciated Amount" +msgstr "المبلغ المستهلك" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +#, python-format +msgid "Depreciation" +msgstr "إهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__account_depreciation_id +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +msgid "Depreciation Account" +msgstr "حساب الإهلاك" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Depreciation Board" +msgstr "جدول الإهلاكات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Depreciation Date" +msgstr "تاريخ الإهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__depreciation_move_ids +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Depreciation Lines" +msgstr "بنود الإهلاك" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Depreciation Method" +msgstr "طريقة الإهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__depreciation_number_import +msgid "Depreciation Number Import" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.actions.client,name:odex25_account_asset.action_account_report_assets +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_report_assets +msgid "Depreciation Schedule" +msgstr "جدول الإهلاك" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Depreciation Table Report" +msgstr "تقرير جدول الإهلاك" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Depreciation board modified" +msgstr "تم تعديل جدول الإهلاكات" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Depreciation entry %s posted (%s)" +msgstr "بند الإهلاك %s تم ترحيله (%s)" + + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Depreciation entry %s reversed (%s)" +msgstr "قيد الإهلاك %s تم عكسه (%s)" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__display_account_asset_id +msgid "Display Account Asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__display_model_choice +msgid "Display Model Choice" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_assets_report__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move_line__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_res_company__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__disposal_date +msgid "Disposal Date" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Move" +msgstr "حركة التخريد" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Moves" +msgstr "حركات التخريد" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset_sell__action__dispose +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_sell_form +msgid "Dispose" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__state__draft +msgid "Draft" +msgstr "مسودة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__draft_asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__draft_asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__draft_asset_ids +msgid "Draft Asset" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Duration" +msgstr "المدة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Existing Depreciation Schedule" +msgstr "جدول الإهلاك الحالي" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Existing Depreciations" +msgstr "الإهلاكات الحالية" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_tree +#, python-format +msgid "Expense" +msgstr "المصروف" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__account_depreciation_expense_id +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_expense_model_search +msgid "Expense Account" +msgstr "حساب المصروفات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Expense Board" +msgstr "لوحة المصروفات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Expense Date" +msgstr "تاريخ المصروف" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Expense Lines" +msgstr "بنود المصروف" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +msgid "Expense Name" +msgstr "إسم المصروف" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Expense Recognition" +msgstr "الاعتراف بالمصروفات" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "First Depreciation" +msgstr "الإهلاك الأول" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__first_depreciation_date +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "First Depreciation Date" +msgstr "تاريخ أول إهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__first_depreciation_date_import +msgid "First Depreciation Date Import" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "First Recognition Date" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__account_asset_id +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +msgid "Fixed Asset Account" +msgstr "حساب الأصل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_follower_ids +msgid "Followers" +msgstr "المتابعون" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_channel_ids +msgid "Followers (Channels)" +msgstr "المتابعون (القنوات)" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_partner_ids +msgid "Followers (Partners)" +msgstr "المتابعون (الشركاء)" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__form_view_ref +msgid "Form View Ref" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Future Activities" +msgstr "الأنشطة المستقبلية" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset_sell__gain_or_loss__gain +msgid "Gain" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__gain_account_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_res_company__gain_account_id +msgid "Gain Account" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__gain_or_loss +msgid "Gain Or Loss" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__gain_value +msgid "Gain Value" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +#, python-format +msgid "Gross Increase" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__gross_increase_value +msgid "Gross Increase Value" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_expense_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Group By..." +msgstr "تجميع حسب.." + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_assets_report__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move_line__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_res_company__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_exception_icon +msgid "Icon" +msgstr "الأيقونة" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "الأيقونة للإشارة إلى استثناء النشاط" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_needaction +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_unread +msgid "If checked, new messages require your attention." +msgstr "إذا كان محددًا، فهناك رسائل جديدة تحتاج لرؤيتها." + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_has_error +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "إذا كان محددًا، فقد حدث خطأ في تسليم بعض الرسائل." + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_account__asset_model +msgid "" +"If this is selected, an expense/revenue will be created automatically when " +"Journal Items on this account are posted." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__first_depreciation_date_import +msgid "" +"In case of an import from another software, provide the first depreciation " +"date in it." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__depreciation_number_import +msgid "" +"In case of an import from another software, provide the number of " +"depreciations already done before starting with Odoo." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__already_depreciated_amount_import +msgid "" +"In case of an import from another software, you might need to use this field" +" to have the right depreciation table report. This is the value that was " +"already depreciated with entries not computed from this model" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "" +"In percent.
    For a linear method, the depreciation rate is computed per " +"year.
    For a declining method, it is the declining factor" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +msgid "Increase Accounts" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__prorata +msgid "" +"Indicates that the first depreciation entry for this asset have to be done " +"from the asset date (purchase date) instead of the first January / Start " +"date of fiscal year" +msgstr "" +"يشير إلى احتساب بداية الإهلاكات من تاريخ بداية الأصل (تاريخ الشراء) بدلاً عن" +" الأول من يناير / أو تاريخ بداية السنة المالية." + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__invoice_line_id +msgid "Invoice Line" +msgstr "بند الفاتورة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_is_follower +msgid "Is Follower" +msgstr "متابع" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__salvage_value +msgid "It is the amount you plan to have that you cannot depreciate." +msgstr "" +"هذا هو المبلغ المتبقي ولا يمكن إهلاكه عند الوصول إلى تاريخ انتهاء الأصل." + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__journal_id +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_expense_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Journal Entries" +msgstr "القيود اليومية" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_account_move +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Journal Entry" +msgstr "قيد اليومية" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_account_move_line +msgid "Journal Item" +msgstr "عنصر اليومية" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__original_move_line_ids +#, python-format +msgid "Journal Items" +msgstr "عناصر اليومية" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "" +"Journal Items of {account} should have a label in order to generate an asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_assets_report____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move_line____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_res_company____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__write_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__write_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__write_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__write_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__write_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__write_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Late Activities" +msgstr "الأنشطة المتأخرة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Linear" +msgstr "قسط ثابت" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset_sell__gain_or_loss__loss +msgid "Loss" +msgstr "خسارة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__loss_account_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_res_company__loss_account_id +msgid "Loss Account" +msgstr "حساب الخسارة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_main_attachment_id +msgid "Main Attachment" +msgstr "المرفق الرئيسي" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Manage Items" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_has_error +msgid "Message Delivery error" +msgstr "خطأ في تسليم الرسائل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_ids +msgid "Messages" +msgstr "الرسائل" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__method +#, python-format +msgid "Method" +msgstr "طريقة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__model_id +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__state__model +msgid "Model" +msgstr "الكائن" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +msgid "Modification" +msgstr "تعديل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +msgid "Modification reason" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +msgid "Modify" +msgstr "تعديل" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: model:ir.model,name:odex25_account_asset.model_asset_modify +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +#, python-format +msgid "Modify Asset" +msgstr "تعديل الأصل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Modify Depreciation" +msgstr "تعديل الإهلاكات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Modify Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Modify Revenue" +msgstr "تعديل الأرباح" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__method_period__1 +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__asset_modify__method_period__1 +msgid "Months" +msgstr "شهور" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__multiple_assets_per_line +msgid "Multiple Assets per Line" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_account__multiple_assets_per_line +msgid "" +"Multiple asset items will be generated depending on the bill line quantity " +"instead of 1 global asset." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__need_date +msgid "Need Date" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +msgid "New Values" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_asset_modify__value_residual +msgid "New residual amount for the asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_asset_modify__salvage_value +msgid "New salvage amount for the asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "الموعد النهائي للنشاط التالي" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_summary +msgid "Next Activity Summary" +msgstr "ملخص النشاط التالي" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_type_id +msgid "Next Activity Type" +msgstr "نوع النشاط التالي" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Next Period Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Next Period Revenue" +msgstr "أرباح الفترة القادمة" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__create_asset__no +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset_sell__gain_or_loss__no +msgid "No" +msgstr "لا" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "No asset account" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__salvage_value +msgid "Not Depreciable Amount" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__salvage_value +msgid "Not Depreciable Value" +msgstr "القيمة الغير قابلة للاستهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__first_depreciation_date +msgid "" +"Note that this date does not alter the computation of the first journal " +"entry in case of prorata temporis assets. It simply changes its accounting " +"date" +msgstr "" +"لاحظ أن هذا التاريخ لا يغير من كيفية احتساب قيد المحاسبي الأول في حالة " +"الأصول التي تحتسب من تاريخ الشراء. كل ما يفعله هو تغيير تاريخ القيد." + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__number_asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__number_asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__number_asset_ids +msgid "Number Asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_needaction_counter +msgid "Number of Actions" +msgstr "عدد الإجراءات" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__method_number +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__method_number +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_purchase_tree +msgid "Number of Depreciations" +msgstr "عدد الإهلاكات" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__method_period +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__method_period +msgid "Number of Months in a Period" +msgstr "عدد الشهور في الفترة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Number of Recognitions" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__gross_increase_count +msgid "Number of assets made to increase the value of the asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__total_depreciation_entries_count +msgid "Number of depreciation entries (posted or not)" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_has_error_counter +msgid "Number of errors" +msgstr "عدد الاخطاء" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "عدد الرسائل التي تتطلب إجراء" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "عدد الرسائل الحادث بها خطأ في التسليم" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_unread_counter +msgid "Number of unread messages" +msgstr "عدد الرسائل الجديدة" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__state__paused +msgid "On Hold" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.line_caret_options +msgid "Open Asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__original_value +msgid "Original Value" +msgstr "القيمة الأصلية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__parent_id +msgid "Parent" +msgstr "الأصل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_pause_form +msgid "Pause" +msgstr "إيقاف" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: model:ir.model,name:odex25_account_asset.model_account_asset_pause +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_pause_form +#, python-format +msgid "Pause Asset" +msgstr "إيقاف الأصل مؤقتاً" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Pause Depreciation" +msgstr "إيقاف الإهلاك مؤقتاً" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__date +msgid "Pause date" +msgstr "تاريخ الإيقاف المؤقت" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_purchase_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +msgid "Period length" +msgstr "طول المدة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Posted Entries" +msgstr "القيود المُرحّلة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__prorata_date +msgid "Prorata Date" +msgstr "التاريخ النسبي" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__prorata +msgid "Prorata Temporis" +msgstr "التناسب الزمني" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__asset_type__purchase +msgid "Purchase: Asset" +msgstr "شراء: الأصل" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Rate" +msgstr "السعر" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__name +msgid "Reason" +msgstr "السبب" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Related Expenses" +msgstr "النفقات ذات الصلة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Related Purchase" +msgstr "المشتريات المرتبطة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Related Sales" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Report of reversal for {name}" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Reset to running" +msgstr "إعادة تعيين للتشغيل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Residual Amount to Recognize" +msgstr "المبلغ المتبقي للتعرف عليه" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_user_id +msgid "Responsible User" +msgstr "المستخدم المسؤول" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Resume Depreciation" +msgstr "استئناف الاستهلاك" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +#, python-format +msgid "Revenue" +msgstr "الربح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Revenue Account" +msgstr "حساب الإيرادات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Revenue Board" +msgstr "جانب الارباح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Revenue Date" +msgstr "تاريخ الأرباح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Revenue Lines" +msgstr "بنود الأرباح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_sale_tree +msgid "Revenue Name" +msgstr "اسم الأرباح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Revenue Recognition" +msgstr "إثبات الإيرادات" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__reversal_move_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__reversal_move_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__reversal_move_id +msgid "Reversal Move" +msgstr "تحرك عكسي" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "" +"Reverse the depreciation entries posted in the future in order to modify the" +" depreciation" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__state__open +msgid "Running" +msgstr "جاري" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_has_sms_error +msgid "SMS Delivery error" +msgstr "خطأ في تسليم الرسائل القصيرة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Sale" +msgstr "المبيعات" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__asset_type__sale +msgid "Sale: Revenue Recognition" +msgstr "البيع: إثبات الإيراد" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Save Model" +msgstr "نموذج البيع" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Save model" +msgstr "Save model" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__select_invoice_line_id +msgid "Select Invoice Line" +msgstr "تحديد بند الفاتورة" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset_sell__action__sell +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_sell_form +msgid "Sell" +msgstr "بيع" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: model:ir.model,name:odex25_account_asset.model_account_asset_sell +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_sell_form +#, python-format +msgid "Sell Asset" +msgstr "بيع الأصل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Sell or Dispose" +msgstr "بيع أو تخريد" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Set manually the original values or" +msgstr "قم بتعيين القيم يدوياً أو" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Set to Draft" +msgstr "تعيين كمسودة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Set to Running" +msgstr "التعيين كجارٍ" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Show all records which has next action date is before today" +msgstr "عرض كافة السجلات المُعين لها تاريخ إجراء تالي يسبق تاريخ اليوم الجاري" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Some fields are missing {}" +msgstr "بعض الحقول مفقودة {}" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Some required values are missing" +msgstr "Some required values are missing" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Start Depreciating" +msgstr "بدء الإهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__state +msgid "Status" +msgstr "الحالة" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"الحالة على أساس الأنشطة\n" +"المتأخرة: تاريخ الاستحقاق مر\n" +"اليوم: تاريخ النشاط هو اليوم\n" +"المخطط: الأنشطة المستقبلية." + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__method__linear +msgid "Straight Line" +msgstr "خط مستقيم" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__book_value +msgid "" +"Sum of the depreciable value, the salvage value and the book value of all " +"value increase items" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_account__can_create_asset +msgid "" +"Technical field specifying if the account can generate asset depending on " +"it's type. It is used in the account form view." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_asset_modify__gain_value +msgid "" +"Technical field to know if we should display the fields for the creation of " +"gross increase asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset_sell__gain_or_loss +msgid "" +"Technical field to know is there was a gain or a loss in the selling of the " +"asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__method_period +#: model:ir.model.fields,help:odex25_account_asset.field_asset_modify__method_period +msgid "The amount of time between two depreciations" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_asset_modify__asset_id +msgid "The asset to be modified by this wizard" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__children_ids +msgid "The children are the gains in value of this asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset_sell__invoice_id +msgid "" +"The disposal invoice is needed in order to generate the closing journal " +"entry." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__method_number +msgid "The number of depreciations needed to depreciate your asset" +msgstr "عدد أقساط الإهلاك المطلوبة حتى تخريد أو انتهاء عمر الأصل" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "The remaining value on the last depreciation line must be 0" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset_sell__invoice_line_id +msgid "There are multiple lines that could be the related to this asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_bank_statement_line__asset_value_change +#: model:ir.model.fields,help:odex25_account_asset.field_account_move__asset_value_change +#: model:ir.model.fields,help:odex25_account_asset.field_account_payment__asset_value_change +msgid "" +"This is a technical field set to true when this move is the result of the " +"changing of value of an asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_bank_statement_line__asset_manually_modified +#: model:ir.model.fields,help:odex25_account_asset.field_account_move__asset_manually_modified +#: model:ir.model.fields,help:odex25_account_asset.field_account_payment__asset_manually_modified +msgid "" +"This is a technical field stating that a depreciation line has been manually" +" modified. It is used to recompute the depreciation table of an " +"asset/deferred revenue." +msgstr "" + +#. module: odex25_account_asset +#. openerp-web +#: code:addons/odex25_account_asset/static/src/js/account_asset_reversed_widget.js:0 +#, python-format +msgid "This move has been reversed" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Today Activities" +msgstr "نشاطات اليوم" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Total" +msgstr "الإجمالي" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Trying to pause an asset without any future depreciation line" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Turn as a deferred expense" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Turn as a deferred revenue" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Turn as an asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__user_type_id +msgid "Type of the account" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "نوع النشاط الاستثنائي المسجل." + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_unread +msgid "Unread Messages" +msgstr "الرسائل الجديدة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_unread_counter +msgid "Unread Messages Counter" +msgstr "عدد الرسائل الجديدة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Value decrease for: %(asset)s" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Value increase for: %(asset)s" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__website_message_ids +msgid "Website Messages" +msgstr "رسائل الموقع" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__website_message_ids +msgid "Website communication history" +msgstr "سجل تواصل الموقع" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__state +msgid "" +"When an asset is created, the status is 'Draft'.\n" +"If the asset is confirmed, the status goes in 'Running' and the depreciation lines can be posted in the accounting.\n" +"The 'On Hold' status can be set manually when you want to pause the depreciation of an asset for some time.\n" +"You can manually close an asset when the depreciation is over. If the last line of depreciation is posted, the asset automatically goes in that status." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__method_period__12 +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__asset_modify__method_period__12 +msgid "Years" +msgstr "عدد السنوات" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot archive a record that is not closed" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: code:addons/odex25_account_asset/wizard/asset_sell.py:0 +#, python-format +msgid "" +"You cannot automate the journal entry for an asset that has a running gross " +"increase. Please use 'Dispose' on the increase(s)." +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"You cannot create an asset from lines containing credit and debit on the " +"account or with a null amount" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that is in %s state." +msgstr "لا يمكنك حذف ملف في الحالة %s." + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"You cannot delete an asset linked to posted entries.\n" +"You should either confirm the asset, then, sell or dispose of it, or cancel the linked journal entries." +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"You cannot pause an asset with posted depreciation lines in the future." +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "" +"You cannot reset to draft an entry having a posted deferred revenue/expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "e.g. Annual Subscription" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "e.g. Annually Paid Insurance" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "e.g. Laptop iBook" +msgstr "مثال: كمبيوتر محمول" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "select the related purchases" +msgstr "قم بتحديد عمليات الشراء ذات الصلة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "this move" +msgstr "هذه الحركة" diff --git a/odex25_accounting/odex25_account_asset/i18n/ar_001.po b/odex25_accounting/odex25_account_asset/i18n/ar_001.po new file mode 100644 index 000000000..2b6203ca0 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/i18n/ar_001.po @@ -0,0 +1,2104 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_asset +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-12-03 07:09+0000\n" +"PO-Revision-Date: 2023-12-03 07:09+0000\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: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid " (copy)" +msgstr " (نسخة)" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__total_depreciation_entries_count +msgid "# Depreciation Entries" +msgstr " قيود الإهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__gross_increase_count +msgid "# Gross Increases" +msgstr "الزيادات الإجمالية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__depreciation_entries_count +msgid "# Posted Depreciation Entries" +msgstr "قيود الإهلاك المُرحلة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "%s created from invoice" +msgstr "تم انشاؤها من الفاتورة %s" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "(prorata entry)" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "A deferred expense has been created for this move:" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "A deferred revenue has been created for this move:" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "A document linked to %s has been deleted: " +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "A gross increase has been created" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_account_account +msgid "Account" +msgstr "حساب" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__account_asset_counterpart_id +msgid "Account Asset Counterpart" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_account_assets_report +msgid "Account Assets Report" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__account_depreciation_id +msgid "Account Depreciation" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__account_depreciation_expense_id +msgid "Account Depreciation Expense" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__user_type_id +msgid "" +"Account Type is used for information purpose, to generate country-specific " +"legal reports, and set the rules to close a fiscal year and generate opening" +" entries." +msgstr "" +"يستخدم نوع الحساب في استخراج التقارير وفقاً للتقارير القانونية المطلوبة في " +"كل دولة، وتضع القواعد اللازمة في إقفال سنة مالية وإنشاء القيد الافتتاحي " +"للسنة المالية اللاحقة." + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__account_depreciation_id +msgid "Account used in the depreciation entries, to decrease the asset value." +msgstr "الحساب المستخدم لقيود إهلاكات الأصل، لتخفيض القيمة الدفترية للأصل." + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__account_depreciation_expense_id +msgid "" +"Account used in the periodical entries, to record a part of the asset as " +"expense." +msgstr "الحساب المستخدم للقيود الدورية لتسجيل قيد مصروف الإهلاك." + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Account used to recognize the expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Account used to recognize the revenue" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Account used to record the deferred expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Account used to record the deferred income" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__account_asset_id +msgid "" +"Account used to record the purchase of the asset at its original price." +msgstr "الحساب المستخدم لتسجيل قيد شراء الأصل بسعره الأصلي." + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset_sell__gain_account_id +msgid "Account used to write the journal item in case of gain" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_res_company__gain_account_id +msgid "" +"Account used to write the journal item in case of gain while selling an " +"asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset_sell__loss_account_id +msgid "Account used to write the journal item in case of loss" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_res_company__loss_account_id +msgid "" +"Account used to write the journal item in case of loss while selling an " +"asset" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Accounting" +msgstr "الحسابات" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__acquisition_date +#, python-format +msgid "Acquisition Date" +msgstr "تاريخ الاستحواذ" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__action +msgid "Action" +msgstr "إجراء" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_needaction +msgid "Action Needed" +msgstr "إجراء مطلوب" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__active +msgid "Active" +msgstr "نشط" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_ids +msgid "Activities" +msgstr "الأنشطة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "زخرفة استثناء النشاط" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_state +msgid "Activity State" +msgstr "حالة النشاط" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_type_icon +msgid "Activity Type Icon" +msgstr "أيقونة نوع النشاط" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "All the lines should be from the same account" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "All the lines should be from the same move type" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "All the lines should be posted" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__already_depreciated_amount_import +msgid "Already Depreciated Amount Import" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__parent_id +msgid "An asset has a parent when it is the result of gaining value" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "An asset has been created for this move:" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__account_analytic_id +msgid "Analytic Account" +msgstr "الحساب التحليلي" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__analytic_tag_ids +msgid "Analytic Tag" +msgstr "الوسم التحليلي" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Archived" +msgstr "مؤرشف" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__asset_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__asset_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__asset_id +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__asset_type__purchase +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +#, python-format +msgid "Asset" +msgstr "الأصل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Asset Account" +msgstr "حساب الأصل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__account_asset_id +msgid "Asset Gross Increase Account" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_id_display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_id_display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_id_display_name +msgid "Asset Id Display Name" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_ids_display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_ids_display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_ids_display_name +msgid "Asset Ids Display Name" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move_line__asset_ids +msgid "Asset Linked" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_manually_modified +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_manually_modified +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_manually_modified +msgid "Asset Manually Modified" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__asset_model +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_expense_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Asset Model" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Asset Model name" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_asset_model_form +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_asset_model_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_purchase_tree +msgid "Asset Models" +msgstr "نموذج الأصل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__name +msgid "Asset Name" +msgstr "اسم الأصل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Asset Options" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__asset_type +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__asset_type +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_asset_type +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_asset_type +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_asset_type +msgid "Asset Type" +msgstr "نوع الأصل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_value_change +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_value_change +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_value_change +msgid "Asset Value Change" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Asset Values" +msgstr "قيم الأصول" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset created" +msgstr "تم إنشاء الأصل" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_move_line__asset_ids +msgid "Asset created from this Journal Item" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset paused" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Asset sold or disposed. Accounting entry awaiting for validation." +msgstr "تم بيع أو تخريد الأصل، القيود المحاسبية في انتظار المراجعة والترحيل." + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Asset unpaused" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Asset(s)" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_account_asset +msgid "Asset/Revenue Recognition" +msgstr "إثبات الأصل/الربح" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_asset_form +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_ids +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_purchase_tree +#, python-format +msgid "Assets" +msgstr "الأصول" + +#. module: odex25_account_asset +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_asset_form +msgid "Assets Register" +msgstr "الأصول" + +#. module: odex25_account_asset +#: model:ir.ui.menu,name:odex25_account_asset.menu_finance_config_assets +msgid "Assets and Revenues" +msgstr "الأصول والإيرادات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Assets in closed state" +msgstr "الأصول المُقفلة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Assets in draft and open states" +msgstr "الأصول المسودة والجارية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_attachment_count +msgid "Attachment Count" +msgstr "عدد المرفقات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Automate Asset" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Automate Deferred Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Automate Deferred Revenue" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__book_value +#, python-format +msgid "Book Value" +msgstr "القيمة الدفترية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__branch_id +msgid "Branch" +msgstr "الفرع" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__can_create_asset +msgid "Can Create Asset" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_pause_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_sell_form +msgid "Cancel" +msgstr "الغاء" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Category of asset" +msgstr "فئة الأصل" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Characteristics" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__children_ids +msgid "Children" +msgstr "الفروع" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__method +msgid "" +"Choose the method to use to compute the amount of depreciation lines.\n" +" * Straight Line: Calculated on basis of: Gross Value / Number of Depreciations\n" +" * Declining: Calculated on basis of: Residual Value * Declining Factor\n" +" * Declining then Straight Line: Like Declining but with a minimum depreciation value equal to the straight line value." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__state__close +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Closed" +msgstr "مغلق" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_res_company +msgid "Companies" +msgstr "شركات" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__company_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__company_id +msgid "Company" +msgstr "شركة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Compute Depreciation" +msgstr "احتساب الإهلاك" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Compute Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Compute Revenue" +msgstr "حساب الأرباح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Confirm" +msgstr "تأكيد" + +#. module: odex25_account_asset +#: model:ir.actions.server,name:odex25_account_asset.action_account_aml_to_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__create_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_move_line_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_move_line_tree_grouped_inherit +msgid "Create Asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__create_asset__validate +msgid "Create and validate" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__create_asset__draft +msgid "Create in draft" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__create_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__create_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__create_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__create_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__create_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__create_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_depreciated_value +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_depreciated_value +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_depreciated_value +msgid "Cumulative Depreciation" +msgstr "مجمع الإهلاك" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Cumulative Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Cumulative Revenue" +msgstr "الأرباح التراكمية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__currency_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__currency_id +msgid "Currency" +msgstr "العملة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Current" +msgstr "الجاري" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Current Values" +msgstr "القيم الحالية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__invoice_id +msgid "Customer Invoice" +msgstr "فاتورة العميل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__date +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Date" +msgstr "التاريخ" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Dec. then Straight" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__method__degressive +#, python-format +msgid "Declining" +msgstr "انخفاض" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__method_progress_factor +msgid "Declining Factor" +msgstr "عامل الانخفاض" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__method__degressive_then_linear +msgid "Declining then Straight Line" +msgstr "الانخفاض ثم الخط المستقيم" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__asset_type__expense +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__asset_type__expense +#, python-format +msgid "Deferred Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_expense_model_search +msgid "Deferred Expense Account" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Deferred Expense Amount" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Deferred Expense Model" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Deferred Expense Model name" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_expense_model_form +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_expense_model_recognition +msgid "Deferred Expense Models" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Deferred Expense Options" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Deferred Expense name" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Deferred Expense(s)" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_expense_form +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_expense_recognition +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_tree +#, python-format +msgid "Deferred Expenses" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +msgid "Deferred Expenses Models" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__asset_type__sale +#, python-format +msgid "Deferred Revenue" +msgstr "الأرباح المُرحلة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Deferred Revenue Account" +msgstr "حساب الإيرادات المُرحلة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Deferred Revenue Amount" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Deferred Revenue Model" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Deferred Revenue Model name" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_revenue_model_form +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_revenue_model_recognition +msgid "Deferred Revenue Models" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Deferred Revenue Options" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Deferred Revenue name" +msgstr "اسم الأرباح المُرحلة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Deferred Revenue(s)" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model:ir.actions.act_window,name:odex25_account_asset.action_account_revenue_form +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_revenue_recognition +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_sale_tree +#, python-format +msgid "Deferred Revenues" +msgstr "إيرادات مدفوعة مقدمًا" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +msgid "Deferred Revenues Models" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Deferred expense" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Deferred expense created" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Deferred revenue" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Deferred revenue created" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__value_residual +msgid "Depreciable Amount" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__value_residual +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__asset_remaining_value +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__asset_remaining_value +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__asset_remaining_value +msgid "Depreciable Value" +msgstr "القيمة القابلة للإستهلاك" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Depreciated Amount" +msgstr "المبلغ المستهلك" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +#, python-format +msgid "Depreciation" +msgstr "إهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__account_depreciation_id +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +msgid "Depreciation Account" +msgstr "حساب الإهلاك" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Depreciation Board" +msgstr "جدول الإهلاكات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Depreciation Date" +msgstr "تاريخ الإهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__depreciation_move_ids +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Depreciation Lines" +msgstr "بنود الإهلاك" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Depreciation Method" +msgstr "طريقة الإهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__depreciation_number_import +msgid "Depreciation Number Import" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.actions.client,name:odex25_account_asset.action_account_report_assets +#: model:ir.ui.menu,name:odex25_account_asset.menu_action_account_report_assets +msgid "Depreciation Schedule" +msgstr "جدول الإهلاك" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Depreciation Table Report" +msgstr "تقرير جدول الإهلاك" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Depreciation board modified" +msgstr "تم تعديل جدول الإهلاكات" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Depreciation entry %s posted (%s)" +msgstr "بند الإهلاك %s تم ترحيله (%s)" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Depreciation entry %s reversed (%s)" +msgstr "قيد الإهلاك %s تم عكسه (%s)" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__display_account_asset_id +msgid "Display Account Asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__display_model_choice +msgid "Display Model Choice" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_assets_report__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move_line__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__display_name +#: model:ir.model.fields,field_description:odex25_account_asset.field_res_company__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__disposal_date +msgid "Disposal Date" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Move" +msgstr "حركة التخريد" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Disposal Moves" +msgstr "حركات التخريد" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset_sell__action__dispose +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_sell_form +msgid "Dispose" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__state__draft +msgid "Draft" +msgstr "مسودة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__draft_asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__draft_asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__draft_asset_ids +msgid "Draft Asset" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Duration" +msgstr "المدة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Existing Depreciation Schedule" +msgstr "جدول الإهلاك الحالي" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Existing Depreciations" +msgstr "الإهلاكات الحالية" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_tree +#, python-format +msgid "Expense" +msgstr "المصروف" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__account_depreciation_expense_id +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_expense_model_search +msgid "Expense Account" +msgstr "حساب المصروفات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Expense Board" +msgstr "لوحة المصروفات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Expense Date" +msgstr "تاريخ المصروف" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Expense Lines" +msgstr "بنود المصروف" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +msgid "Expense Name" +msgstr "إسم المصروف" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Expense Recognition" +msgstr "الاعتراف بالمصروفات" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "First Depreciation" +msgstr "الإهلاك الأول" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__first_depreciation_date +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "First Depreciation Date" +msgstr "تاريخ أول إهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__first_depreciation_date_import +msgid "First Depreciation Date Import" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "First Recognition Date" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__account_asset_id +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +msgid "Fixed Asset Account" +msgstr "حساب الأصل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_follower_ids +msgid "Followers" +msgstr "المتابعون" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_channel_ids +msgid "Followers (Channels)" +msgstr "المتابعون (القنوات)" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_partner_ids +msgid "Followers (Partners)" +msgstr "المتابعون (الشركاء)" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__form_view_ref +msgid "Form View Ref" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Future Activities" +msgstr "الأنشطة المستقبلية" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset_sell__gain_or_loss__gain +msgid "Gain" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__gain_account_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_res_company__gain_account_id +msgid "Gain Account" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__gain_or_loss +msgid "Gain Or Loss" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__gain_value +msgid "Gain Value" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +#, python-format +msgid "Gross Increase" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__gross_increase_value +msgid "Gross Increase Value" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_expense_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Group By..." +msgstr "تجميع حسب.." + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_assets_report__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move_line__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__id +#: model:ir.model.fields,field_description:odex25_account_asset.field_res_company__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_exception_icon +msgid "Icon" +msgstr "الأيقونة" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "الأيقونة للإشارة إلى استثناء النشاط" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_needaction +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_unread +msgid "If checked, new messages require your attention." +msgstr "إذا كان محددًا، فهناك رسائل جديدة تحتاج لرؤيتها." + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_has_error +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "إذا كان محددًا، فقد حدث خطأ في تسليم بعض الرسائل." + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_account__asset_model +msgid "" +"If this is selected, an expense/revenue will be created automatically when " +"Journal Items on this account are posted." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__first_depreciation_date_import +msgid "" +"In case of an import from another software, provide the first depreciation " +"date in it." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__depreciation_number_import +msgid "" +"In case of an import from another software, provide the number of " +"depreciations already done before starting with Odoo." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__already_depreciated_amount_import +msgid "" +"In case of an import from another software, you might need to use this field" +" to have the right depreciation table report. This is the value that was " +"already depreciated with entries not computed from this model" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "" +"In percent.
    For a linear method, the depreciation rate is computed per " +"year.
    For a declining method, it is the declining factor" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +msgid "Increase Accounts" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__prorata +msgid "" +"Indicates that the first depreciation entry for this asset have to be done " +"from the asset date (purchase date) instead of the first January / Start " +"date of fiscal year" +msgstr "" +"يشير إلى احتساب بداية الإهلاكات من تاريخ بداية الأصل (تاريخ الشراء) بدلاً عن" +" الأول من يناير / أو تاريخ بداية السنة المالية." + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__invoice_line_id +msgid "Invoice Line" +msgstr "بند الفاتورة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_is_follower +msgid "Is Follower" +msgstr "متابع" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__salvage_value +msgid "It is the amount you plan to have that you cannot depreciate." +msgstr "" +"هذا هو المبلغ المتبقي ولا يمكن إهلاكه عند الوصول إلى تاريخ انتهاء الأصل." + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__journal_id +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_expense_model_search +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Journal Entries" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_account_move +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Journal Entry" +msgstr "قيد اليومية" + +#. module: odex25_account_asset +#: model:ir.model,name:odex25_account_asset.model_account_move_line +msgid "Journal Item" +msgstr "عنصر اليومية" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__original_move_line_ids +#, python-format +msgid "Journal Items" +msgstr "عناصر اليومية" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "" +"Journal Items of {account} should have a label in order to generate an asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_assets_report____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move_line____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify____last_update +#: model:ir.model.fields,field_description:odex25_account_asset.field_res_company____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__write_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__write_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__write_uid +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__write_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__write_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__write_date +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Late Activities" +msgstr "الأنشطة المتأخرة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Linear" +msgstr "قسط ثابت" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset_sell__gain_or_loss__loss +msgid "Loss" +msgstr "خسارة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__loss_account_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_res_company__loss_account_id +msgid "Loss Account" +msgstr "حساب الخسارة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_main_attachment_id +msgid "Main Attachment" +msgstr "المرفق الرئيسي" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_form_asset_inherit +msgid "Manage Items" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_has_error +msgid "Message Delivery error" +msgstr "خطأ في تسليم الرسائل" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_ids +msgid "Messages" +msgstr "الرسائل" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__method +#, python-format +msgid "Method" +msgstr "طريقة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__model_id +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__state__model +msgid "Model" +msgstr "الكائن" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +msgid "Modification" +msgstr "تعديل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +msgid "Modification reason" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +msgid "Modify" +msgstr "تعديل" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: model:ir.model,name:odex25_account_asset.model_asset_modify +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +#, python-format +msgid "Modify Asset" +msgstr "تعديل الأصل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Modify Depreciation" +msgstr "تعديل الإهلاكات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Modify Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Modify Revenue" +msgstr "تعديل الأرباح" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__method_period__1 +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__asset_modify__method_period__1 +msgid "Months" +msgstr "شهور" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_account__multiple_assets_per_line +msgid "Multiple Assets per Line" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_account__multiple_assets_per_line +msgid "" +"Multiple asset items will be generated depending on the bill line quantity " +"instead of 1 global asset." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__need_date +msgid "Need Date" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_modify_form +msgid "New Values" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_asset_modify__value_residual +msgid "New residual amount for the asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_asset_modify__salvage_value +msgid "New salvage amount for the asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "الموعد النهائي للنشاط التالي" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_summary +msgid "Next Activity Summary" +msgstr "ملخص النشاط التالي" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_type_id +msgid "Next Activity Type" +msgstr "نوع النشاط التالي" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Next Period Expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Next Period Revenue" +msgstr "أرباح الفترة القادمة" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_account__create_asset__no +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset_sell__gain_or_loss__no +msgid "No" +msgstr "لا" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "No asset account" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__salvage_value +msgid "Not Depreciable Amount" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__salvage_value +msgid "Not Depreciable Value" +msgstr "القيمة الغير قابلة للاستهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__first_depreciation_date +msgid "" +"Note that this date does not alter the computation of the first journal " +"entry in case of prorata temporis assets. It simply changes its accounting " +"date" +msgstr "" +"لاحظ أن هذا التاريخ لا يغير من كيفية احتساب قيد المحاسبي الأول في حالة " +"الأصول التي تحتسب من تاريخ الشراء. كل ما يفعله هو تغيير تاريخ القيد." + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__number_asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__number_asset_ids +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__number_asset_ids +msgid "Number Asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_needaction_counter +msgid "Number of Actions" +msgstr "عدد الإجراءات" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__method_number +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__method_number +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_purchase_tree +msgid "Number of Depreciations" +msgstr "عدد الإهلاكات" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__method_period +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__method_period +msgid "Number of Months in a Period" +msgstr "عدد الشهور في الفترة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Number of Recognitions" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__gross_increase_count +msgid "Number of assets made to increase the value of the asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__total_depreciation_entries_count +msgid "Number of depreciation entries (posted or not)" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_has_error_counter +msgid "Number of errors" +msgstr "عدد الاخطاء" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "عدد الرسائل التي تتطلب إجراء" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "عدد الرسائل الحادث بها خطأ في التسليم" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__message_unread_counter +msgid "Number of unread messages" +msgstr "عدد الرسائل الجديدة" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__state__paused +msgid "On Hold" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.line_caret_options +msgid "Open Asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__original_value +msgid "Original Value" +msgstr "القيمة الأصلية" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__parent_id +msgid "Parent" +msgstr "الأصل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_pause_form +msgid "Pause" +msgstr "إيقاف" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: model:ir.model,name:odex25_account_asset.model_account_asset_pause +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_pause_form +#, python-format +msgid "Pause Asset" +msgstr "إيقاف الأصل مؤقتاً" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Pause Depreciation" +msgstr "إيقاف الإهلاك مؤقتاً" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_pause__date +msgid "Pause date" +msgstr "تاريخ الإيقاف المؤقت" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_expense_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_purchase_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +msgid "Period length" +msgstr "طول المدة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Posted Entries" +msgstr "القيود المُرحّلة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__prorata_date +msgid "Prorata Date" +msgstr "التاريخ النسبي" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__prorata +msgid "Prorata Temporis" +msgstr "التناسب الزمني" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__asset_type__purchase +msgid "Purchase: Asset" +msgstr "شراء: الأصل" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Rate" +msgstr "السعر" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_asset_modify__name +msgid "Reason" +msgstr "السبب" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "Related Expenses" +msgstr "النفقات ذات الصلة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Related Purchase" +msgstr "المشتريات المرتبطة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Related Sales" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Report of reversal for {name}" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Reset to running" +msgstr "إعادة تعيين للتشغيل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Residual Amount to Recognize" +msgstr "المبلغ المتبقي للتعرف عليه" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__activity_user_id +msgid "Responsible User" +msgstr "المستخدم المسؤول" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Resume Depreciation" +msgstr "استئناف الاستهلاك" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +#, python-format +msgid "Revenue" +msgstr "الربح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_revenue_model_search +msgid "Revenue Account" +msgstr "حساب الإيرادات" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Revenue Board" +msgstr "جانب الارباح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Revenue Date" +msgstr "تاريخ الأرباح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Revenue Lines" +msgstr "بنود الأرباح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_model_sale_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_sale_tree +msgid "Revenue Name" +msgstr "اسم الأرباح" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "Revenue Recognition" +msgstr "إثبات الإيرادات" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_bank_statement_line__reversal_move_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_move__reversal_move_id +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_payment__reversal_move_id +msgid "Reversal Move" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "" +"Reverse the depreciation entries posted in the future in order to modify the" +" depreciation" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__state__open +msgid "Running" +msgstr "جاري" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_has_sms_error +msgid "SMS Delivery error" +msgstr "خطأ في تسليم الرسائل القصيرة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Sale" +msgstr "المبيعات" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__asset_type__sale +msgid "Sale: Revenue Recognition" +msgstr "البيع: إثبات الإيراد" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Save Model" +msgstr "نموذج البيع" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Save model" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset_sell__select_invoice_line_id +msgid "Select Invoice Line" +msgstr "تحديد بند الفاتورة" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset_sell__action__sell +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_sell_form +msgid "Sell" +msgstr "بيع" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: model:ir.model,name:odex25_account_asset.model_account_asset_sell +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.asset_sell_form +#, python-format +msgid "Sell Asset" +msgstr "بيع الأصل" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Sell or Dispose" +msgstr "بيع أو تخريد" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Set manually the original values or" +msgstr "قم بتعيين القيم يدوياً أو" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Set to Draft" +msgstr "تعيين كمسودة" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Set to Running" +msgstr "التعيين كجارٍ" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Show all records which has next action date is before today" +msgstr "عرض كافة السجلات المُعين لها تاريخ إجراء تالي يسبق تاريخ اليوم الجاري" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Some fields are missing {}" +msgstr "بعض الحقول مفقودة {}" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Some required values are missing" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "Start Depreciating" +msgstr "بدء الإهلاك" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__state +msgid "Status" +msgstr "الحالة" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"الحالة على أساس الأنشطة\n" +"المتأخرة: تاريخ الاستحقاق مر\n" +"اليوم: تاريخ النشاط هو اليوم\n" +"المخطط: الأنشطة المستقبلية." + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__method__linear +msgid "Straight Line" +msgstr "خط مستقيم" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__book_value +msgid "" +"Sum of the depreciable value, the salvage value and the book value of all " +"value increase items" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_account__can_create_asset +msgid "" +"Technical field specifying if the account can generate asset depending on " +"it's type. It is used in the account form view." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_asset_modify__gain_value +msgid "" +"Technical field to know if we should display the fields for the creation of " +"gross increase asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset_sell__gain_or_loss +msgid "" +"Technical field to know is there was a gain or a loss in the selling of the " +"asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__method_period +#: model:ir.model.fields,help:odex25_account_asset.field_asset_modify__method_period +msgid "The amount of time between two depreciations" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_asset_modify__asset_id +msgid "The asset to be modified by this wizard" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__children_ids +msgid "The children are the gains in value of this asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset_sell__invoice_id +msgid "" +"The disposal invoice is needed in order to generate the closing journal " +"entry." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__method_number +msgid "The number of depreciations needed to depreciate your asset" +msgstr "عدد أقساط الإهلاك المطلوبة حتى تخريد أو انتهاء عمر الأصل" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "The remaining value on the last depreciation line must be 0" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset_sell__invoice_line_id +msgid "There are multiple lines that could be the related to this asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_bank_statement_line__asset_value_change +#: model:ir.model.fields,help:odex25_account_asset.field_account_move__asset_value_change +#: model:ir.model.fields,help:odex25_account_asset.field_account_payment__asset_value_change +msgid "" +"This is a technical field set to true when this move is the result of the " +"changing of value of an asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_bank_statement_line__asset_manually_modified +#: model:ir.model.fields,help:odex25_account_asset.field_account_move__asset_manually_modified +#: model:ir.model.fields,help:odex25_account_asset.field_account_payment__asset_manually_modified +msgid "" +"This is a technical field stating that a depreciation line has been manually" +" modified. It is used to recompute the depreciation table of an " +"asset/deferred revenue." +msgstr "" + +#. module: odex25_account_asset +#. openerp-web +#: code:addons/odex25_account_asset/static/src/js/account_asset_reversed_widget.js:0 +#, python-format +msgid "This move has been reversed" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_search +msgid "Today Activities" +msgstr "نشاطات اليوم" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/report/account_assets_report.py:0 +#, python-format +msgid "Total" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "Trying to pause an asset without any future depreciation line" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Turn as a deferred expense" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Turn as a deferred revenue" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "Turn as an asset" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__user_type_id +msgid "Type of the account" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "نوع النشاط الاستثنائي المسجل." + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_unread +msgid "Unread Messages" +msgstr "الرسائل الجديدة" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__message_unread_counter +msgid "Unread Messages Counter" +msgstr "عدد الرسائل الجديدة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Value decrease for: %(asset)s" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#: code:addons/odex25_account_asset/wizard/asset_modify.py:0 +#, python-format +msgid "Value increase for: %(asset)s" +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields,field_description:odex25_account_asset.field_account_asset__website_message_ids +msgid "Website Messages" +msgstr "رسائل الموقع" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__website_message_ids +msgid "Website communication history" +msgstr "سجل تواصل الموقع" + +#. module: odex25_account_asset +#: model:ir.model.fields,help:odex25_account_asset.field_account_asset__state +msgid "" +"When an asset is created, the status is 'Draft'.\n" +"If the asset is confirmed, the status goes in 'Running' and the depreciation lines can be posted in the accounting.\n" +"The 'On Hold' status can be set manually when you want to pause the depreciation of an asset for some time.\n" +"You can manually close an asset when the depreciation is over. If the last line of depreciation is posted, the asset automatically goes in that status." +msgstr "" + +#. module: odex25_account_asset +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__account_asset__method_period__12 +#: model:ir.model.fields.selection,name:odex25_account_asset.selection__asset_modify__method_period__12 +msgid "Years" +msgstr "عدد السنوات" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot archive a record that is not closed" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#: code:addons/odex25_account_asset/wizard/asset_sell.py:0 +#, python-format +msgid "" +"You cannot automate the journal entry for an asset that has a running gross " +"increase. Please use 'Dispose' on the increase(s)." +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"You cannot create an asset from lines containing credit and debit on the " +"account or with a null amount" +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "You cannot delete a document that is in %s state." +msgstr "لا يمكنك حذف ملف في الحالة %s." + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"You cannot delete an asset linked to posted entries.\n" +"You should either confirm the asset, then, sell or dispose of it, or cancel the linked journal entries." +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "" +"You cannot pause an asset with posted depreciation lines in the future." +msgstr "" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_move.py:0 +#, python-format +msgid "" +"You cannot reset to draft an entry having a posted deferred revenue/expense" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_revenue_form +msgid "e.g. Annual Subscription" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_expense_form +msgid "e.g. Annually Paid Insurance" +msgstr "" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "e.g. Laptop iBook" +msgstr "مثال: كمبيوتر محمول" + +#. module: odex25_account_asset +#: model_terms:ir.ui.view,arch_db:odex25_account_asset.view_account_asset_form +msgid "select the related purchases" +msgstr "قم بتحديد عمليات الشراء ذات الصلة" + +#. module: odex25_account_asset +#: code:addons/odex25_account_asset/models/account_asset.py:0 +#, python-format +msgid "this move" +msgstr "هذه الحركة" diff --git a/odex25_accounting/odex25_account_asset/models/__init__.py b/odex25_accounting/odex25_account_asset/models/__init__.py new file mode 100644 index 000000000..03f4ce9a9 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/models/__init__.py @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- + + +from . import account +from . import account_asset +from . import account_move +from . import res_company diff --git a/odex25_accounting/odex25_account_asset/models/account.py b/odex25_accounting/odex25_account_asset/models/account.py new file mode 100644 index 000000000..4276d78e4 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/models/account.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- + + +from odoo import api, fields, models, _ + + +class AccountAccount(models.Model): + _inherit = 'account.account' + + asset_model = fields.Many2one('account.asset', domain=lambda self: [('state', '=', 'model'), ('asset_type', '=', self.asset_type)], help="If this is selected, an expense/revenue will be created automatically when Journal Items on this account are posted.") + create_asset = fields.Selection([('no', 'No'), ('draft', 'Create in draft'), ('validate', 'Create and validate')], required=True, default='no') + can_create_asset = fields.Boolean(compute="_compute_can_create_asset", help="""Technical field specifying if the account can generate asset depending on it's type. It is used in the account form view.""") + form_view_ref = fields.Char(compute='_compute_can_create_asset') + asset_type = fields.Selection([('sale', 'Deferred Revenue'), ('expense', 'Deferred Expense'), ('purchase', 'Asset')], compute='_compute_can_create_asset') + # decimal quantities are not supported, quantities are rounded to the lower int + multiple_assets_per_line = fields.Boolean(string='Multiple Assets per Line', default=False, + help="Multiple asset items will be generated depending on the bill line quantity instead of 1 global asset.") + + @api.depends('user_type_id') + def _compute_can_create_asset(self): + for record in self: + if record.auto_generate_asset(): + record.asset_type = 'purchase' + elif record.auto_generate_deferred_revenue(): + record.asset_type = 'sale' + elif record.auto_generate_deferred_expense(): + record.asset_type = 'expense' + else: + record.asset_type = False + + record.can_create_asset = record.asset_type != False + + record.form_view_ref = { + 'purchase': 'odex25_account_asset.view_account_asset_form', + 'sale': 'odex25_account_asset.view_account_asset_revenue_form', + 'expense': 'odex25_account_asset.view_account_asset_expense_form', + }.get(record.asset_type) + + def auto_generate_asset(self): + return self.user_type_id in self.get_asset_accounts_type() + + def auto_generate_deferred_revenue(self): + return self.user_type_id in self.get_deferred_revenue_accounts_type() + + def auto_generate_deferred_expense(self): + return self.user_type_id in self.get_deferred_expense_accounts_type() + + def get_asset_accounts_type(self): + return self.env.ref('account.data_account_type_fixed_assets') + self.env.ref('account.data_account_type_non_current_assets') + + def get_deferred_revenue_accounts_type(self): + return self.env.ref('account.data_account_type_current_liabilities') + self.env.ref('account.data_account_type_non_current_liabilities') + + def get_deferred_expense_accounts_type(self): + return self.env.ref('account.data_account_type_current_assets') + self.env.ref('account.data_account_type_prepayments') diff --git a/odex25_accounting/odex25_account_asset/models/account_asset.py b/odex25_accounting/odex25_account_asset/models/account_asset.py new file mode 100644 index 000000000..81e7da9d8 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/models/account_asset.py @@ -0,0 +1,843 @@ +# -*- coding: utf-8 -*- + + +import calendar +from dateutil.relativedelta import relativedelta +from math import copysign + +from odoo import api, fields, models, _ +from odoo.exceptions import UserError +from odoo.tools import float_compare, float_is_zero, float_round + + +class AccountAsset(models.Model): + _name = 'account.asset' + _description = 'Asset/Revenue Recognition' + _inherit = ['mail.thread', 'mail.activity.mixin'] + + depreciation_entries_count = fields.Integer(compute='_entry_count', string='# Posted Depreciation Entries') + gross_increase_count = fields.Integer(compute='_entry_count', string='# Gross Increases', + help="Number of assets made to increase the value of the asset") + total_depreciation_entries_count = fields.Integer(compute='_entry_count', string='# Depreciation Entries', + help="Number of depreciation entries (posted or not)") + + name = fields.Char(string='Asset Name', compute='_compute_name', store=True, required=True, + states={'draft': [('readonly', False)], 'model': [('readonly', False)]}, tracking=True) + currency_id = fields.Many2one('res.currency', string='Currency', required=True, readonly=True, + states={'draft': [('readonly', False)]}, + default=lambda self: self.env.company.currency_id.id) + company_id = fields.Many2one('res.company', string='Company', required=True, readonly=True, + states={'draft': [('readonly', False)]}, + default=lambda self: self.env.company) + state = fields.Selection( + [('model', 'Model'), ('draft', 'Draft'), ('open', 'Running'), ('paused', 'On Hold'), ('close', 'Closed')], + 'Status', copy=False, default='draft', + help="When an asset is created, the status is 'Draft'.\n" + "If the asset is confirmed, the status goes in 'Running' and the depreciation lines can be posted in the accounting.\n" + "The 'On Hold' status can be set manually when you want to pause the depreciation of an asset for some time.\n" + "You can manually close an asset when the depreciation is over. If the last line of depreciation is posted, the asset automatically goes in that status.") + active = fields.Boolean(default=True) + asset_type = fields.Selection( + [('sale', 'Sale: Revenue Recognition'), ('purchase', 'Purchase: Asset'), ('expense', 'Deferred Expense')], + compute='_compute_asset_type', store=True, index=True) + + # Depreciation params + method = fields.Selection([('linear', 'Straight Line'), ('degressive', 'Declining'), + ('degressive_then_linear', 'Declining then Straight Line')], string='Method', + readonly=True, states={'draft': [('readonly', False)], 'model': [('readonly', False)]}, + default='linear', tracking=True, + help="Choose the method to use to compute the amount of depreciation lines.\n" + " * Straight Line: Calculated on basis of: Gross Value / Number of Depreciations\n" + " * Declining: Calculated on basis of: Residual Value * Declining Factor\n" + " * Declining then Straight Line: Like Declining but with a minimum depreciation value equal to the straight line value.") + method_number = fields.Integer(string='Number of Depreciations', readonly=True, tracking=True, + states={'draft': [('readonly', False)], 'model': [('readonly', False)]}, default=5, + help="The number of depreciations needed to depreciate your asset") + method_period = fields.Selection([('1', 'Months'), ('12', 'Years')], string='Number of Months in a Period', + readonly=True, default='12', + states={'draft': [('readonly', False)], 'model': [('readonly', False)]}, + help="The amount of time between two depreciations", tracking=True) + method_progress_factor = fields.Float(string='Declining Factor', readonly=True, default=0.3, + states={'draft': [('readonly', False)], 'model': [('readonly', False)]}) + prorata = fields.Boolean(string='Prorata Temporis', readonly=True, tracking=True, + states={'draft': [('readonly', False)], 'model': [('readonly', False)]}, + help='Indicates that the first depreciation entry for this asset have to be done from the asset date (purchase date) instead of the first January / Start date of fiscal year') + prorata_date = fields.Date( + string='Prorata Date', + readonly=True, states={'draft': [('readonly', False)]}, tracking=True) + account_asset_id = fields.Many2one('account.account', string='Fixed Asset Account', tracking=True, + compute='_compute_value', + help="Account used to record the purchase of the asset at its original price.", + store=True, + states={'draft': [('readonly', False)], 'model': [('readonly', False)]}, + domain="[('company_id', '=', company_id), ('is_off_balance', '=', False),('internal_type','!=','view')]") + account_depreciation_id = fields.Many2one('account.account', string='Depreciation Account', tracking=True, + readonly=True, + states={'draft': [('readonly', False)], 'model': [('readonly', False)]}, + domain="[('internal_type', '=', 'other'), ('deprecated', '=', False), ('company_id', '=', company_id), ('is_off_balance', '=', False)]", + help="Account used in the depreciation entries, to decrease the asset value.") + account_depreciation_expense_id = fields.Many2one('account.account', string='Expense Account', tracking=True, + readonly=True, states={'draft': [('readonly', False)], + 'model': [('readonly', False)]}, + domain="[('internal_type', '=', 'other'), ('deprecated', '=', False), ('company_id', '=', company_id), ('is_off_balance', '=', False)]", + help="Account used in the periodical entries, to record a part of the asset as expense.") + + journal_id = fields.Many2one('account.journal', string='Journal', tracking=True, readonly=True, + states={'draft': [('readonly', False)], 'model': [('readonly', False)]}, + domain="[('type', '=', 'general'), ('company_id', '=', company_id)]") + + # Values + original_value = fields.Monetary(string="Original Value", compute='_compute_value', store=True, readonly=True, + states={'draft': [('readonly', False)]}) + book_value = fields.Monetary(string='Book Value', readonly=True, compute='_compute_book_value', store=True, + help="Sum of the depreciable value, the salvage value and the book value of all value increase items") + value_residual = fields.Monetary(string='Depreciable Value', compute='_compute_value_residual') + salvage_value = fields.Monetary(string='Not Depreciable Value', readonly=True, + states={'draft': [('readonly', False)]}, + help="It is the amount you plan to have that you cannot depreciate.") + gross_increase_value = fields.Monetary(string="Gross Increase Value", compute="_compute_book_value", + compute_sudo=True) + + # Links with entries + depreciation_move_ids = fields.One2many('account.move', 'asset_id', string='Depreciation Lines', readonly=True, + states={'draft': [('readonly', False)], 'open': [('readonly', False)], + 'paused': [('readonly', False)]}) + original_move_line_ids = fields.Many2many('account.move.line', 'asset_move_line_rel', 'asset_id', 'line_id', + string='Journal Items', readonly=True, + states={'draft': [('readonly', False)]}, copy=False) + + # Analytic + account_analytic_id = fields.Many2one('account.analytic.account', string='Analytic Account', tracking=True, + domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") + analytic_tag_ids = fields.Many2many('account.analytic.tag', string='Analytic Tag', tracking=True, + domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") + + # Dates + first_depreciation_date = fields.Date( + string='First Depreciation Date', + compute='_compute_first_depreciation_date', store=True, readonly=False, + help='Note that this date does not alter the computation of the first journal entry in case of prorata temporis assets. It simply changes its accounting date', + ) + acquisition_date = fields.Date(compute='_compute_acquisition_date', store=True, + states={'draft': [('readonly', False)]}) + disposal_date = fields.Date(readonly=True, states={'draft': [('readonly', False)]}, + compute="_compute_disposal_date", store=True) + + # model-related fields + model_id = fields.Many2one('account.asset', string='Model', change_default=True, readonly=True, + states={'draft': [('readonly', False)]}, domain="[('company_id', '=', company_id)]") + user_type_id = fields.Many2one('account.account.type', related="account_asset_id.user_type_id", + string="Type of the account") + display_model_choice = fields.Boolean(compute="_compute_value", compute_sudo=True) + display_account_asset_id = fields.Boolean(compute="_compute_value", compute_sudo=True) + + # Capital gain + parent_id = fields.Many2one('account.asset', help="An asset has a parent when it is the result of gaining value") + children_ids = fields.One2many('account.asset', 'parent_id', + help="The children are the gains in value of this asset") + + # Adapt for import fields + already_depreciated_amount_import = fields.Monetary( + help="In case of an import from another software, you might need to use this field to have the right depreciation table report. This is the value that was already depreciated with entries not computed from this model", + default=0.0) + depreciation_number_import = fields.Integer( + help="In case of an import from another software, provide the number of depreciations already done before starting with Odoo.", + default=0) + first_depreciation_date_import = fields.Date( + help="In case of an import from another software, provide the first depreciation date in it.") + + @api.depends('depreciation_move_ids.date', 'state') + def _compute_disposal_date(self): + for asset in self: + if asset.state == 'close': + dates = asset.depreciation_move_ids.filtered(lambda m: m.date).mapped('date') + asset.disposal_date = dates and max(dates) + else: + asset.disposal_date = False + + @api.depends('original_move_line_ids', 'original_move_line_ids.account_id', 'asset_type') + def _compute_value(self): + for record in self: + misc_journal_id = self.env['account.journal'].search( + [('type', '=', 'general'), ('company_id', '=', record.company_id.id)], limit=1) + if not record.original_move_line_ids: + record.account_asset_id = record.account_asset_id or False + if not record.account_asset_id and ( + record.state == 'model' or not record.account_asset_id or record.asset_type != 'purchase'): + record.account_asset_id = record.account_depreciation_id if record.asset_type in ( + 'purchase', 'expense') else record.account_depreciation_expense_id + record.original_value = record.original_value or False + record.display_model_choice = record.state == 'draft' and self.env['account.asset'].search( + [('state', '=', 'model'), ('asset_type', '=', record.asset_type)]) + record.display_account_asset_id = True + continue + if any(line.move_id.state == 'draft' for line in record.original_move_line_ids): + raise UserError(_("All the lines should be posted")) + if any(account != record.original_move_line_ids[0].account_id for account in + record.original_move_line_ids.mapped('account_id')): + raise UserError(_("All the lines should be from the same account")) + if any(type != record.original_move_line_ids[0].move_id.move_type for type in + record.original_move_line_ids.mapped('move_id.move_type')): + raise UserError(_("All the lines should be from the same move type")) + record.account_asset_id = record.original_move_line_ids[0].account_id + record.display_model_choice = record.state == 'draft' and self.env['account.asset'].search_count( + [('state', '=', 'model'), ('account_asset_id.user_type_id', '=', record.user_type_id.id)]) + record.display_account_asset_id = False + if not record.journal_id: + record.journal_id = misc_journal_id + total_credit = sum(line.credit for line in record.original_move_line_ids) + total_debit = sum(line.debit for line in record.original_move_line_ids) + record.original_value = total_credit + total_debit + if record.account_asset_id.multiple_assets_per_line and len(record.original_move_line_ids) == 1: + record.original_value /= max(1, int(record.original_move_line_ids.quantity)) + if (total_credit and total_debit) or record.original_value == 0: + raise UserError( + _("You cannot create an asset from lines containing credit and debit on the account or with a null amount")) + + @api.depends('original_move_line_ids', 'prorata_date', 'first_depreciation_date') + def _compute_acquisition_date(self): + for record in self: + record.acquisition_date = record.acquisition_date or min(record.original_move_line_ids.mapped('date') + [ + record.prorata_date or record.first_depreciation_date or fields.Date.today()]) + + @api.onchange('original_move_line_ids') + def _onchange_original_move_line_ids(self): + # Force the recompute + self.acquisition_date = False + self._compute_acquisition_date() + + @api.depends('original_move_line_ids') + def _compute_name(self): + for record in self: + record.name = record.name or (record.original_move_line_ids and record.original_move_line_ids[0].name or '') + + @api.depends('original_move_line_ids') + @api.depends_context('asset_type') + def _compute_asset_type(self): + for record in self: + if not record.asset_type and 'asset_type' in self.env.context: + record.asset_type = self.env.context['asset_type'] + if not record.asset_type and record.original_move_line_ids: + account = record.original_move_line_ids.account_id + record.asset_type = account.asset_type + + @api.depends('original_value', 'salvage_value', 'already_depreciated_amount_import', 'depreciation_move_ids.state') + def _compute_value_residual(self): + for record in self: + record.value_residual = record.original_value - record.salvage_value - record.already_depreciated_amount_import - abs( + sum(record.depreciation_move_ids.filtered(lambda m: m.state == 'posted').mapped('amount_total'))) + + @api.depends('value_residual', 'salvage_value', 'children_ids.book_value') + def _compute_book_value(self): + for record in self: + record.book_value = record.value_residual + record.salvage_value + sum( + record.children_ids.mapped('book_value')) + record.gross_increase_value = sum(record.children_ids.mapped('original_value')) + + @api.onchange('prorata') + def _onchange_prorata(self): + if self.prorata: + self.prorata_date = fields.Date.today() + + @api.onchange('depreciation_move_ids') + def _onchange_depreciation_move_ids(self): + seq = 0 + asset_remaining_value = self.original_value + cumulated_depreciation = 0 + for m in self.depreciation_move_ids.sorted(lambda x: x.date): + seq += 1 + if not m.reversal_move_id: + asset_remaining_value -= m.amount_total + cumulated_depreciation += m.amount_total + if not m.asset_manually_modified: + continue + m.asset_manually_modified = False + m.asset_remaining_value = asset_remaining_value + m.asset_depreciated_value = cumulated_depreciation + for older_move in self.depreciation_move_ids.sorted(lambda x: x.date)[seq:]: + if not older_move.reversal_move_id: + asset_remaining_value -= older_move.amount_total + cumulated_depreciation += older_move.amount_total + older_move.asset_remaining_value = asset_remaining_value + older_move.asset_depreciated_value = cumulated_depreciation + + @api.onchange('account_depreciation_id') + def _onchange_account_depreciation_id(self): + """ + The field account_asset_id is required but invisible in the Deferred Revenue Model form. + Therefore, set it when account_depreciation_id changes. + """ + if self.asset_type in ('sale', 'expense') and self.state == 'model': + self.account_asset_id = self.account_depreciation_id + + @api.onchange('account_asset_id') + def _onchange_account_asset_id(self): + self.display_model_choice = self.state == 'draft' and self.env['account.asset'].search_count( + [('state', '=', 'model'), ('user_type_id', '=', self.user_type_id.id)]) + if self.asset_type in ('purchase', 'expense'): + self.account_depreciation_id = self.account_depreciation_id or self.account_asset_id + else: + self.account_depreciation_expense_id = self.account_depreciation_expense_id or self.account_asset_id + + @api.onchange('model_id') + def _onchange_model_id(self): + model = self.model_id + if model: + self.method = model.method + self.method_number = model.method_number + self.method_period = model.method_period + self.method_progress_factor = model.method_progress_factor + self.prorata = model.prorata + self.prorata_date = fields.Date.today() + self.account_analytic_id = model.account_analytic_id.id + self.analytic_tag_ids = [(6, 0, model.analytic_tag_ids.ids)] + self.account_depreciation_id = model.account_depreciation_id + self.account_depreciation_expense_id = model.account_depreciation_expense_id + self.journal_id = model.journal_id + self.account_asset_id = model.account_asset_id + + @api.onchange('asset_type') + def _onchange_type(self): + if self.state != 'model': + if self.asset_type == 'sale': + self.prorata = True + self.method_period = '1' + else: + self.method_period = '12' + + @api.depends('acquisition_date', 'original_move_line_ids', 'method_period', 'company_id') + def _compute_first_depreciation_date(self): + for record in self: + pre_depreciation_date = record.acquisition_date or min(record.original_move_line_ids.mapped('date'), + default=record.acquisition_date) or fields.Date.today() + depreciation_date = pre_depreciation_date + relativedelta(day=31) + # ... or fiscalyear depending the number of period + if record.method_period == '12': + depreciation_date = depreciation_date + relativedelta( + month=int(record.company_id.fiscalyear_last_month)) + depreciation_date = depreciation_date + relativedelta(day=record.company_id.fiscalyear_last_day) + if depreciation_date < pre_depreciation_date: + depreciation_date = depreciation_date + relativedelta(years=1) + record.first_depreciation_date = depreciation_date + + def unlink(self): + for asset in self: + if asset.state in ['open', 'paused', 'close']: + raise UserError(_( + 'You cannot delete a document that is in %s state.', + dict(self._fields['state']._description_selection(self.env)).get(asset.state) + )) + + posted_amount = len(asset.depreciation_move_ids.filtered(lambda x: x.state == 'posted')) + if posted_amount > 0: + raise UserError(_('You cannot delete an asset linked to posted entries.' + '\nYou should either confirm the asset, then, sell or dispose of it,' + ' or cancel the linked journal entries.')) + + for line in asset.original_move_line_ids: + body = _('A document linked to %s has been deleted: ') % (line.name or _('this move')) + body += '%s' % (asset.id, asset.name) + line.move_id.message_post(body=body) + return super(AccountAsset, self).unlink() + + def _compute_board_amount(self, computation_sequence, residual_amount, total_amount_to_depr, max_depreciation_nb, + starting_sequence, depreciation_date): + amount = 0 + if computation_sequence == max_depreciation_nb: + # last depreciation always takes the asset residual amount + amount = residual_amount + else: + if self.method in ('degressive', 'degressive_then_linear'): + amount = residual_amount * self.method_progress_factor + if self.method in ('linear', 'degressive_then_linear'): + nb_depreciation = max_depreciation_nb - starting_sequence + if self.prorata: + nb_depreciation -= 1 + linear_amount = min(total_amount_to_depr / nb_depreciation, residual_amount) + if self.method == 'degressive_then_linear': + amount = max(linear_amount, amount) + else: + amount = linear_amount + return amount + + def compute_depreciation_board(self): + self.ensure_one() + amount_change_ids = self.depreciation_move_ids.filtered( + lambda x: x.asset_value_change and not x.reversal_move_id).sorted(key=lambda l: l.date) + # print(self.asset_value_change, 'x.asset_value_change') + posted_depreciation_move_ids = self.depreciation_move_ids.filtered( + lambda x: x.state == 'posted' and not x.asset_value_change and not x.reversal_move_id).sorted( + key=lambda l: l.date) + print(posted_depreciation_move_ids, 'posted_depreciation_move_ids') + already_depreciated_amount = sum([m.amount_total for m in posted_depreciation_move_ids]) + depreciation_number = self.method_number + if self.prorata: + depreciation_number += 1 + starting_sequence = 0 + amount_to_depreciate = self.value_residual + sum([m.amount_total for m in amount_change_ids]) + depreciation_date = self.first_depreciation_date + # if we already have some previous validated entries, starting date is last entry + method period + if posted_depreciation_move_ids and posted_depreciation_move_ids[-1].date: + last_depreciation_date = fields.Date.from_string(posted_depreciation_move_ids[-1].date) + if last_depreciation_date > depreciation_date: # in case we unpause the asset + depreciation_date = last_depreciation_date + relativedelta(months=+int(self.method_period)) + commands = [(2, line_id.id, False) for line_id in + self.depreciation_move_ids.filtered(lambda x: x.state == 'draft')] + newlines = self._recompute_board(depreciation_number, starting_sequence, amount_to_depreciate, + depreciation_date, already_depreciated_amount, amount_change_ids) + newline_vals_list = [] + for newline_vals in newlines: + # no need of amount field, as it is computed and we don't want to trigger its inverse function + del (newline_vals['amount_total']) + newline_vals_list.append(newline_vals) + new_moves = self.env['account.move'].create(newline_vals_list) + for move in new_moves: + commands.append((4, move.id)) + return self.write({'depreciation_move_ids': commands}) + + def _recompute_board(self, depreciation_number, starting_sequence, amount_to_depreciate, depreciation_date, + already_depreciated_amount, amount_change_ids): + self.ensure_one() + residual_amount = amount_to_depreciate + # Remove old unposted depreciation lines. We cannot use unlink() with One2many field + move_vals = [] + prorata = self.prorata and not self.env.context.get("ignore_prorata") + if amount_to_depreciate != 0.0: + for asset_sequence in range(starting_sequence + 1, depreciation_number + 1): + while amount_change_ids and amount_change_ids[0].date <= depreciation_date: + if not amount_change_ids[0].reversal_move_id: + residual_amount -= amount_change_ids[0].amount_total + amount_to_depreciate -= amount_change_ids[0].amount_total + already_depreciated_amount += amount_change_ids[0].amount_total + amount_change_ids[0].write({ + 'asset_remaining_value': float_round(residual_amount, + precision_rounding=self.currency_id.rounding), + 'asset_depreciated_value': amount_to_depreciate - residual_amount + already_depreciated_amount, + }) + amount_change_ids -= amount_change_ids[0] + amount = self._compute_board_amount(asset_sequence, residual_amount, amount_to_depreciate, + depreciation_number, starting_sequence, depreciation_date) + prorata_factor = 1 + move_ref = self.name + ' (%s/%s)' % ( + prorata and asset_sequence - 1 or asset_sequence, self.method_number) + if prorata and asset_sequence == 1: + move_ref = self.name + ' ' + _('(prorata entry)') + first_date = self.prorata_date + if int(self.method_period) % 12 != 0: + month_days = calendar.monthrange(first_date.year, first_date.month)[1] + days = month_days - first_date.day + 1 + prorata_factor = days / month_days + else: + total_days = (depreciation_date.year % 4) and 365 or 366 + days = (self.company_id.compute_fiscalyear_dates(first_date)['date_to'] - first_date).days + 1 + prorata_factor = days / total_days + amount = self.currency_id.round(amount * prorata_factor) + if float_is_zero(amount, precision_rounding=self.currency_id.rounding): + continue + residual_amount -= amount + move_vals.append(self.env['account.move']._prepare_move_for_asset_depreciation({ + 'amount': amount, + 'asset_id': self, + 'move_ref': move_ref, + 'date': depreciation_date, + 'asset_remaining_value': float_round(residual_amount, precision_rounding=self.currency_id.rounding), + 'asset_depreciated_value': amount_to_depreciate - residual_amount + already_depreciated_amount, + })) + + depreciation_date = depreciation_date + relativedelta(months=+int(self.method_period)) + # datetime doesn't take into account that the number of days is not the same for each month + if int(self.method_period) % 12 != 0: + max_day_in_month = calendar.monthrange(depreciation_date.year, depreciation_date.month)[1] + depreciation_date = depreciation_date.replace(day=max_day_in_month) + return move_vals + + @api.model + def _get_views(self, type): + form_view = self.env.ref('odex25_account_asset.view_account_asset_form') + tree_view = self.env.ref('odex25_account_asset.view_account_asset_purchase_tree') + if type == 'sale': + form_view = self.env.ref('odex25_account_asset.view_account_asset_revenue_form') + tree_view = self.env.ref('odex25_account_asset.view_account_asset_sale_tree') + elif type == 'expense': + form_view = self.env.ref('odex25_account_asset.view_account_asset_expense_form') + tree_view = self.env.ref('odex25_account_asset.view_account_asset_expense_tree') + return [[tree_view.id, "tree"], [form_view.id, "form"]] + + def action_asset_modify(self): + """ Returns an action opening the asset modification wizard. + """ + self.ensure_one() + new_wizard = self.env['asset.modify'].create({ + 'asset_id': self.id, + }) + return { + 'name': _('Modify Asset'), + 'view_mode': 'form', + 'res_model': 'asset.modify', + 'type': 'ir.actions.act_window', + 'target': 'new', + 'res_id': new_wizard.id, + 'context': self.env.context, + } + + def action_asset_pause(self): + """ Returns an action opening the asset pause wizard.""" + self.ensure_one() + new_wizard = self.env['account.asset.pause'].create({ + 'asset_id': self.id, + }) + return { + 'name': _('Pause Asset'), + 'view_mode': 'form', + 'res_model': 'account.asset.pause', + 'type': 'ir.actions.act_window', + 'target': 'new', + 'res_id': new_wizard.id, + } + + def action_set_to_close(self): + """ Returns an action opening the asset pause wizard.""" + self.ensure_one() + new_wizard = self.env['account.asset.sell'].create({ + 'asset_id': self.id, + }) + return { + 'name': _('Sell Asset'), + 'view_mode': 'form', + 'res_model': 'account.asset.sell', + 'type': 'ir.actions.act_window', + 'target': 'new', + 'res_id': new_wizard.id, + } + + def action_save_model(self): + form_ref = { + 'purchase': 'odex25_account_asset.view_account_asset_form', + 'sale': 'odex25_account_asset.view_account_asset_revenue_form', + 'expense': 'odex25_account_asset.view_account_asset_expense_form', + }.get(self.asset_type) + + return { + 'name': _('Save model'), + 'views': [[self.env.ref(form_ref).id, "form"]], + 'res_model': 'account.asset', + 'type': 'ir.actions.act_window', + 'context': { + 'default_state': 'model', + 'default_account_asset_id': self.account_asset_id.id, + 'default_account_depreciation_id': self.account_depreciation_id.id, + 'default_account_depreciation_expense_id': self.account_depreciation_expense_id.id, + 'default_journal_id': self.journal_id.id, + 'default_method': self.method, + 'default_method_number': self.method_number, + 'default_method_period': self.method_period, + 'default_method_progress_factor': self.method_progress_factor, + 'default_prorata': self.prorata, + 'default_prorata_date': self.prorata_date, + 'default_analytic_tag_ids': [(6, 0, self.analytic_tag_ids.ids)], + 'original_asset': self.id, + } + } + + def open_entries(self): + return { + 'name': _('Journal Entries'), + 'view_mode': 'tree,form', + 'res_model': 'account.move', + 'views': [(self.env.ref('account.view_move_tree').id, 'tree'), (False, 'form')], + 'type': 'ir.actions.act_window', + 'domain': [('id', 'in', self.depreciation_move_ids.ids)], + 'context': dict(self._context, create=False), + } + + def open_related_entries(self): + return { + 'name': _('Journal Items'), + 'view_mode': 'tree,form', + 'res_model': 'account.move.line', + 'view_id': False, + 'type': 'ir.actions.act_window', + 'domain': [('id', 'in', self.original_move_line_ids.ids)], + } + + def open_increase(self): + return { + 'name': _('Gross Increase'), + 'view_mode': 'tree,form', + 'res_model': 'account.asset', + 'view_id': False, + 'type': 'ir.actions.act_window', + 'domain': [('id', 'in', self.children_ids.ids)], + 'views': self.env['account.asset']._get_views(self.asset_type), + } + + def validate(self): + fields = [ + 'method', + 'method_number', + 'method_period', + 'method_progress_factor', + 'salvage_value', + 'original_move_line_ids', + ] + ref_tracked_fields = self.env['account.asset'].fields_get(fields) + self.write({'state': 'open'}) + for asset in self: + tracked_fields = ref_tracked_fields.copy() + if asset.method == 'linear': + del (tracked_fields['method_progress_factor']) + dummy, tracking_value_ids = asset._message_track(tracked_fields, dict.fromkeys(fields)) + asset_name = { + 'purchase': (_('Asset created'), _('An asset has been created for this move:')), + 'sale': (_('Deferred revenue created'), _('A deferred revenue has been created for this move:')), + 'expense': (_('Deferred expense created'), _('A deferred expense has been created for this move:')), + }[asset.asset_type] + msg = asset_name[1] + ' %s' % (asset.id, asset.name) + asset.message_post(body=asset_name[0], tracking_value_ids=tracking_value_ids) + for move_id in asset.original_move_line_ids.mapped('move_id'): + move_id.message_post(body=msg) + if not asset.depreciation_move_ids: + asset.compute_depreciation_board() + asset._check_depreciations() + asset.depreciation_move_ids._post() + + def _return_disposal_view(self, move_ids): + name = _('Disposal Move') + view_mode = 'form' + if len(move_ids) > 1: + name = _('Disposal Moves') + view_mode = 'tree,form' + return { + 'name': name, + 'view_mode': view_mode, + 'res_model': 'account.move', + 'type': 'ir.actions.act_window', + 'target': 'current', + 'res_id': move_ids[0], + 'domain': [('id', 'in', move_ids)] + } + + def _get_disposal_moves(self, invoice_line_ids, disposal_date): + def get_line(asset, amount, account): + return (0, 0, { + 'name': asset.name, + 'account_id': account.id, + 'debit': 0.0 if float_compare(amount, 0.0, precision_digits=prec) > 0 else -amount, + 'credit': amount if float_compare(amount, 0.0, precision_digits=prec) > 0 else 0.0, + 'analytic_account_id': account_analytic_id.id if asset.asset_type == 'sale' else False, + 'analytic_tag_ids': [(6, 0, analytic_tag_ids.ids)] if asset.asset_type == 'sale' else False, + 'currency_id': company_currency != current_currency and current_currency.id or False, + 'amount_currency': company_currency != current_currency and - 1.0 * asset.value_residual or 0.0, + }) + + move_ids = [] + assert len(self) == len(invoice_line_ids) + for asset, invoice_line_id in zip(self, invoice_line_ids): + if disposal_date < max(asset.depreciation_move_ids.filtered( + lambda x: not x.reversal_move_id and x.state == 'posted').mapped('date') or [fields.Date.today()]): + if invoice_line_id: + raise UserError( + 'There are depreciation posted after the invoice date (%s).\nPlease revert them or change the date of the invoice.' % disposal_date) + else: + raise UserError('There are depreciation posted in the future, please revert them.') + account_analytic_id = asset.account_analytic_id + analytic_tag_ids = asset.analytic_tag_ids + company_currency = asset.company_id.currency_id + current_currency = asset.currency_id + prec = company_currency.decimal_places + unposted_depreciation_move_ids = asset.depreciation_move_ids.filtered(lambda x: x.state == 'draft') + if unposted_depreciation_move_ids: + old_values = { + 'method_number': asset.method_number, + } + + # Remove all unposted depr. lines + commands = [(2, line_id.id, False) for line_id in unposted_depreciation_move_ids] + + # Create a new depr. line with the residual amount and post it + asset_sequence = len(asset.depreciation_move_ids) - len(unposted_depreciation_move_ids) + 1 + + initial_amount = asset.original_value + initial_account = asset.original_move_line_ids.account_id if len( + asset.original_move_line_ids.account_id) == 1 else asset.account_asset_id + depreciated_amount = copysign( + sum(asset.depreciation_move_ids.filtered(lambda r: r.state == 'posted').mapped('amount_total')), + -initial_amount) + depreciation_account = asset.account_depreciation_id + invoice_amount = copysign(invoice_line_id.price_subtotal, -initial_amount) + invoice_account = invoice_line_id.account_id + difference = -initial_amount - depreciated_amount - invoice_amount + difference_account = asset.company_id.gain_account_id if difference > 0 else asset.company_id.loss_account_id + line_datas = [(initial_amount, initial_account), (depreciated_amount, depreciation_account), + (invoice_amount, invoice_account), (difference, difference_account)] + if not invoice_line_id: + del line_datas[2] + vals = { + 'amount_total': current_currency._convert(asset.value_residual, company_currency, asset.company_id, + disposal_date), + 'asset_id': asset.id, + 'ref': asset.name + ': ' + (_('Disposal') if not invoice_line_id else _('Sale')), + 'asset_remaining_value': 0, + 'asset_depreciated_value': max(asset.depreciation_move_ids.filtered(lambda x: x.state == 'posted'), + key=lambda x: x.date, + default=self.env['account.move']).asset_depreciated_value, + 'date': disposal_date, + 'journal_id': asset.journal_id.id, + 'line_ids': [get_line(asset, amount, account) for amount, account in line_datas if account], + } + commands.append((0, 0, vals)) + asset.write({'depreciation_move_ids': commands, 'method_number': asset_sequence}) + tracked_fields = self.env['account.asset'].fields_get(['method_number']) + changes, tracking_value_ids = asset._message_track(tracked_fields, old_values) + if changes: + asset.message_post(body=_('Asset sold or disposed. Accounting entry awaiting for validation.'), + tracking_value_ids=tracking_value_ids) + move_ids += self.env['account.move'].search([('asset_id', '=', asset.id), ('state', '=', 'draft')]).ids + + return move_ids + + def set_to_close(self, invoice_line_id, date=None): + self.ensure_one() + disposal_date = date or fields.Date.today() + if invoice_line_id and self.children_ids.filtered( + lambda a: a.state in ('draft', 'open') or a.value_residual > 0): + raise UserError( + _("You cannot automate the journal entry for an asset that has a running gross increase. Please use 'Dispose' on the increase(s).")) + full_asset = self + self.children_ids + move_ids = full_asset._get_disposal_moves([invoice_line_id] * len(full_asset), disposal_date) + full_asset.write({'state': 'close'}) + if move_ids: + return self._return_disposal_view(move_ids) + + def set_to_draft(self): + self.write({'state': 'draft'}) + + def set_to_running(self): + if self.depreciation_move_ids and not max(self.depreciation_move_ids, + key=lambda m: m.date).asset_remaining_value == 0: + self.env['asset.modify'].create({'asset_id': self.id, 'name': _('Reset to running')}).modify() + self.write({'state': 'open'}) + + def resume_after_pause(self): + """ Sets an asset in 'paused' state back to 'open'. + A Depreciation line is created automatically to remove from the + depreciation amount the proportion of time spent + in pause in the current period. + """ + self.ensure_one() + return self.with_context(resume_after_pause=True).action_asset_modify() + + def pause(self, pause_date): + """ Sets an 'open' asset in 'paused' state, generating first a depreciation + line corresponding to the ratio of time spent within the current depreciation + period before putting the asset in pause. This line and all the previous + unposted ones are then posted. + """ + self.ensure_one() + + all_lines_before_pause = self.depreciation_move_ids.filtered(lambda x: x.date <= pause_date) + line_before_pause = all_lines_before_pause and max(all_lines_before_pause, key=lambda x: x.date) + following_lines = self.depreciation_move_ids.filtered(lambda x: x.date > pause_date) + if following_lines: + if any(line.state == 'posted' for line in following_lines): + raise UserError(_("You cannot pause an asset with posted depreciation lines in the future.")) + + if self.prorata: + first_following = min(following_lines, key=lambda x: x.date) + depreciation_period_start = line_before_pause and line_before_pause.date or self.prorata_date or self.first_depreciation_date + try: + time_ratio = ((pause_date - depreciation_period_start).days) / ( + first_following.date - depreciation_period_start).days + new_line = self._insert_depreciation_line(line_before_pause, + first_following.amount_total * time_ratio, + _("Asset paused"), pause_date) + if pause_date <= fields.Date.today(): + new_line._post() + except ZeroDivisionError: + pass + + self.write({'state': 'paused'}) + self.depreciation_move_ids.filtered(lambda x: x.state == 'draft').unlink() + self.message_post(body=_("Asset paused")) + else: + raise UserError(_("Trying to pause an asset without any future depreciation line")) + + def _insert_depreciation_line(self, line_before, amount, label, depreciation_date): + """ Inserts a new line in the depreciation board, shifting the sequence of + all the following lines from one unit. + :param line_before: The depreciation line after which to insert the new line, + or none if the inserted line should take the first position. + :param amount: The depreciation amount of the new line. + :param label: The name to give to the new line. + :param date: The date to give to the new line. + """ + self.ensure_one() + moveObj = self.env['account.move'] + + new_line = moveObj.create(moveObj._prepare_move_for_asset_depreciation({ + 'amount': amount, + 'asset_id': self, + 'move_ref': self.name + ': ' + label, + 'date': depreciation_date, + 'asset_remaining_value': self.value_residual - amount, + 'asset_depreciated_value': line_before and (line_before.asset_depreciated_value + amount) or amount, + })) + return new_line + + @api.onchange('company_id') + def _onchange_company_id(self): + self.currency_id = self.company_id.currency_id.id + + @api.depends('depreciation_move_ids.state', 'parent_id') + def _entry_count(self): + for asset in self: + res = self.env['account.move'].search_count( + [('asset_id', '=', asset.id), ('state', '=', 'posted'), ('reversal_move_id', '=', False)]) + asset.depreciation_entries_count = res or 0 + asset.total_depreciation_entries_count = len(asset.depreciation_move_ids) + asset.gross_increase_count = len(asset.children_ids) + + def copy_data(self, default=None): + if default is None: + default = {} + if self.state == 'model': + default.update(state='model') + default['name'] = self.name + _(' (copy)') + default['account_asset_id'] = self.account_asset_id.id + return super(AccountAsset, self).copy_data(default) + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if 'state' in vals and vals['state'] != 'draft' and not ( + set(vals) - set({'account_depreciation_id', 'account_depreciation_expense_id', 'journal_id'})): + raise UserError(_("Some required values are missing")) + if self._context.get('import_file', False) and 'category_id' in vals: + changed_vals = self.onchange_category_id_values(vals['category_id'])['value'] + # To avoid to overwrite vals explicitly set by the import + [changed_vals.pop(key, None) for key in vals.keys()] + vals.update(changed_vals) + new_recs = super(AccountAsset, self.with_context(mail_create_nolog=True)).create(vals_list) + # if original_value is passed in vals, make sure the right value is set (as a different original_value may have been computed by _compute_value()) + for i in range(len(vals_list)): + if 'original_value' in vals_list[i]: + new_recs[i].original_value = vals_list[i]['original_value'] + if self.env.context.get('original_asset'): + # When original_asset is set, only one asset is created since its from the form view + original_asset = self.env['account.asset'].browse(self.env.context.get('original_asset')) + original_asset.model_id = new_recs + return new_recs + + @api.constrains('active', 'state') + def _check_active(self): + for record in self: + if not record.active and record.state != 'close': + raise UserError(_('You cannot archive a record that is not closed')) + + @api.constrains('depreciation_move_ids') + def _check_depreciations(self): + for record in self: + if record.state == 'open' and record.depreciation_move_ids and not record.currency_id.is_zero( + record.depreciation_move_ids.filtered(lambda x: not x.reversal_move_id).sorted( + lambda x: (x.date, x.id))[-1].asset_remaining_value): + raise UserError(_("The remaining value on the last depreciation line must be 0")) diff --git a/odex25_accounting/odex25_account_asset/models/account_move.py b/odex25_accounting/odex25_account_asset/models/account_move.py new file mode 100644 index 000000000..fb279b657 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/models/account_move.py @@ -0,0 +1,336 @@ +# -*- coding: utf-8 -*- + + +import math +from odoo import api, fields, models, _ +from odoo.exceptions import UserError +from odoo.tools import float_compare, float_round +from odoo.tools.misc import formatLang +from dateutil.relativedelta import relativedelta + + +class AccountMove(models.Model): + _inherit = 'account.move' + + asset_id = fields.Many2one('account.asset', string='Asset', index=True, ondelete='cascade', copy=False, + domain="[('company_id', '=', company_id)]") + asset_asset_type = fields.Selection(related='asset_id.asset_type') + asset_remaining_value = fields.Monetary(string='Depreciable Value', copy=False) + asset_depreciated_value = fields.Monetary(string='Cumulative Depreciation', copy=False) + asset_manually_modified = fields.Boolean( + help='This is a technical field stating that a depreciation line has been manually modified. It is used to recompute the depreciation table of an asset/deferred revenue.', + copy=False) + asset_value_change = fields.Boolean( + help='This is a technical field set to true when this move is the result of the changing of value of an asset') + asset_ids = fields.One2many('account.asset', string='Assets', compute="_compute_asset_ids") + asset_ids_display_name = fields.Char( + compute="_compute_asset_ids") # just a button label. That's to avoid a plethora of different buttons defined in xml + asset_id_display_name = fields.Char( + compute="_compute_asset_ids") # just a button label. That's to avoid a plethora of different buttons defined in xml + number_asset_ids = fields.Integer(compute="_compute_asset_ids") + draft_asset_ids = fields.Boolean(compute="_compute_asset_ids") + + # reversed_entry_id is set on the reversal move but there is no way of knowing is a move has been reversed without this + reversal_move_id = fields.One2many('account.move', 'reversed_entry_id') + + @api.onchange('amount_total') + def _onchange_amount(self): + self.asset_manually_modified = True + + def _post(self, soft=True): + # OVERRIDE + posted = super()._post(soft) + + # log the post of a depreciation + posted._log_depreciation_asset() + + # look for any asset to create, in case we just posted a bill on an account + # configured to automatically create assets + posted._auto_create_asset() + return posted + + def _reverse_moves(self, default_values_list=None, cancel=False): + for move in self: + # Report the value of this move to the next draft move or create a new one + if move.asset_id: + # Set back the amount in the asset as the depreciation is now void + move.asset_id.value_residual += move.amount_total + # Recompute the status of the asset for all depreciations posted after the reversed entry + for later_posted in move.asset_id.depreciation_move_ids.filtered( + lambda m: m.date >= move.date and m.state == 'posted'): + later_posted.asset_depreciated_value -= move.amount_total + later_posted.asset_remaining_value += move.amount_total + first_draft = min(move.asset_id.depreciation_move_ids.filtered(lambda m: m.state == 'draft'), + key=lambda m: m.date, default=None) + if first_draft: + # If there is a draft, simply move/add the depreciation amount here + # The depreciated and remaining values don't need to change + first_draft.amount_total += move.amount_total + else: + # If there was no draft move left, create one + last_date = max(move.asset_id.depreciation_move_ids.mapped('date')) + method_period = move.asset_id.method_period + + self.create(self._prepare_move_for_asset_depreciation({ + 'asset_id': move.asset_id, + 'move_ref': _('Report of reversal for {name}').format(name=move.asset_id.name), + 'amount': move.amount_total, + 'date': last_date + ( + relativedelta(months=1) if method_period == "1" else relativedelta(years=1)), + 'asset_depreciated_value': move.amount_total + max( + move.asset_id.depreciation_move_ids.mapped('asset_depreciated_value')), + 'asset_remaining_value': 0, + })) + + msg = _('Depreciation entry %s reversed (%s)') % ( + move.name, formatLang(self.env, move.amount_total, currency_obj=move.company_id.currency_id)) + move.asset_id.message_post(body=msg) + + # If an asset was created for this move, delete it when reversing the move + for line in move.line_ids: + for asset in line.asset_ids: + if asset.state == 'draft' or all( + state == 'draft' for state in asset.depreciation_move_ids.mapped('state')): + asset.state = 'draft' + asset.unlink() + + return super(AccountMove, self)._reverse_moves(default_values_list, cancel) + + def button_cancel(self): + # OVERRIDE + res = super(AccountMove, self).button_cancel() + self.env['account.asset'].sudo().search([('original_move_line_ids.move_id', 'in', self.ids)]).write( + {'active': False}) + return res + + def button_draft(self): + for move in self: + if any(asset_id.state != 'draft' for asset_id in move.asset_ids): + raise UserError(_('You cannot reset to draft an entry having a posted deferred revenue/expense')) + return super(AccountMove, self).button_draft() + + def _log_depreciation_asset(self): + for move in self.filtered(lambda m: m.asset_id): + asset = move.asset_id + msg = _('Depreciation entry %s posted (%s)') % ( + move.name, formatLang(self.env, move.amount_total, currency_obj=move.company_id.currency_id)) + asset.message_post(body=msg) + + def _auto_create_asset(self): + create_list = [] + invoice_list = [] + auto_validate = [] + for move in self: + if not move.is_invoice(): + continue + + for move_line in move.line_ids.filtered(lambda line: not (move.move_type in ( + 'out_invoice', 'out_refund') and line.account_id.user_type_id.internal_group == 'asset')): + if ( + move_line.account_id + and (move_line.account_id.can_create_asset) + and move_line.account_id.create_asset != "no" + and not move.reversed_entry_id + and not (move_line.currency_id or move.currency_id).is_zero(move_line.price_total) + and not move_line.asset_ids + ): + if not move_line.name: + raise UserError( + _('Journal Items of {account} should have a label in order to generate an asset').format( + account=move_line.account_id.display_name)) + if move_line.account_id.multiple_assets_per_line: + # decimal quantities are not supported, quantities are rounded to the lower int + units_quantity = max(1, int(move_line.quantity)) + else: + units_quantity = 1 + vals = { + 'name': move_line.name, + 'company_id': move_line.company_id.id, + 'currency_id': move_line.company_currency_id.id, + 'account_analytic_id': move_line.analytic_account_id.id, + 'analytic_tag_ids': [(6, False, move_line.analytic_tag_ids.ids)], + 'original_move_line_ids': [(6, False, move_line.ids)], + 'state': 'draft', + } + model_id = move_line.account_id.asset_model + if model_id: + vals.update({ + 'model_id': model_id.id, + }) + auto_validate.extend([move_line.account_id.create_asset == 'validate'] * units_quantity) + invoice_list.extend([move] * units_quantity) + create_list.extend([vals] * units_quantity) + + assets = self.env['account.asset'].create(create_list) + for asset, vals, invoice, validate in zip(assets, create_list, invoice_list, auto_validate): + if 'model_id' in vals: + asset._onchange_model_id() + if validate: + asset.validate() + if invoice: + asset_name = { + 'purchase': _('Asset'), + 'sale': _('Deferred revenue'), + 'expense': _('Deferred expense'), + }[asset.asset_type] + msg = _('%s created from invoice') % (asset_name) + msg += ': %s' % (invoice.id, invoice.name) + asset.message_post(body=msg) + return assets + + @api.model + def _prepare_move_for_asset_depreciation(self, vals): + missing_fields = set( + ['asset_id', 'move_ref', 'amount', 'asset_remaining_value', 'asset_depreciated_value']) - set(vals) + if missing_fields: + raise UserError(_('Some fields are missing {}').format(', '.join(missing_fields))) + asset = vals['asset_id'] + account_analytic_id = asset.account_analytic_id + analytic_tag_ids = asset.analytic_tag_ids + depreciation_date = vals.get('date', fields.Date.context_today(self)) + company_currency = asset.company_id.currency_id + current_currency = asset.currency_id + prec = company_currency.decimal_places + amount = current_currency._convert(vals['amount'], company_currency, asset.company_id, depreciation_date) + # Keep the partner on the original invoice if there is only one + partner = asset.original_move_line_ids.mapped('partner_id') + partner = partner[:1] if len(partner) <= 1 else self.env['res.partner'] + if asset.original_move_line_ids and asset.original_move_line_ids[0].move_id.move_type in ['in_refund', + 'out_refund']: + amount = -amount + move_line_1 = { + 'name': asset.name, + 'partner_id': partner.id, + 'account_id': asset.account_depreciation_id.id, + 'debit': 0.0 if float_compare(amount, 0.0, precision_digits=prec) > 0 else -amount, + 'credit': amount if float_compare(amount, 0.0, precision_digits=prec) > 0 else 0.0, + 'analytic_account_id': account_analytic_id.id if asset.asset_type == 'sale' else False, + 'analytic_tag_ids': [(6, 0, analytic_tag_ids.ids)] if asset.asset_type == 'sale' else False, + 'currency_id': current_currency.id, + 'amount_currency': -vals['amount'], + } + move_line_2 = { + 'name': asset.name, + 'partner_id': partner.id, + 'account_id': asset.account_depreciation_expense_id.id, + 'credit': 0.0 if float_compare(amount, 0.0, precision_digits=prec) > 0 else -amount, + 'debit': amount if float_compare(amount, 0.0, precision_digits=prec) > 0 else 0.0, + 'analytic_account_id': account_analytic_id.id if asset.asset_type in ('purchase', 'expense') else False, + 'analytic_tag_ids': [(6, 0, analytic_tag_ids.ids)] if asset.asset_type in ( + 'purchase', 'expense') else False, + 'currency_id': current_currency.id, + 'amount_currency': vals['amount'], + } + move_vals = { + 'ref': vals['move_ref'], + 'partner_id': partner.id, + 'date': depreciation_date, + 'journal_id': asset.journal_id.id, + 'line_ids': [(0, 0, move_line_1), (0, 0, move_line_2)], + 'asset_id': asset.id, + 'asset_remaining_value': vals['asset_remaining_value'], + 'asset_depreciated_value': vals['asset_depreciated_value'], + 'amount_total': amount, + 'name': '/', + 'asset_value_change': vals.get('asset_value_change', False), + 'move_type': 'entry', + 'currency_id': current_currency.id, + } + return move_vals + + @api.depends('line_ids.asset_ids') + def _compute_asset_ids(self): + for record in self: + record.asset_ids = record.mapped('line_ids.asset_ids') + record.number_asset_ids = len(record.asset_ids) + if record.number_asset_ids: + asset_type = { + 'sale': _('Deferred Revenue(s)'), + 'purchase': _('Asset(s)'), + 'expense': _('Deferred Expense(s)') + } + record.asset_ids_display_name = '%s %s' % ( + len(record.asset_ids), asset_type.get(record.asset_ids[0].asset_type)) + else: + record.asset_ids_display_name = '' + record.asset_id_display_name = {'sale': _('Revenue'), 'purchase': _('Asset'), 'expense': _('Expense')}.get( + record.asset_id.asset_type) + record.draft_asset_ids = bool(record.asset_ids.filtered(lambda x: x.state == "draft")) + + @api.model + def create_asset_move(self, vals): + move_vals = self._prepare_move_for_asset_depreciation(vals) + return self.env['account.move'].create(move_vals) + + def open_asset_view(self): + ret = { + 'name': _('Asset'), + 'view_mode': 'form', + 'res_model': 'account.asset', + 'view_id': [v[0] for v in self.env['account.asset']._get_views(self.asset_asset_type) if v[1] == 'form'][0], + 'type': 'ir.actions.act_window', + 'res_id': self.asset_id.id, + 'context': dict(self._context, create=False), + } + if self.asset_asset_type == 'sale': + ret['name'] = _('Deferred Revenue') + elif self.asset_asset_type == 'expense': + ret['name'] = _('Deferred Expense') + return ret + + def action_open_asset_ids(self): + ret = { + 'name': _('Assets'), + 'view_type': 'form', + 'view_mode': 'tree,form', + 'res_model': 'account.asset', + 'view_id': False, + 'type': 'ir.actions.act_window', + 'domain': [('id', 'in', self.asset_ids.ids)], + 'views': self.env['account.asset']._get_views(self.asset_ids[0].asset_type), + } + if self.asset_ids[0].asset_type == 'sale': + ret['name'] = _('Deferred Revenues') + elif self.asset_ids[0].asset_type == 'expense': + ret['name'] = _('Deferred Expenses') + return ret + + +class AccountMoveLine(models.Model): + _inherit = 'account.move.line' + + asset_ids = fields.Many2many('account.asset', 'asset_move_line_rel', 'line_id', 'asset_id', string='Asset Linked', + help="Asset created from this Journal Item", copy=False) + + def _turn_as_asset(self, asset_type, view_name, view): + ctx = self.env.context.copy() + ctx.update({ + 'default_original_move_line_ids': [(6, False, self.env.context['active_ids'])], + 'default_company_id': self.company_id.id, + 'asset_type': asset_type, + }) + if any(line.move_id.state == 'draft' for line in self): + raise UserError(_("All the lines should be posted")) + if any(account != self[0].account_id for account in self.mapped('account_id')): + raise UserError(_("All the lines should be from the same account")) + return { + "name": view_name, + "type": "ir.actions.act_window", + "res_model": "account.asset", + "views": [[view.id, "form"]], + "target": "current", + "context": ctx, + } + + def turn_as_asset(self): + return self._turn_as_asset('purchase', _("Turn as an asset"), + self.env.ref("odex25_account_asset.view_account_asset_form")) + + def turn_as_deferred(self): + balance = sum(aml.debit - aml.credit for aml in self) + if balance > 0: + return self._turn_as_asset('expense', _("Turn as a deferred expense"), + self.env.ref('odex25_account_asset.view_account_asset_expense_form')) + else: + return self._turn_as_asset('sale', _("Turn as a deferred revenue"), + self.env.ref('odex25_account_asset.view_account_asset_revenue_form')) diff --git a/odex25_accounting/odex25_account_asset/models/res_company.py b/odex25_accounting/odex25_account_asset/models/res_company.py new file mode 100644 index 000000000..34a754664 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/models/res_company.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- + + +from odoo import api, fields, models, _ + +class ResCompany(models.Model): + _inherit = "res.company" + + gain_account_id = fields.Many2one('account.account', domain="[('deprecated', '=', False), ('company_id', '=', id)]", help="Account used to write the journal item in case of gain while selling an asset") + loss_account_id = fields.Many2one('account.account', domain="[('deprecated', '=', False), ('company_id', '=', id)]", help="Account used to write the journal item in case of loss while selling an asset") diff --git a/odex25_accounting/odex25_account_asset/report/__init__.py b/odex25_accounting/odex25_account_asset/report/__init__.py new file mode 100644 index 000000000..041f27af4 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/report/__init__.py @@ -0,0 +1,5 @@ + +# -*- coding: utf-8 -*- + + +from . import account_assets_report diff --git a/odex25_accounting/odex25_account_asset/report/account_assets_report.py b/odex25_accounting/odex25_account_asset/report/account_assets_report.py new file mode 100644 index 000000000..8616f2733 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/report/account_assets_report.py @@ -0,0 +1,285 @@ +# -*- coding: utf-8 -*- + + +from odoo import api, fields, models, _ +from odoo.tools import format_date +import copy +import binascii +import struct +import time +import itertools +from collections import defaultdict + +MAX_NAME_LENGTH = 50 + + +class assets_report(models.AbstractModel): + _inherit = 'account.report' + _name = 'account.assets.report' + _description = 'Account Assets Report' + + filter_date = {'mode': 'range', 'filter': 'this_year'} + filter_all_entries = False + filter_hierarchy = True + filter_unfold_all = True + + def _get_report_name(self): + return _('Depreciation Table Report') + + def _get_templates(self): + templates = super(assets_report, self)._get_templates() + templates['main_template'] = 'odex25_account_asset.main_template_asset_report' + return templates + + def get_header(self, options): + start_date = format_date(self.env, options['date']['date_from']) + end_date = format_date(self.env, options['date']['date_to']) + return [ + [ + {'name': ''}, + {'name': _('Characteristics'), 'colspan': 4}, + {'name': _('Assets'), 'colspan': 4}, + {'name': _('Depreciation'), 'colspan': 4}, + {'name': _('Book Value')}, + ], + [ + {'name': ''}, # Description + {'name': _('Acquisition Date'), 'class': 'text-center'}, # Characteristics + {'name': _('First Depreciation'), 'class': 'text-center'}, + {'name': _('Method'), 'class': 'text-center'}, + {'name': _('Rate'), 'class': 'number', 'title': _('In percent.
    For a linear method, the depreciation rate is computed per year.
    For a declining method, it is the declining factor'), 'data-toggle': 'tooltip'}, + {'name': start_date, 'class': 'number'}, # Assets + {'name': _('+'), 'class': 'number'}, + {'name': _('-'), 'class': 'number'}, + {'name': end_date, 'class': 'number'}, + {'name': start_date, 'class': 'number'}, # Depreciation + {'name': _('+'), 'class': 'number'}, + {'name': _('-'), 'class': 'number'}, + {'name': end_date, 'class': 'number'}, + {'name': '', 'class': 'number'}, # Gross + ], + ] + + @api.model + def _init_filter_hierarchy(self, options, previous_options=None): + # overwrite because we don't depend on account.group + if self.filter_hierarchy is not None: + if previous_options and 'hierarchy' in previous_options: + options['hierarchy'] = previous_options['hierarchy'] + else: + options['hierarchy'] = self.filter_hierarchy + + def get_account_codes(self, account): + return [(name, name) for name in self._get_account_group(account.code)[1:]] + + def _get_account_group(self, account_code, parent_group=None, group_dict=None): + """ Get the list of parent groups for this account + return: list containing the main group key, then the name of every group + for this account, beginning by the more general, until the + name of the account itself. + """ + if not account_code: + # This is used if there is no account_asset_id + account_code = '##' + account_code_short = account_code[:2] + group_dict = group_dict or self.env['account.report']._get_account_groups_for_asset_report() + account_id = self.env['account.account'].search([('company_id', '=', self.env.company.id), ('code', '=', account_code)]) + account_string = account_id.display_name if account_id else _("No asset account") + for k, v in group_dict.items(): + try: + if int(account_code_short) == int(k): + return (parent_group or [k]) + [v['name']] + except ValueError: + if k[:2] <= account_code_short <= k[-2:]: + return self._get_account_group(account_code, (parent_group or [k]) + [v['name']], v['children']) + [account_string] + return (parent_group or [account_code_short]) + [account_string] + + def _get_lines(self, options, line_id=None): + options['self'] = self + lines = [] + total = [0] * 9 + asset_lines = self._get_assets_lines(options) + parent_lines = [] + children_lines = defaultdict(list) + for al in asset_lines: + if al['parent_id']: + children_lines[al['parent_id']] += [al] + else: + parent_lines += [al] + for al in parent_lines: + if al['asset_method'] == 'linear' and al['asset_method_number']: # some assets might have 0 depreciations because they dont lose value + asset_depreciation_rate = ('{:.2f} %').format((100.0 / al['asset_method_number']) * (12 / int(al['asset_method_period']))) + elif al['asset_method'] == 'linear': + asset_depreciation_rate = ('{:.2f} %').format(0.0) + else: + asset_depreciation_rate = ('{:.2f} %').format(float(al['asset_method_progress_factor']) * 100) + + depreciation_opening = al['depreciated_start'] - al['depreciation'] + depreciation_closing = al['depreciated_end'] + depreciation_minus = 0.0 + + opening = (al['asset_acquisition_date'] or al['asset_date']) < fields.Date.to_date(options['date']['date_from']) + asset_opening = al['asset_original_value'] if opening else 0.0 + asset_add = 0.0 if opening else al['asset_original_value'] + asset_minus = 0.0 + + if al['import_depreciated']: + asset_opening += asset_add + asset_add = 0 + depreciation_opening += al['import_depreciated'] + depreciation_closing += al['import_depreciated'] + + for child in children_lines[al['asset_id']]: + depreciation_opening += child['depreciated_start'] - child['depreciation'] + depreciation_closing += child['depreciated_end'] + + opening = (child['asset_acquisition_date'] or child['asset_date']) < fields.Date.to_date(options['date']['date_from']) + asset_opening += child['asset_original_value'] if opening else 0.0 + asset_add += 0.0 if opening else child['asset_original_value'] + + depreciation_add = depreciation_closing - depreciation_opening + asset_closing = asset_opening + asset_add + + if al['asset_state'] == 'close' and al['asset_disposal_date'] and al['asset_disposal_date'] < fields.Date.to_date(options['date']['date_to']): + depreciation_minus = depreciation_closing + depreciation_closing = 0.0 + depreciation_opening += depreciation_add + depreciation_add = 0 + asset_minus = asset_closing + asset_closing = 0.0 + + asset_gross = asset_closing - depreciation_closing + + total = [x + y for x, y in zip(total, [asset_opening, asset_add, asset_minus, asset_closing, depreciation_opening, depreciation_add, depreciation_minus, depreciation_closing, asset_gross])] + + id = "_".join([self._get_account_group(al['account_code'])[0], str(al['asset_id'])]) + name = str(al['asset_name']) + line = { + 'id': id, + 'level': 1, + 'name': name if self._context.get('print_mode') or len(name) < MAX_NAME_LENGTH else name[:MAX_NAME_LENGTH - 2] + '...', + 'columns': [ + {'name': al['asset_acquisition_date'] and format_date(self.env, al['asset_acquisition_date']) or '', 'no_format_name': ''}, # Characteristics + {'name': al['asset_date'] and format_date(self.env, al['asset_date']) or '', 'no_format_name': ''}, + {'name': (al['asset_method'] == 'linear' and _('Linear')) or (al['asset_method'] == 'degressive' and _('Declining')) or _('Dec. then Straight'), 'no_format_name': ''}, + {'name': asset_depreciation_rate, 'no_format_name': ''}, + {'name': self.format_value(asset_opening), 'no_format_name': asset_opening}, # Assets + {'name': self.format_value(asset_add), 'no_format_name': asset_add}, + {'name': self.format_value(asset_minus), 'no_format_name': asset_minus}, + {'name': self.format_value(asset_closing), 'no_format_name': asset_closing}, + {'name': self.format_value(depreciation_opening), 'no_format_name': depreciation_opening}, # Depreciation + {'name': self.format_value(depreciation_add), 'no_format_name': depreciation_add}, + {'name': self.format_value(depreciation_minus), 'no_format_name': depreciation_minus}, + {'name': self.format_value(depreciation_closing), 'no_format_name': depreciation_closing}, + {'name': self.format_value(asset_gross), 'no_format_name': asset_gross}, # Gross + ], + 'unfoldable': False, + 'unfolded': False, + 'caret_options': 'account.asset.line', + 'account_id': al['account_id'] + } + if len(name) >= MAX_NAME_LENGTH: + line.update({'title_hover': name}) + lines.append(line) + lines.append({ + 'id': 'total', + 'level': 0, + 'name': _('Total'), + 'columns': [ + {'name': ''}, # Characteristics + {'name': ''}, + {'name': ''}, + {'name': ''}, + {'name': self.format_value(total[0])}, # Assets + {'name': self.format_value(total[1])}, + {'name': self.format_value(total[2])}, + {'name': self.format_value(total[3])}, + {'name': self.format_value(total[4])}, # Depreciation + {'name': self.format_value(total[5])}, + {'name': self.format_value(total[6])}, + {'name': self.format_value(total[7])}, + {'name': self.format_value(total[8])}, # Gross + ], + 'unfoldable': False, + 'unfolded': False, + }) + return lines + + def _get_assets_lines(self, options): + "Get the data from the database" + where_account_move = " AND state != 'cancel'" + if not options.get('all_entries'): + where_account_move = " AND state = 'posted'" + + sql = """ + -- remove all the moves that have been reversed from the search + CREATE TEMPORARY TABLE IF NOT EXISTS temp_account_move () INHERITS (account_move) ON COMMIT DROP; + INSERT INTO temp_account_move SELECT move.* + FROM ONLY account_move move + LEFT JOIN ONLY account_move reversal ON reversal.reversed_entry_id = move.id + WHERE reversal.id IS NULL AND move.asset_id IS NOT NULL AND move.company_id in %(company_ids)s; + + SELECT asset.id as asset_id, + asset.parent_id as parent_id, + asset.name as asset_name, + asset.original_value as asset_original_value, + COALESCE(asset.first_depreciation_date_import, asset.first_depreciation_date) as asset_date, + asset.already_depreciated_amount_import as import_depreciated, + asset.disposal_date as asset_disposal_date, + asset.acquisition_date as asset_acquisition_date, + asset.method as asset_method, + (SELECT COUNT(*) FROM temp_account_move WHERE asset_id = asset.id AND asset_value_change != 't') + COALESCE(asset.depreciation_number_import, 0) as asset_method_number, + asset.method_period as asset_method_period, + asset.method_progress_factor as asset_method_progress_factor, + asset.state as asset_state, + account.code as account_code, + account.name as account_name, + account.id as account_id, + COALESCE(first_move.asset_depreciated_value, move_before.asset_depreciated_value, 0.0) as depreciated_start, + COALESCE(first_move.asset_remaining_value, move_before.asset_remaining_value, 0.0) as remaining_start, + COALESCE(last_move.asset_depreciated_value, move_before.asset_depreciated_value, 0.0) as depreciated_end, + COALESCE(last_move.asset_remaining_value, move_before.asset_remaining_value, 0.0) as remaining_end, + COALESCE(first_move.amount_total, 0.0) as depreciation + FROM account_asset as asset + LEFT JOIN account_account as account ON asset.account_asset_id = account.id + LEFT OUTER JOIN (SELECT MIN(date) as date, asset_id FROM temp_account_move WHERE date >= %(date_from)s AND date <= %(date_to)s {where_account_move} GROUP BY asset_id) min_date_in ON min_date_in.asset_id = asset.id + LEFT OUTER JOIN (SELECT MAX(date) as date, asset_id FROM temp_account_move WHERE date >= %(date_from)s AND date <= %(date_to)s {where_account_move} GROUP BY asset_id) max_date_in ON max_date_in.asset_id = asset.id + LEFT OUTER JOIN (SELECT MAX(date) as date, asset_id FROM temp_account_move WHERE date <= %(date_from)s {where_account_move} GROUP BY asset_id) max_date_before ON max_date_before.asset_id = asset.id + LEFT OUTER JOIN temp_account_move as first_move ON first_move.id = (SELECT m.id FROM temp_account_move m WHERE m.asset_id = asset.id AND m.date = min_date_in.date ORDER BY m.id ASC LIMIT 1) + LEFT OUTER JOIN temp_account_move as last_move ON last_move.id = (SELECT m.id FROM temp_account_move m WHERE m.asset_id = asset.id AND m.date = max_date_in.date ORDER BY m.id DESC LIMIT 1) + LEFT OUTER JOIN temp_account_move as move_before ON move_before.id = (SELECT m.id FROM temp_account_move m WHERE m.asset_id = asset.id AND m.date = max_date_before.date ORDER BY m.id DESC LIMIT 1) + WHERE asset.company_id in %(company_ids)s + AND asset.acquisition_date <= %(date_to)s + AND (asset.disposal_date >= %(date_from)s OR asset.disposal_date IS NULL) + AND asset.state not in ('model', 'draft') + AND asset.asset_type = 'purchase' + AND asset.active = 't' + + ORDER BY account.code, asset.acquisition_date; + """.format(where_account_move=where_account_move) + + date_to = options['date']['date_to'] + date_from = options['date']['date_from'] + if options.get('multi_company', False): + company_ids = tuple(self.env.companies.ids) + else: + company_ids = tuple(self.env.company.ids) + + self.flush() + self.env.cr.execute(sql, {'date_to': date_to, 'date_from': date_from, 'company_ids': company_ids}) + results = self.env.cr.dictfetchall() + self.env.cr.execute("DROP TABLE temp_account_move") # Because tests are run in the same transaction, we need to clean here the SQL INHERITS + return results + + def open_asset(self, options, params=None): + active_id = int(params.get('id').split('_')[-1]) + line = self.env['account.asset'].browse(active_id) + return { + 'name': line.name, + 'type': 'ir.actions.act_window', + 'res_model': 'account.asset', + 'view_mode': 'form', + 'view_id': False, + 'views': [(self.env.ref('odex25_account_asset.view_account_asset_form').id, 'form')], + 'res_id': line.id, + } diff --git a/odex25_accounting/odex25_account_asset/report/account_assets_report_views.xml b/odex25_accounting/odex25_account_asset/report/account_assets_report_views.xml new file mode 100644 index 000000000..baa30a39d --- /dev/null +++ b/odex25_accounting/odex25_account_asset/report/account_assets_report_views.xml @@ -0,0 +1,28 @@ + + + + + + + + + Depreciation Schedule + account_report + + + + + + diff --git a/odex25_accounting/odex25_account_asset/security/account_asset_security.xml b/odex25_accounting/odex25_account_asset/security/account_asset_security.xml new file mode 100644 index 000000000..7dbad6d5a --- /dev/null +++ b/odex25_accounting/odex25_account_asset/security/account_asset_security.xml @@ -0,0 +1,11 @@ + + + + + Account Asset multi-company + + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + diff --git a/odex25_accounting/odex25_account_asset/security/ir.model.access.csv b/odex25_accounting/odex25_account_asset/security/ir.model.access.csv new file mode 100644 index 000000000..a4083a3ed --- /dev/null +++ b/odex25_accounting/odex25_account_asset/security/ir.model.access.csv @@ -0,0 +1,7 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_asset,account.asset,model_account_asset,account.group_account_readonly,1,0,0,0 +access_account_asset_manager,account.asset,model_account_asset,account.group_account_manager,1,1,1,1 +access_account_asset_invoicing_payment,account.asset,model_account_asset,account.group_account_invoice,1,0,1,0 +access_asset_modify,access.asset.modify,model_asset_modify,account.group_account_user,1,1,1,0 +access_account_asset_pause,access.account.asset.pause,model_account_asset_pause,account.group_account_user,1,1,1,0 +access_account_asset_sell,access.account.asset.sell,model_account_asset_sell,account.group_account_user,1,1,1,0 diff --git a/odex25_accounting/odex25_account_asset/static/description/icon.png b/odex25_accounting/odex25_account_asset/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..899c85343ce4af38e0f6facf19f99352f5b5a0ef GIT binary patch literal 6841 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 literal 0 HcmV?d00001 diff --git a/odex25_accounting/odex25_account_asset/static/description/icon.svg b/odex25_accounting/odex25_account_asset/static/description/icon.svg new file mode 100644 index 000000000..7d215c3ff --- /dev/null +++ b/odex25_accounting/odex25_account_asset/static/description/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/odex25_accounting/odex25_account_asset/static/src/js/account_asset.js b/odex25_accounting/odex25_account_asset/static/src/js/account_asset.js new file mode 100644 index 000000000..7497e6b54 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/static/src/js/account_asset.js @@ -0,0 +1,32 @@ +odoo.define('account_asset.AssetFormView', function(require) { +"use strict"; + +var FormRenderer = require('web.FormRenderer'); +var FormView = require('web.FormView'); +var core = require('web.core'); +var viewRegistry = require('web.view_registry'); + +var _t = core._t; + +var AccountAssetFormRenderer = FormRenderer.extend({ + events: _.extend({}, FormRenderer.prototype.events, { + 'click .add_original_move_line': '_onAddOriginalMoveLine', + }), + /* + * Open the m2o item selection from another button + */ + _onAddOriginalMoveLine: function(ev) { + _.find(this.allFieldWidgets[this.state.id], x => x['name'] == 'original_move_line_ids').onAddRecordOpenDialog(); + }, +}); + +var AssetFormView = FormView.extend({ + config: _.extend({}, FormView.prototype.config, { + Renderer: AccountAssetFormRenderer, + }), +}); + +viewRegistry.add("asset_form", AssetFormView); +return AssetFormView; + +}); diff --git a/odex25_accounting/odex25_account_asset/static/src/js/account_asset_reversed_widget.js b/odex25_accounting/odex25_account_asset/static/src/js/account_asset_reversed_widget.js new file mode 100644 index 000000000..fa7b767e2 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/static/src/js/account_asset_reversed_widget.js @@ -0,0 +1,53 @@ +odoo.define('account_asset.widget', function(require) { +"use strict"; + +/** + * The purpose of this widget is to shows a toggle button on depreciation and + * installment lines for posted/unposted line. When clicked, it calls the method + * create_move on the object account.asset.depreciation.line. + * Note that this widget can only work on the account.asset.depreciation.line + * model as some of its fields are harcoded. + */ + +var AbstractField = require('web.AbstractField'); +var core = require('web.core'); +var registry = require('web.field_registry'); + +var _t = core._t; + +var AccountAssetReversedWidget = AbstractField.extend({ + noLabel: true, + + //-------------------------------------------------------------------------- + // Public + //-------------------------------------------------------------------------- + + /** + * @override + */ + isSet: function () { + return true; // it should always be displayed, whatever its value + }, + + //-------------------------------------------------------------------------- + // Private + //-------------------------------------------------------------------------- + + /** + * @override + * @private + */ + _render: function () { + if (this.recordData.reversal_move_id.res_ids.length) { + var $icon = $('', { + title: _t('This move has been reversed') + }).addClass('fa fa-exclamation-circle') + this.$el.html($icon); + } + }, + +}); + +registry.add("deprec_lines_reversed", AccountAssetReversedWidget); + +}); diff --git a/odex25_accounting/odex25_account_asset/static/src/scss/account_asset.scss b/odex25_accounting/odex25_account_asset/static/src/scss/account_asset.scss new file mode 100644 index 000000000..07b694160 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/static/src/scss/account_asset.scss @@ -0,0 +1,34 @@ +.o_radio_hide_bullet { + label::before { + display: none; + } + label { + @extend .btn; + @extend .btn-secondary; + } + .custom-control { + @extend .pl-0; + @extend .mr-0; + } + .o_field_radio.o_horizontal.o_field_widget { + margin-bottom: 1px; + } + label::after { + display: none; + } +} + +.o_account_reports_page.o_account_assets_report .o_account_reports_table .o_account_reports_header_hierarchy { + tr:not(:first-child) th { + border: none; + } + tr:first-child th:not(:first-child) { + border: 1px solid black; + } +} + +.o_account_reports_page.o_account_assets_report .o_account_reports_table { + tr:not(:hover) td:nth-child(2n+6), tr:not(:first-child) th:nth-child(2n+6) { + background-color: #F8F8F8; + } +} diff --git a/odex25_accounting/odex25_account_asset/tests/__init__.py b/odex25_accounting/odex25_account_asset/tests/__init__.py new file mode 100644 index 000000000..ca520745a --- /dev/null +++ b/odex25_accounting/odex25_account_asset/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import test_account_asset diff --git a/odex25_accounting/odex25_account_asset/tests/test_account_asset.py b/odex25_accounting/odex25_account_asset/tests/test_account_asset.py new file mode 100644 index 000000000..3562c8c96 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/tests/test_account_asset.py @@ -0,0 +1,640 @@ +# -*- coding: utf-8 -*- + +import math +import time + +from datetime import date +from dateutil.relativedelta import relativedelta +from odoo import fields +from odoo.exceptions import UserError, MissingError +from odoo.tests.common import Form +from odoo.addons.odex25_account_reports.tests.common import TestAccountReportsCommon +from unittest.mock import patch + +original_context_today = fields.Date.context_today + +def today(): + # 31'st of december is a particular date because entries are configured + # to be autoposted on that day. The test values dont take it into account + # so we just mock the date and run the 31'st as if it was the 30'th + today = fields.Date.today() + if today.month == 12 and today.day == 31: + today += relativedelta(day=30) + return today + +def context_today(record, timestamp=None): + # Since 31'st december is faked as 30th december, we need to also fake + # context_today that is used in some account_move code (eg. auto_post) + if timestamp == None: + today = date.today() + if today.month == 12 and today.day == 31: + return today + relativedelta(day=30) + return original_context_today(record, timestamp) + + +class TestAccountAsset(TestAccountReportsCommon): + + @classmethod + @patch('odoo.fields.Date.today', return_value=today()) + @patch('odoo.fields.Date.context_today', context_today) + def setUpClass(cls, today_mock): + super(TestAccountAsset, cls).setUpClass() + today = fields.Date.today() + cls.truck = cls.env['account.asset'].create({ + 'account_asset_id': cls.company_data['default_account_expense'].id, + 'account_depreciation_id': cls.company_data['default_account_expense'].id, + 'account_depreciation_expense_id': cls.company_data['default_account_assets'].id, + 'journal_id': cls.company_data['default_journal_misc'].id, + 'asset_type': 'purchase', + 'name': 'truck', + 'acquisition_date': today + relativedelta(years=-6, month=1, day=1), + 'original_value': 10000, + 'salvage_value': 2500, + 'method_number': 10, + 'method_period': '12', + 'method': 'linear', + }) + cls.truck.validate() + cls.env['account.move']._autopost_draft_entries() + cls.assert_counterpart_account_id = cls.company_data['default_account_revenue'].id, + + def update_form_values(self, asset_form): + for i in range(len(asset_form.depreciation_move_ids)): + with asset_form.depreciation_move_ids.edit(i) as line_edit: + line_edit.asset_remaining_value + + @patch('odoo.fields.Date.today', return_value=today()) + @patch('odoo.fields.Date.context_today', context_today) + def test_00_account_asset(self, today_mock): + """Test the lifecycle of an asset""" + self.env.context = {**self.env.context, **{'asset_type': 'purchase'}} + + account_asset_model_fixedassets_test0 = self.env['account.asset'].create({ + 'account_depreciation_id': self.company_data['default_account_assets'].id, + 'account_depreciation_expense_id': self.company_data['default_account_expense'].id, + 'account_asset_id': self.company_data['default_account_assets'].id, + 'journal_id': self.company_data['default_journal_purchase'].id, + 'name': 'Hardware - 3 Years', + 'method_number': 3, + 'method_period': '12', + 'state': 'model', + }) + + account_asset_vehicles_test0 = self.env['account.asset'].create({ + 'salvage_value': 2000.0, + 'state': 'open', + 'method_period': '12', + 'method_number': 5, + 'name': "CEO's Car", + 'original_value': 12000.0, + 'model_id': account_asset_model_fixedassets_test0.id, + }) + + CEO_car = account_asset_vehicles_test0 + # In order to get the fields from the model, I need to trigger the onchange method. + CEO_car._onchange_model_id() + + # In order to test the process of Account Asset, I perform a action to confirm Account Asset. + CEO_car.validate() + + # I check Asset is now in Open state. + self.assertEqual(account_asset_vehicles_test0.state, 'open', + 'Asset should be in Open state') + + # I compute depreciation lines for asset of CEOs Car. + self.assertEqual(CEO_car.method_number, len(CEO_car.depreciation_move_ids), + 'Depreciation lines not created correctly') + + # Check that auto_post is set on the entries, in the future, and we cannot post them. + self.assertTrue(all(CEO_car.depreciation_move_ids.mapped('auto_post'))) + with self.assertRaises(UserError): + CEO_car.depreciation_move_ids.action_post() + + # I Check that After creating all the moves of depreciation lines the state "Running". + CEO_car.depreciation_move_ids.write({'auto_post': False}) + CEO_car.depreciation_move_ids.action_post() + self.assertEqual(account_asset_vehicles_test0.state, 'open', + 'State of asset should be runing') + + closing_invoice = self.env['account.move'].create({ + 'move_type': 'out_invoice', + 'invoice_line_ids': [(0, 0, { + 'debit': 100, + })] + }) + + with self.assertRaises(UserError, msg="You shouldn't be able to close if there are posted entries in the future"): + CEO_car.set_to_close(closing_invoice.invoice_line_ids) + + def test_01_account_asset(self): + """ Test if an an asset is created when an invoice is validated with an + item on an account for generating entries. + """ + self.env.context = {**self.env.context, **{'asset_type': 'purchase'}} + account_asset_model_sale_test0 = self.env['account.asset'].create({ + 'account_depreciation_id': self.company_data['default_account_assets'].id, + 'account_depreciation_expense_id': self.company_data['default_account_revenue'].id, + 'journal_id': self.company_data['default_journal_sale'].id, + 'name': 'Maintenance Contract - 3 Years', + 'method_number': 3, + 'method_period': '12', + 'prorata': True, + 'prorata_date': time.strftime('%Y-01-01'), + 'asset_type': 'sale', + 'state': 'model', + }) + + # The account needs a default model for the invoice to validate the revenue + self.company_data['default_account_assets'].create_asset = 'validate' + self.company_data['default_account_assets'].asset_model = account_asset_model_sale_test0 + + invoice = self.env['account.move'].with_context(asset_type='purchase').create({ + 'move_type': 'in_invoice', + 'partner_id': self.env['res.partner'].create({'name': 'Res Partner 12'}).id, + 'invoice_line_ids': [(0, 0, { + 'name': 'Insurance claim', + 'account_id': self.company_data['default_account_assets'].id, + 'price_unit': 450, + 'quantity': 1, + })], + }) + invoice.action_post() + + recognition = invoice.asset_ids + self.assertEqual(len(recognition), 1, 'One and only one recognition should have been created from invoice.') + + # I confirm revenue recognition. + recognition.validate() + self.assertTrue(recognition.state == 'open', + 'Recognition should be in Open state') + first_invoice_line = invoice.invoice_line_ids[0] + self.assertEqual(recognition.original_value, first_invoice_line.price_subtotal, + 'Recognition value is not same as invoice line.') + + recognition.depreciation_move_ids.write({'auto_post': False}) + recognition.depreciation_move_ids.action_post() + + # I check data in move line and installment line. + first_installment_line = recognition.depreciation_move_ids.sorted(lambda r: r.id)[0] + self.assertAlmostEqual(first_installment_line.asset_remaining_value, recognition.original_value - first_installment_line.amount_total, + msg='Remaining value is incorrect.') + self.assertAlmostEqual(first_installment_line.asset_depreciated_value, first_installment_line.amount_total, + msg='Depreciated value is incorrect.') + + # I check next installment date. + last_installment_date = first_installment_line.date + installment_date = last_installment_date + relativedelta(months=+int(recognition.method_period)) + self.assertEqual(recognition.depreciation_move_ids.sorted(lambda r: r.id)[1].date, installment_date, + 'Installment date is incorrect.') + + @patch('odoo.fields.Date.today', return_value=today()) + @patch('odoo.fields.Date.context_today', context_today) + def test_asset_form(self, today_mock): + """Test the form view of assets""" + asset_form = Form(self.env['account.asset'].with_context(asset_type='purchase')) + asset_form.name = "Test Asset" + asset_form.original_value = 10000 + asset_form.account_depreciation_id = self.company_data['default_account_assets'] + asset_form.account_depreciation_expense_id = self.company_data['default_account_expense'] + asset_form.journal_id = self.company_data['default_journal_misc'] + asset = asset_form.save() + asset.validate() + + # Test that the depreciations are created upon validation of the asset according to the default values + self.assertEqual(len(asset.depreciation_move_ids), 5) + for move in asset.depreciation_move_ids: + self.assertEqual(move.amount_total, 2000) + + # Test that we cannot validate an asset with non zero remaining value of the last depreciation line + asset_form = Form(asset) + with self.assertRaises(UserError): + with self.cr.savepoint(): + with asset_form.depreciation_move_ids.edit(4) as line_edit: + line_edit.amount_total = 1000.0 + asset_form.save() + + # ... but we can with a zero remaining value on the last line. + asset_form = Form(asset) + with asset_form.depreciation_move_ids.edit(4) as line_edit: + line_edit.amount_total = 1000.0 + with asset_form.depreciation_move_ids.edit(3) as line_edit: + line_edit.amount_total = 3000.0 + self.update_form_values(asset_form) + asset_form.save() + + def test_asset_from_move_line_form(self): + """Test that the asset is correcly created from a move line""" + + move_ids = self.env['account.move'].create([{ + 'ref': 'line1', + 'line_ids': [ + (0, 0, { + 'account_id': self.company_data['default_account_expense'].id, + 'debit': 300, + 'name': 'Furniture', + }), + (0, 0, { + 'account_id': self.company_data['default_account_assets'].id, + 'credit': 300, + }), + ] + }, { + 'ref': 'line2', + 'line_ids': [ + (0, 0, { + 'account_id': self.company_data['default_account_expense'].id, + 'debit': 600, + 'name': 'Furniture too', + }), + (0, 0, { + 'account_id': self.company_data['default_account_assets'].id, + 'credit': 600, + }), + ] + }, + ]) + move_ids.action_post() + move_line_ids = move_ids.mapped('line_ids').filtered(lambda x: x.debit) + + asset = self.env['account.asset'].new({'original_move_line_ids': [(6, 0, move_line_ids.ids)]}) + asset_form = Form(self.env['account.asset'].with_context(default_original_move_line_ids=move_line_ids.ids, asset_type='purchase')) + asset_form._values['original_move_line_ids'] = [(6, 0, move_line_ids.ids)] + asset_form._perform_onchange(['original_move_line_ids']) + asset_form.account_depreciation_expense_id = self.company_data['default_account_expense'] + + asset = asset_form.save() + self.assertEqual(asset.value_residual, 900.0) + self.assertIn(asset.name, ['Furniture', 'Furniture too']) + self.assertEqual(asset.journal_id.type, 'general') + self.assertEqual(asset.asset_type, 'purchase') + self.assertEqual(asset.account_asset_id, self.company_data['default_account_expense']) + self.assertEqual(asset.account_depreciation_id, self.company_data['default_account_expense']) + self.assertEqual(asset.account_depreciation_expense_id, self.company_data['default_account_expense']) + + def test_asset_modify_depreciation(self): + """Test the modification of depreciation parameters""" + self.env['asset.modify'].create({ + 'asset_id': self.truck.id, + 'name': 'Test reason', + 'method_number': 10.0, + "account_asset_counterpart_id": self.assert_counterpart_account_id, + }).modify() + + # I check the proper depreciation lines created. + self.assertEqual(10, len(self.truck.depreciation_move_ids.filtered(lambda x: x.state == 'draft'))) + + @patch('odoo.fields.Date.today', return_value=today()) + @patch('odoo.fields.Date.context_today', context_today) + def test_asset_modify_value_00(self, today_mock): + """Test the values of the asset and value increase 'assets' after a + modification of residual and/or salvage values. + Increase the residual value, increase the salvage value""" + self.assertEqual(self.truck.value_residual, 3000) + self.assertEqual(self.truck.salvage_value, 2500) + + self.env['asset.modify'].create({ + 'name': 'New beautiful sticker :D', + 'asset_id': self.truck.id, + 'value_residual': 4000, + 'salvage_value': 3000, + "account_asset_counterpart_id": self.assert_counterpart_account_id, + }).modify() + self.assertEqual(self.truck.value_residual, 3000) + self.assertEqual(self.truck.salvage_value, 2500) + self.assertEqual(self.truck.children_ids.value_residual, 1000) + self.assertEqual(self.truck.children_ids.salvage_value, 500) + + @patch('odoo.fields.Date.today', return_value=today()) + def test_asset_modify_value_01(self, today_mock): + "Decrease the residual value, decrease the salvage value" + self.env['asset.modify'].create({ + 'name': "Accident :'(", + 'date': fields.Date.today(), + 'asset_id': self.truck.id, + 'value_residual': 1000, + 'salvage_value': 2000, + "account_asset_counterpart_id": self.assert_counterpart_account_id, + }).modify() + self.assertEqual(self.truck.value_residual, 1000) + self.assertEqual(self.truck.salvage_value, 2000) + self.assertEqual(self.truck.children_ids.value_residual, 0) + self.assertEqual(self.truck.children_ids.salvage_value, 0) + self.assertEqual(max(self.truck.depreciation_move_ids.filtered(lambda m: m.state == 'posted'), key=lambda m: m.date).amount_total, 2500) + + def test_asset_modify_value_02(self): + "Decrease the residual value, increase the salvage value; same book value" + self.env['asset.modify'].create({ + 'name': "Don't wanna depreciate all of it", + 'asset_id': self.truck.id, + 'value_residual': 1000, + 'salvage_value': 4500, + "account_asset_counterpart_id": self.assert_counterpart_account_id, + }).modify() + self.assertEqual(self.truck.value_residual, 1000) + self.assertEqual(self.truck.salvage_value, 4500) + self.assertEqual(self.truck.children_ids.value_residual, 0) + self.assertEqual(self.truck.children_ids.salvage_value, 0) + + def test_asset_modify_value_03(self): + "Decrease the residual value, increase the salvage value; increase of book value" + self.env['asset.modify'].create({ + 'name': "Some aliens did something to my truck", + 'asset_id': self.truck.id, + 'value_residual': 1000, + 'salvage_value': 6000, + "account_asset_counterpart_id": self.assert_counterpart_account_id, + }).modify() + self.assertEqual(self.truck.value_residual, 1000) + self.assertEqual(self.truck.salvage_value, 4500) + self.assertEqual(self.truck.children_ids.value_residual, 0) + self.assertEqual(self.truck.children_ids.salvage_value, 1500) + + @patch('odoo.fields.Date.today', return_value=today()) + @patch('odoo.fields.Date.context_today', context_today) + def test_asset_modify_value_04(self, today_mock): + "Increase the residual value, decrease the salvage value; increase of book value" + self.env['asset.modify'].create({ + 'name': 'GODZILA IS REAL!', + 'asset_id': self.truck.id, + 'value_residual': 4000, + 'salvage_value': 2000, + "account_asset_counterpart_id": self.assert_counterpart_account_id, + }).modify() + self.assertEqual(self.truck.value_residual, 3500) + self.assertEqual(self.truck.salvage_value, 2000) + self.assertEqual(self.truck.children_ids.value_residual, 500) + self.assertEqual(self.truck.children_ids.salvage_value, 0) + + @patch('odoo.fields.Date.today', return_value=today()) + @patch('odoo.fields.Date.context_today', context_today) + def test_asset_modify_report(self, today_mock): + """Test the asset value modification flows""" + # PY + - Final PY + - Final Bookvalue + # -6 0 10000 0 10000 0 750 0 750 9250 + # -5 10000 0 0 10000 750 750 0 1500 8500 + # -4 10000 0 0 10000 1500 750 0 2250 7750 + # -3 10000 0 0 10000 2250 750 0 3000 7000 + # -2 10000 0 0 10000 3000 750 0 3750 6250 + # -1 10000 0 0 10000 3750 750 0 4500 5500 + # 0 10000 0 0 10000 4500 750 0 5250 4750 <-- today + # 1 10000 0 0 10000 5250 750 0 6000 4000 + # 2 10000 0 0 10000 6000 750 0 6750 3250 + # 3 10000 0 0 10000 6750 750 0 7500 2500 + + today = fields.Date.today() + + report = self.env['account.assets.report'] + # TEST REPORT + # look at all period, with unposted entries + options = self._init_options(report, today + relativedelta(years=-6, month=1, day=1), today + relativedelta(years=+4, month=12, day=31)) + lines = report._get_lines({**options, **{'unfold_all': False, 'all_entries': True}}) + self.assertListEqual([ 0.0, 10000.0, 0.0, 10000.0, 0.0, 7500.0, 0.0, 7500.0, 2500.0], + [x['no_format_name'] for x in lines[0]['columns'][4:]]) + + # look at all period, without unposted entries + options = self._init_options(report, today + relativedelta(years=-6, month=1, day=1), today + relativedelta(years=+4, month=12, day=31)) + lines = report._get_lines({**options, **{'unfold_all': False, 'all_entries': False}}) + self.assertListEqual([ 0.0, 10000.0, 0.0, 10000.0, 0.0, 4500.0, 0.0, 4500.0, 5500.0], + [x['no_format_name'] for x in lines[0]['columns'][4:]]) + + # look only at this period + options = self._init_options(report, today + relativedelta(years=0, month=1, day=1), today + relativedelta(years=0, month=12, day=31)) + lines = report._get_lines({**options, **{'unfold_all': False, 'all_entries': True}}) + self.assertListEqual([10000.0, 0.0, 0.0, 10000.0, 4500.0, 750.0, 0.0, 5250.0, 4750.0], + [x['no_format_name'] for x in lines[0]['columns'][4:]]) + + # test value increase + # PY + - Final PY + - Final Bookvalue + # -6 0 10000 0 10000 750 0 750 9250 + # -5 10000 0 0 10000 750 750 0 1500 8500 + # -4 10000 0 0 10000 1500 750 0 2250 7750 + # -3 10000 0 0 10000 2250 750 0 3000 7000 + # -2 10000 0 0 10000 3000 750 0 3750 6250 + # -1 10000 0 0 10000 3750 750 0 4500 5500 + # 0 10000 1500 0 11500 4500 1000 0 5500 6000 <-- today + # 1 11500 0 0 11500 5500 1000 0 6500 5000 + # 2 11500 0 0 11500 6500 1000 0 7500 4000 + # 3 11500 0 0 11500 7500 1000 0 8500 3000 + self.assertEqual(self.truck.value_residual, 3000) + self.assertEqual(self.truck.salvage_value, 2500) + self.env['asset.modify'].create({ + 'name': 'New beautiful sticker :D', + 'asset_id': self.truck.id, + 'value_residual': 4000, + 'salvage_value': 3000, + "account_asset_counterpart_id": self.assert_counterpart_account_id, + }).modify() + self.assertEqual(self.truck.value_residual + sum(self.truck.children_ids.mapped('value_residual')), 4000) + self.assertEqual(self.truck.salvage_value + sum(self.truck.children_ids.mapped('salvage_value')), 3000) + + # look at all period, with unposted entries + options = self._init_options(report, today + relativedelta(years=-6, month=1, day=1), today + relativedelta(years=+4, month=12, day=31)) + lines = report._get_lines({**options, **{'unfold_all': False, 'all_entries': True}}) + self.assertListEqual([ 0.0, 11500.0, 0.0, 11500.0, 0.0, 8500.0, 0.0, 8500.0, 3000.0], + [x['no_format_name'] for x in lines[0]['columns'][4:]]) + self.assertEqual('10.00 %', lines[0]['columns'][3]['name'], 'Depreciation Rate = 10%') + + # look only at this period + options = self._init_options(report, today + relativedelta(years=0, month=1, day=1), today + relativedelta(years=0, month=12, day=31)) + lines = report._get_lines({**options, **{'unfold_all': False, 'all_entries': True}}) + self.assertListEqual([10000.0, 1500.0, 0.0, 11500.0, 4500.0, 1000.0, 0.0, 5500.0, 6000.0], + [x['no_format_name'] for x in lines[0]['columns'][4:]]) + + # test value decrease + self.env['asset.modify'].create({ + 'name': "Huge scratch on beautiful sticker :'( It is ruined", + 'date': fields.Date.today(), + 'asset_id': self.truck.children_ids.id, + 'value_residual': 0, + 'salvage_value': 500, + "account_asset_counterpart_id": self.assert_counterpart_account_id, + }).modify() + self.env['asset.modify'].create({ + 'name': "Huge scratch on beautiful sticker :'( It went through...", + 'date': fields.Date.today(), + 'asset_id': self.truck.id, + 'value_residual': 1000, + 'salvage_value': 2500, + "account_asset_counterpart_id": self.assert_counterpart_account_id, + }).modify() + self.assertEqual(self.truck.value_residual + sum(self.truck.children_ids.mapped('value_residual')), 1000) + self.assertEqual(self.truck.salvage_value + sum(self.truck.children_ids.mapped('salvage_value')), 3000) + + # look at all period, with unposted entries + options = self._init_options(report, today + relativedelta(years=-6, month=1, day=1), today + relativedelta(years=+4, month=12, day=31)) + lines = report._get_lines({**options, **{'unfold_all': False, 'all_entries': True}}) + self.assertListEqual([ 0.0, 11500.0, 0.0, 11500.0, 0.0, 8500.0, 0.0, 8500.0, 3000.0], + [x['no_format_name'] for x in lines[0]['columns'][4:]]) + + # look only at this period + options = self._init_options(report, today + relativedelta(years=0, month=1, day=1), today + relativedelta(years=0, month=12, day=31)) + lines = report._get_lines({**options, **{'unfold_all': False, 'all_entries': True}}) + self.assertListEqual([10000.0, 1500.0, 0.0, 11500.0, 4500.0, 3250.0, 0.0, 7750.0, 3750.0], + [x['no_format_name'] for x in lines[0]['columns'][4:]]) + + def test_asset_reverse_depreciation(self): + """Test the reversal of a depreciation move""" + + self.assertEqual(sum(self.truck.depreciation_move_ids.filtered(lambda m: m.state == 'posted').mapped('amount_total')), 4500) + self.assertEqual(sum(self.truck.depreciation_move_ids.filtered(lambda m: m.state == 'draft').mapped('amount_total')), 3000) + self.assertEqual(max(self.truck.depreciation_move_ids.filtered(lambda m: m.state == 'posted'), key=lambda m: m.date).asset_remaining_value, 3000) + + move_to_reverse = self.truck.depreciation_move_ids.filtered(lambda m: m.state == 'posted').sorted(lambda m: m.date)[-1] + move_to_reverse._reverse_moves() + + # Check that we removed the depreciation in the table for the reversed move + max_date_posted_before = max(self.truck.depreciation_move_ids.filtered(lambda m: m.state == 'posted' and m.date < move_to_reverse.date), key=lambda m: m.date) + self.assertEqual(move_to_reverse.asset_remaining_value, max_date_posted_before.asset_remaining_value) + self.assertEqual(move_to_reverse.asset_depreciated_value, max_date_posted_before.asset_depreciated_value) + + # Check that the depreciation has been reported on the next move + min_date_draft = min(self.truck.depreciation_move_ids.filtered(lambda m: m.state == 'draft' and m.date > move_to_reverse.date), key=lambda m: m.date) + self.assertEqual(move_to_reverse.asset_remaining_value - min_date_draft.amount_total, min_date_draft.asset_remaining_value) + self.assertEqual(move_to_reverse.asset_depreciated_value + min_date_draft.amount_total, min_date_draft.asset_depreciated_value) + + # The amount is still there, it only has been reversed. But it has been added on the next draft move to complete the depreciation table + self.assertEqual(sum(self.truck.depreciation_move_ids.filtered(lambda m: m.state == 'posted').mapped('amount_total')), 4500) + self.assertEqual(sum(self.truck.depreciation_move_ids.filtered(lambda m: m.state == 'draft').mapped('amount_total')), 3750) + + # Check that the table shows fully depreciated at the end + self.assertEqual(max(self.truck.depreciation_move_ids, key=lambda m: m.date).asset_remaining_value, 0) + self.assertEqual(max(self.truck.depreciation_move_ids, key=lambda m: m.date).asset_depreciated_value, 7500) + + def test_asset_reverse_original_move(self): + """Test the reversal of a move that generated an asset""" + + move_id = self.env['account.move'].create({ + 'ref': 'line1', + 'line_ids': [ + (0, 0, { + 'account_id': self.company_data['default_account_expense'].id, + 'debit': 300, + 'name': 'Furniture', + }), + (0, 0, { + 'account_id': self.company_data['default_account_assets'].id, + 'credit': 300, + }), + ] + }) + move_id.action_post() + move_line_id = move_id.mapped('line_ids').filtered(lambda x: x.debit) + + asset_form = Form(self.env['account.asset'].with_context(asset_type='purchase')) + asset_form._values['original_move_line_ids'] = [(6, 0, move_line_id.ids)] + asset_form._perform_onchange(['original_move_line_ids']) + asset_form.account_depreciation_expense_id = self.company_data['default_account_expense'] + + asset = asset_form.save() + + self.assertTrue(asset.name, 'An asset should have been created') + move_id._reverse_moves() + with self.assertRaises(MissingError, msg='The asset should have been deleted'): + asset.name + + def test_asset_multiple_assets_from_one_move_line_00(self): + """ Test the creation of a as many assets as the value of + the quantity property of a move line. """ + + account = self.env['account.account'].create({ + "name": "test account", + "code": "TEST", + "user_type_id": self.env.ref('account.data_account_type_non_current_assets').id, + "create_asset": "draft", + "asset_type": "purchase", + "multiple_assets_per_line": True, + }) + move = self.env['account.move'].create({ + "partner_id": self.env['res.partner'].create({'name': 'Johny'}).id, + "ref": "line1", + "move_type": "in_invoice", + "line_ids": [ + (0, 0, { + "account_id": account.id, + "debit": 800.0, + "name": "stuff", + "quantity": 2, + "product_uom_id": self.env.ref('uom.product_uom_unit').id, + }), + (0, 0, { + 'account_id': self.company_data['default_account_assets'].id, + 'credit': 800.0, + }), + ] + }) + move.action_post() + assets = move.asset_ids + assets = sorted(assets, key=lambda i: i['original_value'], reverse=True) + self.assertEqual(len(assets), 2, '3 assets should have been created') + self.assertEqual(assets[0].original_value, 400.0) + self.assertEqual(assets[1].original_value, 400.0) + + def test_asset_multiple_assets_from_one_move_line_01(self): + """ Test the creation of a as many assets as the value of + the quantity property of a move line. """ + + account = self.env['account.account'].create({ + "name": "test account", + "code": "TEST", + "user_type_id": self.env.ref('account.data_account_type_non_current_assets').id, + "create_asset": "draft", + "asset_type": "purchase", + "multiple_assets_per_line": True, + }) + move = self.env['account.move'].create({ + "partner_id": self.env['res.partner'].create({'name': 'Johny'}).id, + "ref": "line1", + "move_type": "in_invoice", + "line_ids": [ + (0, 0, { + "account_id": account.id, + "debit": 1000.0, + "name": "stuff", + "quantity": 3.0, + "product_uom_id": self.env.ref('uom.product_uom_categ_unit').id, + }), + (0, 0, { + 'account_id': self.company_data['default_account_assets'].id, + 'credit': 1000.0, + }), + ] + }) + move.action_post() + self.assertEqual(sum(asset.original_value for asset in move.asset_ids), move.line_ids[0].debit) + + def test_asset_credit_note(self): + """Test the generated entries created from an in_refund invoice with deferred expense.""" + account_asset_model_fixedassets_test0 = self.env['account.asset'].create({ + 'account_depreciation_id': self.company_data['default_account_assets'].id, + 'account_depreciation_expense_id': self.company_data['default_account_expense'].id, + 'account_asset_id': self.company_data['default_account_assets'].id, + 'journal_id': self.company_data['default_journal_purchase'].id, + 'name': 'Hardware - 3 Years', + 'method_number': 3, + 'method_period': '12', + 'state': 'model', + }) + + self.company_data['default_account_assets'].create_asset = "validate" + self.company_data['default_account_assets'].asset_model = account_asset_model_fixedassets_test0 + + invoice = self.env['account.move'].create({ + 'move_type': 'in_refund', + 'partner_id': self.ref("base.res_partner_12"), + 'invoice_line_ids': [(0, 0, { + 'name': 'Refund Insurance claim', + 'account_id': self.company_data['default_account_assets'].id, + 'price_unit': 450, + 'quantity': 1, + })], + }) + invoice.action_post() + depreciation_lines = self.env['account.move.line'].search([ + ('account_id', '=', account_asset_model_fixedassets_test0.account_depreciation_id.id), + ('move_id.asset_id', '=', invoice.asset_ids.id), + ('debit', '=', 150), + ]) + self.assertEqual( + len(depreciation_lines), 3, + 'Three entries with a debit of 150 must be created on the Deferred Expense Account' + ) diff --git a/odex25_accounting/odex25_account_asset/views/account_account_views.xml b/odex25_accounting/odex25_account_asset/views/account_account_views.xml new file mode 100644 index 000000000..8251b22bc --- /dev/null +++ b/odex25_accounting/odex25_account_asset/views/account_account_views.xml @@ -0,0 +1,57 @@ + + + + account.move.line.tree.grouped.inherit + account.move.line + + extension + + + + +
    + +
    +
    + +
    +
    +
    +
    + + + + + Set manually the original values or + + +
    + + + + + account.move.line.form + account.move.line + + + + + + + + + + Create Asset + + + + code + +if records: + action = records.turn_as_asset() + + + diff --git a/odex25_accounting/odex25_account_asset/wizard/__init__.py b/odex25_accounting/odex25_account_asset/wizard/__init__.py new file mode 100644 index 000000000..836778be8 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/wizard/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- + + +from . import asset_modify +from . import asset_pause +from . import asset_sell diff --git a/odex25_accounting/odex25_account_asset/wizard/asset_modify.py b/odex25_accounting/odex25_account_asset/wizard/asset_modify.py new file mode 100644 index 000000000..3ce61ab67 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/wizard/asset_modify.py @@ -0,0 +1,168 @@ +# -*- coding: utf-8 -*- + + +from odoo import api, fields, models, _ +from odoo.exceptions import UserError + + +class AssetModify(models.TransientModel): + _name = 'asset.modify' + _description = 'Modify Asset' + + name = fields.Text(string='Reason') + asset_id = fields.Many2one(string="Asset", comodel_name='account.asset', required=True, help="The asset to be modified by this wizard", ondelete="cascade") + method_number = fields.Integer(string='Number of Depreciations', required=True) + method_period = fields.Selection([('1', 'Months'), ('12', 'Years')], string='Number of Months in a Period', help="The amount of time between two depreciations") + value_residual = fields.Monetary(string="Depreciable Amount", help="New residual amount for the asset") + salvage_value = fields.Monetary(string="Not Depreciable Amount", help="New salvage amount for the asset") + currency_id = fields.Many2one(related='asset_id.currency_id') + date = fields.Date(default=fields.Date.today(), string='Date') + need_date = fields.Boolean(compute="_compute_need_date") + gain_value = fields.Boolean(compute="_compute_gain_value", help="Technical field to know if we should display the fields for the creation of gross increase asset") + account_asset_id = fields.Many2one('account.account', string="Asset Gross Increase Account") + account_asset_counterpart_id = fields.Many2one('account.account') + account_depreciation_id = fields.Many2one('account.account') + account_depreciation_expense_id = fields.Many2one('account.account') + + @api.model + def create(self, vals): + if 'asset_id' in vals: + asset = self.env['account.asset'].browse(vals['asset_id']) + if asset.depreciation_move_ids.filtered(lambda m: m.state == 'posted' and not m.reversal_move_id and m.date > fields.Date.today()): + raise UserError(_('Reverse the depreciation entries posted in the future in order to modify the depreciation')) + if 'method_number' not in vals: + vals.update({'method_number': len(asset.depreciation_move_ids.filtered(lambda move: move.state != 'posted')) or 1}) + if 'method_period' not in vals: + vals.update({'method_period': asset.method_period}) + if 'salvage_value' not in vals: + vals.update({'salvage_value': asset.salvage_value}) + if 'value_residual' not in vals: + vals.update({'value_residual': asset.value_residual}) + if 'account_asset_id' not in vals: + vals.update({'account_asset_id': asset.account_asset_id.id}) + if 'account_depreciation_id' not in vals: + vals.update({'account_depreciation_id': asset.account_depreciation_id.id}) + if 'account_depreciation_expense_id' not in vals: + vals.update({'account_depreciation_expense_id': asset.account_depreciation_expense_id.id}) + return super(AssetModify, self).create(vals) + + def modify(self): + """ Modifies the duration of asset for calculating depreciation + and maintains the history of old values, in the chatter. + """ + old_values = { + 'method_number': self.asset_id.method_number, + 'method_period': self.asset_id.method_period, + 'value_residual': self.asset_id.value_residual, + 'salvage_value': self.asset_id.salvage_value, + } + + asset_vals = { + 'method_number': self.method_number, + 'method_period': self.method_period, + 'value_residual': self.value_residual, + 'salvage_value': self.salvage_value, + } + if self.need_date: + asset_vals.update({ + 'prorata_date': self.date, + }) + if self.env.context.get('resume_after_pause'): + asset_vals.update({'state': 'open'}) + self.asset_id.message_post(body=_("Asset unpaused")) + else: + self = self.with_context(ignore_prorata=True) + + current_asset_book = self.asset_id.value_residual + self.asset_id.salvage_value + after_asset_book = self.value_residual + self.salvage_value + increase = after_asset_book - current_asset_book + + new_residual = min(current_asset_book - min(self.salvage_value, self.asset_id.salvage_value), self.value_residual) + new_salvage = min(current_asset_book - new_residual, self.salvage_value) + residual_increase = max(0, self.value_residual - new_residual) + salvage_increase = max(0, self.salvage_value - new_salvage) + + if residual_increase or salvage_increase: + move = self.env['account.move'].create({ + 'journal_id': self.asset_id.journal_id.id, + 'date': fields.Date.today(), + 'line_ids': [ + (0, 0, { + 'account_id': self.account_asset_id.id, + 'debit': residual_increase + salvage_increase, + 'credit': 0, + 'name': _('Value increase for: %(asset)s', asset=self.asset_id.name), + }), + (0, 0, { + 'account_id': self.account_asset_counterpart_id.id, + 'debit': 0, + 'credit': residual_increase + salvage_increase, + 'name': _('Value increase for: %(asset)s', asset=self.asset_id.name), + }), + ], + }) + move._post() + asset_increase = self.env['account.asset'].create({ + 'name': self.asset_id.name + ': ' + self.name, + 'currency_id': self.asset_id.currency_id.id, + 'company_id': self.asset_id.company_id.id, + 'asset_type': self.asset_id.asset_type, + 'method': self.asset_id.method, + 'method_number': self.method_number, + 'method_period': self.method_period, + 'acquisition_date': self.date, + 'value_residual': residual_increase, + 'salvage_value': salvage_increase, + 'original_value': residual_increase + salvage_increase, + 'account_asset_id': self.account_asset_id.id, + 'account_depreciation_id': self.account_depreciation_id.id, + 'account_depreciation_expense_id': self.account_depreciation_expense_id.id, + 'journal_id': self.asset_id.journal_id.id, + 'parent_id': self.asset_id.id, + 'original_move_line_ids': [(6, 0, move.line_ids.filtered(lambda r: r.account_id == self.account_asset_id).ids)], + }) + asset_increase.validate() + + subject = _('A gross increase has been created') + ': %s' % (asset_increase.id, asset_increase.name) + self.asset_id.message_post(body=subject) + if increase < 0: + if self.env['account.move'].search([('asset_id', '=', self.asset_id.id), ('state', '=', 'draft'), ('date', '<=', self.date)]): + raise UserError('There are unposted depreciations prior to the selected operation date, please deal with them first.') + move = self.env['account.move'].create(self.env['account.move']._prepare_move_for_asset_depreciation({ + 'amount': -increase, + 'asset_id': self.asset_id, + 'move_ref': _('Value decrease for: %(asset)s', asset=self.asset_id.name), + 'date': self.date, + 'asset_remaining_value': 0, + 'asset_depreciated_value': 0, + 'asset_value_change': True, + }))._post() + + asset_vals.update({ + 'value_residual': new_residual, + 'salvage_value': new_salvage, + }) + self.asset_id.write(asset_vals) + self.asset_id.compute_depreciation_board() + self.asset_id.children_ids.write({ + 'method_number': asset_vals['method_number'], + 'method_period': asset_vals['method_period'], + }) + for child in self.asset_id.children_ids: + child.compute_depreciation_board() + tracked_fields = self.env['account.asset'].fields_get(old_values.keys()) + changes, tracking_value_ids = self.asset_id._message_track(tracked_fields, old_values) + if changes: + self.asset_id.message_post(body=_('Depreciation board modified') + '
    ' + self.name, tracking_value_ids=tracking_value_ids) + return {'type': 'ir.actions.act_window_close'} + + @api.depends('asset_id', 'value_residual', 'salvage_value') + def _compute_need_date(self): + for record in self: + value_changed = record.value_residual + record.salvage_value != record.asset_id.value_residual + record.asset_id.salvage_value + record.need_date = (self.env.context.get('resume_after_pause') and record.asset_id.prorata) or value_changed + + @api.depends('asset_id', 'value_residual', 'salvage_value') + def _compute_gain_value(self): + for record in self: + record.gain_value = record.value_residual + record.salvage_value > record.asset_id.value_residual + record.asset_id.salvage_value diff --git a/odex25_accounting/odex25_account_asset/wizard/asset_modify_views.xml b/odex25_accounting/odex25_account_asset/wizard/asset_modify_views.xml new file mode 100644 index 000000000..b6f4190c1 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/wizard/asset_modify_views.xml @@ -0,0 +1,41 @@ + + + + + wizard.asset.modify.form + asset.modify + +
    + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    diff --git a/odex25_accounting/odex25_account_asset/wizard/asset_pause.py b/odex25_accounting/odex25_account_asset/wizard/asset_pause.py new file mode 100644 index 000000000..489c9d1b9 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/wizard/asset_pause.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- + + +from odoo import api, fields, models, _ + + +class AssetPause(models.TransientModel): + _name = 'account.asset.pause' + _description = 'Pause Asset' + + date = fields.Date(string='Pause date', required=True, default=fields.Date.today()) + asset_id = fields.Many2one('account.asset', required=True) + + def do_action(self): + for record in self: + record.asset_id.pause(pause_date=record.date) diff --git a/odex25_accounting/odex25_account_asset/wizard/asset_pause_views.xml b/odex25_accounting/odex25_account_asset/wizard/asset_pause_views.xml new file mode 100644 index 000000000..9d44f7818 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/wizard/asset_pause_views.xml @@ -0,0 +1,22 @@ + + + + + wizard.asset.pause.form + account.asset.pause + +
    + + + + + +
    +
    +
    +
    +
    + +
    diff --git a/odex25_accounting/odex25_account_asset/wizard/asset_sell.py b/odex25_accounting/odex25_account_asset/wizard/asset_sell.py new file mode 100644 index 000000000..403fa164c --- /dev/null +++ b/odex25_accounting/odex25_account_asset/wizard/asset_sell.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + + +from odoo import api, fields, models, _ +from odoo.exceptions import UserError + + +class AssetSell(models.TransientModel): + _name = 'account.asset.sell' + _description = 'Sell Asset' + + asset_id = fields.Many2one('account.asset', required=True) + company_id = fields.Many2one('res.company', default=lambda self: self.env.company) + + action = fields.Selection([('sell', 'Sell'), ('dispose', 'Dispose')], required=True, default='sell') + invoice_id = fields.Many2one('account.move', string="Customer Invoice", help="The disposal invoice is needed in order to generate the closing journal entry.", domain="[('move_type', '=', 'out_invoice'), ('state', '=', 'posted')]") + invoice_line_id = fields.Many2one('account.move.line', help="There are multiple lines that could be the related to this asset", domain="[('move_id', '=', invoice_id), ('exclude_from_invoice_tab', '=', False)]") + select_invoice_line_id = fields.Boolean(compute="_compute_select_invoice_line_id") + gain_account_id = fields.Many2one('account.account', domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", related='company_id.gain_account_id', help="Account used to write the journal item in case of gain", readonly=False) + loss_account_id = fields.Many2one('account.account', domain="[('deprecated', '=', False), ('company_id', '=', company_id)]", related='company_id.loss_account_id', help="Account used to write the journal item in case of loss", readonly=False) + + gain_or_loss = fields.Selection([('gain', 'Gain'), ('loss', 'Loss'), ('no', 'No')], compute='_compute_gain_or_loss', help="Technical field to know is there was a gain or a loss in the selling of the asset") + + @api.depends('invoice_id', 'action') + def _compute_select_invoice_line_id(self): + for record in self: + record.select_invoice_line_id = record.action == 'sell' and len(record.invoice_id.invoice_line_ids) > 1 + + @api.onchange('action') + def _onchange_action(self): + if self.action == 'sell' and self.asset_id.children_ids.filtered(lambda a: a.state in ('draft', 'open') or a.value_residual > 0): + raise UserError(_("You cannot automate the journal entry for an asset that has a running gross increase. Please use 'Dispose' on the increase(s).")) + + @api.depends('asset_id', 'invoice_id', 'invoice_line_id') + def _compute_gain_or_loss(self): + for record in self: + line = record.invoice_line_id or len(record.invoice_id.invoice_line_ids) == 1 and record.invoice_id.invoice_line_ids or self.env['account.move.line'] + if record.asset_id.value_residual < abs(line.balance): + record.gain_or_loss = 'gain' + elif record.asset_id.value_residual > abs(line.balance): + record.gain_or_loss = 'loss' + else: + record.gain_or_loss = 'no' + + def do_action(self): + self.ensure_one() + invoice_line = self.env['account.move.line'] if self.action == 'dispose' else self.invoice_line_id or self.invoice_id.invoice_line_ids + return self.asset_id.set_to_close(invoice_line_id=invoice_line, date=invoice_line.move_id.invoice_date) diff --git a/odex25_accounting/odex25_account_asset/wizard/asset_sell_views.xml b/odex25_accounting/odex25_account_asset/wizard/asset_sell_views.xml new file mode 100644 index 000000000..60bf9de84 --- /dev/null +++ b/odex25_accounting/odex25_account_asset/wizard/asset_sell_views.xml @@ -0,0 +1,32 @@ + + + + + wizard.asset.sell.form + account.asset.sell + +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    diff --git a/odex25_accounting/odex25_account_auto_transfer/__init__.py b/odex25_accounting/odex25_account_auto_transfer/__init__.py new file mode 100644 index 000000000..cde864bae --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models diff --git a/odex25_accounting/odex25_account_auto_transfer/__manifest__.py b/odex25_accounting/odex25_account_auto_transfer/__manifest__.py new file mode 100644 index 000000000..5ec6ca6b2 --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/__manifest__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- + +{ + 'name': 'Account Automatic Transfers', + 'depends': ['odex25_account_accountant'], + 'description': """ +Account Automatic Transfers +=========================== +Manage automatic transfers between your accounts. + """, + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'data': [ + 'security/ir.model.access.csv', + 'data/cron.xml', + 'views/transfer_model_views.xml', + ], + 'application': False, + 'auto_install': True +} diff --git a/odex25_accounting/odex25_account_auto_transfer/data/cron.xml b/odex25_accounting/odex25_account_auto_transfer/data/cron.xml new file mode 100644 index 000000000..09510a28a --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/data/cron.xml @@ -0,0 +1,11 @@ + + + Account automatic transfers : Perform transfers + + code + model.action_cron_auto_transfer() + 1 + days + -1 + + diff --git a/odex25_accounting/odex25_account_auto_transfer/i18n/ar.po b/odex25_accounting/odex25_account_auto_transfer/i18n/ar.po new file mode 100644 index 000000000..773b35a07 --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/i18n/ar.po @@ -0,0 +1,404 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_auto_transfer +# +# Translators: +# Sherif Abd Ekmoniem , 2020 +# Mustafa Rawi , 2020 +# amrnegm , 2020 +# Martin Trigaux, 2020 +# jahzar , 2020 +# Ali zuaby , 2020 +# Osoul , 2020 +# Osama Ahmaro , 2020 +# Yazeed Dandashi , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:39+0000\n" +"PO-Revision-Date: 2020-09-07 08:17+0000\n" +"Last-Translator: Yazeed Dandashi , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid " to " +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model,name:odex25_account_auto_transfer.model_account_transfer_model +msgid "Account Transfer Model" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model,name:odex25_account_auto_transfer.model_account_transfer_model_line +msgid "Account Transfer Model Line" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.actions.server,name:odex25_account_auto_transfer.ir_cron_auto_transfer_ir_actions_server +#: model:ir.cron,cron_name:odex25_account_auto_transfer.ir_cron_auto_transfer +#: model:ir.cron,name:odex25_account_auto_transfer.ir_cron_auto_transfer +msgid "Account automatic transfers : Perform transfers" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Activate" +msgstr "تفعيل" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,help:odex25_account_auto_transfer.field_account_transfer_model_line__analytic_account_ids +msgid "" +"Adds a condition to only transfer the sum of the lines from the origin " +"accounts that match these analytic accounts to the destination account" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,help:odex25_account_auto_transfer.field_account_transfer_model_line__partner_ids +msgid "" +"Adds a condition to only transfer the sum of the lines from the origin " +"accounts that match these partners to the destination account" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__analytic_account_ids +msgid "Analytic Filter" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Automated Transfer" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "Automatic Transfer (%s%% from account %s)" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "Automatic Transfer (-%s%%)" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "" +"Automatic Transfer (entries with analytic account(s): %s and partner(s): %s)" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "Automatic Transfer (entries with analytic account(s): %s)" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "Automatic Transfer (entries with partner(s): %s)" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "" +"Automatic Transfer (from account %s with analytic account(s): %s and " +"partner(s): %s)" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "Automatic Transfer (from account %s with analytic account(s): %s)" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "Automatic Transfer (from account %s with partner(s): %s)" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "Automatic Transfer (to account %s)" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.actions.act_window,name:odex25_account_auto_transfer.transfer_model_action +#: model:ir.ui.menu,name:odex25_account_auto_transfer.menu_auto_transfer +msgid "Automatic Transfers" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__company_id +msgid "Company" +msgstr "شركة" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,help:odex25_account_auto_transfer.field_account_transfer_model__company_id +msgid "Company related to this journal" +msgstr "المؤسسة المرتبطة بدفتر اليومية هذا" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Compute Transfer" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__create_uid +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__create_date +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__account_id +msgid "Destination Account" +msgstr "حساب الوجهة" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__line_ids +msgid "Destination Accounts" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__journal_id +msgid "Destination Journal" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Disable" +msgstr "تعطيل" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields.selection,name:odex25_account_auto_transfer.selection__account_transfer_model__state__disabled +msgid "Disabled" +msgstr "معطل" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_move__display_name +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__display_name +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__frequency +msgid "Frequency" +msgstr "معدل" + +#. module: odex25_account_auto_transfer +#: model:ir.actions.act_window,name:odex25_account_auto_transfer.generated_transfers_action +msgid "Generated Entries" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__move_ids +msgid "Generated Moves" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_move__id +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__id +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: odex25_account_auto_transfer +#: model:ir.model,name:odex25_account_auto_transfer.model_account_move +msgid "Journal Entry" +msgstr "قيد اليومية" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_move____last_update +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model____last_update +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__write_uid +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__write_date +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields.selection,name:odex25_account_auto_transfer.selection__account_transfer_model__frequency__month +msgid "Monthly" +msgstr "شهرياً" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__move_ids_count +msgid "Move Ids Count" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Move Model" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_tree +msgid "Move Models" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__name +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Name" +msgstr "الاسم" + +#. module: odex25_account_auto_transfer +#: model:ir.model.constraint,message:odex25_account_auto_transfer.constraint_account_transfer_model_line_unique_account_by_transfer_model +msgid "Only one account occurrence by transfer model" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__account_ids +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Origin Accounts" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_bank_statement_line__transfer_model_id +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_move__transfer_model_id +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_payment__transfer_model_id +msgid "Originating Model" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__partner_ids +msgid "Partner Filter" +msgstr "فلتر الشريك" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__percent +msgid "Percent" +msgstr "في المئة" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Percent (%)" +msgstr "نسبة (%)" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__percent_is_readonly +msgid "Percent Is Readonly" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,help:odex25_account_auto_transfer.field_account_transfer_model_line__percent +msgid "" +"Percentage of the sum of lines from the origin accounts will be transferred " +"to the destination account" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Period" +msgstr "الفترة" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields.selection,name:odex25_account_auto_transfer.selection__account_transfer_model__frequency__quarter +msgid "Quarterly" +msgstr "ربع سنوي" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields.selection,name:odex25_account_auto_transfer.selection__account_transfer_model__state__in_progress +msgid "Running" +msgstr "جاري" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__sequence +msgid "Sequence" +msgstr "المسلسل" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__date_start +msgid "Start Date" +msgstr "تاريخ البداية" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__state +msgid "State" +msgstr "المحافظة" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__date_stop +msgid "Stop Date" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "The analytic filter %s is duplicated" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "" +"The partner filter %s in combination with the analytic filter %s is " +"duplicated" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "The partner filter %s is duplicated" +msgstr "" + +#. module: odex25_account_auto_transfer +#: code:addons/odex25_account_auto_transfer/models/transfer_model.py:0 +#, python-format +msgid "The total percentage (%s) should be less or equal to 100 !" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model__total_percent +msgid "Total Percent" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields,field_description:odex25_account_auto_transfer.field_account_transfer_model_line__transfer_model_id +msgid "Transfer Model" +msgstr "" + +#. module: odex25_account_auto_transfer +#: model_terms:ir.ui.view,arch_db:odex25_account_auto_transfer.view_transfer_model_form +msgid "Transfers" +msgstr "الشحنات" + +#. module: odex25_account_auto_transfer +#: model:ir.model.fields.selection,name:odex25_account_auto_transfer.selection__account_transfer_model__frequency__year +msgid "Yearly" +msgstr "سنويًا" diff --git a/odex25_accounting/odex25_account_auto_transfer/models/__init__.py b/odex25_accounting/odex25_account_auto_transfer/models/__init__.py new file mode 100644 index 000000000..88d5a838c --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import account_move +from . import transfer_model diff --git a/odex25_accounting/odex25_account_auto_transfer/models/account_move.py b/odex25_accounting/odex25_account_auto_transfer/models/account_move.py new file mode 100644 index 000000000..d4dd1e538 --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/models/account_move.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models + + +class AccountMove(models.Model): + _inherit = 'account.move' + + transfer_model_id = fields.Many2one('account.transfer.model', string="Originating Model") diff --git a/odex25_accounting/odex25_account_auto_transfer/models/transfer_model.py b/odex25_accounting/odex25_account_auto_transfer/models/transfer_model.py new file mode 100644 index 000000000..60040266a --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/models/transfer_model.py @@ -0,0 +1,482 @@ +# -*- coding: utf-8 -*- + +from datetime import date + +from dateutil.relativedelta import relativedelta + +from odoo import fields, models, api, _ +from odoo.exceptions import ValidationError +from odoo.osv import expression +from odoo.tools.float_utils import float_compare, float_is_zero + + +class TransferModel(models.Model): + _name = "account.transfer.model" + _description = "Account Transfer Model" + + # DEFAULTS + def _get_default_date_start(self): + company = self.env.company + return company.compute_fiscalyear_dates(date.today())['date_from'] if company else None + + name = fields.Char(required=True) + journal_id = fields.Many2one('account.journal', required=True, string="Destination Journal") + company_id = fields.Many2one('res.company', readonly=True, related='journal_id.company_id') + date_start = fields.Date(string="Start Date", required=True, default=_get_default_date_start) + date_stop = fields.Date(string="Stop Date", required=False) + frequency = fields.Selection([('month', 'Monthly'), ('quarter', 'Quarterly'), ('year', 'Yearly')], + required=True, default='month') + account_ids = fields.Many2many('account.account', 'account_model_rel', string="Origin Accounts", domain="[('is_off_balance', '=', False)]") + line_ids = fields.One2many('account.transfer.model.line', 'transfer_model_id', string="Destination Accounts") + move_ids = fields.One2many('account.move', 'transfer_model_id', string="Generated Moves") + move_ids_count = fields.Integer(compute="_compute_move_ids_count") + total_percent = fields.Float(compute="_compute_total_percent", string="Total Percent", readonly=True) + state = fields.Selection([('disabled', 'Disabled'), ('in_progress', 'Running')], default='disabled', required=True) + + def copy(self, default=None): + default = default or {} + res = super(TransferModel, self).copy(default) + res.account_ids += self.account_ids + for line in self.line_ids: + line.copy({'transfer_model_id': res.id}) + return res + + + # COMPUTEDS / CONSTRAINS + @api.depends('move_ids') + def _compute_move_ids_count(self): + """ Compute the amount of move ids have been generated by this transfer model. """ + for record in self: + record.move_ids_count = len(record.move_ids) + + @api.constrains('line_ids') + def _check_line_ids_percent(self): + """ Check that the total percent is not bigger than 100.0 """ + for record in self: + if not (0 < record.total_percent <= 100.0): + raise ValidationError(_('The total percentage (%s) should be less or equal to 100 !', record.total_percent)) + + @api.constrains('line_ids') + def _check_line_ids_filters(self): + """ Check that the filters on the lines make sense """ + for record in self: + combinations = [] + for line in record.line_ids: + if line.partner_ids and line.analytic_account_ids: + for p in line.partner_ids: + for a in line.analytic_account_ids: + combination = (p.id, a.id) + if combination in combinations: + raise ValidationError(_("The partner filter %s in combination with the analytic filter %s is duplicated", p.display_name, a.display_name)) + combinations.append(combination) + elif line.partner_ids: + for p in line.partner_ids: + combination = (p.id, None) + if combination in combinations: + raise ValidationError(_("The partner filter %s is duplicated", p.display_name)) + combinations.append(combination) + elif line.analytic_account_ids: + for a in line.analytic_account_ids: + combination = (None, a.id) + if combination in combinations: + raise ValidationError(_("The analytic filter %s is duplicated", a.display_name)) + combinations.append(combination) + + @api.depends('line_ids') + def _compute_total_percent(self): + """ Compute the total percentage of all lines linked to this model. """ + for record in self: + non_filtered_lines = record.line_ids.filtered(lambda l: not l.partner_ids and not l.analytic_account_ids) + if record.line_ids and not non_filtered_lines: + # Lines are only composed of filtered ones thus percentage does not matter, make it 100 + record.total_percent = 100.0 + else: + total_percent = sum(non_filtered_lines.mapped('percent')) + if float_compare(total_percent, 100.0, precision_digits=6) == 0: + total_percent = 100.0 + record.total_percent = total_percent + + # ACTIONS + def action_activate(self): + """ Put this move model in "in progress" state. """ + return self.write({'state': 'in_progress'}) + + def action_disable(self): + """ Put this move model in "disabled" state. """ + return self.write({'state': 'disabled'}) + + @api.model + def action_cron_auto_transfer(self): + """ Perform the automatic transfer for the all active move models. """ + self.search([('state', '=', 'in_progress')]).action_perform_auto_transfer() + + def action_perform_auto_transfer(self): + """ Perform the automatic transfer for the current recordset of models """ + for record in self: + # If no account to ventilate or no account to ventilate into : nothing to do + if record.account_ids and record.line_ids: + today = date.today() + max_date = record.date_stop and min(today, record.date_stop) or today + start_date = record._determine_start_date() + next_move_date = record._get_next_move_date(start_date) + + # (Re)Generate moves in draft untill today + # Journal entries will be recomputed everyday untill posted. + while next_move_date <= max_date: + record._create_or_update_move_for_period(start_date, next_move_date) + start_date = next_move_date + next_move_date = record._get_next_move_date(start_date) + + # (Re)Generate move for one more period if needed + if not record.date_stop: + record._create_or_update_move_for_period(start_date, next_move_date) + elif today < record.date_stop: + record._create_or_update_move_for_period(start_date, min(next_move_date, record.date_stop)) + return False + + def _get_move_lines_base_domain(self, start_date, end_date): + """ + Determine the domain to get all account move lines posted in a given period, for an account in origin accounts + :param start_date: the start date of the period + :param end_date: the end date of the period + :return: the computed domain + :rtype: list + """ + self.ensure_one() + return [ + ('account_id', 'in', self.account_ids.ids), + ('date', '>=', start_date), + ('date', '<', end_date), + ('move_id.state', '=', 'posted') + ] + + # PROTECTEDS + + def _create_or_update_move_for_period(self, start_date, end_date): + """ + Create or update a move for a given period. This means (re)generates all the needed moves to execute the + transfers + :param start_date: the start date of the targeted period + :param end_date: the end date of the targeted period + :return: the created (or updated) move + """ + self.ensure_one() + current_move = self._get_move_for_period(end_date) + if current_move is None: + current_move = self.env['account.move'].create({ + 'ref': '%s: %s --> %s' % (self.name, str(start_date), str(end_date)), + 'date': end_date, + 'journal_id': self.journal_id.id, + 'transfer_model_id': self.id, + }) + + line_values = self._get_auto_transfer_move_line_values(start_date, end_date) + if line_values: + line_ids_values = [(0, 0, value) for value in line_values] + # unlink all old line ids + current_move.line_ids.unlink() + # recreate line ids + current_move.write({'line_ids': line_ids_values}) + return current_move + + def _get_move_for_period(self, end_date): + """ Get the generated move for a given period + :param end_date: the end date of the wished period, do not need the start date as the move will always be + generated with end date of a period as date + :return: a recordset containing the move found if any, else None + """ + self.ensure_one() + # Move will always be generated with end_date of a period as date + domain = [ + ('date', '=', end_date), + ('state', '=', 'draft'), + ('transfer_model_id', '=', self.id) + ] + current_moves = self.env['account.move'].search(domain, limit=1, order="date desc") + return current_moves[0] if current_moves else None + + def _determine_start_date(self): + """ Determine the automatic transfer start date which is the last created move if any or the start date of the model """ + self.ensure_one() + # Get last generated move date if any (to know when to start) + last_move_domain = [('transfer_model_id', '=', self.id), ('state', '=', 'posted'), ('company_id', '=', self.company_id.id)] + move_ids = self.env['account.move'].search(last_move_domain, order='date desc', limit=1) + return move_ids[0].date if move_ids else self.date_start + + def _get_next_move_date(self, date): + """ Compute the following date of automated transfer move, based on a date and the frequency """ + self.ensure_one() + if self.frequency == 'month': + delta = relativedelta(months=1) + elif self.frequency == 'quarter': + delta = relativedelta(months=3) + else: + delta = relativedelta(years=1) + return date + delta + + def _get_auto_transfer_move_line_values(self, start_date, end_date): + """ Get all the transfer move lines values for a given period + :param start_date: the start date of the period + :param end_date: the end date of the period + :return: a list of dict representing the values of lines to create + :rtype: list + """ + self.ensure_one() + values = [] + # Get the balance of all moves from all selected accounts, grouped by accounts + filtered_lines = self.line_ids.filtered(lambda x: x.analytic_account_ids or x.partner_ids) + if filtered_lines: + values += filtered_lines._get_transfer_move_lines_values(start_date, end_date) + + non_filtered_lines = self.line_ids - filtered_lines + if non_filtered_lines: + values += self._get_non_filtered_auto_transfer_move_line_values(non_filtered_lines, start_date, end_date) + + return values + + def _get_non_filtered_auto_transfer_move_line_values(self, lines, start_date, end_date): + """ + Get all values to create move lines corresponding to the transfers needed by all lines without analytic + account or partner for a given period. It contains the move lines concerning destination accounts and + the ones concerning the origin accounts. This process all the origin accounts one after one. + :param lines: the move model lines to handle + :param start_date: the start date of the period + :param end_date: the end date of the period + :return: a list of dict representing the values to use to create the needed move lines + :rtype: list + """ + self.ensure_one() + domain = self._get_move_lines_base_domain(start_date, end_date) + domain = expression.AND([domain, [ + ('analytic_account_id', 'not in', self.line_ids.analytic_account_ids.ids), + ('partner_id', 'not in', self.line_ids.partner_ids.ids), + ]]) + total_balance_by_accounts = self.env['account.move.line'].read_group(domain, ['balance', 'account_id'], + ['account_id']) + + # balance = debit - credit + # --> balance > 0 means a debit so it should be credited on the source account + # --> balance < 0 means a credit so it should be debited on the source account + values_list = [] + for total_balance_account in total_balance_by_accounts: + initial_amount = abs(total_balance_account['balance']) + source_account_is_debit = total_balance_account['balance'] >= 0 + account_id = total_balance_account['account_id'][0] + account = self.env['account.account'].browse(account_id) + if not float_is_zero(initial_amount, precision_digits=9): + move_lines_values, amount_left = self._get_non_analytic_transfer_values(account, lines, end_date, + initial_amount, + source_account_is_debit) + + # the line which credit/debit the source account + substracted_amount = initial_amount - amount_left + source_move_line = { + 'name': _('Automatic Transfer (-%s%%)', self.total_percent), + 'account_id': account_id, + 'date_maturity': end_date, + 'credit' if source_account_is_debit else 'debit': substracted_amount + } + values_list += move_lines_values + values_list.append(source_move_line) + return values_list + + def _get_non_analytic_transfer_values(self, account, lines, write_date, amount, is_debit): + """ + Get all values to create destination account move lines corresponding to the transfers needed by all lines + without analytic account for a given account. + :param account: the origin account to handle + :param write_date: the write date of the move lines + :param amount: the total amount to take care on the origin account + :type amount: float + :param is_debit: True if origin account has a debit balance, False if it's a credit + :type is_debit: bool + :return: a tuple containing the move lines values in a list and the amount left on the origin account after + processing as a float + :rtype: tuple + """ + # if total ventilated is 100% + # then the last line should not compute in % but take the rest + # else + # it should compute in % (as the rest will stay on the source account) + self.ensure_one() + amount_left = amount + + take_the_rest = self.total_percent == 100.0 + amount_of_lines = len(lines) + values_list = [] + + for i, line in enumerate(lines): + if take_the_rest and i == amount_of_lines - 1: + line_amount = amount_left + amount_left = 0 + else: + line_amount = (line.percent / 100.0) * amount + amount_left -= line_amount + + move_line = line._get_destination_account_transfer_move_line_values(account, line_amount, is_debit, + write_date) + values_list.append(move_line) + + return values_list, amount_left + + +class TransferModelLine(models.Model): + _name = "account.transfer.model.line" + _description = "Account Transfer Model Line" + _order = "sequence, id" + + transfer_model_id = fields.Many2one('account.transfer.model', string="Transfer Model", required=True) + account_id = fields.Many2one('account.account', string="Destination Account", required=True, + domain="[('is_off_balance', '=', False)]") + percent = fields.Float(string="Percent", required=True, default=100, help="Percentage of the sum of lines from the origin accounts will be transferred to the destination account") + analytic_account_ids = fields.Many2many('account.analytic.account', string='Analytic Filter', help="Adds a condition to only transfer the sum of the lines from the origin accounts that match these analytic accounts to the destination account") + partner_ids = fields.Many2many('res.partner', string='Partner Filter', help="Adds a condition to only transfer the sum of the lines from the origin accounts that match these partners to the destination account") + percent_is_readonly = fields.Boolean(compute="_compute_percent_is_readonly") + sequence = fields.Integer("Sequence") + + _sql_constraints = [ + ( + 'unique_account_by_transfer_model', 'UNIQUE(transfer_model_id, account_id)', + 'Only one account occurrence by transfer model') + ] + + @api.onchange('analytic_account_ids', 'partner_ids') + def set_percent_if_analytic_account_ids(self): + """ + Set percent to 100 if at least analytic account id is set. + """ + for record in self: + if record.analytic_account_ids or record.partner_ids: + record.percent = 100 + + def _get_transfer_move_lines_values(self, start_date, end_date): + """ + Get values to create the move lines to perform all needed transfers between accounts linked to current recordset + for a given period + :param start_date: the start date of the targeted period + :param end_date: the end date of the targeted period + :return: a list containing all the values needed to create the needed transfers + :rtype: list + """ + transfer_values = [] + # Avoid to transfer two times the same entry + already_handled_move_line_ids = [] + for transfer_model_line in self: + domain = transfer_model_line._get_move_lines_domain(start_date, end_date, already_handled_move_line_ids) + total_balances_by_account = self.env['account.move.line'].read_group(domain, ['ids:array_agg(id)', 'balance', 'account_id'], ['account_id']) + for total_balance_account in total_balances_by_account: + already_handled_move_line_ids += total_balance_account['ids'] + balance = total_balance_account['balance'] + if not float_is_zero(balance, precision_digits=9): + amount = abs(balance) + source_account_is_debit = balance > 0 + account_id = total_balance_account['account_id'][0] + account = self.env['account.account'].browse(account_id) + transfer_values += transfer_model_line._get_transfer_values(account, amount, source_account_is_debit, + end_date) + return transfer_values + + def _get_move_lines_domain(self, start_date, end_date, avoid_move_line_ids=None): + """ + Determine the domain to get all account move lines posted in a given period corresponding to self move model + line. + :param start_date: the start date of the targeted period + :param end_date: the end date of the targeted period + :param avoid_move_line_ids: the account.move.line ids that should be excluded from the domain + :return: the computed domain + :rtype: list + """ + self.ensure_one() + move_lines_domain = self.transfer_model_id._get_move_lines_base_domain(start_date, end_date) + if avoid_move_line_ids: + move_lines_domain.append(('id', 'not in', avoid_move_line_ids)) + if self.analytic_account_ids: + move_lines_domain.append(('analytic_account_id', 'in', self.analytic_account_ids.ids)) + if self.partner_ids: + move_lines_domain.append(('partner_id', 'in', self.partner_ids.ids)) + return move_lines_domain + + def _get_transfer_values(self, account, amount, is_debit, write_date): + """ + Get values to create the move lines to perform a transfer between self account and given account + :param account: the account + :param amount: the amount that is being transferred + :type amount: float + :param is_debit: True if the transferred amount is a debit, False if credit + :type is_debit: bool + :param write_date: the date to use for the move line writing + :return: a list containing the values to create the needed move lines + :rtype: list + """ + self.ensure_one() + return [ + self._get_destination_account_transfer_move_line_values(account, amount, is_debit, write_date), + self._get_origin_account_transfer_move_line_values(account, amount, is_debit, write_date) + ] + + def _get_origin_account_transfer_move_line_values(self, origin_account, amount, is_debit, + write_date): + """ + Get values to create the move line in the origin account side for a given transfer of a given amount from origin + account to a given destination account. + :param origin_account: the origin account + :param amount: the amount that is being transferred + :type amount: float + :param is_debit: True if the transferred amount is a debit, False if credit + :type is_debit: bool + :param write_date: the date to use for the move line writing + :return: a dict containing the values to create the move line + :rtype: dict + """ + anal_accounts = self.analytic_account_ids and ', '.join(self.analytic_account_ids.mapped('name')) + partners = self.partner_ids and ', '.join(self.partner_ids.mapped('name')) + if anal_accounts and partners: + name = _("Automatic Transfer (entries with analytic account(s): %s and partner(s): %s)") % (anal_accounts, partners) + elif anal_accounts: + name = _("Automatic Transfer (entries with analytic account(s): %s)") % (anal_accounts,) + elif partners: + name = _("Automatic Transfer (entries with partner(s): %s)") % (partners,) + else: + name = _("Automatic Transfer (to account %s)", self.account_id.code) + return { + 'name': name, + 'account_id': origin_account.id, + 'date_maturity': write_date, + 'credit' if is_debit else 'debit': amount + } + + def _get_destination_account_transfer_move_line_values(self, origin_account, amount, is_debit, + write_date): + """ + Get values to create the move line in the destination account side for a given transfer of a given amount from + given origin account to destination account. + :param origin_account: the origin account + :param amount: the amount that is being transferred + :type amount: float + :param is_debit: True if the transferred amount is a debit, False if credit + :type is_debit: bool + :param write_date: the date to use for the move line writing + :return: a dict containing the values to create the move line + :rtype dict: + """ + anal_accounts = self.analytic_account_ids and ', '.join(self.analytic_account_ids.mapped('name')) + partners = self.partner_ids and ', '.join(self.partner_ids.mapped('name')) + if anal_accounts and partners: + name = _("Automatic Transfer (from account %s with analytic account(s): %s and partner(s): %s)") % (origin_account.code, anal_accounts, partners) + elif anal_accounts: + name = _("Automatic Transfer (from account %s with analytic account(s): %s)") % (origin_account.code, anal_accounts) + elif partners: + name = _("Automatic Transfer (from account %s with partner(s): %s)") % (origin_account.code, partners,) + else: + name = _("Automatic Transfer (%s%% from account %s)") % (self.percent, origin_account.code) + return { + 'name': name, + 'account_id': self.account_id.id, + 'date_maturity': write_date, + 'debit' if is_debit else 'credit': amount + } + + @api.depends('analytic_account_ids', 'partner_ids') + def _compute_percent_is_readonly(self): + for record in self: + record.percent_is_readonly = record.analytic_account_ids or record.partner_ids diff --git a/odex25_accounting/odex25_account_auto_transfer/security/ir.model.access.csv b/odex25_accounting/odex25_account_auto_transfer/security/ir.model.access.csv new file mode 100644 index 000000000..1fc8a4f0a --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/security/ir.model.access.csv @@ -0,0 +1,7 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_transfer_model,access_account_transfer_model,odex25_account_auto_transfer.model_account_transfer_model,account.group_account_readonly,1,0,0,0 +access_account_transfer_model_manager,access_account_transfer_model_manager,odex25_account_auto_transfer.model_account_transfer_model,account.group_account_manager,1,1,1,1 +access_account_transfer_model_invoicing_payment,access_account_transfer_model_invoicing_payment,odex25_account_auto_transfer.model_account_transfer_model,account.group_account_invoice,1,0,1,0 +access_account_transfer_model_line,access_account_transfer_model_line,odex25_account_auto_transfer.model_account_transfer_model_line,account.group_account_readonly,1,0,0,0 +access_account_transfer_model_line_manager,access_account_transfer_model_line_manager,odex25_account_auto_transfer.model_account_transfer_model_line,account.group_account_manager,1,1,1,1 +access_account_transfer_model_line_invoicing_payment,access_account_transfer_model_line_invoicing_payment,odex25_account_auto_transfer.model_account_transfer_model_line,account.group_account_invoice,1,0,1,0 diff --git a/odex25_accounting/odex25_account_auto_transfer/static/description/icon.png b/odex25_accounting/odex25_account_auto_transfer/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..899c85343ce4af38e0f6facf19f99352f5b5a0ef GIT binary patch literal 6841 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 literal 0 HcmV?d00001 diff --git a/odex25_accounting/odex25_account_auto_transfer/static/description/icon.svg b/odex25_accounting/odex25_account_auto_transfer/static/description/icon.svg new file mode 100644 index 000000000..7d215c3ff --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/static/description/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/odex25_accounting/odex25_account_auto_transfer/tests/__init__.py b/odex25_accounting/odex25_account_auto_transfer/tests/__init__.py new file mode 100644 index 000000000..7bb76980e --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/tests/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +from . import test_transfer_model +from . import test_transfer_model_line diff --git a/odex25_accounting/odex25_account_auto_transfer/tests/odex25_account_auto_transfer_test_classes.py b/odex25_accounting/odex25_account_auto_transfer/tests/odex25_account_auto_transfer_test_classes.py new file mode 100644 index 000000000..385f982c0 --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/tests/odex25_account_auto_transfer_test_classes.py @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +from datetime import datetime +from uuid import uuid4 + +from odoo.tests import common + +from odoo.addons.account.tests.common import AccountTestInvoicingCommon + + +class AccountAutoTransferTestCase(AccountTestInvoicingCommon): + + @classmethod + def setUpClass(cls, chart_template_ref=None): + super().setUpClass(chart_template_ref=chart_template_ref) + cls.journal = cls.env['account.journal'].create({'type': 'bank', 'name': 'bank', 'code': 'BANK'}) + cls.transfer_model = cls.env['account.transfer.model'].create({ + 'name': 'Test Transfer', + 'date_start': '2019-06-01', + 'frequency': 'month', + 'journal_id': cls.journal.id + }) + cls.master_account_index = 0 + cls.slave_account_index = 1 + cls.origin_accounts, cls.destination_accounts = cls._create_accounts(cls) + + def _assign_origin_accounts(self): + self.transfer_model.write({ + 'account_ids': [(6, 0, self.origin_accounts.ids)] + }) + + def _create_accounts(self, amount_of_master_accounts=2, amount_of_slave_accounts=4): + account_type = self.env.ref('account.data_account_type_receivable') + + master_ids = self.env['account.account'] + for i in range(amount_of_master_accounts): + self.master_account_index += 1 + master_ids += self.env['account.account'].create({ + 'name': 'MASTER %s' % self.master_account_index, + 'code': 'MA00%s' % self.master_account_index, + 'user_type_id': account_type.id, + 'reconcile': True + }) + + slave_ids = self.env['account.account'] + for i in range(amount_of_slave_accounts): + self.slave_account_index += 1 + slave_ids += self.env['account.account'].create({ + 'name': 'SLAVE %s' % self.slave_account_index, + 'code': 'SL000%s' % self.slave_account_index, + 'user_type_id': account_type.id, + 'reconcile': True + }) + return master_ids, slave_ids + + def _create_analytic_account(self, code='ANAL01'): + return self.env['account.analytic.account'].create({'name': code, 'code': code}) + + def _create_partner(self, name="partner01"): + return self.env['res.partner'].create({'name': name}) + + def _create_basic_move(self, cred_account=None, deb_account=None, amount=0, date_str='2019-02-01', + partner_id=False, name=False, cred_analytic=False, deb_analytic=False, + transfer_model_id=False, journal_id=False, posted=True): + move_vals = { + 'date': date_str, + 'transfer_model_id': transfer_model_id, + 'line_ids': [ + (0, 0, { + 'account_id': cred_account or self.origin_accounts[0].id, + 'credit': amount, + 'analytic_account_id': cred_analytic, + 'partner_id': partner_id, + }), + (0, 0, { + 'account_id': deb_account or self.origin_accounts[1].id, + 'analytic_account_id': deb_analytic, + 'debit': amount, + 'partner_id': partner_id, + }), + ] + } + if journal_id: + move_vals['journal_id'] = journal_id + move = self.env['account.move'].create(move_vals) + if posted: + move.action_post() + return move + + def _add_transfer_model_line(self, account_id: int = False, percent: float = 100.0, analytic_account_ids: list = False, partner_ids: list = False): + account_id = account_id or self.destination_accounts[0].id + return self.env['account.transfer.model.line'].create({ + 'percent': percent, + 'account_id': account_id, + 'transfer_model_id': self.transfer_model.id, + 'analytic_account_ids': analytic_account_ids and [(4, aa) for aa in analytic_account_ids], + 'partner_ids': partner_ids and [(4, p) for p in partner_ids], + }) diff --git a/odex25_accounting/odex25_account_auto_transfer/tests/test_transfer_model.py b/odex25_accounting/odex25_account_auto_transfer/tests/test_transfer_model.py new file mode 100644 index 000000000..9504394a3 --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/tests/test_transfer_model.py @@ -0,0 +1,395 @@ +# -*- coding: utf-8 -*- +from datetime import datetime, timedelta +from unittest.mock import patch, call +from functools import reduce +from itertools import chain + +from dateutil.relativedelta import relativedelta +from odoo.addons.odex25_account_auto_transfer.tests.odex25_account_auto_transfer_test_classes import AccountAutoTransferTestCase + +from odoo import fields +from odoo.models import ValidationError +from odoo.tests import tagged + +# ############################################################################ # +# FUNCTIONAL TESTS # +# ############################################################################ # +@tagged('post_install', '-at_install') +class TransferModelTestFunctionalCase(AccountAutoTransferTestCase): + + @classmethod + def setUpClass(cls, chart_template_ref=None): + super().setUpClass(chart_template_ref=chart_template_ref) + # Model with 4 lines of 20%, 20% is left in origin accounts + cls.functional_transfer = cls.env['account.transfer.model'].create({ + 'name': 'Test Functional Model', + 'date_start': '2019-01-01', + 'date_stop': datetime.today() + relativedelta(months=1), + 'journal_id': cls.journal.id, + 'account_ids': [(6, 0, cls.origin_accounts.ids)], + 'line_ids': [(0, 0, { + 'account_id': account.id, + 'percent': 20, + }) for account in cls.destination_accounts], + }) + neutral_account = cls.env['account.account'].create({ + 'name': 'Neutral Account', + 'code': 'NEUT', + 'user_type_id': cls.env.ref('account.data_account_type_revenue').id, + }) + cls.analytic_accounts = reduce(lambda x, y: x + y, (cls._create_analytic_account(cls, name) for name in ('ANA1', 'ANA2', 'ANA3'))) + cls.dates = ('2019-01-15', '2019-02-15') + # Create one line for each date... + for date in cls.dates: + # ...with each analytic account, and with no analytic account... + for an_account in chain(cls.analytic_accounts, [cls.env['account.analytic.account']]): + # ...in each origin account with a balance of 1000. + for account in cls.origin_accounts: + cls._create_basic_move( + cls, + deb_account=account.id, + deb_analytic=an_account.id, + cred_account=neutral_account.id, + amount=1000, + date_str=date, + ) + + def test_no_analytics(self): + # Balance is +8000 in each origin account + # 80% is transfered in 4 destination accounts in equal proprotions + self.functional_transfer.action_perform_auto_transfer() + # 1600 is left in each origin account + for account in self.origin_accounts: + self.assertEqual(sum(self.env['account.move.line'].search([('account_id', '=', account.id)]).mapped('balance')), 1600) + # 3200 has been transfered in each destination account + for account in self.destination_accounts: + self.assertEqual(sum(self.env['account.move.line'].search([('account_id', '=', account.id)]).mapped('balance')), 3200) + for date in self.dates: + # 2 move lines have been created in each account for each date + self.assertEqual(len(self.env['account.move.line'].search([('account_id', '=', account.id), ('date', '=', fields.Date.to_date(date) + relativedelta(day=1, months=1))])), 2) + + def test_analytics(self): + # Each line with analytic accounts is set to 100% + self.functional_transfer.line_ids[0].analytic_account_ids = self.analytic_accounts[0:2] + self.functional_transfer.line_ids[1].analytic_account_ids = self.analytic_accounts[2] + + self.functional_transfer.action_perform_auto_transfer() + # 1200 is left in each origin account (60% of 2 lines) + for account in self.origin_accounts: + self.assertEqual(sum(self.env['account.move.line'].search([('account_id', '=', account.id)]).mapped('balance')), 1200) + # 8000 has been transfered the first destination account (100% of 8 lines) + self.assertEqual(sum(self.env['account.move.line'].search([('account_id', '=', self.destination_accounts[0].id)]).mapped('balance')), 8000) + # 4000 has been transfered the first destination account (100% of 4 lines) + self.assertEqual(sum(self.env['account.move.line'].search([('account_id', '=', self.destination_accounts[1].id)]).mapped('balance')), 4000) + # 800 has been transfered in each of the last two destination account (20% of 4 lines) + self.assertEqual(sum(self.env['account.move.line'].search([('account_id', '=', self.destination_accounts[2].id)]).mapped('balance')), 800) + self.assertEqual(sum(self.env['account.move.line'].search([('account_id', '=', self.destination_accounts[3].id)]).mapped('balance')), 800) + + +# ############################################################################ # +# UNIT TESTS # +# ############################################################################ # +@tagged('post_install', '-at_install') +class TransferModelTestCase(AccountAutoTransferTestCase): + @patch('odoo.addons.odex25_account_auto_transfer.models.transfer_model.TransferModel.action_perform_auto_transfer') + def test_action_cron_auto_transfer(self, patched): + TransferModel = self.env['account.transfer.model'] + TransferModel.create({ + 'name': 'Test Cron Model', + 'date_start': '2019-01-01', + 'date_stop': datetime.today() + relativedelta(months=1), + 'journal_id': self.journal.id + }) + TransferModel.action_cron_auto_transfer() + patched.assert_called_once() + + @patch('odoo.addons.odex25_account_auto_transfer.models.transfer_model.TransferModel._create_or_update_move_for_period') + def test_action_perform_auto_transfer(self, patched): + self.transfer_model.date_start = datetime.strftime(datetime.today() + relativedelta(day=1), "%Y-%m-%d") + # - CASE 1 : normal case, acting on current period + self.transfer_model.action_perform_auto_transfer() + patched.assert_not_called() # create_or_update method should not be called for self.transfer_model as no account_ids and no line_ids + + master_ids, slave_ids = self._create_accounts(1, 2) + self.transfer_model.write({'account_ids': [(6, 0, [master_ids.id])]}) + + self.transfer_model.action_perform_auto_transfer() + patched.assert_not_called() # create_or_update method should not be called for self.transfer_model as no line_ids + + self.transfer_model.write({'line_ids': [ + (0, 0, { + 'percent': 50.0, + 'account_id': slave_ids[0].id + }), + (0, 0, { + 'percent': 50.0, + 'account_id': slave_ids[1].id + }) + ]}) + + self.transfer_model.action_perform_auto_transfer() + patched.assert_called_once() # create_or_update method should be called for self.transfer_model + + # - CASE 2 : "old" case, acting on everything before now as nothing has been done yet + transfer_model = self.transfer_model.copy() + transfer_model.write({ + 'date_start': transfer_model.date_start + relativedelta(months=-12) + }) + initial_call_count = patched.call_count + transfer_model.action_perform_auto_transfer() + self.assertEqual(initial_call_count + 13, patched.call_count, '13 more calls should have been done') + + + @patch('odoo.addons.odex25_account_auto_transfer.models.transfer_model.TransferModel._get_auto_transfer_move_line_values') + def test__create_or_update_move_for_period(self, patched_get_auto_transfer_move_line_values): + # PREPARATION + master_ids, slave_ids = self._create_accounts(2, 0) + next_move_date = self.transfer_model._get_next_move_date(self.transfer_model.date_start) + patched_get_auto_transfer_move_line_values.return_value = [ + { + 'account_id': master_ids[0].id, + 'date_maturity': next_move_date, + 'credit': 250.0, + }, + { + 'account_id': master_ids[1].id, + 'date_maturity': next_move_date, + 'debit': 250.0, + } + ] + + # There is no existing move, this is a brand new one + created_move = self.transfer_model._create_or_update_move_for_period(self.transfer_model.date_start, next_move_date) + self.assertEqual(len(created_move.line_ids), 2) + self.assertRecordValues(created_move, [{ + 'date': next_move_date, + 'journal_id': self.transfer_model.journal_id.id, + 'transfer_model_id': self.transfer_model.id, + }]) + self.assertRecordValues(created_move.line_ids.filtered(lambda l: l.credit), [{ + 'account_id': master_ids[0].id, + 'date_maturity': next_move_date, + 'credit': 250.0, + }]) + self.assertRecordValues(created_move.line_ids.filtered(lambda l: l.debit), [{ + 'account_id': master_ids[1].id, + 'date_maturity': next_move_date, + 'debit': 250.0, + }]) + + patched_get_auto_transfer_move_line_values.return_value = [ + { + 'account_id': master_ids[0].id, + 'date_maturity': next_move_date, + 'credit': 78520.0, + }, + { + 'account_id': master_ids[1].id, + 'date_maturity': next_move_date, + 'debit': 78520.0, + } + ] + + # Update the existing move but don't create a new one + amount_of_moves = self.env['account.move'].search_count([]) + amount_of_move_lines = self.env['account.move.line'].search_count([]) + updated_move = self.transfer_model._create_or_update_move_for_period(self.transfer_model.date_start, next_move_date) + self.assertEqual(amount_of_moves, self.env['account.move'].search_count([]), 'No move have been created') + self.assertEqual(amount_of_move_lines, self.env['account.move.line'].search_count([]), + 'No move line have been created (in fact yes but the old ones have been deleted)') + self.assertEqual(updated_move, created_move, 'Existing move has been updated') + self.assertRecordValues(updated_move.line_ids.filtered(lambda l: l.credit), [{ + 'account_id': master_ids[0].id, + 'date_maturity': next_move_date, + 'credit': 78520.0, + }]) + self.assertRecordValues(updated_move.line_ids.filtered(lambda l: l.debit), [{ + 'account_id': master_ids[1].id, + 'date_maturity': next_move_date, + 'debit': 78520.0, + }]) + + def test__get_move_for_period(self): + # 2019-06-30 --> None as no move generated + date_to_test = datetime.strptime('2019-06-30', '%Y-%m-%d').date() + move_for_period = self.transfer_model._get_move_for_period(date_to_test) + self.assertIsNone(move_for_period, 'No move is generated yet') + + # Generate a move + move_date = self.transfer_model._get_next_move_date(self.transfer_model.date_start) + already_generated_move = self.env['account.move'].create({ + 'date': move_date, + 'journal_id': self.journal.id, + 'transfer_model_id': self.transfer_model.id + }) + # 2019-06-30 --> None as generated move is generated for 01/07 + move_for_period = self.transfer_model._get_move_for_period(date_to_test) + self.assertIsNone(move_for_period, 'The generated move is for the next period') + + # 2019-07-01 --> The generated move + date_to_test += relativedelta(days=1) + move_for_period = self.transfer_model._get_move_for_period(date_to_test) + self.assertEqual(move_for_period, already_generated_move, 'Should be equal to the already generated move') + + # 2019-07-02 --> None as generated move is generated for 01/07 + date_to_test += relativedelta(days=1) + move_for_period = self.transfer_model._get_move_for_period(date_to_test) + self.assertIsNone(move_for_period, 'No move is generated yet for the next period') + + def test__determine_start_date(self): + start_date = self.transfer_model._determine_start_date() + self.assertEqual(start_date, self.transfer_model.date_start, 'No moves generated yet, start date should be the start date of the transfer model') + + move = self._create_basic_move(date_str='2019-07-01', journal_id=self.journal.id, transfer_model_id=self.transfer_model.id, posted=False) + start_date = self.transfer_model._determine_start_date() + self.assertEqual(start_date, self.transfer_model.date_start, 'A move generated but not posted, start date should be the start date of the transfer model') + + move.action_post() + start_date = self.transfer_model._determine_start_date() + self.assertEqual(start_date, move.date, 'A move posted, start date should be the date of that move') + + second_move = self._create_basic_move(date_str='2019-08-01', journal_id=self.journal.id, transfer_model_id=self.transfer_model.id, posted=False) + start_date = self.transfer_model._determine_start_date() + self.assertEqual(start_date, move.date, 'Two moves generated, start date should be the date of the last posted one') + + second_move.action_post() + random_move = self._create_basic_move(date_str='2019-08-01', journal_id=self.journal.id) + start_date = self.transfer_model._determine_start_date() + self.assertEqual(start_date, second_move.date, 'Random move generated not linked to transfer model, start date should be the date of the last one linked to it') + + def test__get_next_move_date(self): + experimentations = { + 'month': [ + # date, expected date + (self.transfer_model.date_start, '2019-07-01'), + (fields.Date.to_date('2019-01-29'), '2019-02-28'), + (fields.Date.to_date('2019-01-30'), '2019-02-28'), + (fields.Date.to_date('2019-01-31'), '2019-02-28'), + (fields.Date.to_date('2019-02-28'), '2019-03-28'), + (fields.Date.to_date('2019-12-31'), '2020-01-31'), + ], + 'quarter': [ + (self.transfer_model.date_start, '2019-09-01'), + (fields.Date.to_date('2019-01-31'), '2019-04-30'), + (fields.Date.to_date('2019-02-28'), '2019-05-28'), + (fields.Date.to_date('2019-12-31'), '2020-03-31'), + ], + 'year': [ + (self.transfer_model.date_start, '2020-06-01'), + (fields.Date.to_date('2019-01-31'), '2020-01-31'), + (fields.Date.to_date('2019-02-28'), '2020-02-28'), + (fields.Date.to_date('2019-12-31'), '2020-12-31'), + ] + } + + for frequency in experimentations: + self.transfer_model.write({'frequency': frequency}) + for start_date, expected_date_str in experimentations[frequency]: + next_date = self.transfer_model._get_next_move_date(start_date) + self.assertEqual(next_date, fields.Date.to_date(expected_date_str), + 'Next date from %s should be %s' % (str(next_date), expected_date_str)) + + @patch('odoo.addons.odex25_account_auto_transfer.models.transfer_model.TransferModel._get_non_analytic_transfer_values') + @patch('odoo.models.BaseModel.read_group') + def test__get_non_filtered_auto_transfer_move_line_values(self, patched_read_group, patched_get_values): + start_date = fields.Date.to_date('2019-01-01') + end_date = fields.Date.to_date('2019-12-31') + patched_read_group.return_value = [ + {'balance': 4242.42, 'account_id': (self.origin_accounts[0].id,)}, + {'balance': 0, 'account_id': (self.destination_accounts[0].id,)}, + {'balance': -12585.0, 'account_id': (self.origin_accounts[1].id,)} + ] + amount_left = 10.0 + patched_get_values.return_value = [{ + 'name': "YO", + 'account_id': 1, + 'date_maturity': start_date, + 'debit': 123.45 + }], amount_left + + exp = [{ + 'name': 'YO', + 'account_id': 1, + 'date_maturity': start_date, + 'debit': 123.45 + }, { + 'name': 'Automatic Transfer (-%s%%)' % self.transfer_model.total_percent, + 'account_id': self.origin_accounts[0].id, + 'date_maturity': end_date, + 'credit': 4242.42 - amount_left + }, { + 'name': 'YO', + 'account_id': 1, + 'date_maturity': start_date, + 'debit': 123.45 + }, { + 'name': 'Automatic Transfer (-%s%%)' % self.transfer_model.total_percent, + 'account_id': self.origin_accounts[1].id, + 'date_maturity': end_date, + 'debit': 12585.0 - amount_left + }] + exp_res_len = len([x for x in patched_read_group.return_value if x['balance'] != 0.0]) * 2 + res = self.transfer_model._get_non_filtered_auto_transfer_move_line_values([], start_date, end_date) + self.assertEqual(len(res), exp_res_len) + self.assertListEqual(exp, res) + + @patch( + 'odoo.addons.odex25_account_auto_transfer.models.transfer_model.TransferModelLine._get_destination_account_transfer_move_line_values') + def test__get_non_analytic_transfer_values(self, patched): + # Just need a transfer model line + percents = [45, 45] + self.transfer_model.write({ + 'account_ids': [(6, 0, [ma.id for ma in self.origin_accounts])], + 'line_ids': [ + (0, 0, { + 'percent': percents[0], + 'account_id': self.destination_accounts[0].id + }), + (0, 0, { + 'percent': percents[1], + 'account_id': self.destination_accounts[1].id + }) + ] + }) + account = self.origin_accounts[0] + write_date = fields.Date.to_date('2019-01-01') + lines = self.transfer_model.line_ids + amount_of_line = len(lines) + amount = 4242.0 + is_debit = False + patched.return_value = { + 'name': "YO", + 'account_id': account.id, + 'date_maturity': write_date, + 'debit' if is_debit else 'credit': amount + } + expected_result_list = [patched.return_value] * 2 + expected_result_amount = amount * ((100.0 - sum(percents)) / 100.0) + + res = self.transfer_model._get_non_analytic_transfer_values(account, lines, write_date, amount, is_debit) + self.assertListEqual(res[0], expected_result_list) + self.assertAlmostEqual(res[1], expected_result_amount) + self.assertEqual(patched.call_count, amount_of_line) + + # need to round amount to avoid failing float comparison (as magic mock uses "==" to compare args) + exp_calls = [call(account, round(amount * (line.percent / 100.0), 1), is_debit, write_date) for line in lines] + patched.assert_has_calls(exp_calls) + + # Try now with 100% repartition + lines[0].write({'percent': 55.0}) + res = self.transfer_model._get_non_analytic_transfer_values(account, lines, write_date, amount, is_debit) + self.assertAlmostEqual(res[1], 0.0) + + # TEST CONSTRAINTS + def test__check_line_ids_percents(self): + with self.assertRaises(ValidationError): + transfer_model_lines = [] + for i, percent in enumerate((50.0, 50.01)): + transfer_model_lines.append((0, 0, { + 'percent': percent, + 'account_id': self.destination_accounts[i].id + })) + self.transfer_model.write({ + 'account_ids': [(6, 0, [ma.id for ma in self.origin_accounts])], + 'line_ids': transfer_model_lines + }) diff --git a/odex25_accounting/odex25_account_auto_transfer/tests/test_transfer_model_line.py b/odex25_accounting/odex25_account_auto_transfer/tests/test_transfer_model_line.py new file mode 100644 index 000000000..7fb012656 --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/tests/test_transfer_model_line.py @@ -0,0 +1,288 @@ +# -*- coding: utf-8 -*- + +from unittest.mock import patch + +from odoo.addons.odex25_account_auto_transfer.tests.odex25_account_auto_transfer_test_classes import AccountAutoTransferTestCase + +from odoo import fields +from odoo.tests import tagged + +# ############################################################################ # +# UNIT TESTS # +# ############################################################################ # +@tagged('post_install', '-at_install') +class MoveModelLineTestCase(AccountAutoTransferTestCase): + + @classmethod + def setUpClass(cls, chart_template_ref=None): + super().setUpClass(chart_template_ref=chart_template_ref) + cls._assign_origin_accounts(cls) + + def test__get_transfer_move_lines_values_same_aaccounts(self): + amounts = [4242.42, 1234.56] + aaccounts = [self._create_analytic_account('ANAL0' + str(i)) for i in range(2)] + self._create_basic_move( + cred_account=self.destination_accounts[0].id, + deb_account=self.origin_accounts[0].id, + amount=amounts[0], + deb_analytic=aaccounts[0].id + ) + self._create_basic_move( + cred_account=self.destination_accounts[1].id, + deb_account=self.origin_accounts[0].id, + amount=amounts[1], + deb_analytic=aaccounts[1].id + ) + transfer_model_line_1 = self._add_transfer_model_line(self.destination_accounts[0].id, + analytic_account_ids=[aaccounts[0].id, aaccounts[1].id]) + transfer_model_line_2 = self._add_transfer_model_line(self.destination_accounts[1].id, + analytic_account_ids=[aaccounts[0].id]) + + transfer_models_lines = transfer_model_line_1 + transfer_model_line_2 + args = [fields.Date.to_date('2019-01-01'), fields.Date.to_date('2019-12-19')] + res = transfer_models_lines._get_transfer_move_lines_values(*args) + exp = [{ + 'name': 'Automatic Transfer (from account MA001 with analytic account(s): ANAL00, ANAL01)', + 'account_id': self.destination_accounts[0].id, + 'date_maturity': args[1], + 'debit': sum(amounts), + }, { + 'name': 'Automatic Transfer (entries with analytic account(s): ANAL00, ANAL01)', + 'account_id': self.origin_accounts[0].id, + 'date_maturity': args[1], + 'credit': sum(amounts), + }] + self.assertListEqual(exp, res, + 'Only first transfer model line should be handled, second should get 0 and thus not be added') + + def test__get_transfer_move_lines_values(self): + amounts = [4242.0, 1234.56] + aaccounts = [self._create_analytic_account('ANAL0' + str(i)) for i in range(3)] + self._create_basic_move( + cred_account=self.destination_accounts[0].id, + deb_account=self.origin_accounts[0].id, + amount=amounts[0], + deb_analytic=aaccounts[0].id + ) + self._create_basic_move( + cred_account=self.destination_accounts[1].id, + deb_account=self.origin_accounts[0].id, + amount=amounts[1], + deb_analytic=aaccounts[2].id + ) + transfer_model_line_1 = self._add_transfer_model_line(self.destination_accounts[0].id, + analytic_account_ids=[aaccounts[0].id, aaccounts[1].id]) + transfer_model_line_2 = self._add_transfer_model_line(self.destination_accounts[1].id, + analytic_account_ids=[aaccounts[2].id]) + + transfer_models_lines = transfer_model_line_1 + transfer_model_line_2 + args = [fields.Date.to_date('2019-01-01'), fields.Date.to_date('2019-12-19')] + res = transfer_models_lines._get_transfer_move_lines_values(*args) + exp = [ + { + 'name': 'Automatic Transfer (from account MA001 with analytic account(s): ANAL00, ANAL01)', + 'account_id': self.destination_accounts[0].id, + 'date_maturity': args[1], + 'debit': amounts[0], + }, + { + 'name': 'Automatic Transfer (entries with analytic account(s): ANAL00, ANAL01)', + 'account_id': self.origin_accounts[0].id, + 'date_maturity': args[1], + 'credit': amounts[0], + }, + { + 'name': 'Automatic Transfer (from account MA001 with analytic account(s): ANAL02)', + 'account_id': self.destination_accounts[1].id, + 'date_maturity': args[1], + 'debit': amounts[1], + }, + { + 'name': 'Automatic Transfer (entries with analytic account(s): ANAL02)', + 'account_id': self.origin_accounts[0].id, + 'date_maturity': args[1], + 'credit': amounts[1], + } + ] + self.assertListEqual(exp, res) + + @patch('odoo.addons.odex25_account_auto_transfer.models.transfer_model.TransferModel._get_move_lines_base_domain') + def test__get_move_lines_domain(self, patched): + return_val = [('bla', '=', 42)] + # we need to copy return val as there are edge effects due to mocking + # return_value is modified by the function call) + patched.return_value = return_val[:] + args = [fields.Date.to_date('2019-01-01'), fields.Date.to_date('2019-12-19')] + aaccount_1 = self._create_analytic_account('ANAL01') + aaccount_2 = self._create_analytic_account('ANAL02') + percent = 42.42 + analytic_transfer_model_line = self._add_transfer_model_line(self.destination_accounts[0].id, + analytic_account_ids=[aaccount_1.id, aaccount_2.id]) + percent_transfer_model_line = self._add_transfer_model_line(self.destination_accounts[1].id, percent=percent) + + anal_res = analytic_transfer_model_line._get_move_lines_domain(*args) + anal_expected = return_val + [('analytic_account_id', 'in', [aaccount_1.id, aaccount_2.id])] + patched.assert_called_once_with(*args) + self.assertListEqual(anal_res, anal_expected) + patched.reset_mock() + + perc_res = percent_transfer_model_line._get_move_lines_domain(*args) + patched.assert_called_once_with(*args) + self.assertListEqual(perc_res, patched.return_value) + + def test__get_origin_account_transfer_move_line_values(self): + percent = 92.42 + transfer_model_line = self._add_transfer_model_line(self.destination_accounts[0].id, percent=percent) + origin_account = self.origin_accounts[0] + amount = 4200.42 + is_debit = True + write_date = fields.Date.to_date('2019-12-19') + params = [origin_account, amount, is_debit, write_date] + result = transfer_model_line._get_origin_account_transfer_move_line_values(*params) + expected = { + 'name': 'Automatic Transfer (to account %s)' % self.destination_accounts[0].code, + 'account_id': origin_account.id, + 'date_maturity': write_date, + 'credit' if is_debit else 'debit': amount + } + self.assertDictEqual(result, expected) + + def test__get_destination_account_transfer_move_line_values(self): + aaccount_1 = self._create_analytic_account('ANAL01') + aaccount_2 = self._create_analytic_account('ANAL02') + percent = 42.42 + analytic_transfer_model_line = self._add_transfer_model_line(self.destination_accounts[0].id, + analytic_account_ids=[aaccount_1.id, aaccount_2.id]) + percent_transfer_model_line = self._add_transfer_model_line(self.destination_accounts[1].id, percent=percent) + origin_account = self.origin_accounts[0] + amount = 4200 + is_debit = True + write_date = fields.Date.to_date('2019-12-19') + params = [origin_account, amount, is_debit, write_date] + anal_result = analytic_transfer_model_line._get_destination_account_transfer_move_line_values(*params) + aaccount_names = ', '.join([aac.name for aac in [aaccount_1, aaccount_2]]) + anal_expected_result = { + 'name': 'Automatic Transfer (from account %s with analytic account(s): %s)' % ( + origin_account.code, aaccount_names), + 'account_id': self.destination_accounts[0].id, + 'date_maturity': write_date, + 'debit' if is_debit else 'credit': amount + } + self.assertDictEqual(anal_result, anal_expected_result) + percent_result = percent_transfer_model_line._get_destination_account_transfer_move_line_values(*params) + percent_expected_result = { + 'name': 'Automatic Transfer (%s%% from account %s)' % (percent, self.origin_accounts[0].code), + 'account_id': self.destination_accounts[1].id, + 'date_maturity': write_date, + 'debit' if is_debit else 'credit': amount + } + self.assertDictEqual(percent_result, percent_expected_result) + + def test__get_transfer_move_lines_values_same_partner_ids(self): + """ + Make sure we only process the account moves once. + Here the second line references a partner already handled in the first one. + The second transfer should thus not be apply on the account lines already handled by the first transfer. + """ + amounts = [4242.42, 1234.56] + partner_ids = [self._create_partner('partner' + str(i))for i in range(2)] + self._create_basic_move( + cred_account=self.destination_accounts[0].id, + deb_account=self.origin_accounts[0].id, + amount=amounts[0], + partner_id=partner_ids[0].id, + date_str='2019-02-01' + ) + self._create_basic_move( + cred_account=self.destination_accounts[1].id, + deb_account=self.origin_accounts[0].id, + amount=amounts[1], + partner_id=partner_ids[1].id, + date_str='2019-02-01' + ) + self._create_basic_move( + cred_account=self.destination_accounts[0].id, + deb_account=self.origin_accounts[0].id, + amount=amounts[0], + date_str='2019-02-01' + ) + transfer_model_line_1 = self._add_transfer_model_line(self.destination_accounts[0].id, + partner_ids=[partner_ids[0].id, partner_ids[1].id]) + transfer_model_line_2 = self._add_transfer_model_line(self.destination_accounts[1].id, + partner_ids=[partner_ids[0].id]) + + transfer_models_lines = transfer_model_line_1 + transfer_model_line_2 + args = [fields.Date.to_date('2019-01-01'), fields.Date.to_date('2019-12-19')] + res = transfer_models_lines._get_transfer_move_lines_values(*args) + exp = [{ + 'name': 'Automatic Transfer (from account MA001 with partner(s): partner0, partner1)', + 'account_id': self.destination_accounts[0].id, + 'date_maturity': args[1], + 'debit': sum(amounts), + }, { + 'name': 'Automatic Transfer (entries with partner(s): partner0, partner1)', + 'account_id': self.origin_accounts[0].id, + 'date_maturity': args[1], + 'credit': sum(amounts), + }] + self.assertListEqual(exp, res, + 'Only first transfer model line should be handled, second should get 0 and thus not be added') + + def test__get_transfer_move_lines_values_partner(self): + """ + Create account moves and transfer, verify that the result of the auto transfer is correct. + """ + amounts = [4242.0, 1234.56] + aaccounts = [self._create_analytic_account('ANAL00')] + partner_ids = [self._create_partner('partner' + str(i))for i in range(2)] + self._create_basic_move( + cred_account=self.destination_accounts[2].id, + deb_account=self.origin_accounts[0].id, + amount=amounts[0], + partner_id=partner_ids[0].id, + date_str='2019-02-01' + ) + self._create_basic_move( + cred_account=self.destination_accounts[3].id, + deb_account=self.origin_accounts[0].id, + amount=amounts[1], + deb_analytic=aaccounts[0].id, + partner_id=partner_ids[1].id, + date_str='2019-02-01' + ) + transfer_model_line_1 = self._add_transfer_model_line(self.destination_accounts[3].id, + analytic_account_ids=[aaccounts[0].id], + partner_ids=[partner_ids[1].id]) + transfer_model_line_2 = self._add_transfer_model_line(self.destination_accounts[2].id, + partner_ids=[partner_ids[0].id]) + + transfer_models_lines = transfer_model_line_1 + transfer_model_line_2 + args = [fields.Date.to_date('2019-01-01'), fields.Date.to_date('2019-12-19')] + res = transfer_models_lines._get_transfer_move_lines_values(*args) + exp = [ + { + 'name': 'Automatic Transfer (from account MA001 with analytic account(s): ANAL00 and partner(s): partner1)', + 'account_id': self.destination_accounts[3].id, + 'date_maturity': args[1], + 'debit': amounts[1], + }, + { + 'name': 'Automatic Transfer (entries with analytic account(s): ANAL00 and partner(s): partner1)', + 'account_id': self.origin_accounts[0].id, + 'date_maturity': args[1], + 'credit': amounts[1], + }, + { + 'name': 'Automatic Transfer (from account MA001 with partner(s): partner0)', + 'account_id': self.destination_accounts[2].id, + 'date_maturity': args[1], + 'debit': amounts[0], + }, + { + 'name': 'Automatic Transfer (entries with partner(s): partner0)', + 'account_id': self.origin_accounts[0].id, + 'date_maturity': args[1], + 'credit': amounts[0], + }, + ] + self.assertListEqual(exp, res) diff --git a/odex25_accounting/odex25_account_auto_transfer/views/transfer_model_views.xml b/odex25_accounting/odex25_account_auto_transfer/views/transfer_model_views.xml new file mode 100644 index 000000000..48396f05a --- /dev/null +++ b/odex25_accounting/odex25_account_auto_transfer/views/transfer_model_views.xml @@ -0,0 +1,128 @@ + + + + + account.auto.transfer.search + account.move + + + + + + + + + + + + Automatic Transfers + account.transfer.model + tree,form + + + + + Generated Entries + ir.actions.act_window + account.move + tree,form + + + + + + + + + + + account.auto.transfer.model.tree + account.transfer.model + + + + + + + + + + + + + account.auto.transfer.model.form + account.transfer.model + +
    +
    +
    + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    diff --git a/odex25_accounting/odex25_account_bank_statement_import/__init__.py b/odex25_accounting/odex25_account_bank_statement_import/__init__.py new file mode 100644 index 000000000..8c0c3372d --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/__init__.py @@ -0,0 +1,5 @@ +# -*- encoding: utf-8 -*- + +from . import odex25_account_bank_statement_import +from . import account_journal +from . import wizard diff --git a/odex25_accounting/odex25_account_bank_statement_import/__manifest__.py b/odex25_accounting/odex25_account_bank_statement_import/__manifest__.py new file mode 100644 index 000000000..425e8576b --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/__manifest__.py @@ -0,0 +1,26 @@ +# -*- encoding: utf-8 -*- +{ + 'name': 'Account Bank Statement Import', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'version': '1.0', + 'depends': ['odex25_account_accountant'], + 'description': """Generic Wizard to Import Bank Statements. + +(This module does not include any type of import format.) + +OFX and QIF imports are available in Enterprise version.""", + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'data': [ + 'security/ir.model.access.csv', + 'odex25_account_bank_statement_import_view.xml', + 'account_import_tip_data.xml', + 'wizard/journal_creation.xml', + 'views/odex25_account_bank_statement_import_templates.xml', + ], + 'demo': [ + 'demo/partner_bank.xml', + ], + 'installable': True, + #'auto_install': True, +} diff --git a/odex25_accounting/odex25_account_bank_statement_import/account_import_tip_data.xml b/odex25_accounting/odex25_account_bank_statement_import/account_import_tip_data.xml new file mode 100644 index 000000000..8a71be777 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/account_import_tip_data.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/odex25_accounting/odex25_account_bank_statement_import/account_journal.py b/odex25_accounting/odex25_account_bank_statement_import/account_journal.py new file mode 100644 index 000000000..c450ed6fc --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/account_journal.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + +from odoo import models, api, _ + + +class AccountJournal(models.Model): + _inherit = "account.journal" + + def _get_bank_statements_available_import_formats(self): + """ Returns a list of strings representing the supported import formats. + """ + return [] + + def __get_bank_statements_available_sources(self): + rslt = super(AccountJournal, self).__get_bank_statements_available_sources() + formats_list = self._get_bank_statements_available_import_formats() + if formats_list: + formats_list.sort() + import_formats_str = ', '.join(formats_list) + rslt.append(("file_import", _("Import") + "(" + import_formats_str + ")")) + return rslt + + def import_statement(self): + """return action to import bank/cash statements. This button should be called only on journals with type =='bank'""" + action = self.env['ir.actions.act_window']._for_xml_id( + 'odex25_account_bank_statement_import.action_odex25_account_bank_statement_import') + # Note: this drops action['context'], which is a dict stored as a string, which is not easy to update + action.update({'context': (u"{'journal_id': " + str(self.id) + u"}")}) + return action diff --git a/odex25_accounting/odex25_account_bank_statement_import/demo/partner_bank.xml b/odex25_accounting/odex25_account_bank_statement_import/demo/partner_bank.xml new file mode 100644 index 000000000..ab15c7933 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/demo/partner_bank.xml @@ -0,0 +1,30 @@ + + + + + + BE68539007547034 + + + + + + 00987654322 + + + + + + 10987654320 + + + + + + 10987654322 + + + + + + diff --git a/odex25_accounting/odex25_account_bank_statement_import/i18n/ar.po b/odex25_accounting/odex25_account_bank_statement_import/i18n/ar.po new file mode 100644 index 000000000..0bb3dd360 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/i18n/ar.po @@ -0,0 +1,1060 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_bank_statement_import +# +# Translators: +# Sherif Abd Ekmoniem , 2020 +# Sadig Adam , 2020 +# amrnegm , 2020 +# Martin Trigaux, 2020 +# jahzar , 2020 +# Osoul , 2020 +# Mohammed Albasha , 2020 +# Ghaith Gammar , 2020 +# Osama Ahmaro , 2020 +# amal ahmed , 2020 +# Abd El-Rahman Ali , 2020 +# Mahmood Al Halwachi , 2020 +# Zuhair Hammadi , 2020 +# Shaima Safar , 2020 +# Mostafa Hanafy , 2020 +# Nisrine Tagri , 2020 +# Yazeed Dandashi , 2020 +# Tasneem Sarhan , 2020 +# Talal Albahra , 2020 +# Mustafa Rawi , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-11-27 13:47+0000\n" +"PO-Revision-Date: 2020-09-07 08:17+0000\n" +"Last-Translator: Mustafa Rawi , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_bank_statement_import +#. openerp-web +#: code:addons/odex25_account_bank_statement_import/static/src/js/odex25_account_bank_statement_import.js:0 +#, python-format +msgid " Import Template for Bank Statements" +msgstr "قالب استيراد كشوفات الحسابات البنكية" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "%d transactions had already been imported and were ignored." +msgstr "تم تجاهل %d معاملة سبق استيرادها بالفعل." + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "1 transaction had already been imported and was ignored." +msgstr "تم تجاهل 1 معاملة سبق استيرادها بالفعل." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.constraint,message:odex25_account_bank_statement_import.constraint_account_bank_statement_line_unique_import_id +msgid "A bank account transactions can be imported only once !" +msgstr "يمكن استيراد معاملات الحساب البنكي مرة واحدة فقط!" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__company_partner_id +msgid "Account Holder" +msgstr "مالك الحساب" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__bank_acc_number +msgid "Account Number" +msgstr "رقم الحساب" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__account_online_account_id +msgid "Account Online Account" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__account_online_journal_id +msgid "Account Online Journal" +msgstr "دفتر يومية الحساب" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__account_online_link_id +msgid "Account Online Link" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__account_online_provider_id +msgid "Account Online Provider" +msgstr "مزود الحساب" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_needaction +msgid "Action Needed" +msgstr "إجراء مطلوب" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__active +msgid "Active" +msgstr "نشط" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_ids +msgid "Activities" +msgstr "الأنشطة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "زخرفة استثناء النشاط" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_state +msgid "Activity State" +msgstr "حالة النشاط" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__sale_activity_note +msgid "Activity Summary" +msgstr "مخلص النشاطات" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_type_icon +msgid "Activity Type Icon" +msgstr "أيقونة نوع النشاط" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__sale_activity_user_id +msgid "Activity User" +msgstr "مسؤول النشاط" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__sale_activity_type_id +msgid "" +"Activity will be automatically scheduled on payment due date, improving " +"collection process." +msgstr "" +"النشاط ستتم جدولته تلقائياً بحسب تاريخ استحقاق الدفعة، لتحسين عملية التحصيل." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__alias_name +msgid "Alias Name" +msgstr "اسم اللقب" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__alias_domain +msgid "Alias domain" +msgstr "نطاق اللقب" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__type_control_ids +msgid "Allowed account types" +msgstr "أنواع الحسابات المسموحة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__account_control_ids +msgid "Allowed accounts" +msgstr "الحسابات المسموحة" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "Already imported items" +msgstr "عناصر تم استيرادها بالفعل" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__at_least_one_inbound +msgid "At Least One Inbound" +msgstr "وارد واحد على الأقل" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__at_least_one_outbound +msgid "At Least One Outbound" +msgstr "صادر واحد على الاقل" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_attachment_count +msgid "Attachment Count" +msgstr "عدد المرفقات" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__bank_id +#, python-format +msgid "Bank" +msgstr "البنك" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__bank_account_id +msgid "Bank Account" +msgstr "حساب بنكي" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__bank_statements_source +msgid "Bank Feeds" +msgstr "التغذية البنكية" + +#. module: odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_journal_creation_view +msgid "Bank Journal Name" +msgstr "اسم دفتر اليومية" + +#. module: odex25_account_bank_statement_import +#: model:ir.model,name:odex25_account_bank_statement_import.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "بند كشف الحساب البنكي" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__bank_statement_creation_groupby +msgid "Bank Statements Group By" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model,name:odex25_account_bank_statement_import.model_account_setup_bank_manual_config +msgid "Bank setup manual config" +msgstr "الضبط اليدوي لإعدادات البنك" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__suspense_account_id +msgid "" +"Bank statements transactions will be posted on the suspense account until " +"the final reconciliation allowing finding the right account." +msgstr "" +"معاملات كشف البنك سيتم ترحيلها إلى حساب المتعلقات إلى أن يتم إجراء المطابقة " +"النهائية لإتاحة إيجاد الحساب الصحيح." + +#. module: odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_journal_creation_view +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_view +msgid "Cancel" +msgstr "الغاء" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "" +"Cannot find in which journal import this statement. Please manually select a" +" journal." +msgstr "" +"لم نتمكن من اكتشاف لأي دفتر يومية يتم استيراد كشف الحساب المحدد. نرجو منكم " +"اختيار دفتر اليومية يدوياً." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__check_printing_payment_method_selected +msgid "Check Printing Payment Method Selected" +msgstr "تم اختيار السداد بطباعة شيك" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__check_sequence_id +msgid "Check Sequence" +msgstr "مسلسل الشيك" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__refund_sequence +msgid "" +"Check this box if you don't want to share the same sequence for invoices and" +" credit notes made from this journal" +msgstr "" +"حدد هذا المربع إذا كنت لا تريد أن تتشارك الفواتير وإشعارات الخصم المستخرجة " +"من دفتر اليومية هذا نفس التسلسل" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__check_manual_sequencing +msgid "Check this option if your pre-printed checks are not numbered." +msgstr "حدد هذا الاختيار إذا كانت شيكاتك المطبوعة مسبقًا غير مُرقمة." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__check_sequence_id +msgid "Checks numbering sequence." +msgstr "تسلسل أرقام الشيكات." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__color +msgid "Color Index" +msgstr "معرف اللون" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__invoice_reference_model +msgid "Communication Standard" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__invoice_reference_type +msgid "Communication Type" +msgstr "نوع التواصل" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__company_id +msgid "Company" +msgstr "شركة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__company_id +msgid "Company related to this journal" +msgstr "المؤسسة المرتبطة بدفتر اليومية هذا" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__compatible_edi_ids +msgid "Compatible Edi" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "" +"Could not make sense of the given file.\n" +"Did you install the module to support this type of file ?" +msgstr "" +"لم يمكن فهم طبيعة الملف المحدد.\n" +"هل قمت بتثبيت الموديول لدعم هذا النوع من الملفات؟" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__country_code +msgid "Country Code" +msgstr "رمز الدولة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import__create_uid +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import__create_date +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__bank_statement_creation +msgid "Creation of Bank Statements" +msgstr "إنشاء كشوف حسابات بنكية" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__currency_id +msgid "Currency" +msgstr "العملة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__refund_sequence +msgid "Dedicated Credit Note Sequence" +msgstr "مسلسل إشعارات الخصم المخصصة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__default_account_id +msgid "Default Account" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__default_account_type +msgid "Default Account Type" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__bank_statements_source +msgid "Defines how the bank statements will be registered" +msgstr "يحدد كيفية تسجيل كشوفات الحساب البنكية" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__bank_statement_creation +msgid "" +"Defines when a new bank statement\n" +" will be created when fetching new transactions\n" +" from your bank account." +msgstr "" +"يحدد متى سيتم إنشاء كشف حساب بنكي جديد\n" +" \n" +"عند إرسال معاملات جديدة\n" +" من حسابك البنكي." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__bank_statement_creation_groupby +msgid "" +"Defines when a new bank statement will be created when fetching new " +"transactions from your bank account." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import__display_name +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__display_name +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_account_bank_statement_line__display_name +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_account_journal__display_name +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_account_setup_bank_manual_config__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__compatible_edi_ids +msgid "EDI format that support moves in this journal" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__edi_format_ids +msgid "Electronic invoicing" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__alias_id +msgid "Email Alias" +msgstr "لقب البريد الإلكتروني" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import__attachment_ids +msgid "Files" +msgstr "الملفات" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_follower_ids +msgid "Followers" +msgstr "المتابعون" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_channel_ids +msgid "Followers (Channels)" +msgstr "المتابعون (القنوات)" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_partner_ids +msgid "Followers (Partners)" +msgstr "المتابعون (الشركاء)" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import__attachment_ids +msgid "" +"Get you bank statements in electronic format from your bank and select them " +"here." +msgstr "احصل على كشوفات حسابك بصيغة إلكترونية واخترها من هنا." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import__id +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__id +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_account_bank_statement_line__id +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_account_journal__id +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_account_setup_bank_manual_config__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_exception_icon +msgid "Icon" +msgstr "الأيقونة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "الأيقونة للإشارة إلى استثناء النشاط" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_needaction +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_unread +msgid "If checked, new messages require your attention." +msgstr "إذا كان محددًا، فهناك رسائل جديدة تحتاج لرؤيتها." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_has_error +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "إذا كان محددًا، فقد حدث خطأ في تسليم بعض الرسائل." + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "" +"If it contains transactions for more than one account, it must be imported " +"on each of them." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__restrict_mode_hash_table +msgid "" +"If ticked, the accounting entry or invoice receives a hash as soon as it is " +"posted and cannot be modified anymore." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/account_journal.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.journal_dashboard_view_inherit +#, python-format +msgid "Import" +msgstr "استيراد" + +#. module: odex25_account_bank_statement_import +#: model:ir.model,name:odex25_account_bank_statement_import.model_odex25_account_bank_statement_import +msgid "Import Bank Statement" +msgstr "استيراد كشف حساب بنكي" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_account_bank_statement_line__unique_import_id +msgid "Import ID" +msgstr "معرف الاستيراد" + +#. module: odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.journal_dashboard_view_inherit +msgid "Import Statement" +msgstr "استيراد كشف حساب" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__inbound_payment_method_ids +msgid "Inbound Payment Methods" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__payment_debit_account_id +msgid "" +"Incoming payments entries triggered by invoices/refunds will be posted on " +"the Outstanding Receipts Account and displayed as blue lines in the bank " +"reconciliation widget. During the reconciliation process, concerned " +"transactions will be reconciled with entries on the Outstanding Receipts " +"Account instead of the receivable account." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.actions.act_window,name:odex25_account_bank_statement_import.install_more_import_formats_action +msgid "Install Import Format" +msgstr "تثبيت موديول صيغة الاستيراد" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_is_follower +msgid "Is Follower" +msgstr "متابع" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__alias_name +msgid "It creates draft invoices and bills by sending an email." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model,name:odex25_account_bank_statement_import.model_account_journal +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__journal_id +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_journal_creation_view +#, python-format +msgid "Journal Creation" +msgstr "إنشاء دفتر يومية" + +#. module: odex25_account_bank_statement_import +#: model:ir.model,name:odex25_account_bank_statement_import.model_odex25_account_bank_statement_import_journal_creation +msgid "Journal Creation on Bank Statement Import" +msgstr "إنشاء دفتر يومية عند استيراد كشف الحساب البنكي" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__journal_group_ids +msgid "Journal Groups" +msgstr "مجموعات الدفاتر اليومية" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__name +msgid "Journal Name" +msgstr "اسم دفتر اليومية" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__json_activity_data +msgid "Json Activity Data" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_journal_creation_view +msgid "" +"Just click OK to create the account/journal and finish the upload. If this " +"was a mistake, hit cancel to abort the upload." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__kanban_dashboard +msgid "Kanban Dashboard" +msgstr "لوحة معلومات كانبان" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__kanban_dashboard_graph +msgid "Kanban Dashboard Graph" +msgstr "الرسم البياني للوحة معلومات كانبان" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import____last_update +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation____last_update +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_account_bank_statement_line____last_update +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_account_journal____last_update +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_account_setup_bank_manual_config____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import__write_uid +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import__write_date +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__sale_activity_user_id +msgid "Leave empty to assign the Salesperson of the invoice." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__restrict_mode_hash_table +msgid "Lock Posted Entries with Hash" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__loss_account_id +msgid "Loss Account" +msgstr "حساب الخسارة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_main_attachment_id +msgid "Main Attachment" +msgstr "المرفق الرئيسي" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__check_manual_sequencing +msgid "Manual Numbering" +msgstr "ترقيم يدوي" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__inbound_payment_method_ids +msgid "" +"Manual: Get paid by cash, check or any other method outside of Odoo.\n" +"Electronic: Get paid automatically through a payment acquirer by requesting a transaction on a card saved by the customer when buying or subscribing online (payment token).\n" +"Batch Deposit: Encase several customer checks at once by generating a batch deposit to submit to your bank. When encoding the bank statement in Odoo,you are suggested to reconcile the transaction with the batch deposit. Enable this option from the settings." +msgstr "" +"يدويًا: تتلقى أموالك نقدًا أو بشيكات أو بأي طريقة أخرى خارج أودو.\n" +"إلكترونيًا: تتلقى أموالك تلقائيًا باستخدام معالج سداد من خلال طلب معاملة مالية على بطاقة مخزنة للعميل عند الشراء أو الاشتراك عبر الإنترنت (من خلال رمز السداد السري).\n" +"إيداع دفعات: تغطي تكلفة عدة شيكات في نفس الوقت من خلال إيداع عدة دفعات. عند تشفير كشف الحساب على أودو، ننصح بأن تقوم بتسوية المعاملة بنظام إيداع الدفعات. فعل هذا الاختيار من الإعدادات." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__outbound_payment_method_ids +msgid "" +"Manual:Pay bill by cash or any other method outside of Odoo.\n" +"Check:Pay bill by check and print it from Odoo.\n" +"SEPA Credit Transfer: Pay bill from a SEPA Credit Transfer file you submit to your bank. Enable this option from the settings." +msgstr "" +"يدويًا: تتلقى أموالك نقدًا أو بشيكات أو بأي طريقة أخرى خارج أودو.\n" +"شيك: تسدد قيمة فواتيرك بالشيكات وتطبعها من أودو. \n" +"النقل الائتماني بنظام SEPA: ادفع الفاتورة من خلال ملف نقل ائتماني تقوم بتسليمه للبنك، قم بتفعيل هذا الخيار من الإعدادات." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_has_error +msgid "Message Delivery error" +msgstr "خطأ في تسليم الرسائل" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_ids +msgid "Messages" +msgstr "الرسائل" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "الموعد النهائي للنشاط التالي" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_summary +msgid "Next Activity Summary" +msgstr "ملخص النشاط التالي" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_type_id +msgid "Next Activity Type" +msgstr "نوع النشاط التالي" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__check_next_number +msgid "Next Check Number" +msgstr "رقم الشيك التالي" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__next_synchronization +msgid "Next synchronization" +msgstr "المزامنة التالية" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "No currency found matching '%s'." +msgstr "لم يمكن العثور على أي عملة تطابق '%s'." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_needaction_counter +msgid "Number of Actions" +msgstr "عدد الإجراءات" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_has_error_counter +msgid "Number of errors" +msgstr "عدد الاخطاء" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "عدد الرسائل التي تتطلب إجراء" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "عدد الرسائل الحادث بها خطأ في التسليم" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_unread_counter +msgid "Number of unread messages" +msgstr "عدد الرسائل الجديدة" + +#. module: odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_journal_creation_view +msgid "OK" +msgstr "موافق" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__next_link_synchronization +msgid "Online Link Next synchronization" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__outbound_payment_method_ids +msgid "Outbound Payment Methods" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__payment_credit_account_id +msgid "" +"Outgoing payments entries triggered by bills/credit notes will be posted on " +"the Outstanding Payments Account and displayed as blue lines in the bank " +"reconciliation widget. During the reconciliation process, concerned " +"transactions will be reconciled with entries on the Outstanding Payments " +"Account instead of the payable account." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__payment_credit_account_id +msgid "Outstanding Payments Account" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__payment_debit_account_id +msgid "Outstanding Receipts Account" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__profit_account_id +msgid "Profit Account" +msgstr "حساب الربح" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_user_id +msgid "Responsible User" +msgstr "المستخدم المسؤول" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_has_sms_error +msgid "SMS Delivery error" +msgstr "خطأ في تسليم الرسائل القصيرة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__sale_activity_type_id +msgid "Schedule Activity" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__secure_sequence_id +msgid "Secure Sequence" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__type +msgid "" +"Select 'Sale' for customer invoices journals.\n" +"Select 'Purchase' for vendor bills journals.\n" +"Select 'Cash' or 'Bank' for journals that are used in customer or vendor payments.\n" +"Select 'General' for miscellaneous operations journals." +msgstr "" +"اختر 'بيع' لعرض دفاتر اليومية الخاصة بفواتير العملاء. \n" +"اختر 'شراء' لعرض دفاتر اليومية الخاصة بفواتير الموردين. \n" +"اختر 'نقدي' أو 'بنك' لعرض دفاتر اليومية الخاصة بمدفوعات العميل أو المورد.\n" +" اختر 'عام' لعرض دفاتر اليومية الخاصة بالعمليات المتنوعة." + +#. module: odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_view +msgid "Select Files" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__edi_format_ids +msgid "Send XML/EDI invoices" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__alias_id +msgid "" +"Send one separate email for each invoice.\n" +"\n" +"Any file extension will be accepted.\n" +"\n" +"Only PDF and XML files will be interpreted by Odoo" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__sequence +msgid "Sequence" +msgstr "المسلسل" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__sequence_override_regex +msgid "Sequence Override Regex" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__check_next_number +msgid "Sequence number of the next printed check." +msgstr "الرقم المسلسل للشيك المطبوع التالي." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__secure_sequence_id +msgid "Sequence to use to ensure the securisation of data" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__active +msgid "Set active to false to hide the Journal without removing it." +msgstr "قم بإزالة العلامة من الحقل نشط لإخفاء دفتر اليومية دون إزالته." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__code +msgid "Short Code" +msgstr "الكود المختصر" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__code +msgid "" +"Shorter name used for display. The journal entries of this journal will also" +" be named using this prefix by default." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__show_on_dashboard +msgid "Show journal on dashboard" +msgstr "إظهار دفتر اليومية في لوحة المعلومات" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__account_online_link_state +msgid "State" +msgstr "المحافظة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"الحالة على أساس الأنشطة\n" +"المتأخرة: تاريخ الاستحقاق مر\n" +"اليوم: تاريخ النشاط هو اليوم\n" +"المخطط: الأنشطة المستقبلية." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__suspense_account_id +msgid "Suspense Account" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__synchronization_status +msgid "Synchronization status" +msgstr "حالة المزامنة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__check_printing_payment_method_selected +msgid "" +"Technical feature used to know whether check printing was enabled as payment" +" method." +msgstr "حقل تقني يُستخدم لتحديد ما إن كان خيار طباعة شيك مفعلًا كطريقة للدفع." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__sequence_override_regex +msgid "" +"Technical field used to enforce complex sequence composition that the system would normally misunderstand.\n" +"This is a regex that can include all the following capture groups: prefix1, year, prefix2, month, prefix3, seq, suffix.\n" +"The prefix* groups are the separators between the year, month and the actual increasing sequence number (seq).\n" +"e.g: ^(?P.*?)(?P\\d{4})(?P\\D*?)(?P\\d{2})(?P\\D+?)(?P\\d+)(?P\\D*?)$" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__country_code +msgid "" +"The ISO country code in two chars. \n" +"You can use this field for quick search." +msgstr "" +"كود الدولة حسب المعيار الدولي أيزو المكون من حرفين.\n" +"يمكنك استخدام هذا الحقل لإجراء بحث سريع." + +#. module: odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_journal_creation_view +msgid "" +"The account of the statement you are uploading is not yet recorded in Odoo. " +"In order to proceed with the upload, you need to create a bank journal for " +"this account." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "" +"The account of this statement (%s) is not the same as the journal (%s)." +msgstr "الحساب في كشف الحساب البنكي (%s) مختلف عن حساب دفتر اليومية (%s)." + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "" +"The currency of the bank statement (%s) is not the same as the currency of " +"the journal (%s)." +msgstr "" +"العملة في كشف الحساب البنكي (%s) مختلفة عن العملة في دفتر اليومية (%s)." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__currency_id +msgid "The currency used to enter statement" +msgstr "العملة المستخدمة في إدخال كشف الحساب البنكي" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "This file doesn't contain any statement for account %s." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "This file doesn't contain any transaction for account %s." +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__type +msgid "Type" +msgstr "النوع" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "نوع النشاط الاستثنائي المسجل." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_unread +msgid "Unread Messages" +msgstr "الرسائل الجديدة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__message_unread_counter +msgid "Unread Messages Counter" +msgstr "عدد الرسائل الجديدة" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__synchronization_status +msgid "Update status of provider account" +msgstr "تحديث حالة حساب المزود" + +#. module: odex25_account_bank_statement_import +#: model:ir.actions.act_window,name:odex25_account_bank_statement_import.action_odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_view +msgid "Upload" +msgstr "رفع" + +#. module: odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_view +msgid "Upload Bank Statements" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__sequence +msgid "Used to order Journals in the dashboard view" +msgstr "يُستخدم لترتيب دفاتر اليومية في واجهة لوحة المعلومات" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__loss_account_id +msgid "" +"Used to register a loss when the ending balance of a cash register differs " +"from what the system computes" +msgstr "" +"يُستخدم لتسجيل خسارة عندما يكون الرصيد الختامي لصندوق نقدية مختلف عما يحسبه " +"النظام" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__profit_account_id +msgid "" +"Used to register a profit when the ending balance of a cash register differs" +" from what the system computes" +msgstr "" +"يُستخدم لتسجيل ربح عندما يكون الرصيد الختامي لصندوق نقدية مختلف عما يحسبه " +"النظام" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__website_message_ids +msgid "Website Messages" +msgstr "رسائل الموقع" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__website_message_ids +msgid "Website communication history" +msgstr "سجل تواصل الموقع" + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__show_on_dashboard +msgid "Whether this journal should be displayed on the dashboard or not" +msgstr "ما إذا كان ينبغي عرض دفتر اليومية هذا في لوحة المعلومات أم لا" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "You already have imported that file." +msgstr "لقد قمت باستيراد هذا الملف بالفعل." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__invoice_reference_model +msgid "" +"You can choose different models for each type of reference. The default one " +"is the Odoo reference." +msgstr "تستطيع اختيار نماذج مختلفة لكل مرجع. المرجع الإفتراضي هو مرجع أودو." + +#. module: odex25_account_bank_statement_import +#: model:ir.model.fields,help:odex25_account_bank_statement_import.field_odex25_account_bank_statement_import_journal_creation__invoice_reference_type +msgid "" +"You can set here the default communication that will appear on customer " +"invoices, once validated, to help the customer to refer to that particular " +"invoice when making the payment." +msgstr "" +"يمكنك من هنا تعيين وسيلة التواصل الافتراضية التي ستظهر على فواتير العميل " +"بمجرد اعتمادها، لمساعدة العميل على العودة لتلك الفاتورة تحديدًا عند القيام " +"بعملية السداد." + +#. module: odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.odex25_account_bank_statement_import_view +msgid "You can upload your bank statement using:" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: code:addons/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py:0 +#, python-format +msgid "You have to set a Default Account for the journal: %s" +msgstr "" + +#. module: odex25_account_bank_statement_import +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import.journal_dashboard_view_inherit +msgid "or" +msgstr "أو" diff --git a/odex25_accounting/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py b/odex25_accounting/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py new file mode 100644 index 000000000..e9c0c4654 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/odex25_account_bank_statement_import.py @@ -0,0 +1,299 @@ +# -*- coding: utf-8 -*- + +import base64 + +from odoo import api, fields, models, _ +from odoo.exceptions import UserError +from odoo.addons.base.models.res_bank import sanitize_account_number + +import logging +_logger = logging.getLogger(__name__) + + +class AccountBankStatementLine(models.Model): + _inherit = "account.bank.statement.line" + + # Ensure transactions can be imported only once (if the import format provides unique transaction ids) + unique_import_id = fields.Char(string='Import ID', readonly=True, copy=False) + + _sql_constraints = [ + ('unique_import_id', 'unique (unique_import_id)', 'A bank account transactions can be imported only once !') + ] + + +class AccountBankStatementImport(models.TransientModel): + _name = 'account.bank.statement.import' + _description = 'Import Bank Statement' + + attachment_ids = fields.Many2many('ir.attachment', string='Files', required=True, help='Get you bank statements in electronic format from your bank and select them here.') + + def import_file(self): + """ Process the file chosen in the wizard, create bank statement(s) and go to reconciliation. """ + self.ensure_one() + statement_ids_all = [] + statement_line_ids_all = [] + notifications_all = [] + # Let the appropriate implementation module parse the file and return the required data + # The active_id is passed in context in case an implementation module requires information about the wizard state (see QIF) + for data_file in self.attachment_ids: + currency_code, account_number, stmts_vals = self.with_context(active_id=self.ids[0])._parse_file(base64.b64decode(data_file.datas)) + # Check raw data + self._check_parsed_data(stmts_vals, account_number) + # Try to find the currency and journal in odoo + currency, journal = self._find_additional_data(currency_code, account_number) + # If no journal found, ask the user about creating one + if not journal: + # The active_id is passed in context so the wizard can call import_file again once the journal is created + return self.with_context(active_id=self.ids[0])._journal_creation_wizard(currency, account_number) + if not journal.default_account_id: + raise UserError(_('You have to set a Default Account for the journal: %s') % (journal.name,)) + # Prepare statement data to be used for bank statements creation + stmts_vals = self._complete_stmts_vals(stmts_vals, journal, account_number) + # Create the bank statements + statement_ids, statement_line_ids, notifications = self._create_bank_statements(stmts_vals) + statement_ids_all.extend(statement_ids) + statement_line_ids_all.extend(statement_line_ids) + notifications_all.extend(notifications) + + # Now that the import worked out, set it as the bank_statements_source of the journal + if journal.bank_statements_source != 'file_import': + # Use sudo() because only 'account.group_account_manager' + # has write access on 'account.journal', but 'account.group_account_user' + # must be able to import bank statement files + journal.sudo().bank_statements_source = 'file_import' + + # Post the warnings on the statements + msg = "" + for notif in notifications: + msg += ( + f"{notif['message']}

    " + f"{notif['details']['name']}
    " + f"{notif['details']['model']}
    " + f"{notif['details']['ids']}

    " + ) + if msg: + statements = self.env['account.bank.statement'].browse(statement_ids) + for statement in statements: + statement.message_post(body=msg) + + statements = self.env['account.bank.statement'].browse(statement_ids_all) + # Dispatch to reconciliation interface if all statements are posted. + if all(s.state == 'posted' for s in statements): + return { + 'type': 'ir.actions.client', + 'tag': 'bank_statement_reconciliation_view', + 'context': {'statement_line_ids': statement_line_ids_all, + 'company_ids': self.env.user.company_ids.ids, + 'notifications': notifications_all, + }, + } + + # Dispatch to the statemtent list/form view instead. + result = self.env['ir.actions.act_window']._for_xml_id('account.action_bank_statement_tree') + if len(statements) > 1: + result['domain'] = [('id', 'in', statements.ids)] + elif len(statements) == 1: + form = self.env.ref('account.view_bank_statement_form', False) + form_view = [(form.id if form else False, 'form')] + if 'views' in result: + result['views'] = form_view + [(state, view) for state, view in result['views'] if view != 'form'] + else: + result['views'] = form_view + result['res_id'] = statements.id + else: + result = {'type': 'ir.actions.act_window_close'} + return result + + def _journal_creation_wizard(self, currency, account_number): + """ Calls a wizard that allows the user to carry on with journal creation """ + return { + 'name': _('Journal Creation'), + 'type': 'ir.actions.act_window', + 'res_model': 'account.bank.statement.import.journal.creation', + 'view_mode': 'form', + 'target': 'new', + 'context': { + 'statement_import_transient_id': self.env.context['active_id'], + 'default_bank_acc_number': account_number, + 'default_name': _('Bank') + ' ' + account_number, + 'default_currency_id': currency and currency.id or False, + 'default_type': 'bank', + } + } + + def _parse_file(self, data_file): + """ Each module adding a file support must extends this method. It processes the file if it can, returns super otherwise, resulting in a chain of responsability. + This method parses the given file and returns the data required by the bank statement import process, as specified below. + rtype: triplet (if a value can't be retrieved, use None) + - currency code: string (e.g: 'EUR') + The ISO 4217 currency code, case insensitive + - account number: string (e.g: 'BE1234567890') + The number of the bank account which the statement belongs to + - bank statements data: list of dict containing (optional items marked by o) : + - 'name': string (e.g: '000000123') + - 'date': date (e.g: 2013-06-26) + -o 'balance_start': float (e.g: 8368.56) + -o 'balance_end_real': float (e.g: 8888.88) + - 'transactions': list of dict containing : + - 'name': string (e.g: 'KBC-INVESTERINGSKREDIET 787-5562831-01') + - 'date': date + - 'amount': float + - 'unique_import_id': string + -o 'account_number': string + Will be used to find/create the res.partner.bank in odoo + -o 'note': string + -o 'partner_name': string + -o 'ref': string + """ + raise UserError(_('Could not make sense of the given file.\nDid you install the module to support this type of file ?')) + + def _check_parsed_data(self, stmts_vals, account_number): + """ Basic and structural verifications """ + extra_msg = _('If it contains transactions for more than one account, it must be imported on each of them.') + if len(stmts_vals) == 0: + raise UserError( + _('This file doesn\'t contain any statement for account %s.') % (account_number,) + + '\n' + extra_msg + ) + + no_st_line = True + for vals in stmts_vals: + if vals['transactions'] and len(vals['transactions']) > 0: + no_st_line = False + break + if no_st_line: + raise UserError( + _('This file doesn\'t contain any transaction for account %s.') % (account_number,) + + '\n' + extra_msg + ) + + def _check_journal_bank_account(self, journal, account_number): + # Needed for CH to accommodate for non-unique account numbers + sanitized_acc_number = journal.bank_account_id.sanitized_acc_number.split(" ")[0] + return sanitized_acc_number == account_number + + def _find_additional_data(self, currency_code, account_number): + """ Look for a res.currency and account.journal using values extracted from the + statement and make sure it's consistent. + """ + company_currency = self.env.company.currency_id + journal_obj = self.env['account.journal'] + currency = None + sanitized_account_number = sanitize_account_number(account_number) + + if currency_code: + currency = self.env['res.currency'].search([('name', '=ilike', currency_code)], limit=1) + if not currency: + raise UserError(_("No currency found matching '%s'.", currency_code)) + if currency == company_currency: + currency = False + + journal = journal_obj.browse(self.env.context.get('journal_id', [])) + if account_number: + # No bank account on the journal : create one from the account number of the statement + if journal and not journal.bank_account_id: + journal.set_bank_account(account_number) + # No journal passed to the wizard : try to find one using the account number of the statement + elif not journal: + journal = journal_obj.search([('bank_account_id.sanitized_acc_number', '=', sanitized_account_number)]) + # Already a bank account on the journal : check it's the same as on the statement + else: + if not self._check_journal_bank_account(journal, sanitized_account_number): + raise UserError(_('The account of this statement (%s) is not the same as the journal (%s).') % (account_number, journal.bank_account_id.acc_number)) + + # If importing into an existing journal, its currency must be the same as the bank statement + if journal: + journal_currency = journal.currency_id + if currency is None: + currency = journal_currency + if currency and currency != journal_currency: + statement_cur_code = not currency and company_currency.name or currency.name + journal_cur_code = not journal_currency and company_currency.name or journal_currency.name + raise UserError(_('The currency of the bank statement (%s) is not the same as the currency of the journal (%s).') % (statement_cur_code, journal_cur_code)) + + # If we couldn't find / can't create a journal, everything is lost + if not journal and not account_number: + raise UserError(_('Cannot find in which journal import this statement. Please manually select a journal.')) + + return currency, journal + + def _complete_stmts_vals(self, stmts_vals, journal, account_number): + for st_vals in stmts_vals: + st_vals['journal_id'] = journal.id + if not st_vals.get('reference'): + st_vals['reference'] = " ".join(self.attachment_ids.mapped('name')) + for line_vals in st_vals['transactions']: + unique_import_id = line_vals.get('unique_import_id') + if unique_import_id: + sanitized_account_number = sanitize_account_number(account_number) + line_vals['unique_import_id'] = (sanitized_account_number and sanitized_account_number + '-' or '') + str(journal.id) + '-' + unique_import_id + + if not line_vals.get('partner_bank_id'): + # Find the partner and his bank account or create the bank account. The partner selected during the + # reconciliation process will be linked to the bank when the statement is closed. + identifying_string = line_vals.get('account_number') + if identifying_string: + partner_bank = self.env['res.partner.bank'].search([('acc_number', '=', identifying_string)], limit=1) + if partner_bank: + line_vals['partner_bank_id'] = partner_bank.id + line_vals['partner_id'] = partner_bank.partner_id.id + return stmts_vals + + def _create_bank_statements(self, stmts_vals): + """ Create new bank statements from imported values, filtering out already imported transactions, and returns data used by the reconciliation widget """ + BankStatement = self.env['account.bank.statement'] + BankStatementLine = self.env['account.bank.statement.line'] + + # Filter out already imported transactions and create statements + statement_ids = [] + statement_line_ids = [] + ignored_statement_lines_import_ids = [] + for st_vals in stmts_vals: + filtered_st_lines = [] + for line_vals in st_vals['transactions']: + if (line_vals['amount'] != 0 + and ('unique_import_id' not in line_vals + or not line_vals['unique_import_id'] + or not bool(BankStatementLine.sudo().search([('unique_import_id', '=', line_vals['unique_import_id'])], limit=1)))): + filtered_st_lines.append(line_vals) + else: + ignored_statement_lines_import_ids.append(line_vals['unique_import_id']) + if 'balance_start' in st_vals: + st_vals['balance_start'] += float(line_vals['amount']) + + if len(filtered_st_lines) > 0: + # Remove values that won't be used to create records + st_vals.pop('transactions', None) + number = st_vals.pop('number', None) + # Create the statement + st_vals['line_ids'] = [[0, False, line] for line in filtered_st_lines] + statement = BankStatement.create(st_vals) + statement_ids.append(statement.id) + if number and number.isdecimal(): + statement._set_next_sequence() + format, format_values = statement._get_sequence_format_param(statement.name) + format_values['seq'] = int(number) + #build the full name like BNK/2016/00135 by just giving the number '135' + statement.name = format.format(**format_values) + if statement.balance_end == statement.balance_end_real: + statement.button_post() + statement_line_ids.extend(statement.line_ids.ids) + if len(statement_line_ids) == 0: + raise UserError(_('You already have imported that file.')) + + # Prepare import feedback + notifications = [] + num_ignored = len(ignored_statement_lines_import_ids) + if num_ignored > 0: + notifications += [{ + 'type': 'warning', + 'message': _("%d transactions had already been imported and were ignored.", num_ignored) + if num_ignored > 1 + else _("1 transaction had already been imported and was ignored."), + 'details': { + 'name': _('Already imported items'), + 'model': 'account.bank.statement.line', + 'ids': BankStatementLine.search([('unique_import_id', 'in', ignored_statement_lines_import_ids)]).ids + } + }] + return statement_ids, statement_line_ids, notifications diff --git a/odex25_accounting/odex25_account_bank_statement_import/odex25_account_bank_statement_import_view.xml b/odex25_accounting/odex25_account_bank_statement_import/odex25_account_bank_statement_import_view.xml new file mode 100644 index 000000000..d410bb15d --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/odex25_account_bank_statement_import_view.xml @@ -0,0 +1,55 @@ + + + + + Upload Bank Statements + account.bank.statement.import + 1 + +
    +

    You can upload your bank statement using:

    +
      + +
    + +
    +
    + +
    +
    + + + Install Import Format + ir.module.module + kanban,tree,form + + + + + + Upload + ir.actions.act_window + account.bank.statement.import + form + new + + + + + account.journal.dashboard.kanban.inherit + account.journal + + + + or
    Import + + + + + + + diff --git a/odex25_accounting/odex25_account_bank_statement_import/security/ir.model.access.csv b/odex25_accounting/odex25_account_bank_statement_import/security/ir.model.access.csv new file mode 100644 index 000000000..fcb23383f --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/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_odex25_account_bank_statement_import","access.account.bank.statement.import","model_account_bank_statement_import","account.group_account_user",1,1,1,0 +"access_odex25_account_bank_statement_import_journal_creation","access.account.bank.statement.import.journal.creation","model_account_bank_statement_import_journal_creation","account.group_account_user",1,1,1,0 diff --git a/odex25_accounting/odex25_account_bank_statement_import/static/csv/account.bank.statement.csv b/odex25_accounting/odex25_account_bank_statement_import/static/csv/account.bank.statement.csv new file mode 100644 index 000000000..7be40fd0a --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/static/csv/account.bank.statement.csv @@ -0,0 +1,6 @@ +Journal,Name,Date,Starting Balance,Ending Balance,Statement lines / Date,Statement lines / Label,Statement lines / Partner,Statement lines / Reference,Statement lines / Amount,Statement lines / Amount Currency,Statement lines / Currency +Bank,Statement May 01,2017-05-15,100,5124.5,2017-05-10,INV/2017/0001,,#01,4610,, +,,,,,2017-05-11,Payment bill 20170521,,#02,-100,, +,,,,,2017-05-15,INV/2017/0003 discount 2% early payment,,#03,514.5,, +Bank,Statement May 02,2017-05-30,5124.5,9847.35,2017-05-30,INV/2017/0002 + INV/2017/0004,,#01,5260,, +,,,,,2017-05-31,Payment bill EUR 001234565,,#02,-537.15,-500,EUR diff --git a/odex25_accounting/odex25_account_bank_statement_import/static/description/icon.png b/odex25_accounting/odex25_account_bank_statement_import/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 zcmcF~Wm6oy`}OYPR(5eM%Ob^Z++~5qi#sjuRw$I>Qrz8Li@UoODee@90)^u4^7QxO z{}G-SnPf7ViJeT6bIui}q9lWZNrnjk0C41F5o!Pc@Lv%KKnMNHX2D_{|1u0mSzTuU z01N+r2?$8fB>7i~_C-!n3T+F7jrE4^4n5Ts0DuDI5aJqc%SZaInPyVw)nzAqT4h=s`$KoWEP{9#b>FtMMiKjot_Wx*&YkY{Ri`FN;5iK=*5JT0YcyrV0H>(JU@ z+M@pTW5LGN%~i(IO3+H{<);U(oX*ZAJ_n2S^0KN2t@&mZL~f&=?PvYDHss2AHNOR$ z%4AT3mTe=!zv}WLK;^t1D~eU+f(;|wwoyv~s8`;ohdHJ9|Gz0~OA&EQwROgwK^dLq zzaiLv`Cp$XZIK*$j}9S~LTh?1#B60(`(whMH%B)Z_;5}XqX}PiWUvGQ0EP?%0s*dy zU@)MpI<768;AMl7+61N0v=5nx-tJhqlF~?=P{Y&Z}Kl7Pc8-fSB~ zTqO)?>eRf+z#O;lPZYE2gN$?*bX-blaF^XB)WBMWa(bRBwrEy$Aa?CUruB;qF_DW& zOJq+#>NJdfWeb`Viui%?Z^JA*DkpD%2-m)YU}*oO(fGXcBu$+$iiKmswOGet^at87 z*q0Ad3Ml_pb1n&U-^u2!$If~CiTiuvaMVDE>fj0v5a~oph;ur)&Yj_c;+!Cc$ZpI^#+x{ab@=I_KbA3~&X2TZ?tkc5SJTV;rTpn4 zPTAoGvgIRzEKcf+0tW!UOAO6Uc75Ki_DSJH&qyBohpGE>KwK{9?#Qy~mtDfOPDQQ- zh3|$kK`x{WE-@*__c$T+YNs3c!P)u)=G2ianqPyOT>QSiSo6=|@@ni|CvnmU+E75Q zd8R)QsM-^VZEZs3_Pa>z>Df?ntmmjl%i1PR&6d?i+|frjA-S@3`{a?z{fNg-oncdb zV7r|(7Y2;)jd7^E`6Ofqj0LHbJ5@Czaf`f#>NEXT60)nE7A*h1YaoGz?!QE)tYC^V z1^?SCV|aIo^jd+A`3uF$8)5dj-n)_#+I|VJikuGX`jfmNc0WcibIcO{tIzRgKmVPP z3Xlal$jhZCp<6;a{efv)#KDYOpNs>Kz>MF43^3RgU7d31;oexV@1OiRR!ZiZsg!gE`FS6F#hKOHKv6o?sDAVZ2n=xJIws&lrRXRxw z5)x2Aof;|-!blq=pRVNjxSQd7UNEoyK`D^P9Yw`5%Vog?8wh|x=l~aCQ485O3k`p{ zHtPQ8}$L-i*!{d=sVl5H7768bTp4t^SrSv-66KfkB z>A|Mr7lXnUmT9_u1~VM4^W^;=cp6Ae6V#!K5~F>P6?fea8;OymKbnYPy}jd0Xll`JbZuZc@sIn!JDl)y;+FMP=e` zXr?*=Dk`AIByE7?{@CHQrlf7;-$2_jtO$7jZmP&hq&%@2NKGt<-8Kkz3J1SAnD zAar(sr9o*qRd#huq#9Gfn)R8VYEG26n?Z=VYy?WpW|#i>0MuYzRDdty^Sk& z`#fq-1~AgKriG*n8I9~-{BB1=r@>;^!TSCXc_-sCS?NvxpX0o?d!^H43o++n{>h1^ zRS4C`Q{ibYmOg)I^v-y<%lNq!u(Afop3J-?RWg+1j|k=e?6ik5bkb~Q`N3afp2%84 z7_K2ZyYv0SKWuORNBW*s!)R{aDZ15mFj6dR>izSnsMTcw4m@VEQzH!nxJIo_dql!+6GOH~O{ zmXoC=QMZJ%0BMaPWT8i2kHW~V z2#jB^YnPW|t$&i8nC4i719g$-a}_^z@4e6^AL&{L{X{0xot!npXdy=)B(b1Zdvh0J z(_0_mCrLc~?-lhmq;>O`z8MV9;@gn%U4Wx%TKS@e5iM$JH z(%!*i@558|Gx9D|fAo$m=oM3^ITlQcf~d)w5F>x_v>l`gfd~ME2xihG&uBrd)>{dS zvsuSf<$Oja0+uoX&|zWd)SNAz*0b`hF5w-;m(41%`(1~} zhmkRC#VOEx6g+8p)#nW!*W>1m8{4Wn;mG9|BzUO~g5oN!GsO*teNNTKVPSzW6q zN>;lp2%BmlDU$QWz95=@@&;82NM z<5E3TEvB#fK1=h9A3e)w=m1FqR=-r-goGmYGM}%VHYk33P*3ppskLR6VX<}Cd=g_{ zvgrgz1ByXCdbZWQO?YirpP0XX`w#i*JGJyq)lQ8N9rh0eHXaT+ydP4rTVGffuzqBO zgXNt^4QI=qhu=7AcN{EQkjhwm-3)LTb0!w?;tV`qy`&D`%Q@e>_4FuG!3qP`cN7?ppk-$<6c#k}8MT;PiZ%g@jzKZ25 zyqm-~YDYRId=+gxt8AyifFskkK7h-b7~?Iuw|4=LTuMF<_Jy;m(JrkRQB`DnZS%KTEV9e`v|qK44tuyz1x7!?q4?E3U@>Y$j# z2Nu~`uwZ?2tJOK8;!){JL^QJCwzmhk%0}^uR zWYO;F-}#DlTzn4)+RjR!`vu@&woT2>em=qQtQ2njz*3yHAIT(k_R>P)?*`aN6T0iC z+ITwEF6R6NNJ^3gsu;&_PRpDuZis2KFhfzA!U^W&tb=U+KIuS==ZxGpIz_eL;~|1d z2FWg2^f&;1JcD5^DfPo`flaM($a8LK^V(4=-ze7EtKa4YAOi1cWa<-PhJ@;N%+DvT zw`)#^YlZZoM!ZU>hrTGt9K6p5+T9ITg-Th3V@rR2AfaQJJkGzmUS=9#jetmd9-a?F zTb9epKQ;8GV@4t+tTp~LJlKzRJB^#V`jXPLW-%(&BAzPkJ`bEm$)3Q%+YhAm}vt3@i*=MPFXBwC^ zK(pgzuX)4!_BpgnP&w=nlL%mgqMvmTi}W>Zu8N&G(F#=p26~SfU&YnsJ#e%xzeHlC z^4|{I@W5UUx97r&ojN>8jAhy7nfS}=@p0C9)@kPQtiE0#hPU-xFdA#U`DmXi1%>|9 zu!6BgWuqs(!!~nLc=ho0&5F=TUOQekuV9i8f95sbE3z2i4r1I~o71~qLcUJE=2i5x&p?rk3p!%& z(Ns+5ueoX?TE`-=HgYlp_^qDlSTEXf{n(5M%p7dsMF>ZHq$dQTPa9UW-3+?FPW%!& zccBYWLc3U3-Ea47#qD1$u_1;?*}!dY+ZWOUG7fOMH$waTCQoUL3Uk4#xh42D^7!F8 zGXoC#U!J{jg^gJ=!U;>c!_m+&1Ix@(+PWDnDqV%p-QPk_)HG1(QeS@r8Eg?1BSTPVv>t{p&3J-1cFKkG^To($V ztQ%VQw5t{mXux2rn?=aX<41$Gitx>IU(wbBoANI%gs~(P8ZqFL1kl%+oovdl zckg|DPi?C^KdH%T$R*ZVRgypfEI=k|ydN*?X@}ll8Y9?*z58)Qj~uRGV>ldbC90cA ziw0}2JzVYY*r>;pnj~b*D}Yw^gS8eZXC6XrWt3~$zC z0$@n+L$ugS=&|TChpjH-ZD|QmREuctbZo!fCUw<*1mc&EeEez1U&?WLwZb=?nj*F8qtR@R2A zMH;c#77?AR9+;~5A-xeSFDRE`#w`CXojl!Ps=nyow)v~TAwqw7y=?*2MZ{cgh zyf-|oCKQYZEllddR~Ft;&sjy5n(O%W8DVztfvfsuAj_Lk*VKkExWEA@e&ZpE?3^x$ zbzmFf)mj`7`bEqAa4?<+J5Ht#gD8RLyB>7!&rp+quVSai9h|q}cK!G~WS1sz$`-eG zoFt|i^mXhgAmND;$MEd{k^#Q(&4F6+o43Y)Bx?6Eox3~_t9|qp-Nv^uSv&1+snJfF z#_;rGmn{~s(&nyk6018N9$w#Pp)kO)0qp-J8|Fj@4!A^Nl)?=MDRk=?d@6rtp$L54 z``vEZ(N6U(dtJPFp^fa1u-cBfV8s{9XnUP~(ff_gqFeE=>)_yf>;CWco@p7M+V-Z0 zvcI+*%W5Zt60nGrI#240W~oU1fMFPYWP_aOUD`9hYsmfcrbp5B$@m1Wr!+pyLzeo1 z6@^4fkmc;}W$JfjklWb0CdXaCB}1_cZGZfioL_akRmG{6!db+nkb}5B@*HA+Y#QxB z&YFfC-*rM|(fh&~4}*0R36tb(?yVZh8x>4;g*V(tGQ=vV@viITUbl5QhlNn14@iuA zF(C9%XZAo_zxy_czZIT3p+qBASK2vHEQ}1{k-wxkeVl_OvCP~zCzkt)Qr4U3=$PJ3 zQ%{c@jWZ_f)X1BKbDy8AiN(&Q5&%65pv3a%sIdPSh-Ck2YU%vhTocs~#AGZ|0WSZK zZGw@+X;fS#-#==vb81K@`_wcoD`z(Sct&c2^N5=nAWMG6O=y8goW|X;W4j3X;b!GE z`3X2~9Jb)ZA#r^ik=SV}m>LYx6*l}&zuBiWoq}$3K~6>cQOz>*Yj1|SWt`eV{AqgS zUMv_;(Y1^zL)EpBnKoM=mNp4J#Qej&qDXaJUMU)T#3~?U;g~ixa z@~s=3NRA#Cv0l{_uz_yh)7BX`#x$;P?+rg8!Q*L_f-zH%jJqL5(Y`@!5^iCI0xJ zj)X$=_O)>JcO4S85c?@oU&KcUT2G8hTIx_7=Z}68{Yhfw**Wv9tn_C^g?8e{bYeWXWA&VN>~54#EEi==bgZ$IR}R1CX1Wre$Iiw3&p@961c zQ3g@H)x+Uo4g8YZqy@u`mmZMn((L%IE~CSU@RNuae)_?M6cBJ&S~w6B+uy;O3iy;?U6Pk%n>D&#$)w~d+<2|3s@{EabV<63;g+9ue3(s?_H-~R6C zewQ+&)wm`OvPGDj)iJu){Itc>thk>}yYTx-;oG?FBCAr)wC|q&?dfyUB-1eFwWD3s z6GOhvCUN&uQYqB0Zg{`DA`&D}v6hkFt@TPV+;g^XL9u^oXgnZixN048p03IHT`hFt zLWc!*Yp0wp*a! zv~ScWA8Ty_z-JErMi1P~D@x8hi>f}h=bsN`$Mm7T%>xdTFyd-P^FLg9aHu7kHFA> z$Q_#cRzMEUxV$E>7mgY@j#I`?cV_J$}3TW!qklagUapfG!De;iS+&>C$tuo9Be@ zTpbM2p;O<;@_bkl%U=0Fs-WjzX>QDa9yn_`MlmP%&RP)zGb~m`0uH53gxZ)jl&BCA zlpM*;FfhDVo07+8^7p5I9~-Ayz{Efe#Cs3MCoqA22j!uvz{Bc{7IhuQ6O^Alia61Y zh8RPs8bPvA1P^_3hLS||9wLG}tX~QaD1DoTX<`oCB{D^?TJl3-8+L!c^fYF>FGX3I zcuQLR`hL`v_4<^@$;CxYCatlob8>X_a*yNNv3HB>H?yEdv-MBq!IZ0f$=khIwyu|V z=Y`TL_61@4K?%{&eZAJQBrCA7k#F8Rp;>kg^70@K`V^{t?3V$ID1rW|dJ1q_bS+tx z0txAc5;!B&1c7P-qsN1Z)v5!WfECV4E@L)b@RLr}3!Buk*Ky5>f9D;xWxrkeY!$bn%vaung#=!v zO6P*W@++5$_$CFm){DjN`+#w2Yq;bo2@uG;;cx1DoHymcT%|R;Mk+(l0k|( zEOzf~xL(NJ7u7#K0$po_M!|TQ`f5aCD6G=O%ZQX4+d^V*hq=1r<+j^5mvbjQs^~=c zTO@X*QGkoqbDt$23I%q?xAa&jKGPWKrb6}IF5Guu?)2T)Re3um#}gDWx4#>+E;GHn z*JDUkQtT|8w>F#67_31K7tu}6CE;Tm=4iq!?Phzf{|T1r#7l^GD#OywSAc(hPGzNd zmKbMV%@CRLsAhqXldz0;!1^smK|0$AO-e3f3$>A3Z}$&-cU!Ow4d*{ zyWpHWaiASDtIN`@kIyA*H|$5;V;D-3W83}U;Zf(|*M;RjyJ%DBdJ5d-zGvZ7t8@R* zZ^8c7fDj@}fFEcUcNTi6c93a4dfAPqdgk2a9jZ!U9yVYy>GC2Y}+7Ym7-?Ivlr zJse;$CyByowsShatI7#`^b#vGlO}(C08O^(|EH>m5RJfQkVOuZ7?X|Mr;wE<$RB%G z>5=r_3>Y~4`LVsf0-XUR91cNJ$tTrK%$0^hXvOP7i699-KxW;{IP&eTpZ7RGCHS{& zg*@A5Lq-T{V?6p=qa^u6rC0(e^?Lw}eq~|Jd&Pn3ar+q;3qVc^RDsK*I|lG*t+_u& zdF)NVHNqmhg+`X=|Ac8e+$1@4KEBk6+oJU@v#>WUq!R%C>$oa=SKOg1-xe5xV1m-2 zgtGjI*Wk#UdK(m$UPH?vmY92z`36$kGq%blp5@Ue3X7*b4qrBUQtab>&I-&K>d*=io6?cmA&7-dA>fB$Wr5) zMUnH{s1kdiF>C8P@4Y;F`$)urOI;oJ5B?DnoBgjgIa8G3E?pS3PF9ymJM)&SM!~^f z7golTQV#FeZzr@+P_1l;FGx6h^Xw2JQN{zlYj9pp&*=ooU4a#^uk}B(=wizl%Sef6 z8lmB0a-vxz2Ilb{u?tL!B_^Di-d?XO)~Gb{FhFvMG?#8t7{TyDh6B5`)1-3Mt9Pk} zjh3(q1Wf;&^OvjYlc z=3@~5Q`;MBC@j@aVE9V%f6qhei6ov^Xhrl<17%o<@_}#hbY-x zThjYKFF?3@@pUpY%1_WaQ=@l4*-EDJhlH0~H`R5GAV#Q#bZ^*NQMIr4>(2xs;<<4u zZ+e}B-@7hc?Z#o^`t`@J>9k?y5q{f-&{madrufv8_MtZ`J~rNQd4Hz3&G_DYqb?=U zab9zIg5x7-i=es6K_5Q^g}jPrCf?fQvv`(pbw!sK3$>o*t80HSPYW~>SEMSq_Yof= z=-2$~R4!+tQ;~v#C)d3CP)!^tq4AGtS)ibxsAwv-xMje;zYxzN zK4KZ;00OCv6AxWdev)jrZC(FX+e=n*uhkyMKD#3zXT6#Nicwg;ApM zprF)-M&g@a?uV6PH(L#>qcD%BJvA7ajnCpz}E z^xA0W>CO$i)iBYU!oZ?t*Fi$<%&x76L#y}bm{?O6Q79-Q7@zNE?GvlOf*bcJjXQy= zl~x}-Z~yZ-KU9OL5MZ}=&mUFK0iMzVS@tW792~I5O9#rKoa|~$h~rS zEMvaVux3Rd^8NfJ7Qhje8-=yI1gg#S9}HnMJMw15q4Vhie`&&Woq_AL_OQtwpMLdr zYL<|Zds2u1s_~2zK<;pHPMq!gCekm%G{U813KmQ^T#Ey5{5Zhnr(+v77l`rDp7L>S zP2VX&hxn*UC>)WB4(qx&utj_O#X_c$s%KH5E&M)~nQoc+uyIn7S9iX-Btb%UfP|o~ z5Ke(BC5_k;o|cvqkBIyvn{EDX%BQ__9fNdXC{nc5Ln(rUcJWDhs33Mrf+c*I|6-8L zNeBhN@?MsO5l)C>=5($0!e!Y9B!Vxm?61}-Fz|!_)fG>SQpZIk}F-Si4|wvaj2KYqD+`QV$!p_rt0B>l0lG z5$&R|VKW88RiRBCGCIf{D8ZD+lq)f}@1y3Q3bujcydV3K2&NAuQ>CE~#fY8Uf?lx|pA3mh)2kX_t`lsAVkth;7B8_Fmc+ zCn+SI8BbOaQn~m%+$Je0sgsaUO8>Ep+^tJ+v|YqqiMw)sX^%qevk7o@>NE)GLlSj) zidOjWP+aEd>BU7~fV1Z%mA>7qz&9EfD~m^f0Ew%@PsAf>i%JPD5yzRIAN$!EVQ}bxS`Z-+5lPqAY}X+M8y<{MD^c&Oga!Q zQ3QuDo6W>BsG1Sh!nEQ+81Ya}SbzjA5TztemOvLJIX1~8Dw)6vMNb#Su5m_E(s6%l zuS3A)>p(h0@PG%B%anxadDL>PMef_e$xRIA;iZmx)tdbK ze-6|v(U6^OA42LqD`gM+GMChSJ?2{vD_Zp!8L4S&9LMy@W@ClVr|mTtY)4Wn8|C8p zi%V1u9S9We1;q{N2{o-A-c_0dsc93w`zYY-rJJ<{?&Nday7yUdXycQCoCirv>q-?T zsKzHS(%hYU{na)6>`pqA9|E1RpU}Scht+SCU*Qju6eT?h50d0IJ>QC5MDZ1mb|5c% z2d=r^k0obRy=%(kRahy{1*E#Mn2Us;DjIK2 z-%jXVQ^veabq;7RH)_HpoS96+Ui$NtAxMYo;68k|D@XVA;SrDVc0sFUPV|0+xhjLp z)oRDMZbGWT+C77n?`g_O-wrjM5srh|RG z5S0!KfYnR=&k*OkmhU{qBzQQjlCY`z6S)JAsF$(noo_Xf3)&wLNTy}8U3M)F22!usZ!!Mc{X*%m zu)N@SU-DMZdEWe^%wkH&1xN02Ju(UbM|X zAOI%P5T{v3%78%IH<8O8t8X^vIqi7flyc;krEW3z_*Vql#}kYs?M%^3qzbt9)EGBK z<-QFRZQTNvr?P!aI>Pj0SM{H*0l^EzTO0Y|} zn0QPIUWdk1cfZm5qN(<}CIl~eo~9kVjpK@@$hH!N(_$K1n(`AtS4HZgXY|Yjj|y<@ z-4PN8^$+u58@ihByXHf-VkbJO#U2M4d}O7(%n)OBV|V6D$I`Hd|3kDiv<&I@7xC)t@jlfl%0k!qq+Acu47BG|bsD+VM;&Xg6~ar)FBX{Lgxo~o_Q$qW zmvIg878_N|)Q~ks00~K^_XuCis#WJJu!3dm5^WG3aq*H|9!WyYbS4_GSLL7UDI$n! z^JsnH2H9a!?uYkL{e=`dUP<3+6YqQG|2=D%9*g!mncYQu_Px~fTbF^sn9ZdItY^_~ zmJb~fPAsZ46`V$%ADrfZo-FhF?-egeCiR5@p>k?EwpoqR{G5uj7gJLL8xMn)O)sgx zsDUV0=VTwS{Tf|4FgYZL_%go{2G{2yJj#it$^Xi(X&i$AZ;NeBO5%vthUG62@H?A8!_?0!YEN z>)BBc5ey&J{c@^}@Uk<$fyO|0ztQ-{TLt;ASnbCA45)N*jgjWpNd=VUDU_1xQ3$eM z6Y?mKYbxw19EeUY^POb3xG z^V79W7qq{r9m;t;)i#jii3bs&13vc!&h$QdTMrNlvg$?1Y5acso#v0HPmhl7r+Y$e zgL}!Ok=1_O*NfMaYZNo6jpX~64}(h4_Bnl-+{kYo6;D6XoC24;1 zx8LDQMaO)g6fh>47WGR(@@0)-g-VK`5!ng-TG~0phID`sv7=|V;a&V1O#X?Qq}ELu z9gq}!6a72I^=_;XLkdJQPS`=sj^8Hub@}tk@{%0PwmqkS3fUN{#ApEeHCs!etCAu9udq& z?84sQo+&>*E-$PmT?S1X^>>+W*b0Km)=sg95&v~^dfs@tE6vC@?`=C#{UTA9o6Y#t zvHiEW7|N8<+tOjh1i#yr!FQVP+;_2FIE?=prJ_N6l`^ntk=l8&H#r%OJqm+ubh05? z7yKPoHNro3F`i)avhNh7MgW(Yzsa4SL3{OqUC#DMYtH|R#2Yd<8mO;vfFZa}pf@_xV3nOzS zyFhtG)nTxpV=6NSJ+8>Z9INZI@o*c^xq2D67qcX95t-1o;qX~}VDq!yVrM^7ZH87p-CaK+U* zp9yNV2Gh%iACjBFNt4P?Z$>YkPIZN#M!o;Ukq~DxT5z_-Y0~_Z&~z&0I-NCd8GUt z7a3D-6D6GZA%ZO0Q-&D!55265MTD5m%x_#INGF6Y;ymU)Y`gFe8_-NU)=Gz(>=yS1 zcZawrs*DnFMq)vNdAzc+@IQ6l%M^|T3Y#>$kxt>!`L>?M**e?@sEPo}pu6AYu(4L; zcL#_Krb7E9bkB280UAUc)CVtr!uI}YzyBObhc=?ja9%1vpulLuToLMsC5G1%+1efW zyaF?!V7GQZ*bO!MTX*OdmgI70db3R5lD9F5Cl?zYQg?JpNPwR3WP zJs(M5J;*U4ecv+ttUwOVNivK&?91)9vCD>KdB!XN|UG z<~e9xd-y)?)yCLTf*bc=`~eC$l85Ev97=2+mA?CnJTog}!Pz#?Ok|q#WalPY>X*J@ zx%PV&1_l=7yD71^S65-N<7j9AM^kh;Mq6yy4Q@}$Ex(ab=yBiponWw9XwAKtGH|DG z!zEg}-S?PYB_UT+J}mG8^R0ClW>P=d%+z{FkMCTNPP2LOCn*)$T*!TSPVL?|#v+aM z@7esk6q97Z@H|_MjF0tWrC1`%%SZOj`uaBgYSd|bm}qA)Avqmq7q)H5AAeeArEAzb zpi~N9-z8Am+sCzHto-l}pJK0QxzH0jZP>V+>`wpwSArZjQVCe5W?LCHm=Sz4kGosx zs!;feS3pc)h?3L<(U|)#$h=UsQ;|R0#VmP7xDWr&Twk=A*c*YlBCmc+9|jf8@(`ro zV?1RN<$$Jw0=Ef)A?jpt7C2|jTzF4;b?42Yn8rcfBA2uM-0Lb3MM&_a2Xv%UG&HZPAszJC%7Np4`jm?L#o7QFVH?7kukFz0>E66&cruY%AU-fE>x?|5q(4w$A$ zP&;#c4rGl~`J>7AszMxNlW6fqJg<%J3q!G*6G z#)2PSgEcu^q?k5HHXDmR>9Owc|D06~@|5aQ7$rW~c^p4%iWFxJbGR#oeS1?7bms4- zkF&%fK}nyVl>E2rFR}J}gEsYdHfFf%$0d_pS2@g8okdf%1kt{pTW8Jm(6}alpR4H* ztZ<4b7Kj|!Tio73dJO`Gnp8BnvOEV(o?hqhZOF~evAqxbUAq7>ep`Ioyj0)2s~-np zyLDu&bKEiX_&X_^QpPlVG%RnkUzMxZO6g*K4-k1(^f#>Goh19vSawW93qtJu3XIk# z#1+p`iuR-N?W?N7u*`DD-U9nW(p=vy`o3J|*nVnVq!l63fGJ)))(b^EO%A433Hi6^DrvAW+3&K!B74I&BFYj!Y*c#sQ7+#4=Mg=?Mj?!Z3AY;TSf| zCEP$@M576^ZtOQ?LQJ|)o3M$UkPQ*{pXT)Mg1+|g+C<)xTi70}Pj=h|9G(E#=&{Wd z@olnHzby=Z&zCZAyJ*ED?9JCf9v#jP%hfa9bv`y$OyRR3V=OR}0*&@Cf^KhC)RkV> z4;>U0T3O=Rurb+#4b+Nc8Jm&Rc8Eem<<{~@Tp*oH=@azFud93i^aCJ@6o=&!0PRYk zznY8F2N^)~TTc~^fP;Iqu+$Yk*HiDWy7|RX!oM|;y5GD5*OgOIsa*;jzE{S95EhS}BV(cO zH7Iyfv`l!KcjwPNBR*2rZgrvL6G8$jB-*JrKe2+wQh6M&8=F&FancF-EpCS$ODm7h zWvHCT?NsG|7@LT8oZku-VqEzKtqx-&5Jek@JpW$&y}M%k)x|X5P{z}wOzUy3g|~(4 zNIBhjFCJ}yJ~%xLj5X+FsQpGi78@;{S%aUQNT#^?=&ksNxHhnN%^@!?LL&!UO@bjooM= z$ReKT=z^ZPAW(&9kG0y35tYT}*)5eQ7YJk_ZESCIWI648>EwgOIdo{jIfKqEE2LR8F*z8KOPmPN{r|`xIr@{n2D${(-d6YZ>e@J zBR}i@`(JFd>|f+u*MItMZ8n7tV^DrNTC56WSNy3IoxMm2ROm(ug zpS|Zs`qUR%t{Z+}FH*Lp_g`N-)!LGKI47*Gk;zzPAmvqL+wVE%9{N#PQT!W4vNk0e zk$gpQum9Ev)o0p=dyg?Nx1(fGWh3Rl&VX-s5&^PG1JZBMKV=q-eU3>nXi=8?W(W{# z^rj1gk2jK?YD`?XAjL!inV=~Y+uGc5yix05Kb?P4yGTt*MKMeCam4nMw*6Wkh{2D0 zUFrwA9mjN!LgLjH+K~o>Q(mmsUI+dJ|DKaAk6N!uSuj=_^ays5r=NNjtXFo{mfB~4?_E?#xfbU<=UUEiXzL-4$8T1mmgCh z8dl%(;BN}gvwWztD*prFgpt@_&OwzDq!QHP2sz^zw5`53N_+_vW9bur)t6O) zLIgT%Xa*8k&qLd4zu0ww5*MXWgG|LT z6~;6L$jAISc8eM#w6)5&k!@iw#qu9Q2)?$X(1p)8f{GZD{A48`RZRFpv#V*Hg#6-l zZh*@F&GwkoXCY<%$b63r!8Ku=)M$2)m%T>uxY^9h^@5>ycl8M`*=-gwOZkVBhuI@> zG;;2rXDLaj>`Ynpk9*A@zb=`}++_}?@+^LI?)LtAa+pzu9@w}eNEIyLeR!>a5R%rf z{vJ$P=YbVIFq6pWU~qf6!c@xsD@YQEtP-1e!Hr4%`%u4!K`egpdWt=8l|K$$uz93= zwUO+x`O<-4q98^mtPeY2a#DtCymLByxjnZjjX$3ib9dbvuM)o|Am?dEMp=qPc;uAag+?wZu(h7X!IO#u!({rS>*Uv?}g_)$bdYkb*qr#UB$JP^7g?`Z~}VBdYk8XJc#i1GAC_A_}>5DT@h4B z(8qYr{-U`^ZmmIasQ+4{#ZBw@M&YMq>KN4@FU6D(p~H+4GzU#suUrR&O$%)gS!cUl zDO4t1$y-38?Aw7wbaX$Cp6?wKdd!(FgVTD9;J!icwo>$ZMbhe)lP1?kL7ZRg)yX}>)--WD7~ayp~ARqQy-~6`{VKRvR&l4+MpoNJLl^y#U;s1F7Jb#GdFRyH%^_VPuYG3>MF6Rq+ zMr$baV|d`Ne!o0Bz`vk_<^l1kt*kwZ%EKK7wa~k>{z*#rA3vS{yt%jo+ePJ(u>H;n zM+Hiif^lPl1H`Fi&WMtgLtN+^x!%{VhpL^W4YMo!zuL~Jxw0-=!`VqXHahHB9ox>1 zZQK50+eyc^Z5thS+#P$zwz+e1an4UT*K4k-xvEx;Iq<&EG#pu`G-G<8#i_Ji8Nx&E zLW;jnX%~TJGJ#z(@EJ+&_sS@Hm2doqY*Ci~{{E=#SLEt5zd;0)V^8$~@!SUrbal&W zAy^uKwE!L3Y1ZLWUdiFd?5n z+oMF~xXlZ8`RwapwB=kedXQ!0l^=kd?bhq;@BcEPb{{-c_98_&Fsd8Dhcj}Y4O4cl z&!aB5lX2FbH?AufzO4oQd?F`Z$X?P*xBoc-=A4LF5P!_jrf5yu%H?rAZ?v58v>f%F zMg5yW9~~Je9FpjmDgV%HfG@4iF7(5OM{I~}*ms88tbZbZ;;2xv!DYw)qO!H8&ufah zi&&l32Bz>gn5Vjy^<)?m#R-Cjz09J`WTXt}I$d`pM^T@5nO z`l_!xz+2Quv}FA{h zQOOvJ6GrByjAEe?T_k7`&@+}hI7{`bxA*F@`-&0A&{@LA$ES^tBM(+4p-6_Ya~J2+ z`()EXr8t#^v>__fXCbJ&wrPSk7L&=h_E>NDJLZHK z9E|tJ&D0O|6?}n10UMQGWso+-dZ+igyJbeAy)9MtJ$+W%nW=+%s-)Q5Md(;|y19K)wAHf2wq5 z?z`T8v5dEJf!@|y43tJ*7T0v!F)738u+|GR$A~&-BQ*3zO|glUV41}f(1$PIQuW>6 z-@j8`SV|Ptmrd=WooBk9ioGtBI{)3!q(>RM9IhuN|B~<%r!r=thMjTNCw%tnJwct zh5Yt+-dNcJVG0sEknCiDnjhy&?G`i2G!r@vHa#Q#R(K*TQo#q9C~Kv?BqbcvlHk9_ zO~|zf-vJ&g7BL}@A5%3v^9fji&K~s+_t+2cp@Ot(t8HQsYt#!H0zVWwbs*b-&lA=2 z@jQomBGbej`JPjMg&F3#_AL+M(EP$7kMvWls?wkK2;?>6h4V=0<1EEr6|pZB+!FH} zPDx!)fwCUM%&a@l?ibm%<%c^UT^bhC}n&zf>XnL!K=bl|B$cKLvD?0wj}8OxW~ zdJcqdQeK8M|H*r64l?FZ)58BD!CA=h;L|vH^6Ci+10=qnn$9bw6qEI=O(YvXR4Z)Y zhKCnr)$-SiU{$N34z#d()c3mc?ibY4G%+@_-KOH>w`hXzm#E8nVi&d+g8u!9y3hS@ z*uUD}O1qS%sp(E1P-R-YpHbZBJ-p+Ch{~#@c7R>BGZZEA&kaQvW$&436Y$lKGUmbtY^>Kzr;D7jf?5DQSHC#fnbXDm1Jh&CM9%oBA&kG{JGTrvz z3I|`6={OdMl*xl19vi2DA0Evr5}90EsDWHtFJm|c`QlZ`tDKI`=R!h8C4k zZSXqOVB*QPp7nJ1=fSvj4cf8^I_g4s_{3@ceD^#>iY(`(SyVG4E)CbY#|gTtJnspQ zlp?1sKvgzG3}q3!Jh>%r5o#n1XE-@?QBTd%8mjeu^iJ!fdOUFI1O3y%Y;x%D;4-B6 zvow}tsIdKGDO$$A5-44Vn?x~`jpW*I8st+KO(cUb=#FpGeu}-%X-n`yK{v$MSu*zT2OdZHr^e=fqhIaFHZRGu_2*@2duQ927_ZH>^R+i{5YT&7 zX!%aDN>%gK4*O2m{IqJG9q;RE4{>B^W3@|0i}oGuWjGn-^Iju=y9G&@OuA$C$VD)= zO(|bI_SEEbyID7@4%G+t^D{iwmO_D}w(u zF$BxKESxRTH)s0?NP@++j||_Ytd%!GArMxmd3sDy=)p?1QdX%S2R!zjN~goE-Zq1qk-sP#R;+)EC_el-9|*}y#{Q#T z2*y)*8l(_9`sbd6@qOoWk)s* z45W+n$xglDBN`%b1U7PucuaOyk#uX5ZjG)`^52F}%88Om(6JL;i>t>W2Ew7Qdfu1< z{GKU`I3X&3^*>OGKuV;nHXji-oTcTjxe7o_p`js?2FPJ*{_CYQ2ABx!;UI0%~KBI&m_5I9*f z;G%jo!>eeLVw8Ckyx#wDLaazFJ;&Y;qM=hs`dzpezvA`ruoMzzefk}Pq>u%wJjegp zJ%2TH-X91%8g(UOf2_y;2jNJb8oF4$K!+hSpn2u?r_2+vqnY`4&UYwv& za(r#95ri~}#Y}Y5?LXX&uD!)U>tW-SZ3+fkjkX-DZes7_Ou7KqkAVa{Wa+&(Xr)T` zPQ@$CIzqXB@C0EJgvlbtSpWWrniaddT$@`hpDCP7zS-@tg@i!)Ts({v_xl$}b#^(% zs;$F9v~T%=^1(M|D(6Zj+52uJ5CwIAE!(xP*mP@|lyF~M7$YemfJ&k?kf^y%YfjmA zO@+uSeL2&&Wz@I&`Y>!&!SL%x#ds%$M>#KZp&D}~e_zUlgq+7Ig{stO?-T*7STryK zVz5-9ti=tj4mggX=Mp@jzHrJobMTnsq>PnAh58b zl14R%h3T0EANONW`QNWp3NbT~m5Pa?UXEX&Sc_Ovf7fzpn@`Gfq1B-=hBhxdt$eQx z9@u7)ymEtL5JH^=>hAa`}iphSJl+H$_3hm?;k=DxH#|e^ZtG`wtIW{CBLlnwlBtsXa<#qtfU&pdNbLjc+5Ps|d(zh_ji%fsI89Cb z+PC@9ca+1cUVd6xUe?OtrEa47dn+!`6M1$YY5km5wzO;KFEj0K)w#d*`d1Jfhkn}n zJkJOFwrc_iPhqJaoj)taU-YaAdgu)LMHMmlJ{AeP$l3dNw}c>R+if@hn-1KIY>{n+ z(Llqa)cvhd%IvcgD%@(VRRw8a+*MPD?Popvdk!O5?fDM zv4gd+dq6*^L=bwIoo>)%wd3jrRaG~Lr`jAbP)DG5pr*uvwV1!wn&kPXfvyIb@#9g^ z9~=V$Xq-YFJ{AxKMvN&|$x7_H5krfZn`^cwRyi=K|9Gs7gZjnI_G{pEY}WALGq&Xy zc6$@AiykN35WONcaG_&xfHZ>sd61IWqfe{(yXCN%XKO!r(>|WR`8Sn8QTSqM3rx0X z-Ce=RJjiv>_N%i+nsUvG1CxjhML>1Wmj8Txf3jDYSiiQmn}g&2+eAJ8mA1OnWWTzy zoX%;`Mpngd3NdL~2z=8j^!%?r1M@+SJ$|$4=R!)c8tu&~g{hrab3A!ccw{U~xUAaP zkaiu~vf^-NoejrID^3pwXIvewDH5CTLH>4!pYF>HdxO^_X;=jWsJ^(Pf z^i59cLKQtrL6kBlI0l>{4vU?~Q+88Yc4PfI`74`HOULs@8`Lk!E3*Fo?#(icn~(Xz0hQQIlhdFT;y>RZ`B0fcD)g8 zrO1?4!No?LNb)S9Khgc&5oD2RSu}MxJTQg;L`C`xRe#U_Z&!I3-RN=6_QRGaR$T<0 zl>f?*NxRotR!{RVha4rmHW~p_F!hZy<H1 z(A`w>*27GInuuHO-wZ5aifBJ)iwX(}?YzZF`Li)N_wIyAC}r&93f{YmDzXQE53VPk z@Zg{S_!HgTkhPLAZq+}ms@|pWWqxbuikF?{{SMZV=dw9P0F*#tRG4M6Aqhi~-Embx zl#*8ifi2Cm`Y+9f=#atckGR^VYMWQ(O=Wb|DasB+Ri|{tqm&T!NPKdTBv6#tENQ(i zf8Vne1e_*P#)pEpO>Gml?`a@CmE%BzI<-o5eBLpL5YPyO8Q4NK<8 z=pHIIa$mj&i!v-gwII%P(&CmH4Pk%K^4XPkNd6+MDm`bXA2V=oB z5qz2(O)!^$vkZdt3M_!xpV+>JOz>p6gFv?aGpP>OphUD)%d>IBFD!Rk^S=PSRH=sYJ9Qp~K}0+CZ3chNXjAs?>1rB6 zkwPb_0SFZ6lr^!dp(Y&6asW_2;SWXDD34Q))K7wM%6^KLvsi(V1>%9EkQgeIjDT%u ztfOm#8yO`Ctr1KS9%!{4nSTxmfAY{%uDTm&#jw8xhG8L;^;Quu!g@tTCO{$Ws^uc2 zOJ`z<$SJT@ktJ53d6_`|sw&4Rj9f(%Tfo#4j>1!=LVm;^SYr`{kBS5^1Sh|pLPkkp z@z_FPn*@(RBr8ipUT=LfjfXZa~J`Fre(GF>uMx|qZ&MLAReRy9)$sF53gtS{m+x1m@8?%#z$PAZ_U~5b{`Ws zeZ(uShM#R9{ilFrDtX_388n|32Su~K)3!gU@dj&V(8snw z|Hu7E`sQ;vfe7=|vi`@%VOg0zHVMj2x-$p9z|HWQV!$QA2NXu=>W%$-YrP(~zaF9| zG4_Da%kXLQ=Yc3rne$7Ytl%ec49-lz86Su^L+*1X?@I6SfgDA@iHT8ZBRw5c(REqG8&ALgC_i=+1QuNGWs?MU_9Rec zQab-@6HLd>CnkhI`YfFREUs)DuPaGTLT6j6s!o}S4a0Jsi%YCRiVu`vOf%GCCK>Y* zszIC_7PQ)9G*c3>V-*02%NA=Zqy+xpkpIBF?(cey|KdRSQLQIQNhHm-wzfE4Y^?DL znvYf_w+6B1(U7I3Ib8^5D%?Af!7&upx@DE7C@WAQqXDp}U7kb%CM#9>tZwg7^?Vab zbFzg3+47Lo#83D`B8;GPnNmQ?jCTUdFD6vBdLLhbMZ*lWLDIN~SN(os(>^YI7E&@= z+L99W47hK=;eKw{pLH|$i;LBm@d2^$&7%IkF57y)wTzgUu@RI=Fyyo5{CA_tlSQhu z&Y}Jr2=0`I&#YBRL{<{5w`#?p4WeE&Mh*o6DCPsm=j67Z~&Vm5fCn4v<QkF&PZg)l}wsW%)fU)tS3{HcbqY+c` zQ2fqC7TrYW=a2UtCX5xi*Kl;e>L;W@9S%#G=VPa1Y-3Awpgeq89PRsugQ5dMg)qQ0 zxD=LNr^SpaB?Bvo&tZggjOdOQn@j?if^Ko`rjfd@eG5Ej-wt}ny?P%Gmo~8#{;}6g z4F21lPM`P9IXpz*1~@S(M5RP(LFNR>noKSKzP)Oh1P55cH$6T_1t)XkqKMk|;>0PQ z9hAA0n(Q|6Xz_5iSnsvf%>?O@-fo4!8DW#gks78)WZ!`MonAZ*R>y-(hHNGG;g#U?S~EZA6ytoV|VR zSFkB!=`e$ayM5`gTk9|{2>5RRn@2(l-m4g2)6=U7OT_$B95E}4wFrZpWx37|Jf^wz z-?}}jMH9nBp59Gsz2JEbYEGs?5L!x$lLt&?Xd9Ubo`nS57oRYXq=AgpbZxa z8ic|XRt4T_U5=D>5<=pyDP*D_N2!wwrc%-JI@gH*@da22G(RE^az}iDvr7 zn5VMI%w|ifd5<3RJu_GiF$N=2Ya{N$kGON2zd^JWZo0yfI5~HdpSj&?B(O}h&DERtYjkdGN z_i^zt3tRkz%p*NLMkBv$a;@pd)*k*x3Iw~tq-nw z%44zbkE;2O#`<{F|2+T0L+Em6jDzcA+b5qoTUo`5qUzIWhf8Oa>*)6K-39cel3_ny z!7?fcxTY5B#MmZ*(}oHr)hex_4T%OS{U;UVc~?yQamyje*bEcJoQS|C8pZtzg#HEu zn4|dp6Bp`xUp52}j_IQZybk3ClVnP<5CkXE!mB2Zowafn;cqu1C2~ zUrlN%0%+O^EDZX_n4f>)s_1u-e%^k2nep(yeqai~Fqc?Se)L}3{BpOY>wCXEEQ4$q zSWnIum;Kri#N;c@XpzK-sZ4Bc=iL8bg+>7fD^=G{*J)dF+hahtnb&HB0m#HlZ2p9AF{6hFr*ypE8tQvo z$VZt~vmpF=e?e5_I~aC5^X9bc@cT1$*6`D;EbZ`c2vrEe%;cR3F!Cqgc_K3k=pvZ^ z1?4cEeLL1hf+c|)1d_oMkpCC)u3~G?ns|R51$5S;CbdF?9tWzFNSTKbCque=Jh^*Z zAtl=fKAR|%T7^K!w+lCwQVWkna7A&S}-2l^D0v zYVQrOtgEgrPY4MglzR#43q%e}jk^Qdk^D53+jmAnH2Fv4JVFD~hvSdkKUKN%<>V8= zGH`oaGEh^gR~E!SM`uMKb{uu06egv`O_nOl$|-L>YX^C+i%Al@p^+ebTeZydiu+lJ zX4=y4A*o7Bc@v~XD!i|c%bpC+Z?$=sT^x)$xWdVnif@4sWGWc!j4n?pt~a}nIAC1% zbDc9NbM6F-_S&{g<}Iqp{^xw)Xy_79?AYl+4ls=EtRJkBBgk3V_^C^?ue$nG%{QFn z8@yyEEBa0!V^sj}7m{c3P{JbdUVi^D&iFeQPjCPkT5BEco4F*Dx>^BUI6YdjOQL_b zf%y5b_&Hi(uFj$_sX5#BWw0IGix+@AjYJwU)8R`RZ!5@XucTi{VbI=S@&-Oe$qWJJ zX!}!WN5XM6c-c5{q*BHsX);iB+wO}L!L}UQO)k&xmY*OoMFCi{MX5rs{I`#*0E3~J zX>7*lXUa3qdxRQcadIYc6AhCi7!bHE`ST@Tk@zOjqyH!voVyib(({dNIQ&uKq9J&Rr2jfN+og3kV4irwVS|H=NJ890MYNRA#fZu2^9Op||iE|Ryvterq(*A_;tsGx9RmAmne-%Hf}biYhGxmlIEq};uP zy1ksLy}V3eLLoOLmz9Oh+{8l1MCX@>1rP&fu;%ZI;*uwY z{9;lW22vNyYq{@=lIj;jCvSkc#Y}Ry?;^FiqsT6#1;eD$r>xxg-%XN`PTpIW8`!5Q zvuysPaY%PBa<|DG_T$D9fg$Suv;b+TDN=6kj~6TdIIMS{(Q(un>%5CoWbqF@dom!1 z@!N7W%ef@Lxu;{9r|xHfznqMGZfpB>c|FG6kDaljD=eQucs3d@fQ01;Lw+ zJx#))DV5Ub8nMFvDiIiES=O3*k9L{-yUWLtgQ`-hZlomnUvW9Xjb^Qn!;nZLERh8j zE#>qt^XeeU;<~mD{?5ZZH4{J;ey+;BeCh-_OIpMpZC>Z;v+RYg3CuqcSfL(FaRB>OCQtjVu zQX+%eu~JQeZG)n(04=2k_kKO3n3nw1^(OyC%8$U{wkV-D4>HP7t!(JzNt|A>qq3R^ zmCt0(hG$!4PDako!jPAbDzjV3Vdw>|W$ADS^cNfWHFztl->^uUl)@z;HCG@7G|YkN zig;Vf$N2qZhE(%Yedi--wYRE!qiE$s$aKVnDkVa7#br)KTd~^gBqZ!@6(F&de;8b_ z+1c18Z2zONB&Z->UdkD#s^tjXPK?N}7#^AQH6ZUabd7{lt_~=;pV!$eGGTg|*n^N= zJ=4S%Klx94%hmeNx21_Rwbzr0E&eY2XX|7^Ig{0PS$OQmvVL=k&0oZGRwUQTcR%G|xUo;T<;zk%ejU!7brI87>5~;e~ zbZM%zQrIxx2%~KHXa&R!4~9zpV9qQ~q={J=Y3L|0aQcYcobkm>G?C8c=Y?KYl1j2u zksb&F5guI)7hkm-afQlieTgU`E>b*n7}`w&K~6Leowa*{|Ej5lTP|FN7H&cN}dN0ZPuP9X2Y{2rFm zs}f(+MU9l|+_0WRTXB6vf)V*H$4Q#I*$YX`1!FYh>T#vUz#6gM{-AdGUy6nNlpXg* zzz(5_B;mkX1hH2VjZ)Mp^$8LMmSS*)a}0|;apWRCHVjg>FPfG~AbsR-XvS2_RFwsb zV~%q_MhK(idn|N1w7??PCK^tg-Bfm@KWNQigJQ#h^!8f)sWe9Ja)8Dtgl`z?93gxj zk4FgGkbu#G{{8`t&=o5!Uf{1p!#P|F7`D>+@vBcz{bkQn5VJ7}0ItC5?eX$R!=7_o zi4@2zXPnS=Ja32+LREZPO#&an_ogY>MkQsTPG%|^Y|QHPtEIB?05kvfHb@o+#yBZ* zPatjl{&7SBO)B(vf6px{s?cNTB}M~Xx;W3?VM zo-4NoV%j(!t^Ufl=KMDa(sWRR(_P#pfPmAh$nGq(y?3vNQr03GQEjI;-Y;u$wl>CN zx@a#(@Wsu--(fMl?_HsgeQ13EDf6Tk4lauB@TO8R02AW?#w8?dFnPAd+CF=mj3W3j zJ}2NN8e1|_$xxv4I(9F~F(~drGJTc!HOsE32An5c3pvKLFOE{$h&U7`+RD(iB zMRsTdtdIRW5J)gVB-LoJOm-VKNXYFq>Rx$)L>-?upBv9^8XKS66OT^GJ*u3)IhH{k ztv;{>hEr#wu>@@no0(EAyjML`;15Hg?$6!TEs<}iLbsl_wh@8A=qMl>Xf^|jBoV23 z)ojbloc#qNT)5)0F_+zAvPS8LTM7jW$#g=nmgGLypuV!)+!Y%ZC<914qK&M zMT$9jk;FE}Nt$Key5NRmOn@i@27rZ)({AH-ST(yR5q}10;50QwzCw@;v(DEJ`L}TF ze{QHfv>S0&8(<8XaO~aG3$ge*bD$DIxO^~8Ci6%n%&qrTNOdes!3r2-frgN!fMQhe z=H6R9SjQA2P}$JR+TMf{t-Rv&Uc;hu)m|P6VDOwMsmX@NsT6;B7-y0~u)MIbtZC(N z+3^InG?_BYz{jba3=O*5wSRqa+q7NsNI%bBB9|q*Z5%2N-x)?m+WvYyR#c16*rb|F zCBc|aYa5o>zioJ!3dz%a2jh9X#@_*RKqsQd8`{?SU`dN7?>{jBnoD3Bck@KK2=mKj z-S4eSx4`hs8wzDxRcFh90J6>ZzeCllBvgj*Lx%$@5K+D>Txgp2ZIxvj$@$;qh1IH?TK%!AZ%hp==^8FWpN=!afWR1 zjj(ELr1q4WSR*T6Q&h2cNZObspkN8?K#ezh#BbXzco!20m~f(i5PJ%TnVg@*JfD70 zVfM^PDoHvw2RAf{%@Y2|29yF20 zRb&}DBL*^PWFVHpgJ13a=I_skvVsBNe6VLk%u1q~#V`_|SGsd6!gQHRGF80L?jKaw zU$Znvg~pt@I;=h_w2QmGE=aO9hUgk(tm@xbvfcWI1D>?`%OUHgINmO1`O@Nzzqw|#HzTjqV;HP)q2veF_K zG?wCHImzZsRww>}AY?_JD}6+qnfDFxBLlAyWCAXSUoO{6q0L8fLJ#s|tt}<9LQfwa zn|_9BXajIP=E>6*meW~o8#l0x03+*~jRHmo-^$|T-D=vP91mzyiR%CEiqJ`wPr^j# zvC{vYlU;d#zHIi!<>dLkqZ9KVxr$0Lk@6G_RxAB-Tq%x^inghAtbDSWLbGsFW8{U+ z`0P8s1#NkHNJY7ly)@JH=?OR(ylShE*#)1{I;*?YZ4Z#NEnNz@h6sDn*K=y{J ze^eRlNZap!R66o(YA;LbHrqlAIHLfK7 z!hM$HEuu~AlVrH9EjX$rM^SBe#nCB{HhALULFh~vi}-R99G?Q^4$aDe&5Z&cO>8nD zHECj@G_ApI-*^`m)P$($Eq)jXIoxtvp70gKaNf&aH*{Os6(#L@n~6Z|gIMfzv6#wZ zOXbnN+iKZrPL3CIx04u$cEN)z@&RR={&EpvIbu_zsk7Fgy!rYvGIiKnXj3GBojrsa z>_$qaOpF2Mkb)p3@Vud8JC8pq%Xo;J3`Bs6p#I4)TA+CVFI`oXJ~R)|aiR{^Bki}C z*7@?gDb^4WqJ>d9ACMJucj@?eS1N=DSt-tk>l_?DJNF4(CiisDq7cAp`Ww`ll-7wz zivpp(5Kf$SGsuVezPmg(K`hEIT<7ur?hlW(0+777kq0g~7f*Y10nKi*3aiAG30B{5?lz+n;zJE^{sOczw2}5^JhB_D*?yEh-O7E*+51JEecD>!As6O|Eee6w!EF zEYe=7iHoSfKsx;tl{r9eIV`pj&nXC0#W$849D4Or;m$A%GEOfgoKN#}6RH#+k|;VW&^) zjW;p$KNHEJbA57vqJz(1zkNym(#Hgb;G}d8^Mki299Rh+o{(&Yoy2BJ-`e}nesRTk z3x8g`H&_3M3l<~x4p4`vN>DJL`8-}#zv6!NS;5BLe}i@Zuka@dZRDL}zU`% z)1mlYWB{IXNLP@5yUjE&0qz+O9Cs!>mFq9I!m7~Gj1H9RD_OvTkI-L3y>|bQ#!-BQ z@_7dNOjoMkqod}p=B->#+Rk|CB15ROrE+K=0=QDdQT%u3E)q46<7Q;J3a#kXCy3|+?8P+y7z3GYL5^ge%s-0<|p+osjcu$Hc zE9W;fIH>>5rR7Vd6aiusXb|rR=N#nt>F)?bzl6Cj4{nG>&3DNnsjc*+gGk?z{!MC0 zLmL4|WFT*$8BGtznr5pJSZMX(;M6a-F9SO6!c{XD+q)%& z8MCJd(OfuXI_RQ=gl3upYP^PF<`X^?@KSX)N=dkiv|^Da6h<6*IMlWTpBRskiegw9)DBLLH@v&`M~1ht>GE z$ZOuPfA?>%;6aZas#h^iN<#D<0)p@`8B_GP$S3^r!><#i<0NkE^$ix-!{Kh?bNDdU z>;3tSZNbZQjJJySuerehgQ_{or-m=5QJTJ5z37+w=G!=B^~Ne}!^ zdhF3vBh%-5)FsZCdvj2jB3ODJNwoRmVejhSWTt%9B=g*}h2o$RQ+0oo{_1u8)Hy#L zH+=5=jAnmd>3<(eqLh7Pxemjv6n|{GGHi6eFe>8VIUe>Q4&-!ybM(8yiD1nCRCE+F zuW@kE1H8>$F_b{tU7Vkt7Sa$eTgG()zFF-Z*3BBe|3JUX$LaIxJ;dWdg9JDa%l*{$r%PBwlna4 z{)g3wOXgnkoADJ>QZ$OAOqd4h4?QAX&gfV?KKn7cQGwdeK{~eWsMkm&oPj9bE_@ut zu^)X4F_so45+zv`7PfU+%Cp8~*%wCgBvR;=(XdzM!DYh~RbcAn&G+-y+;Ouaa$7}h zr~79od40aN&zCsKX!#2df$MXp`b|Mo8%gC{j9Hy+IC|{|hm2IZ-e=lkoB-q%hr~&##rs(KmNY#v}FbnWL7>bmrxdw#a zXf#!EQ;$=Yi3Nv4$P$AWlCAV}JPiYO+I%#rl1}Vsx$Ra7)n{;=z6L*8SX>dV!^V?P z58YeT=m*X(KE%GGG1(lpHma)g^>y9S2><|3jo&pygR6IaF3DpaE~e66wA? zyW|BwI!#j(x|m7Yk_DLvn3kS;JmL^}A8Y^D;d*k9tlQ<-`4Ts;;Jtais%mS{@1P0_ zQLGaqE1aOybUZu1LQn$n~D|`JiY#Q)pM1|k=-^0avZ#&i?h%jMiWCYU`G@-BK!U@ zHMPi1p@6o%Bgx{NDQ7adWUpAarAGryre>GlbbS5Pzlmu*>sm$5@wnt8QJ!ki5d++I z5;*iM`?MSFr>57tNAQR{htg(cVWeZ9u?vk^Db$KC?6ZqIS<=XOn>d*bS4Ak#b_+%nR!9Yh>&6{XE5dyhA zeJIwhrCHljb_judmw!oT9z;yl9=-ZFDb}pr7t{Gq5(2jzJi#ZDMC(?A(Esv8MjlB} z3xcJJ;{6W0)weis?(~WIKK)dAvrgNJmN#@iZ}t`aZurLK9#3r@cpo1mgW$+@)4n=UgJ$HUl-W~BjEmU>qtu1U$3iZ5aq4r%78*GV~_Z&=93-(t&P2_{r zu1B8w_7*CWS&IoFYNY)>C575E;lpS=j+1Wos2Kasz++wA9^uBPOob3EZzVkOf$;rne;NiTzopXD`ltNVF`3^fYnP8)1 z4w;_+Q1_==+w?vxy(tKu{Nat@qQsaBZPMm${Rp|@p@d_FRIl7}=rqC9Wvx8HM0*}c zBwi+x%Vz;>H8#FA*xCea1wmqfa^!|NoU0&31F^OTc7Ic}?pY+tuy5z-EdL1o9dyUL zaze=qe967Ds8`9}dQzRMGQPyW9o zX=%S9#T1BWS)3{F|87lfxxBQdA3Sgxx7j}C)MV|-LtsYoF7yzV)> z>OehFb5wLv8Iw(?SnZBi3*=$>Fql3-@9(#lRWzD6Gy6S=CkzeEFwJmraq*EWP`bUd z(q!dR0rA!1Vu;rs+tslPboDsHWsZWV_g)P8x>82gmnD1roXfsw>GG%Ap5zcPI1>)$ z@8Mw?w+Swfrb~`GWps4aMBB?aHCOZiGA6d0<*XF|DY`p~C8@H6#iBhMj-?Vo zeLdeVlAm?H5A1~S%IRYjw@KvooQ`p zTFQ7E3n|gocrdUCO!}fEWk_o=@`X975{wr2WSpPD}v_>#4cC@Zl?ASp@ zj}$$bAVZv9oUn}2s;YA85_~VPa&UOujR~uB5xQ>6OdbQslmH@%iYU78hDd!H!jO+3 z)Xx!#fI*pTWnC3knB$Vf0jHtGsI}+ly-;DY0rzKmGt=2iPFukrHdisiw5cj2aKW{@ zZL?YYq*SOIjkRNIXrXeCOrV^OXd=SJuq}1#>aOlQ6HSXbWzOWoL#m?~jieALaaV}Y zq8M)&gs7E8?z^~BhDW$@ub;Sck@?zyhvV$ zq9R}ieO^zv(n^)vS)G4AedO!E&VxWsv!=yn|Ak_as6aXYMcY@(XEu}qYPZ6rCTNMs zyq&_8V(=U5xfms%wcmr>Cx?JvRI#_SGw^;&Y-w>kFIG1*Te`m0GK;xMFhZr;9kFBI zI<5wW*!x@dr4038TbZkit?mb=!S8Okt!|on+NR|Ty;K=!Wc(_r%2iZ$g#%A?G@heV zJmfHhMpZY8B^Wf7O3OO8rH!9;+;FA3SDt}1(34rn>unBatTI^b&_tEiD&87M6)|6A zU96oC+@S)PZ7Il`6IA`@T4T<93e$s_eBS!Y?X2TRpC$fBpk-oFJ7K_|cgj1V&r)LQ zY~6tOYJyqsr|ep8QyYsn6Lu*zwPuIO0cyd|{$xwJl?Er<--Z1F*8*33VShrP)z8UO z`B+0kP%}J^#Hxw)I&I$Ka;N22W6#=9fg>9O;Q`<=>|&t`YIi#km95wg@J!*^{yZM6ubv!P;WoI|%<_d61!F|<*I(>Eq z0<#&yY1dig=^rm?5pS(0n1-()_#X_q?N0|TI)AVYJf7zs)0BmQqshIWJJjE=gs5$w z0Q@42=xRkpg`xN^mjV8|V>@QB4H5MD7t-~yB))4@!E&5-TD5fouH4) z+0m8P?wVlnMPldUCOvUALho(=^O$Td z55ZO&eaAY(_W|uIKUpgCGbX{v$at8Nl~Rl=ZT_qc}|Y^d1#cRzX|yWd9j*) z{qf?fMt|RHJc91XeFJCP+BfOI1fKAye}0HHe0}wB>D(~Tg@{@&5284|3uDwgHic0Y z#$x^kZ7Wyd#tMZHe47%5$vPe!b)GieiJT2{dO-y&p(O^Vx0lMJkga$7EZ3~E`+cDV z=GRMB%Kr)17JJH7*PSife=Okiee@E499G#nkPVsAM&9gxaVI*95V7JaoqLRNDI+^7 zF~<@sdo^I*?y|eP?TvI)Di7t7vjneHb=zI>v&r)F`K^2K7k-htxx4ut%-I5qzal%& z&hgNt&$YHXmy_sQO{OXd(G)&g+TDL#7-&b4{2A>IX93_aWXODL1qN;Ic#_k_h05|c zVDF^I<)0A0F3Qa;q$p4JVDyJzDS>()f5|+4Rj14I54i9rKmfVYV+oq&d-JSdznhCD zmNhN*OrC)G={`zi@M$`*GB}4;M4t3YQ}E99--{XAR4!jLLo(!UnqTWfz<&jvU`r-> z&Q{e0m#sI&Tu%G7Ex;R@XSIa#MxTHt5U3=zfmgM_o*k*9%QkM-M3n-y+vC}^qdMD1 zGF%B{_IULyYA8d57H)+LovqX9@AZ+i)m`8H*4$=yhBccB-5zU;@t4tMNBsD4o#_2Q zJ|0HI#KiW$-~D~|atI^`Ti?a(Y{ihWOF0=IAZ&_8WK_jc3y@R@U&FK9>dEF-S06?u z{TaRmY_Px*1#C2-MX6+Gu()zQZLy5~K(B^O$8P((W-S;ijW~AuL4(6MhP6{1a7V;9 zSL9SkWPA+d8toob60!D5k0xb7pgiCujey+mvUTkHXnRX%(7kWtBF>khc>K1C@6tSa zZ@ze8wmVP~`3s{o3LbZlfN0Wl6m8Ua)sRCcx?#Dmue$ndZZcpQ)Vx>gDCqPO6!Ta> z(eyfT3cH>=dmKUhpY5>g*}+^ssA&jtRn1$^*4xloE}+utX%c&~w_MmNvB>66X&5z= z%uoLZf%k);RaP=Gu8A%cbz>;y?+k7&e(=p?Ek~%26V>c*bW)i-3HPbWX(zHj_&%wk zcirmM%1M1%rq!qoz*Oe5n$nfEIw9Car1fUj+_=crG+)B-IidW51r}Q^=Iih*$0|s`Tp_ OgtWK +image/svg+xml08/12/13 1000.00 Delta PC08/15/13 75.46 Walts Drugs03/03/13 379.00 Epic Technologies03/04/13 20.28 YOUR LOCAL SU03/03/13 421.35 SPRINGFIELD WA03/03/13 379.00 Epic Technologies03/04/13 20.28 YOUR LOCAL SUP08/15/13 75.46 Walts Drugs08/12/13 1000.00 Delta PC03/03/13 421.35 SPRINGFIELD WA03/04/13 20.28 YOUR LOCAL SU03/03/13 379.00 Epic Technologies08/12/13 1000.00 De a PC03/03/13 379.00 E Technologies08/15/13 75.46 Walts Drugs03/04/13 20.28 YOUR LOCAL SU03/03/13 379.00 Epic Technologies08/12/13 1000.00 Delta PC08/15/13 75.46 Walts Drugs + + \ No newline at end of file diff --git a/odex25_accounting/odex25_account_bank_statement_import/static/src/js/odex25_account_bank_statement_import.js b/odex25_accounting/odex25_account_bank_statement_import/static/src/js/odex25_account_bank_statement_import.js new file mode 100644 index 000000000..e87e3ae5b --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/static/src/js/odex25_account_bank_statement_import.js @@ -0,0 +1,19 @@ +odoo.define('odex25_account_bank_statement_import.import', function (require) { +"use strict"; + +var core = require('web.core'); +var BaseImport = require('base_import.import'); + +var _t = core._t; + +BaseImport.DataImport.include({ + renderImportLink: function() { + this._super(); + if (this.res_model == 'account.bank.statement') { + this.$(".import-link").prop({"text": _t(" Import Template for Bank Statements"), "href": "/odex25_account_bank_statement_import/static/csv/account.bank.statement.csv"}); + this.$(".template-import").removeClass('d-none'); + } + }, +}); + +}); diff --git a/odex25_accounting/odex25_account_bank_statement_import/views/odex25_account_bank_statement_import_templates.xml b/odex25_accounting/odex25_account_bank_statement_import/views/odex25_account_bank_statement_import_templates.xml new file mode 100644 index 000000000..7b3727b91 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/views/odex25_account_bank_statement_import_templates.xml @@ -0,0 +1,8 @@ + + + + diff --git a/odex25_accounting/odex25_account_bank_statement_import/wizard/__init__.py b/odex25_accounting/odex25_account_bank_statement_import/wizard/__init__.py new file mode 100644 index 000000000..aabb7ec17 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/wizard/__init__.py @@ -0,0 +1,2 @@ +from . import journal_creation +from . import setup_wizards \ No newline at end of file diff --git a/odex25_accounting/odex25_account_bank_statement_import/wizard/journal_creation.py b/odex25_accounting/odex25_account_bank_statement_import/wizard/journal_creation.py new file mode 100644 index 000000000..28654a46c --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/wizard/journal_creation.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from odoo import api, fields, models + + +class AccountBankStatementImportJounalCreation(models.TransientModel): + _name = 'account.bank.statement.import.journal.creation' + _description = 'Journal Creation on Bank Statement Import' + + journal_id = fields.Many2one('account.journal', delegate=True, required=True, ondelete='cascade') + + def create_journal(self): + """ Create the journal (the record is automatically created in the process of calling this method) and reprocess the statement """ + statement_import_transient = self.env['account.bank.statement.import'].browse(self.env.context['statement_import_transient_id']) + return statement_import_transient.with_context(journal_id=self.journal_id.id).import_file() diff --git a/odex25_accounting/odex25_account_bank_statement_import/wizard/journal_creation.xml b/odex25_accounting/odex25_account_bank_statement_import/wizard/journal_creation.xml new file mode 100644 index 000000000..d84ddf4e6 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/wizard/journal_creation.xml @@ -0,0 +1,32 @@ + + + + + + Journal Creation + account.bank.statement.import.journal.creation + +
    +

    The account of the statement you are uploading is not yet recorded in Odoo. In order to proceed with the upload, you need to create a bank journal for this account.

    +

    Just click OK to create the account/journal and finish the upload. If this was a mistake, hit cancel to abort the upload.

    + + + + + + + + + + + +
    +
    +
    +
    +
    + +
    +
    diff --git a/odex25_accounting/odex25_account_bank_statement_import/wizard/setup_wizards.py b/odex25_accounting/odex25_account_bank_statement_import/wizard/setup_wizards.py new file mode 100644 index 000000000..754679b6b --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import/wizard/setup_wizards.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api + + +class SetupBarBankConfigWizard(models.TransientModel): + _inherit = 'account.setup.bank.manual.config' + + def validate(self): + """ Default the bank statement source of new bank journals as 'file_import' + """ + super(SetupBarBankConfigWizard, self).validate() + if (self.num_journals_without_account == 0 or self.linked_journal_id.bank_statements_source == 'undefined') \ + and self.env['account.journal']._get_bank_statements_available_import_formats(): + self.linked_journal_id.bank_statements_source = 'file_import' diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_camt/__init__.py new file mode 100644 index 000000000..f17d5cfc4 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + + +from . import models +from . import wizard diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/__manifest__.py b/odex25_accounting/odex25_account_bank_statement_import_camt/__manifest__.py new file mode 100644 index 000000000..87c45365f --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/__manifest__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- + + +{ + 'name': 'Import CAMT Bank Statement', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'depends': ['odex25_account_bank_statement_import'], + 'description': """ +Module to import CAMT bank statements. +====================================== + +Improve the import of bank statement feature to support the SEPA recommended Cash Management format (CAMT.053). + """, + 'data': [ + 'data/odex25_account_bank_statement_import_data.xml' + ], + + 'auto_install': True, +} diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/data/odex25_account_bank_statement_import_data.xml b/odex25_accounting/odex25_account_bank_statement_import_camt/data/odex25_account_bank_statement_import_data.xml new file mode 100644 index 000000000..b5b72c276 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/data/odex25_account_bank_statement_import_data.xml @@ -0,0 +1,13 @@ + + + + Import Bank Statements CAMT + account.bank.statement.import + + + +
  • SEPA recommended Cash Management format (CAMT.053)
  • +
    +
    +
    +
    diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/doc/standard-camt053-statement-v2-en_1.pdf b/odex25_accounting/odex25_account_bank_statement_import_camt/doc/standard-camt053-statement-v2-en_1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..36420b4f68726c2afa17b429dfd5b0f30a7e1ba2 GIT binary patch literal 4561065 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 z zJ9W-JmM;2aQW7Iml-85?wI8v}_Z&N%?8wcPQo~lJ;~y($=hXj|=?Y_=3X$w9u2jH@ zEnMNU%NBMN`?Sj@uae^ zOgiPUrTU^?#XhdRiD|y$*l1E2(PwFUYWW!<&d<_SyQO#+Q=4xg|IW`JU8BIuh1mCZ z;k?!?miU10yAuOofSDoR%4a9WyQv#hZ?6}q+z1e;x?T|S*r&o|OpQNzQ?IEtjo(-9QtBXNVSaeSp1($R zu>kSZ4{Fk#$l8@=oT9Q5lMPe!8q0Hap*Q-c?JsGh3cWcbU41H5;7z!)URTOude$zf zY#cSU(I`rm&!6|-KE!f_=OA-&+kPha@5DOpP;<(MNIStiRn+Mw&XvH+npW(&!Zc#i z=_lVMX+^_r%4?|~7|hsNkMI>8d{lPQYn(aE`sVAaI+CPAA{dQvlzCC52X8dW&_vLs zKEt9ZY&bA>c2>qrP|4NINGeV|V9Mo+3$9<}#q+^)03xrKMu~zD( zNsF(!pZZ!vNM9dJYh65a`>e;6)CpnJk*4d1zmv;0>9CAScol64<)c*4V^6A*FU(0sqoX<%{(p^xG- z95J;~LdSEtw|n{$$|rH z{QZnbUq{&{*jyMLns7?y61XOCWnSL=a5Yn3gk>A#y=Z}#q5O&XNNN5j#xJ>b?aw5Z z2nX&+3_ofibEYz->GrLMZ%Q9=AA5mKq9uLmoMm0%{8XGx2jT9>o6|f)ha@9#-9KL; zlFun&&gmK7_0o<;j8*n6%ONnB)A%Nyp>6z;VyQH}<3@xnd>PkW+}TdtdNT4}OI`hi zV7SKo)bw+by8-IYgNBG}gD9MttmR=e{ucDF<+D?&BDAF3tsL-VTe@Q_>#+GK8wG^T zsB1KN`#2mwlh43xKUuOIEHq!>dKUZWT*Tn#)I%j#aQPM5?vMUBpmp(VfX(Z}pNP(8 zuzu-ztfndhdmS3nLyoy1UX=Wh$mRM#fCxyhXbQ(YN8hGa2p1hEh&+8`SiNglGnAqg z_xrx^dQH5Mvo~L+m5(*a;tk!=DV9* ztvNnUpJ3Xly4M|ei8rjnVqG2@HmHRY&nXICp=gN`xRTtff~|#jH*yjL=(f-&!gh`I zATjA0X0m$C8o8lcY4COwO?F#6_ zoum~s1)jK*L7VX3bDH7k9zV?_`jah-P?sf>!0-D=>05d*-b5DXCWHYd66dj%1 zVo8aNj1^Pa>9vm@dJbdWn&r7`MJ#P?@)COX+9hVa+3IiS^M($DR&@-z(Kn=>en8yb zQ!Q1Jd{reooa@C|4!pKJjS#i6ysibBY5T%OqFMl znX-(1*g0nU1SYeWxb+hgi+lQvRB!o3?|0ih??WzQD-Tf`=-xgW=YCfm$oZ}*um-WQ;x;yt9&G#1vD-aOc@n0QWfg2s^(vK zbm;PN1HZOhFh0-M=(>)Z}BH+ipJ;>ZpUeZDYwYVA5w(ZRLvw;=iQnODA9}jaHQ9X>`s$dHw1(ukX9@i55+#pZ>)*w<@frrntmoA=tB^VSnNF>`n0+8`08RGwe}r*KJJC!a%v zRAPOJhX~=Zrnyl8VLaudn>sU0mu?|aQPXnm{f}Z|;wWyE@kxru-n;7j=>GrX?mOVI zY~S}wQ%V%s*%b-TvL!QHS!p0y*(o7JAuBuCLRnd5rbuOzQdESJmCQ1;{qJYJxgYcC z<@pIT!I%5*to72A+UAsfxMD`@x-x=K7Lp2MmClV0)!1gy&8B7wF8 zGeM`t`p8pVuc&f_u>#1JXuCKQdfNH3qtZn6(?e!{fn~rSId@w_-(341HG58V^1u}# z_8Q59O`$_{qserq*-wizANkD|clQ^!$I`FeE?ef{p`z@Zm6upn63k@L_mI z_BpI{Es!7V0jO87MyzX);gXuyqxuiy@n3-x7;F&#H$Tuff&4)J@~Ac$poM`S)A@k9 zLyhD|#&9IB6IzkIrEAwq2yRV5(JN!;XeqSf#TgF<3Vcz%E`A)BK{n*OM+``c@E(H7?}0g8DUJ26YT$ZGlG!N}l2Qc2@t z6Ho&JQRbrvs#i2%wIt!qhlK`!x_nS8&T{^VN@aL}J9AjZe55VFHx*M665=|= z0N|WUiUH0gp?}5dECURsb+mjZC7_Zse+1C4U`OC@d}GD7u|=F`spSKBj+?mxYd$|l zBLdB<0j$6L>nIYzk4XvED1!lCTY;hY&atDtB;aA(oPQ(|;Luf0Hv-v{x)5)mK4#cT z8cArpt&)x$h9Q|=E^P*+h`@M5wvJ;*U>)$b09vcK)XNVnW5|zn%Zf3p=2~G2Cxoo9 z#G|Kll?3lF3}^K6Qwqw6(XXuIl!9aiz&qYmO)k)iI$u|V9|+UPkM)~v_AG zuUB&sVYO`fFbr+^^0N)vdZ1tV56?DG*ucn6pww)+z)Zg#9?!K_D-lEy#f&pzRpq&S7C4D6HNZ>7utjFB{7t;M4*2%DQ^dAK&@oQA>Fd@Ej-mhj0V2 z2KDJr@CJef@MIq03h*yr4}$!J{348>0K*GBTECPI@DpSadhJ$ua7u*|Y`{*;k`Tp% z?H>mni*lX<8du;rzp7LN55jpIBVfp&y3kp{8x|Cw|B54l2jM&nBM7j(pWuY8`3DZ` zyxRP;U0%vffCAEz2R#7hk;@2L?*o(V09?wz6VNIG3<2;64PcDJ0I~=W?se2g0Dj)u zrp4f_6lM7`FhLg?@gcIu!3jVly%<=*ZVOVHTEuNJR^UOuj$;K3IkO9024^f*U`#+Q zEpR+2!eOgWXo5n(N#YtRGy%UeFNR`5iiZJ#$|02hZaD$86abW?tNvKvBNq?!FSt$_ z6-KgbtuiW{ah_jKSp;(E$;N|<9d!vDSlE`2kKk+^q{Fl>@$sLixbnO&A0Gizf$0Wi z-hlc8@Cb0MKj{OY{{TEf#mw~r1$sZQR-nL{59BYiax{eVZ~{v(rm_r(3375TU2DV) z83q;b#h7xTP;j1&8o!mTfFXdN`;QeUn}7(nc!3)w#k2x8q2NRtq~7#5*qjHwwTwi_ zC3wD01%w+AsX%?2heJT70(i83l?uQFbXUk4;ShW=9=4Kb6=pregEk)qMgR=C7%W&1 zq2OH(NVRH_5Q(t@0-cXTlub+G5IrT!$4DqRn?}8Y^@jfr4gsAA0AZlL6QC3UJOb4# z02Tz`5h!W`O#i?mRMcFj5V^Lh5@5On6wm!CLL?qc`YRce7Dg6it(*azR)7Skmc}6-Eb%x9fFX~27I*^; zoMfYfPOu1A+6p`v%mHBq)P`(%9D)M_NTlii28YXUKJiYr)+w_>P1l;$uKB?^4N8?` zMJ(XMBaefH#WO1yj$a^?)s?N_LvR9|y_hZV@-g0r1@JBWYsmxU<}04E@SLG4D?%Nx*kNM}zW`1e0K|jpk$?vSk3eTQfZPu7XgxatFj`J)Sqy@DNzzX9Z*7Tgu__)jqt0N$dlbc+EJ z@LLEsMs@^qY63VB@MzvCJTH)ZAwPiP<$8tbH9c?#U#LNG&aWa&Lj1=;W~${Lh=dNX@UwdYbp7(0w7n9LS7&sB0uI8#{uUBFo<5fv9LrY3uqTy zClsO^!Pe?N1o*ZN48^C8jRZ?>qwt}b$C-aPvgd3e3c;!K>V%;1VL^wjLI?^FA_bxF zKOh9PXe>l7&KM4QEa;GnGuqGA3v}qp`&zBU;5Be{l1~skxXp20SRrYqZ|O8U;TD z_?8}QbplWjJecKiAb>ztOBdo0yhmA`02Ds7=BReil^QDG;5`aTKLNWC{7p*uPoB4g zoXj$96w5T10q42@i9_o(m3lyc?*zh7N?F*kUwRS7gHs*{0gG2u;W$xwRdoZPtBwwIneg&j|wG2l+paF@r{triezov;F?GxV_^Otk6BEA&TPe+m{ zNH$jt7u{xw@S*D?cs0ZA8RdCXudLTQBX762-=4MAqMZOl;O@0}D)7#WL zRd4e|Df-1!x8p?Oqk(||?dLNccZvrqrJ8C=WxjEm;+z)^x*i(rUoOSY@go5iA3I+)_#TY;X~6CQ!j)aN7_F+iA+>v zw}0dvc1N7juAxuJ7Z945YAt;s;yBWoT6(`y#+H}2-*bfik$Km?^yklR@A^qW=`?CL zaq*F(&Wo7>hmlkDKO$^MJJtQ0a?D`9+q!5BU7E)(Wle7vj;WfhX+J(ksyElF2`b+Gu|uS~Bt5js*w+#5YO5)bF0a}B3{9pqE@uFUY~elbUzqTbK0$A@7V zGIlqhAzN8P43r}>qz~*Btn1-JTygqE`^-xldZ9SV& z=*8h734Yx=_21<~HhYhH6B(wRuBq2)m&@;%2+lhZ8hfBX<*b8N=Jlp*)0f0oYNoia znQN2tzTbb++LWdaBHgJ+%Mfn1HT|0-(S|cm9ZbSAy8L=C6JAu1(@Wb=fBRF4gnIH3 z=9HR%kJO0M@kU&CKAvGc-8DQ^u!p_UIHf{17Wkk!Dwqi$^fgPqZ5$8^5UV@-RzE*F z)mT(3==GAYn&obV;rm82!6qxk0lv**hDV#8CLqWzihMn71+{W9YrJVvs78F|-n5?c zuHw!h|97=Pw(`fN%XRbmB=)PMvD*qgyvCuhGptxGFrM!-EF+@3BTAbJJtMX#GZBk zwd}`dnvRs8eaK9*tuZOrBH`w@z6vHQRjWdaGwHw8A-_mI+xWavmc5i2E4xjm>-XJ$ z)#UJd!BLI!cMrH#S1B6BkIkHDo$OD!C=;7vD?{TLqi!6Mprmb65FV=XGO^G75`b%&-10VKq!CkWM8gu!EQwHClVUj)cLX9_9qny_cZz5d}NiR>d-$3-7_xxQP-jW zibMZ4gmyetU~6wuvrPy|V5W`6wR-Ay3QB{IZgMp2ZDhe;GTGT<-FaFHDjF0&QEOd% z01M3-*m+Tenz-Q=*|eDaaN6aV_Y_}5og?=!6>i$a5yu>Vq4mafxtq6C1%-*+72k*% zIqS9Uw__!W`Z!^2q9F}Q(U7Kbq=vCOiR%auN(l`>R1|G|Ye z4^4%eo~ozHN*K#a-Y1705|#|}e4qk-Pwk_t-c2DZ9~Y`7AGa%dTVQiE#AI|gtGXji zO_FU(q|<>aVZV|yt&PD9KWsjbhWliZ*YCRgf{|q8_%6+M;HUYSG7G$Wilpj&^Q59e z!#i6^piG}bD%oO7`^dfrBZu_M6sqjsIBK;_W{RtK56O5x2vzfbu&ZvSB)?t1y(l7^ zE6uun=D!X2TNApSqK6+d?2Jc!hf3 zW&rAR2W{oy*B{S4{2mhf+9oiSmz_y*D2k;nh}5#0)Ka-c#%ni3T%t2dk9W8Gk-e5l zj7-I;j7%n>{H~cE%^^XCrOe-Z-kgLG?cbX3m@!_WCB|^kx4g%r8IY;= z`QXkhugvUL`x+6W*5`WF$4K)%0%C-z?wr_Od(TzUM4?(-C)r{zleSEzR`-S5I**<1 zQ>s06z94n|2;0$`ou%GG7cwL2D?fidr6sT48OQyDJ>k9EPu7E_FRR^x?lO%LF^dvG zzsHlr(RJ&8d!s8auk*}e-{zk?FBt3~QFXnOCc|?=wyf$qOPvqIx(cRlrsSo+yf>g&r)Wv|q@d%Y+or2;@}jHU2a14!J< z{TW@9gfx+ineGhz(jxA=-jXyHTeWa(2Oi~i$)6x)*EOvbRsMe6fI~6)6w6I}TU&<; z!^9_i@!bKfS#@V33qRVLa8-)wyi;=k!tdRz6W%U1)R0}0v|8S-#irr~8$}zhynjjh zgmLIbx7Nlmh@}y|RixYClxLmliyeyg&pi(dKi`@7{QBhRX#bnmp0Ou>g)@_$f#0la zZEuPi?D!N*JLD86LVnJXvh(6xHs6Vc-8?C!-!4suep2R#HVl#vo!MUNTV2XH0m-=4 zT`0LVSAEl6qr@Q9G9vL9s9NaB&w3A=bBx*L{9va-Umf~vveid?Jg{%yR?QsYIya}& zj<>sGK2q&HS5kPMU+M%_hj#|l-J2r*5y9>#eOP2ADH=jwQeC{rRN$5ogAml$_M9Eo1VJAe_ClB z?6!?r^q@v&)TubShr2gT`{lwuUe97My)V@iM#L_r@1SGlZxu&TG`6Yxp%!`E&(T6| zBRf6m7K-aSY`g|fcZl#eb~ICV=F(o#r8H15-)Uld(p-M$ghHA5kY_1ZYW<0nsOfJ# zMgpFBHTToE-GC0p)|pzp7T_c%lX6zf%CHa+53puAD$n-I>m)z(^ozxVY3kEVesFp5*ti1OJtGW{RFVp@;~m$$0E!^0tcwWi#r1{8G+k zCe0RvwfC}Jkbemqh}fb-^hqdm|BgeSAC+#EIj+Zegn?v&kz7?`|3}9omUem`LhRza z(|aDk$UM*8RV(IB@sOvHvSU>``7F<;RbltVyy;v=%db=_H=F{39_Zx|D-LXtawesI zKg%j@zmM1z`8R!}!@T);e(nOlTb7v zU)y9mqec(ESSGjDob7h40Ba7)9h-jpxt~v-G7xRJ2;ZIHP9XdCu%Sy_>dfJT!JF7G zdYGQQYVed#82ZuatiJJ68*yEQfC{zK!a(S$$ZpLVK3_i3{$;{#ia~`qM|mJ`-|?Xu z!F1ls(cF8i;PG@el8txnU%bXYkf-`P&G{0GQ?q4kB-8n_ehGKkC9{lM}wh>&kIB!`V(>gesk&J)`{G14)@KK6&@di#H7ic#18s^t*GFUDTy*lb$c z1Z7OAIs~bv7Rz*_H=trY9F(*BYEX%zMz z2+ipaD>20 z`1pFgUy8O-VyzqiksJVaC+sTQPRwf9%k&+PD(V~(Ke1V~aahxoJ4j@o_65K}Tx$Yj z$M^JxCyxid**tWL_$h61%?)Ge6yH_~wKoCkRK-8P8`XuVG^KcPL8{qnYu$e4j|Y}+ z9M2dJY>@PJ)n?i6#YGxNM|gYFFY!Uvgh?L8p-$G`yXM+tZ9g}aCRLG>^?nQqX&bIS zk$Or?OQ6N5AT@+c`@%al`3JjN@E!f7S9pq-=P`fd+M&I zFwiQ|-{#sVDw*d!BePAmyg~k#P+gjH#^kqamR@?4DZB33yhXT#XQ-8iP+F1e8WlTv zwaM)}{-L~0u8r?J%QW%e2?t>0fQ9a4G+_T1UXO~RVA674L=z*Z4Mk+nM2Tp$4*thfkb?UbHd5k^78D=@9Uph>Erv zdUOizRdubRjIi<#`Z@PjBU1Gd_0irVibi%F=PULrl=FmPC5)Kp%Ct~txY*SyhlC#R19KF?mlt|uOWIZci`^M)a0;|m=sEB8gn_B zJLZZrm*p8R6A!<7RTTak4$q8kto!B8@nIvVzEv7{fKEFFOjq1 zdlCgdAQ0-;{SFKWQP57%+Vaq+afJMH0AtR{@Ivb!A@Qm*J;?-eJD+)d$Zp+cJSh;W z9U!j_b)ror2VbW z!OkBQ+o7fR%wiAI!Kf^)ZfW1)olKPv%e*^2hiu_XQ4~NrZijU$yMzPFwXRP#id8Jz z?p}Nw7otMu%aXX~wx4J~q`$PH&Wjk9InT_gg51U`sg8*@`)LaJdD0-2e4Ve4nPM%s z9^>WYCBN&kImE3{Gd-EG*4NdIYJ=P_EyFxuRjhotA=OYo*-&|7=qK{HPl*H`HE?lb z-g753o9*gox$^A>Rf)Y4qANM0Wt5MRlWRC`)faIPsNDPEk-?jT`|}+Xc-yTmI$dw9 zsT(+I@v`#$RU+rZr_FowuV{}otN*&At*5~4WLFj*N^^ab#WgtXi)P{Pz8~t^H9LQQ zsMG3_wh=q}D!ZW?;kP$&XUXj!YqzJEeBAmxK76 z@;P3CJoAy6J*3+F7cPDI;cgIlsMfc4t2cuUQnRK0`U6V-Ta@-0?)2-a-$Fzp`A)fLuw?!-*=bS1$)_gAYmz4pio;+6lde0a3=;)z9$S z=@X=C2|P4hbU84!x-c*A#?Q&!irNUxNH!|tkd%bP_I#@AUw@jbgs9qlAH4CF+vKZq z5p{xIhfSi(pu--gy;q+-$Pf0vRo(Q~y@$6dO8!v%SI*PQ7izeb6DG-lpq4GhHcBE_ z1thMARAyv>-9=D}cE&4ZsCv3%=}3xB>a)qadbF`Afd9NN3FF~BSD;$(rY4PBi>7OgD=@w4vvkqS1Z z*S{OAN~|2JKPV=ifeIKL<`lf%ZDn-7qd_Az(owIy;CmFUnTPLy^UR$K>VpA1LR&&p zKhITPy~-8-{87?%>barUPxDi*Ym_4H*g>L+&p_AV1SO*n2Ao1>5Ad#HM0&XnppNHy1SVl zrqPEyJ9l9YvPZrvl(A1DU@VSKfRvL}_gwi^U<(j_ul@1nuqYySoz}^|fOl3wR<8TJ zvbKq-lv2iKvFbcOX?WFRm|6T{J0~Hf=Co99^?)+}Rg0?I9|NXTFHAtlLLRnP9n%p# z@_M+G;aODT@R<-mmXr2l=7)3wZm-XcY#J3;nQxjzWXt(b0SgKHhQrDE*Ni#0ZA0dg zm&ijyBHmvRWjz-A%uZv+j}zU&1QDlqBw3To-TcV4rIw|VW6LMa%YtUXr@nPIpN%qS zdpsF`18}6Rqsqs0xSmBNj2#nro0vc=ZLz~Y_nQxKDMw!p=Qm>!mOQejZ-bt{l>fzT z+c-KC$gDgO6C)@TwO>7s?iBmE7s7PRNdwfW-n^0QkIo97E2B{)*EKnwdoSI_&LVH5 z0czr|VqdIKA9RXHU;l0Pev%6IlpEP{tdkdBJ?3qA63jk9_28fa=)GCaj`y*WA`#GQ54{`6Yx0D-uo@P9pma)xkHHp==Za{E~#3A`!lkzE{I;m?oQT=^hzusC8hBoDym1 zxu?4*V>}Ec%Dv(-3O)G0l>Z)0*iyjCZ>R6P%H+HI)JcH!Lg9;r7 zFbJeV!9v)AdvJ_XB|I%|->|XlA>$Q~UEZ@E~uX`QqGC48CuvEa;aMdaIu1JKYhuu9Tx91DPkx*aE8uaMkC3Nm9dux?Zwo{eIw;9;NhvorR@cVYS@n7$FHvt^r40mRS(AdBAxW zpq8?VybI8aTOA!YAG$kz*=&ag+-i+_1v>_RgT#42TOnrSgTMbupC78rY3)KWIB{4> zEeex3tdSRoa_SilR2UP7>4t|)te z(7t$+D_Ee07kN`-;W7YDoKdg*2b}0%gcFk8rZj4$hy{GtjXYlnE8fktk1u>-v{ z;_;z>22VEvdG%}Ibb}LMKvZfqR^Y?`jFA^ucID>j&~SsX07vq^FF+(O zct5g|3=$>^;zRe0kw91;k>G3?q=ob^5&4(7=<+3IsqU26%+pxU3f< z(RuzFAreeZ4@XK6t|CU_!@3Q|0>JaR7$QOY5;#g60~?)|j@0(XU{K;&0qy#bUvq@cqwj4nXdLvNKRR0s;Z30sxftfnwO= zxA3twG@#xCyoUOk_3{UFp<=E40Tdfi@pEN=fa5`_jROMI8PGx`f-+^)wdqw@fd{8H zd^JK#yr66u{mQ?A;y?KMbNz3%Im42-0vEfOzp#?K{$*QKRdLNSSFlh993{en9r-2W zA(}!NyH7zgtOLkebfbbZ|8QifZ6OLl`7<1)`?9hXc+fiISOG;QFAJ>z+X5_t^%UVKEr4Z= zz+e#%YG)iPpvVp8LMuR-GkhgMA&eDxa0$cF(lyJU|ACd^(63;}VtqYgvGnA>QZvTX zVb==u;EWU`n6wD!(KC$?Uo*~3FD~!_R)B*8@oE)&1Q;HC&2Wr9%(96wA2=~az4AZ9 z8geBeZRb!tEWp(iJ>A;gd;pb4W_ITldlg1>NC0HPbtx5gx40a4>Wb$fMN-00zruw^8t*q zX_Ww8eD4ibYJh{pg_ax(eE5Xn7_pya-H0EYgY$z^4v?_U-z+V7lt%wF90C<91OpHHXdZ~|t4<90 z0srC#KF#Z(0ycNRBM^fmAOjCP0`1*_14G~u>ey?Y))Le~{Myy7z-b6bcxVy8qM?EZ z^)n7s;EOVw@`D#Nl$OuRzKaL-GaRLzvl3vz5d`%L){4IY?COg~cp(#6LP9IjW9vo0 zks$DBJx{SP=ag%;838Aqt5Xz$;=%5WGu_Cxm__mz9OSQX(vLl= zKm)~t#~EkN;m9i$xQR0iOl1jQoj4FaJkD^8sMB&OD-29zh<*h-7Jq}hf8eylA<_I( zBrHntihF;890q;>yCf2%^A~BLqJw;dTBO$pkpPJz$|=?;6oU09;UICOMG%P!LikWR z<3It9EO;&iBzX6-l1dQT2wtGk8IG-opiNpbXT?a!ERRQU<_r=E`WrlAF}5Nc7Y%m5nK?KsFu)$$TSmHtY z3i#-DIlSwC5?c>=i?D&($aWD#gb*u@nGEGO$tiW<$r?5rPk_Y zYqStx_YD9I?Puty3DmQIC!o*@pc{CE{^c=W1XN@psN(_Uby~(TXQpd~Pn;-$%v!Ot zvLrO{Accmb=J}ufE9ww=VY~!yXjT$XLdQ!yIHBQ~=CS4DC3r)FdIdWY>l!Z?;PcNC zykK_&l(&I^2#Sb65gm9mzq$j^wj&?SukJvQg7C;sf3`&sq#!)<6YyxApo%&gTC;)= zSV$MXlC%;ECHPQ7{aoni;4S zwZHG9+$vFdnYQ7mZydu$@8M%|WPX+$%CSkCqMf1(-za`GRkIl#7-!j?u`%Fv)I{>+ zklJrmr!Q9~rdtQ=ch~>iZ=-$v>csTm;N%x=^RGW03mxp|x@$r#=4QLU4<+_CY5z>8 zcY6LJ-(k2j+@4WxU5fEL?34U$ut(ZXQzMl%6!|mJHWqXJ z-FGY^pU*i?cCga;4pdrST14(ctIf{}!|UEQO8LF|8O=3o zGAEzYUb=h0U7eyOpFUZ9Af`#M%gS%y#TA>-v9_aM$A9Sbl|Gt1Za=v3x?Pvk2t_^Z z*v0UZ%%D%-|ehyKvUmrwVa!uxvRWmL#%mdbgYmXx<`H!-w5 z(CYr9wn+MTcEpbs&G87ouBtd9?o;)A#_X4^?pMTXUg{gq3^->Y6H^$rb$d3Q0y(*+ zcYnmE^EEX&;Q8rp`E6^PeDu}*#dGhhg3&FnZ`hS+J3V!YYMdDQ zP5M*+al~w}Ij8T7O{JAz;r%7`TM6NT$8t|@+T7^htf~PuPe|T1HZ24T-*LwC_G1ku zPGfckR!*^y&T}8mR7<8Ku5lVOcixZC>@BP)jrF=slI3;#S6SEF$2;0}Qhq%iXR{ll zJbEtcL6=xfXV3VXvrb_{e#d-0>1W&nXf4?&j*8}Tsejp0`IQ+S@KWyFC)GIK1QYr4 z`U8X#3VVF0BFvqSHCdj%qf%*padN-C)<&5vxg}>cHd9$V{1$9W^hLaYE~_A_q@eSR zZ&wkXb#k|G_5sLaxQ6k)i$Uhki0vKI=`QauQmyL^jM@X8 zAfx%=VJt6kTu!9OPJoH4(<)nC_IU1tUsl{ zvy<%n_S)m~=LDMf*F9~150hO9`#LK%7^wK!grZi!D{t%&q9JA|oR6q~fRXIreX?W6l>m zDw^Kc6x=L0zWMPmcTlT&Vo9@pxNo9);;j$;?pHHYD!ycR<-a>dey!DqTO`8Z$#3qO zse5m_3(xM;Y7XM>bd`noB=MzPx1k*;2srjZPch$6N}u7KwM0*ayXx=iBz3dv>2yP% zt$xgiQ|TnSmWc%4KNC0@hXHQ`-5y6@~o)OefE2J{jrfYP;xIRrqM>0WCP5#!_ zose_8ayT|H{sCo&9|Wj?$)epdBW(_qFy3dt`e zs#hC^uk`yX`DogIc&rvPop~skQv2QG`^`3l2_E9VQvYnyjGQ4*QijQq|6Xl&z zJx!-~p0e4)0{9(o>M(37)}zTcuDD|Q>miHk0aB-JNAF5lO_gZhzp_c+h3{?&4{J?J zY^bbk5W+5M>tSW}P<7c<*R9EJfG3+kb$Ue@w4Nu_>$B+g9ph9p{_?|S8}|z zBT&7!L?a-kC_YT$#Kjn|m|s%H61V9cMFZVS%2K!+H0eK?w^b$2CD`$eCIyXZe;)~a z@vUl(Ti+!UUMHOp_6!mime<2_vqDJaXQQTQ%r4z66PNh%4rt{hZs)k8>HPNg4?+D} zxpFe;k&pb7ibKJ5ahA2f1)7!|G+Nz21_O9@%1rHS-ye<)=@Kpq$S`Bd zI_Y9&R~m9}Gw?T~!2Atn<++~KQt>jJBh$1rBUkhp7&-2EyIL`^`~S*gKDZ~GgYYQIiD`ieYzX%%+K$fSrHpMp0lpSPirNqwI(&|rK&;K#Pcheq2xvSZIbW{uzbHs}mu zke|o4o0C0A{#nydqh<#;)5A9bsyP=1Ih!J>2F;ri&((ghsBxSw43!J#7aV)@j+|eP z%vAq*ANP++I?Vby*(({om{G{vXTF;=cF&Y2fi?G=K5f^>qgwE5 zCpu;cV8+om(@iefwIBPiZxhQkQ+DbOdcOeS(+%gxcDp{_*t_wT4<`*z(D=r%v~Kx^ z6Qu_`_?7e6B28SB<4BA-l{s#Nsyz@afXHrQrhB(Ns^ZG=j>lSJ#PJaWuGgc&iHv_= zg0UAKgYS8|iQz!ThT7o#%Si|8f=a~-qs=@VjD3ta%1#hMv*vD~>#%3xM;T={x*-0h0rS-S#iB2VUPaI3l|#FN|%d0gvS5Lc&pGvr;(4y|B-*gaZB6+%pI%i)&EE9Wlx!5RcdvfdE z(-o!E>0YqYrb?BTYLQi${ecJCpR$v&9Y`0eW=}7onG1yk1-+}$J=DePBk?BXJH$$~ z(LXTG)^Wdh>`y})rs)1!%5Yv)*YA>KNwuy`Z?BPW8QMDteetu|OP|ctrt(*P>Gk#fa8)^f za3se$DvC7gj!ETCLBYfNiPWKbm(Tc^6}L39TLZt3brFrzj%t|{VMzBdA?F6xGhbh- zed;aV5`K?hj*KmOD8;Wlgo6M0j_#c9=b8RT_q=_b3Z)c1Q7sthgc70tKF$xSILqXw0ORIByO?GLovt~hs9ks81RtYFYD zjNlH_$MPC%$}#!hxUBj!5J%KIw{)-8&T6674cAQBZB} ztVZB7T`iZMuV;HYxay!*VfI5fa4jLy!x4`nEXn0cR#3TAU2jU zRq!vD*5q(_h7g@{<2JD>{ZU5$+ok+hcaHOZ%im0t;+KinBPY@R_`#9 zV-MU$CKa}6Xy%-F_PwK3w3OnK(nmkLvdfi~c`ETR&XLe$ZIexsi8Q^CFXQHO2mV=a zDp+RA10A(P!%D^MC8^Zvtv=Fb-aN$&R4sN&QTYcotq(frvEKb@R4#CqjM`J4zVw#r zjqFa+`+AdyIOCAxCUKOo?3U`+6Qp-*m|`abqb#Lm^Y_Zd-o6~%qaG=F!Cv;eRjqos zWTv&L+vR-^Wf30SDH=O0ro}U*!^vV3IrjAO`UF)nZH(KcL|_Ix&C)UT*$sL+&N-F| z9xW+$_do|L@P}h^T#~)IkfPX=HjX__n$QB(HjY3lYR$JyYMuck2IO3=J~i#hRrX2d zN`48|z7hJNGyVR`XNZ4m@(giMC5;~4-?O>y!Leif!2>?!DJKnXZ*=*T|3tiwtx(J; zu6i(TgHiDf(c53zUt7iWCLSAh-mbc@^>a%B0|CF6ZRD4n^t&1)uW~Q=mMe?8evH!Q z=(r~I(=DwPQj*#RDaZ&fZ+N@Wj#8{@s~CMnp{bLm^+%48v}W}znGbyX%u1f;{oFn5 z-Khl(Td#p-kv1nWQ(USO+_&4oq*i+5{p|CWXT<&`qH%g$%st1y>j~9(OrAuj{yN9m zV|ZAg_)11nOY$!P_dPYe_pBKW$ZJ}CXuRuNB(`Ul(-E>M#(yU*AO0Xj{oZMWUP`vn zvQ|Us1#1kEz3}IV6V>7@lEh(Z3jGBw(d2Jyi{-d!{aKKLL+2 z$!mTs+?af&<3Yq2Cv874q_E3Wvdg(rm0Z47@Qe@97dxZvDdPPN7xbHk4A@(0 z`>UK&2hyy#$X{xC3Wf;3cpWD)b0lh0eq;b5O?!kqBz5oMxqUCh9!=&8mL%$1PLFZt zXdIdhx$9w{;rglg1#N+P&U7vcI?2O>W<+XNo}wD zWsJ|Y2{b2fGKVX~@+y~X;qS2D!t&?}fBfxX0g4X#9bBLH=4F%jo@@B@+Lhw0ja0w< zJ4cPckbPXiA;!{|_Lq# ztUO|%3RBEMhEEdMYkJ6uD-4Z#u~=PQ~7)@4O+E?KDZu?p#074Fab~ zHw#=N`8FwiV7pZ!t*Y5GM;V9o3maxhlzI-Ug)?w!bRG<=xRe1=H*B{_{l2xx@nh~} zX?;4`0LAf&@!Pl06-vx1+0CX8I~mVd^w&H34sc}+hZH+JzuxLp*R6PpjwBaBB0rJR z$EU3yT~qd4@YRW*kD!!JLPOh*?Hsna9ZzbPac5zQy|8J6PsZt5o8I43ry_a>z(y2hGJ(Y^O~QZo#? zXujXzM7*^qWEZJ0@F%-XDG9`*=GA!<9+4eMpnbOyGhURN$l*@n-P*YR$N*} z>22k);qjb^#PrXdr0365GB{oy`*vU0;abw^sh%X~=^J}zOMG}!hW3X)7HWP+1FQa~ z&z<6{y5GXBjocV-C>iGrTNkyt8-m>8P9^_phxjbsah8_Pw=1`m-i|JO^E&7EpR+f~MW^|e^NtIj|gyf574J{uAC z${>6Cd|j4{&wHQ#m**d}kJpyZ8h0rjxUQC*J(Rw=Q$=$h4JWUZHisg$DMPA~vm%6w z^m1$+$sRA23N`CiB7L#o`$Uz+vu)5FyW8BGE*;kx3B5pI^@~c*X0VI3wV`I5e$(Y= zeR8P<`6o>LNJoZE%ekUwk8~JXv^mQ{2PZB)$|nrVyM3v9NW-l(@38nM+k%F(N1zTI z#-`PA5$g3k^bbot$^$mB=qSfu^r>fL*3IPezb3pPc{ACz%!7AKCZ;wv7{4vKDRZjy zCO`kfvrg2)q}xYmx66{N`I`G~ZGB4E$j*D?$YqhvLyUbU{tryWhb%)UGQ2it88Dg+ zM}*zwoF%EJZEq>MZyaK-kg8y6zwP0EHroE?zTI3^k=@fwU!OXNykNNEEAQw3cK0{M z6YTC2tt1j3sv7C6*iUOPRi(Cg^gg5WoFUy@rJ8)4QqhkiDGox{_2|CMd$HscKN7}R zslC4+)5Xz6357#PxBQ-V`ax9VrRg31o{hJ6M1{pebs+UawwYt0vvhb&sHcc&vg?Vk zmi~5`3D*3Mh^phgPo8hc&!^P1IJ$4JLLt$t*N~M&X`jTd>xxb$;*R^(<&0dRW|sV_ zPwx1Isr4IF6pz;#(5rq;tDSXgCJ*45Vn8Mi*Th*Zl03p?W~1MUKr5Yo+;{LtIM@B| z5)JNUbLg{t5(%wvdr&N8?2pJ4{j@z-HcoWkXLg>K#&{tS8y9}#SLZ)c z&&_hA_{%hBy7k!kFn_}`<@nn~fo@-m-Wk2P6`QFq-6>i>RZK;q46#bS|M=5LRWIjZ zIu=Rg=c84eH?nnp#698kPB{IPv#9Nsa>cdNw9HD6{494~b8FKW+r=j3c}v+eOTR6& zYI{7?vRZ+o@t&7%e8_!DO~t%}tec?9sn^otHtsB%W!%`Oxs&pcE{SC=*>v>pZD#G; z4-CF_5w|^^&?&b$Vq`k#vD_Uo?uc38Pjm0jwP>E&x${{br=eAsHbmny%ZSlYaot@K zjojS+7cQGjB^0Nhx<8~sr@HgBM~q}UMB*6zNso%cU8NTXRo%^A%6q&^RJgjeQ{|(C z2auG~-E4Na*K_P_=~nKxhs3VepYz^}FCz-_cGAjmynI0@%g1tK(Kv@@*8`WqYQ#}E zB|T-T7rpj4S7Be;!9==tv(`XA`zFZ_ciTr())`|uEmXhy-+Y~{z9)X|39rg@TbBE7 z9_JkQAKJ%w4z$g5IOTtBa!HIAU`phwa)r>T%XPnR^xxK$fAR^{HgB@XU8O{wgmaty zEOejxoc|>0RXuag2%Zz=`ZXAe_~IJi_39%TMXdZIzw@t&11&10v(mR16@Qbx{jxok z=ov5tS2qGvAdM*C+;GiJ%y{hONoIem8pgXOx$@FESD)SBj~h!1=^-t;arFA34|m9= zH>&z?VOA-fd{VmYHvfGw4J#ITk>?i^um(h3@?(-sjTkmto{M}BLwz*Q zEvR_i$yke^TZLLjT?m4`a$0U5Jh5TayWtEM**WIY1x{N&^vO}#{Dy>1HQ2k0iV$H% z@?I!EpuU3q!#VoO$3h2V3=n2#Y-WWiC3=h^Rg`MJKiF6m&cnRt#5M&Q=s8obyEnq? zvl%sB6o2{VdbNr~g!X85mO69%o!9B_st2Zn4qf%*-b&TEA|_UB<3o@i_Y#k` zpE-4_1JY*hl}uXe=6!HWUhb%1nSbxW_Tj*@s=)357I?P9Y)eaL;MrU@m_u~7e_LA7 zLkhRHa^oqeC*#QAD}Ac)BAVTB%?>UjgkUBj;K<;}7Y?+6&iG5! zdM}dCn)bQm$G7K3{30!S^GdN&H@VQ_`|}@k)w*xbmJof6+ss}NTJ8$K^^q5ZsT0E3 zqeeNSqWbdS-2ShyOByc1QzehN+>X%Px!^(S>Z;R!|7kQI@WQX zKJbf)CA~O}J#g<#V{E46Mc`C{xt}0g=g|G#Y6&m3m_r{76iMz;KcZqL;tEFB)B5b_#RbjIWZ(z)m0?bq z2FBmGq;2KxsAJF|=i%^bTgHAx0ghL7!(P9}?o?67b&)@BY2V_{!ved`m(?F(t%fk9 zx!*;u`G8VT@?~`@f%;vJ%iPCd?iCxqh{rPL3s)LXq&oMqgf+zW>dim|TVaHsoZnd% zY{|RurG)wwE%SFy|JDn-p_#QJpD3MurVi;k7QeWok`s7c%(2gjW@7g7GxJ)$9FMUB z0TE|5Q3p_w4zOi*X2mJcj6~lZl~E*ZeEUdmL)@<79c<}WUzPpT0+Q>^_rjnrYb!!) zA|KF(?iNlvUl^c7oo8Lm-SXk#=-y!;ntrRWiOl$ICV>8j)OT?piF~Zz>3HF&tIuY? zxuYU}6R!(x!Y5y=GkQ&OjTzYoCS6SwEp(}Zo--Jf8oriO~G@d3*UtpM>X|vzFbKG#5B19bsuf`2kw3D>1a%z;%c%fCUP4EHns=BF999EuQK+`( z^*YQ)cMz^s-wC)I2*oUc9pa_>PI&Pk<;R(4IP%KYLa>3GvyhZgD+q577CgU4+7kK03Lz*OJKGr)3nYII4Ln-U^%QfFVT}S244k*4R2{Hm zzsORCSx8o?Ie;_!sJm(l@dv*7fg;sk*@9K_-or5*>B}xK$!vK?2Jg2}uV4-M8%JL68As*-s0x@eaGlah2lxl_$_BcEwO%uh&O+A8 z$8lV2H3b&L>SZwCtI&^wLBU(xf2|+)_mhsf*Rve`J3mkZKz<`PpMhfp40$8RvDmD%kHXnYuD^~PHoIMr?ySmV_yP3K z+s^X?nLqO5kADD(I6o$TNBb1uJ%E3pTxgxbD5mnYR$&wz!cd&c*mY~kg%b}Q4IES; z7Gnbj2po|&*s$`3@Rd~M(EfpkfCG*Z0JHWY{s9AT22d=xD~<#n`VDXldFirg1Pq+H zf)v*Nw`s&``~%2q`RA+I@B@Oj$d7;g18@c8mJlRB3IU2Iz$4Vn=Jj%swcRD+MDNvP z8hB}HfPsNn^gIa$PH<7goGYOdFHHxq5pd)|&4MKa2F|%wr@w|~@yC*)plt%a^WucL z7#_FfeFVIugEZLw#z*Fr^|7nPlKd#x4DD~069@!YI#8eH`3JCg0FTgF8RiHKP!Izi zt>@kgv!<=p5&}*vPy~T1LKDF^k41R}p$9N1fNk4i&;+kzC`!T=jlf6e0mC}7JTk$N z0`&^kh`&K57Hvzy5sTNqgd;Ln0SS~rfM^apTF=@rrYg2Z*n@-5CQuxc*b!eUeZfmu z11v_is2U;+hT{P9ix2L)?a`bq1waAR_Z zwE_n?twixdt_Ti%^ftiYSUfP{B6L;R13q#aU?bp2%9sTUHymdqkb9aHM*<(U4X_bV zWaV(75ugMcv64<3!2b(lK=SJYWOf*ac|hBZ69HW+c|c%T=#~x9a8QDceg!)cf8(nN z1_Xv>Op1pAfgzNV;%DGNv!DE_%>L29;gXt{aR7%zfKQsqhTrK>(ACopLk)RypN}MVb8IpwtLjQ^`uzA)ow?cmL6#$Xwik+&3nz<41<@yXT2tT^cH-Ddv{xXye zXMuN6dnQeWKl^a>Bdm>!*n%}yTt))9T#Q#y-kU9NQZPv3^{~^G$JWVNp~X+Qqm|LqNId?l%O=I zbV{Rih;$=JgS^8a%DB4gZ)HEb@Ar>&iFuear|whtxeTp9?|wW1c=TtEK8=mZZ96L) z(2tLgB;}(Ia8h(UP2lN$=5jXr1~wqh(4BCGo(yo^z{teb&c>NeNZ(4=0Q3Vz``fq8 z4J<&cBZG(>j^F9zvwr;y-)I3GktVBSVF36h3vqKDBU>_dHo#Ro9di>sAxk5312PtX z(2+Fk$aq*dzevW8jERjE^pSOLOB$FM8QYO@v2g>09E_Ar^zDqvI5=1VGCEGj->?CJ zoZz=oK7J+0;{jB@JjKSz0+2S)Ig&mZJ3BxT#5^U?)8Lm2gV!N4fu07x7a1Ff$474i zQo|#{LF2Smtr z1lhrQ4B2tA4ffQkxqm2R`%*VJtB?)ycm|)R5CS>U=5Joo#@+xdCa__O1HU;;Az=|w zF)@Z4I>uHOr<|s;iKURGt;ts>`n|t7-u?&>H?gs`6EW7YIWlf(oiAUrfou(Ir68MU z{Zi(Fup|f+vp@AAkmUWj9|60|V;6tqNLaW|I}(t$IORwZ*Tk)BEUs!HXcw^!Tps8FiAfr;`mJb;=tIB znEwY(a6+D9zl|t%Duz9&Eu1bs{F1BsC&JRRg+=);A_Q;Q{7cb+0CGWD&KLbT7Ua)G zcic4k)3b*YA}8a7!2SB&v*!n=%&C!9!0A*4g!BbkDhfW^eo4B2IEX-LHRun3b@d-Q zV!qV>&gzJP48;Em>Fn5ULAb=AUge4K!K(06;X~p?{kUYr37Hr{0G<6E;h(bGQ^CgR z5wIVq#4pMFAF<}+u;r`-3K>a)*?(fqe}|W+xps=LKVTpzy9br;L9zC6^mmH$N6S>% zj<@jtdt5$tLTANg$WZyO@YRmZ22|z$cJ8x*jp*lQa~wnexzB_Q4y{*I`>opC3n z_Mb@$^z-jMAKTHc`=ftARa4Nf{{cfeip7pfvS%ei$gl|l7VhtG?}TR{GXQ-FN^y_P z;2Tpd9}l8`gx_atGLR7>xFUGsn0^o{ADaxQCk1M7ot!ja1NyniKtzZ? zIcXrPUm(ovZ}IwX3LVrwVgrZ0*MAmV{Lp8f){0;7lmC!ueHo}dBh&gW4*x5NyJJy< z0Nz129Zy6J7W~ge{VNgWcahD}BPaUyd!jxqvLDLylu3Uz^q;v>h#|#)!ivGs)R}qB z@8Wa_$i5#~@o}Mw4b(>ZmTj_uCH5Y^Ie}^VMJhOtCWrn=1>`vfzCipZ zRDeqmpr$r6=w`|nV>>44r$l_YfBfg62&8idKXO9E-!ZmRjij#@^s_|mbV?5R^Jdd8 z8Q~uy8}NC4y!ihga=%}aq_c9rkm(foviONGexR3N_sa@oX9lIMCmI3Pk6+XXj-zJD zAJh^ES&ISR#{EkoIN46CC77h269IAD{}6zf9SB)ffIxHmJ8F5_^Ph6^-(tLPLEu-l z{Ux3IKREuc5KwH#C=;NtPL@B>3QJ|;jbK$t=Hcwz})ntqWAj-#Oek5oYN0s_G8 z=SUWy<__4ggBo@QIu@u%PVu?ws#e5Y7mkoDIzvpytTEk;GZFvVFXB&>tL3Z zYu9?-eBn|?;8q5$dCF(OI4Z6>nd=uUGXg_1Xrpc$(MtI^e9qIqbEov9Sfz_zMqEe# z(&N{c`JF3vrxp=Y9X19%ZWr%Xd$1J6w!6nMe|EmJ*3EzpZ*F%<>jrF^m9pb&pQP-) z8@DgkHNCUgPRib@&&ys-R({wYxplQgLo6>PO64-*RXDi^36?dFRbY)5J>=v*;~ZY1 z3HU^9x1Ajj|A<0e7QHWn_Hbv&u7py6e=(cdHkUE1?BNxn#d9zj5-zYmwS>O_s1j4t1Yg)unG7Xzes+14{jQlv8k$xyN+mlQUv7Sk zf_=_;#0{3R>l##B$*n4cMe>SyBdU0f(g-!q^cxSj2F}H9`FWt|Td^Ao`jFae^bKI? zy>bW*n`w!A)e1*ut=bqX}k89ouo zgjOJ^!Msbd*@yUyYrOVcKFy4wlq3o|DuY<#T@Tj4U4HW{R^{i=F2r6r491!tG@*C91R~XZ0*j<`8s9RO$KAff(*jXa&{&X3b zixhIFZ@5C;x7+gOZ6htr;-S?>&u3SRteFspSoh`m@$Gy!_!x2L<}yvHoOkj~s|aFS zClHbm+Y8Sbv7*fkCS}&DmI`4TFCfI>t*0*~J0`3O_gm(qO&Q^x^SFvU-KTJfo=IIP zS725%M*U%4;1ljk?Ai!L(d_bpr(}LeY(DICvrbQ=@Z%6xkZvm;eas+>C-S0AA&H6F zK}r|U0^x~jl0`EP0%~iTtcj)g@7K9%Of zpDs|mEDT9k7xCacD2-cj+(okuf5cgrmDTo?xb?DbB6BdbO-O)15SNdC1&;5Ce^#{$ z^^%-@;U|iB_%8ZTUekm%kHrZn#?kRrt3r$3XY8=-UlMr|BEYnXNNGlWV1regLX1SY zAduX8#W%K`X)G;*ph15A&E#l0#xk#5B&)Dpg?@OZ!YrXU)h!id>RUpMuzBLN zZnVO0%kn{jqq`GB7KJ`Hw*&*K*HLh@U4zHAxnd9P7r)c z6kiT?G2Ligz!WiM`(%`*y_z{x&sCk|k|E5jTQP6dec!Th1!C->etaJYH$jZ?I^dQl zdRze8wayvqf=2fKJ?`8YeCsNBQs)0iDxZ?-LUwc^^3be+1l@pOtAPz5C=YMcG-35PN* zxpz9>Tf4uQkaf>xSlHKpC$LXt{3xelzs`TVd9xOYT~O%NNC->nK3v*oO6Ip%qrE1F zJXXe2{5f{n{U2M%UiquEp}R`Dx5po&m@)8o+NlbF=)f3j@2mIGw^7b0>vDP^~ zt4wBPCy^gog6EQQx?()&d#G2dnizROXe8?L8uSAXIs4Y-!E6;85e^SmKRe~^+bb_B zfi8EdSKbis;OOsmxznJfX*4!OqHqQdwhwtS7a8}P3?cFAs-cM`pv@0FWpTCoSW0vO z8ZC=G`k{z*aRAi$Vj9;1&r<4CQ~dW2G|j2s&$&U#-c(U?#ANozSXN*`v3^=QhU0)e zDR2HJdyc+tAKK8(LM1ab={|?D0!y;vy$4mHXc|g2Rm5HmGJobxb;ls zb|!7>ny=5&1QDXI6W-AKfQeVl4phNNBJ zHF8_0=Lg2=lBY!8<{CIdVB+tZj3pMPA>=;btlR~-wBwn z>ND&-Z;y0ujq|LJB$;UTjBkpeP5xkMv^XgObh;3L>Vw@BERLklj(0z1NIG)OU|+TJWtc`cNSx>HmANA zuHA{!8Ka%F6nJjpnIaXwN+hdSroMx?m!}dgTxuK~gB_7Z>0_0*Ex^77#^U`=w)3DCLI=be6EOrD=EyA&OkKwHYCYE zrSVGWbhTk;?IqgI^>C+P?AoL}PE*)V*U`K*2`FSpKRKXxigX2DK}UWaaNlZNz9ZGe zn-1MKXbmq6%N;QMNuuhrJt_mQ_;k26&ogb>Z^;JjElR^V%Z0)0P=Gl~rW5IF0tzM)~(qFa~LYh0@GwrDd#wCkXeFF&Zfm+!UX6Jjoxt5(~6 z`Mi2f;yqsMFOoCQy%_pjM7Wh_c5y(sc*F=A@ZnxTwJQg&)(Kjp0}2O|Pq zBezGTVdTwQ1m2V$@)`vS4!#|xarWU&H{%gZuDmzM{xUANDvi9I(E^?04&4Dh)1A!# zgkCx$V%&bFDDI@6_k~{@wFL(F=1ov;_pEdDq(nAT<|8L^&8wa#_+bp z5IImONI?^~T7PahWVI-;xn4FcT>IXPs=VSp&n=QB+1D<0j_#=e=dF2bd`a=3^Kf=- z3qslm=3_WszzUJR3e?XY54Fp1Drs(`A=RC%r!p4cz`L{tm!nlVAfJd4&GLMxL*fIX z_nOa^atwoopbBOSmOF}VF#Y^}Gx>Uw+9DyG&SFsL30ZLi3@wZO>U(Kaa+*Zw@Hhm5W3shlgSBZQDrkOA9kn+3BL`)*Xg z40bfoh@O~v#z?G~wX_)V(43FE?D`0KAkDq`Msd6I9t_FElDrgi9BeJfJ?M(p<>&#X zoDCSk@oP1c=TKM^Z)h%cc#$W~S{Bk@M(>vUn2zb;%SJ@6QT;g2q|>V(dvEpNS{bRh zJ9bwXBbH`xnafg!gjJ*{W2WJK^Nxp|+;>XKF=H}6enwZS$4~#^o=nca0-Xj|w*D`B zGC3h3hJV~K077;Qz>l2NG5$^o;Z$YoTe0A4E#a4n1>Xu(;9ItAM=L3h{`u!RZ(mkm zo>g%GvSJBd(R9MnAEf2r`V`myVfE73ANBjy_$VIyK4yQ91p`3RAyaYWlMF@~pH8vh)nziFBe(f5$*i^YE)( zo@(j+l8OEw>UqD;w&M*-XT-Me>a!3~)n~@Ge~(v3gP3R5^!l!h{M(4y|6LV3o;o=z z6@x6lf>&n!Z(8P=-mnKk){7xPy8j0(^SEtuRw@P=o&7eJ_zx}f-}7Q;IvEIr9Ebo7 zwg28g#1DD(pExLwr$f$4#UKMk2q5w^Gsph|+rI4OJu9|BhPDtO2mf1aJ6>0DR&0aJ zjUZqd&WvsUnnOF=Rk%RN$p5#|BYx=6{ykouX}He?IgSAV194`0^`G!!XBzo)K@N~W z09TwD+x|TjJJWEV3o_jQZG4UYm^q$ljL!ub<3pfg{H|X8cMCtq%dpRCfS(I8_6OgH zKlAkR-?Pm#js3YGV}A(vk>Ay~uSK$dk5^|J@N+>1{NN3f|2ukhwwtE8AftTns?Yx+ zUY%)Z&jlIUgBJ<^^St^7(DF~zq`^gmGpn<5K?d{?*ed`3dns_`;LLc%4H?jbyG{SR zHvMQ1>OZ1aXBx$GLq_oscr`z0ID#9=K+ru6(7gCbuMgb$`)RN5%gV|>@AZ9W{-=kL z|BiBhJ$C;KS=X24`DauF;fBm4AP{DLi&g(xgmMfea8{8oH)Qqz*1q4d{Zlgur?l!v zw;E38WT0Vp@In&seP1yrI|)TQ9XkWi1|SK=-*gk-t~ea8zX#dfFLz17m5sCWvXD6j zcn|Ffr+?r%z@rL4ZqTLGub$)BkNl$N0RC`a;dgZ|2w0q-5&^ow^UZx7lk|&3a2{QC z0=*XU%H4MbB=GW^zvKky2G1!@fJyo}5x;Qb{kw7ucs1(@5r4-q{9pnH@;2GOKP>SD zk>ZRzD`aW|UNCyXzn^Ln=pN1~O#+Mb=R!QrTL1JQ{H{*)+u$&#T-Is#^zVxfT-7-{ zSM;6ijyQcHyWi9O(_A~n%>Mub&o=*pSk(mqPxAxaKfVkG1YQ3EU9jQ@TicfNACio|xd#(hSgRzjNl0#~K6#%iqzZQ(E&) znf|q43tZhgJG+A{ar_lh%omA)*l;2)u<(8^u3zz(kkz~2#)`Kqg!e zU@pI@Im>1g5K)Aut?mLY2}5a=`iTUJsUmKu{ZATT-)!)f~R%t6yLtOxqpvs$EV}jWIsU2veI9n z27NinSwK1L*CnMuR^U%ha!6p7AKxbVuD1k%8T6Ze;;XR!8)wp)w&b`W4<#_Cf5$ic zXZ8IHoZcDfJ7k&gub_yI^_`Q4l^Il5ISF3D+W&KvKb}$gl524M5R2%$79j){(LbT` z5U1q7=D5Ce1kOm1km=eVk(40!fJ34sKyKImy6pP|7vM*T31Hx$>i`JEgkz*4h!px8 zz7Pm8;TZD-0x<#nqZ2dzikJXN&q?Ne2B-|%cA zRDj2eVgV-wjHA{G=(XP!FdzaTAb9621n2*cPz9%gp3`T;*E99s^CRG0)MwN#!5Y-GYN7W1^C-oWk2NFzvdgx7I%^dq7DT7BaGPpFwJUo8I9p zuRB7H7y%(5(SEb$cv|`Y0~&vpIU3|_3aHg_O4oj_@$9V3Alo?6c(DHeT;q>po2EoT)4cj`Ir+0p(je~;0wG}MexUN;n*ktr-qXcQ zu>Sv4`sVDnUJ+)BPSG7^UKb!#}VN@bo(e5AgJP0JfE1wT`26 z`i~J1q+YN-W{4;KL~V<>?gmtJ$EBEuQq>DLcu?5((OYrV6vy3?~cp|d^i zANZzLXYZq>Bm2wB(ow<_b8Zf`G|BI37r4eiZd;A1OruPxZEpybe#Jf`2ZMC)}GUeUk+pz3W8%)Zg< zN8!>1oi2~rew#HMxoA2du^)z;x+t^;ida8d|V5{QMT-xJgGca%lsEZ$GUpY z2W@M}-oiXUghn*u*-c)`Jy^q&;7&EGurXciww%o+nvBsY9HHIwaIk`dpP>&M0-`ro z-Z84Cz9hFW$X~-zR)tb}L0r3)z5b>$Z$PwNQ-0;FJvIqhILy8I45znO92XWHqnaME zwWr#}Z!V6XdzNFBU}Bj=`l2(#hFME=dm2$c^jwVHcu79^8%<`GUX;-XA;nFnkzlnzw+vw$O^q(eVj~tBlS=y6a-zFpVndNyztR`YHp| zr?(X}(zV{A^pxErsUfFoLf>|JZJ=V6|9WiPu~p8c)ryDzj#SZnx|oZux|l_g<}_BY zN>T!%R4CKrdQ51KbcPAjy^ia{tFym?5U=y6(bh09~L7ngdE&7iGBc2))ZkA&UI zevVv_z-cgisZq7$xqK71b578$w{&km3O^G`bt}&n*Y5fOy0PS$RTMejP=iXMwa7D0y>&Lslnqd zO+Z#^2c4^o5@T1};RJBSxUQ0wTZzxr1j$I}6UsShA9f*HOpaz20I^^3%_@oJS#uJ@ zlp&uyb;6BTQ5vG6g-Ma--e|tKSAm+fK(A20u1BAG-Q1dc-o8jQ)ug|Jv!tWTh3zEQ za;c>iZ_PRqYqZDykg+O!P!Am z1vK3#d+G)BH#S|7C*kNdp^XjpPYnvS@yoI8mw-QmkK8T3F;g4Ya{EHQQ#V(PpYJ1X-Yah(S&S#ahTIy^W_4sexYt?4S_;4ZQZ0h>WWvlD9sPk%zxB;Zr@I3lQ>U zJZH?FI?0kb^xXO}rbWuLB=dLe@%O6puf`P240o2@z)0k!#@Qvgfb3@|q1Po%wY1lNdf)_EN*+r*(+JqiNTIzdTTvI@;PVstEAVIlCtp7#asy|@>A;d1O97%q)% z&pMR7yjHoe$3|<;BGSqA3g&N-YIz$SBHoaCD4Fnv(19>2 zO81Jrf<(7+IZ56%)4TotoU{Pd1esKooUlZSiiJx;z4WQ`{b<+Q#AEldieUvC9Ih1b znO+WiEvPzsdGB!a7V7H$yFtubd*;SQMe_suj?um@djrM8LqE$v0%Th-Un zd;jK6EGOIIB`07ujO(R1CzV_bd9Om(0w!;bqJ_ie;tJfpnfBrp`3^uey<&~X?ZcAI zL#8FG+pBrg9+#s#iU{$#Mx9bo!tGmn?M%c?d0Oh@6Qjb&(2Lx%@5JamdZ-snLqI^F z#uIaY4vDyi=c3cdb13~@t~Xdy%rbA{+c?#ja^hapGx4i+e9qvi%XX`hedJ+_FpY%7 zF{TTx5x9dja&>~Fj5Et%&QQ)de-fXFD)XL%&&w$BrjofNsxHH&8xKW&pOe-1NMfV% z2aA5JYLvv@YEz6^@6PVYd7GKMznEg9*H~lr$h7lS2O2ZB_$)4bIOCGlM-jQ?TK^Vl zsz>7Hx)%mZtM%4Q8I5b_=t*a08{96O$GNvGmZl<;{lTV)kdRb`GDT6W@RsAPJ=k&l zSot88_(B9P6}cit{h{70-_CnQ(!(#5>I0)^uk@5fu(&a?h%xT%I|Y6cVmkN;jVu# z@4ecaY-8E{z+ip&0&237F|%!Ar#MAe+I;K`o4z1dARq=iwDj@=s2dFBmxV+@@C0y@ z{F+Zce9HcGQDa{(Xdj-T(#I-A@@~3J!m>rUa3aZvCz9Gk(#aM!j~DM~g;S}jl`>5E zB+?_TGt#sAMO<#hyKseqT8*Ppimy+A02hV{5G;A)(F0Plf*e3+1orR*J#RgY9HMx! zF>CV>5=~q&0iO71nD=~OjUm%5Icy~A24}Yjx;hcL3%>gADO18exs}s#h{h^+B;UzZ zQ_v6OP;a9RM=XoYqnb6PL06N4Q^WRnqN<0g{f_R+ytDs~=N*Y6V~;V$+rvw@2c^1@ zI|n9{kS3~?J9H<68nLTQibWXB=8#Jt1hZ{(xP7d}*$nL&y&iZMubb{YCkJMFT` zT8Q?lBO|#h5o@-M7->=lVW8B-i*2yPMb=DnuN82$niq>}Ma1aFwBO0=r)Ym37K1O{ zfKqy_Q6JyFMOqhaZS5uH41G@_e2<;JEiz1oxxr4o@ny}kTnSp-oNE-A_jT=Qs|Xi! zIiiBYm$n8fR0n#{9*d-5B6r>rvUS((jECYEFb?q(icqSkn6BhtSE-?qXrjCPA-he+ zwfLH&!Y87=u_D*PxEKK_Y&t&McwsaJshNEZ>)YTVc=8%f;)rQ8#2?e zI#&kMG5Q!2GdN2D-#ZcFRU)Lxh6gJ2_aCCeO&V+&9^A-ufc)_ze+fuXGRmbyF@uQZI5w~i%D{RM$BdDKEUk?W3K6L!!{I9{Wn z<<+a4DI%N;QBP?YjOIL}IKzf#)vgNBuwGcf4y(W~;>HhVnUvLgQ9{_qE+0lgP4{^~ zUKAbA_8cBDb3OZgWS2_z2DBa=_)36Y*Ej~nE9}*$!5S6NYRvYTS8p+qIf_OPj@@p= zUo_rS4R&>oHIxvMTia-=ddyIXa)W?7v|NR8KPfbNTIT{_+~`KqTsH^PXD)Y?k*c1! zHAHxpwj>Kb;ALUoj86`@$*As^n%X%5opm)>Snh263dSZ%zDjen?^fCNEyEvIp(V^( zcB@RW7X|K(ZUIA=%iuC6kC4PrK>#prO9LFHYol`noG$M*h#wB zh)=VtM1wBYvc@AmMXecf5jAtzA6G)~l|w325cHvtMM=g;YV?MAZ~!T9G^)aAQ)NM2sl>pypB zsQoUanbkN4Uq&KPzah+Xl0-Vnc)`cjqv2l1fXzX(TditWO&pb6?_4f#gplsT4+;eb9}4U@^wn>oBU-L(>)3g^*+qrn=|TfSlFA8a z9+*clEbUR|0N?W78OjuD%3n#rr5F^yD2&E^InW2LpCXflFg|-2cSovW(|vf_slFrn z0hueBB~mGG*+^_W)>?%1ymqEOeW4}YvsGk{f#GHtsHFHuSb4aMSp%BH@iYxjQ3cNr ziRuj1?dTR)(m06OsfCH9*m$2G_>2ktesa=MWbH2VK~q+6gvrHcWIaN+yGrEi>?ToV zXv{bRnqBG4sRcY8o}m}K*%oxWn{wrcC?-HK&gMz|>g$j&;G~>(!^YkK{8R9pusAp1 z>)f=Yfw_Z$or#_fqp+2^KH%#hx3Y<)kfp83*Y6=`j>&+>D4_sx6B}DQ5n~-2GIlnA zw9c2WK}ewhWfOfnV_PzI5Df4a43Tf+(Z^5!f!uHN)!$~CzoYNZhnjgjIi;Wu~n)5cI2~kEi_Ql`Jd(l`l`R zak2oU4RrKPERD$6*+J971{O-7r@=257PfM_MaBer8vI^lY%HL8VbI%XkU^F=Pxrfi zAQ{N9dPQdoT`Ti%V)&DJdf+iEE95-=af=_4fTKYwFt2Zc#0IY9o}Q;a{?UmnzUsvn zLQWLu_Xp{LU(jB@SEOTv831^Y9()D)IwbX{$9;ZlkRAwrr;`u*RT4i^x-TF8&y|gp z1yb99r?d^o!~RX%Ky&2Zw2hUOmHo7~aeSw3$0`P7Ii+GONBRXMJ9?4~^oK#E>?0n6 ziqr;dVDkdcazii;0=fL>)ojqHHn-~iU_4Dy>0>uLq0H^Out$iny3bV@-ET4~m4s?~sE(;8 z#^+W%1cYkl_0byj;mwRRrcMlP>~5}GNszuC)gV3qVXqhPs*Vjm3mFxRf3}q7SW>bO z2*}g4Zyb9)7b3{#;qWQMzMNElYkX~oy%%+wbb;#eZdv4unex5W0Svb-_xWebj|GYD z2rO96)^o>IMg)&MWN^I2WqG(ZvTj6*{@H%p3w8Is#Cr8WHTtx7ruXt{$#Sh=qM(b} zll+Lf_6H`sDWifUInv0i#KXIOW^cqvhWkUu-$(587LZOTZy;<97Hi9^S zyu5p{oMEpq7z%l>aotF;qSBPbl<+d^=5&u1*J+>5N!s$9xv2q{fBngH9|Jz+!H~Ax!TC?!M+XI*&eOyFPOsh>j_0l2oM7A}8p;$kjKd39xPX zSbIT2h&zk0vFsrqX(FHdhHmuc8=`ds7Ol72E!yEMWAGp6&yg;2QQwuKcZr1MCtBpH zhY9RwW5tR#Eqpk7?oMVcXCJhpCP#S$plRNBlWM4C4bR9z*`njj9TohJ%O05aPqb6Cccgu

    ~;9Xo)x5>|!tefW%xF%-GiJ?)tUqe+J{#5v&z>Y8E=AzI8V^Ye%lIlKruGxAr zOBP$@x2SgvQ2|YG1X$Ky&1JnWlSp?fI-%%=^d3GO)}AI%gnhffie?>A@<|bAm@I;> zi1EByTmioMlbx=q)%5#8taXo?+nPvstjEYqN`lNj5KC&HGw$Ebc4KD5c$GFr$|+|o zjA4nBOva0-l5DnkT^55i=hK@2ahWSyPi49oKG@q>ngyYw_j~8TBBe6h^tT-Fqo50r zguQRJ!pBsk(@BFNNR?g8bw`YyCbW|i5k$&b6m!)Raargc{1j@sX!J^_FOQ^bfmXU? zY%|iZk^@*2wBX)i42XAiwA@;B?AB7ty*a?UT-)~a0ByhJz``Os2G}hd<=-KVPt?n- z9x#9qkLq-r!-!6BJnvD(V53n@?6`1;I{GW!LZipmRu4QJ4qP4fN#w<=XYkwQ;dPg& zUJ0o_2y-!ha-sFnMk(L(@ZM6nE*gupiw-T9gCaIuhv`@D#wi8aK_A?%EsjBZ)fu(v zRrj2#DWz0M_nMxp6kd2`ckp&TO6!`o=G*~UT6f`!&-=^@WS@ssyD&v^l4d*}vZSG2 zgU$%V0TQel(juK7#2C;mXpB>O3TwidtyP@s;?rk1)}4Af`*%5W&M^iO=_6*2C=Q1; z+1-L!lk-&nO zHKLDWE~O;oAYmfr^{g8k?^Y?kmqtc2b%nghZDrLBxZLFe>cwKs^HfR|P-z@|k0Lg? zeNZyzmU8kE>2mFcUB=iQ1#5Z%=yDM~*auGrHKG#(O8CR?IqAEH7*f!;8)O6p#=9lD z&1QHywkx9phw~eab~rr@HwOn4SNMwW&SvYNc)uXQ-{|g*=Oj*}U&`~V$dBaUeM7=8 z?Yy$GCXnjKV77HI*hSQG^`@FenG*W)N^pe@$t-Fctz*5GR`NpbtXIcNQc)N4DeQYP zmvIoR-qo3-B#?f3RYXGx#iZk@NmMH+vrLQ95pQKISg zYip?8S>k}D8ZQ27Jqg%BRemACllV= zP>X<^x>m+POWFgzjR{GU1V{GB%~yCIUky=zcDzn%d)a`Y`u!8aeRLARFn^ejx55#z zil$1N+taKgg!-*6!ceh?vNl~JyfKLTgjh_N3cm~B*-_(Auek2aEGMY_)K5Y96+Xx3 zQ8sqwMIJtajzF3vee@5Q7LB_)HaBq>hENyIaT2Nr8UnhV(qg1OHK0ifl042$Oj<%z z{oJRrA}2me(t*5CYt|#`fBO!U7kj_X^!@? z2e`@Adliv4@1yB2MO{VPq$0In&a3Eebz8@b8LNI@iD6N5$J4ojdcm~{qpCSq;JwRW zxjK^{(6opC99}so!Nsd67Wd02cF^^~0jRU{^sN zKt~7G2OSZ<9@-t}F-1zT<@02Av+69|*5g)p6K~yVSf%DzlXAO~Mf;R^GBq;%MfLL_ z!aK@nWQpg}YSC>tFlT!{(Gmr1X6BqvSgI~BynJriw3_))NlQw7VC5nvwxHT9fL8BR8e^Or2={5`|PJUO=@qw%*n>^->a41 zTxD){j#wmgs)+sEq$3b>{tol!FoWE%Nt2GSkh;LGE3bqX=Y#5SZ{7@xr^-?Yc*jO1 z3k9R5d)@q%tmbWkxD|68`O=EHKIaPt9BR7HD;}=(A_x!* z=l3z+--5%ShW6Zg-?BxYf1Z{(vHo% zOEu>Q`ZLm0vdc2h`HH=gaCcXD!+SwN+wqFU0+N5W^V6$O3LRyiD={0>4KqW{l=EMt zUX>XTGG*wa${2_q6kVV!z&%XiiF+evh#)XdYPoj4u)!4?b)pJYZTE7?XjGqjY&nM5 zkXh3m@ldAEH@f>2cDxcL;VsH1ZwR9s8=zTA5s1iNhe{%y^xkt(yuVIQh}v(!Z0v9U zeqdMvabHL2#v3Ljv`-#{QSlu1q+EopGn$6m$Svzqs(ML+j$3bfR-|qxJsPO9F-3gS zkanwVdbm_P+9BD*h|7rcM*sPmEN-(z`Acz2WI>sfFKZVv!C8hTwZn1v!;PWs{Vdk-q$Q*5* zGtUvtY+sy!4^G@B+hpxqgvAf;w!Iz_x%0sGzJt{G{VmFe%ae-dC=W(2H$2cXox!xn z$D@gEdCcl8JmXh7%jXg>HS>ho@XiOu*=s?Df*gSPK=i9(rO!<{pIvJX3Xy&<`(z)G zO>sA*dMIJFbdIy$)eEmP^ct>vP206RUHSQk0oBzX`Z3;mObNoo6Y6w_6(UgmF3IJCb8cXtPnCVcQXGQ^YU(=~~68h5L>iqK$t;^yDkJXN0*FL=Cz z+iJLfeV==8TcJ!cl$}&is-&JZygXz3eHzhAyA}_GL+G~mB(C{(fT9VLCN)?ieEL~j z0oj1yB;j=|9}Yy+>YJst40z!a*3;ab7Y~!W<#L~$c7qhG&E=q$@S#YmNg7dv^PcErj^a2PG09R*G668^cLboLGbJ@mJ7Xhx=TPo> zBjj*LHEc#A5PL|4Rlh*YwYy>l*NZ#AK_6#&b-kp(g$W$DtIJU`KbkIbl8(3*@aR)we7Wtj^10>hD#;Gkh zH0`ja;3_xQVeiUp^<8s$j^!nzfjT}{9O$((&$2v#bsrYtb0c+6*u!!2u26nLn#{PT zmW+3O3>Dr}SU@Fn89xiIx-1>552U>rQ)q$Vl!Cx$IFfC`>Hr@x)lcwIH6X#$l-xnq zH5x__^uY#a%?XjMFL+wWny3qgS8a$OvcW~aP^R?KPRe0yF|{Gqxi`f@&PW~~-6h?& zT*PPcg1l>j9Uw?`jU)R5EMo7o*v?{a?x3=n7uT$TB5}%kFFq9$&VZ&5jzrk66o7Qu z(1)4+AhNeCf*@UCb`_fojubO%J4+7E{h_<*YrldtMg;<%?k9IEi;*LO385mrfahA_ zN~8?Sm^)H*^e51&KXIiQ-@xy8R40wzm8p8B-?Yg8#M-(TBSf&;W^(uq!7a3Ux7oqa zsT3B^Ndnn>_Y%U!KPL{0g-7ks1flM+OV(M{gxtnPOUbH|}?_8g2f9 z`X+n!Q!``_D!*1z0(IOsWyE9y??W#_*^9fcKw-R{Dw*F!%9@r_ zNUo5oQ6zrxs@Mj>yGdwbhKrG8eh>Nw$r0DD8t&1C;=EHNDrao3srSfO*nI#d^;X@sonq^(qISwML$xrYyhW_ar6USR%=S z4-4(3U!|I5h&B*?U^B*zW7{E2BeIXyM}M8>X>nO53%lIt0Z-Z`*}aQmY=_orM#HFD27DosHua;xqdg$ zIs>O7fl9-<(EFB`*y_hCpMv!z$yMR#3`|aST4P|`)ZW)P6l1nklV8cn3oJyA%?CRI)SL; zvksHb;5RxKSN3iuFl`&*G;?LiE-Txs`8tx`g(5|_Hh>|6a=r4g#>$^tHhm8eJCY(P z#_C7&h%UXhA(-a=pcue>X8#7VRQLv?rpl8Uc6v9fU+~2CA!`|MLGQ{c5;}WZ)lHiHD=(VcBWtOx_tWc#~kQVL#@V$ zsD(arhfEyi;pLi`LrGi3qUa#44619w!TxsP#RA2>1nj-rmAW_y=JD9C#;#(vCN5julgfs9;G}6(j&%tq zji9hPeLh%2fgVxLz*!2nO1rIZ)#?1DJKm_BJecJKOdoTL?_N>0tbu<;|IsY=d2OZT zwFaJoFz=lEA()xus_$?y2M^pSVFiX@3a|GEo8|Mt-H9k(?7<2ZHdIxb78HX5UW@Bt z4DIh}ZLOeQj-a>XmWwfnagCpFMjEN0-7H|l61L^bnD1t{H1NIA3tV&I2m?(E1?w1X z)xyuazpnPelh8Mb&$QDCxjC5>3P)rcgRqY*f7fJBv)Mtt@Fq18yf>4&n+Z!{p?j0r z`s;z#NJ}2a<_8a|_eQV5l=VCIH#KP9oW4y7e14!CIZ(pt)xPR$^P`L^&HT|*-9nNU;dQ%jT3(va%f83=HVqc3P)lk*kHw>$JhcHSDFOqKPzmc{ zLuVt!*sE1R86WF!Yw}PkWFfmA_9}6kaV|73_D5PFy)=E(VYfUt_fr3SDb8LmlPA_m zs~0o@9m5Q|i+gH@PJr{ad5#KJwM0@rZXPHFR?`^EuQ(z)UkRWAR&U!abJB){3~YG^ zZSvE4Q!owRQgtn1bQN)2LKflhK|BaKIQ8CtZ*Vx8!U1QKd z`7vEvF3dIYii0Tl=>@^gNVypqqmnl$&7K3IQ@y>SIid>K1=%q-%$tep_|DPyM{ssF zEfnda=_Ce3nKi?xu9-5aLOtqJadj7ouA#cW3gzF*dmsBFBARHp4!+)Ik?}2Tj5pS> ze$=v|Ok{?`{CocCgozK`pPnl=xG;-&q5tspmAU(HamjDCipARUb0)j+hyawzQoNuBFc8l4CM8Lg5o{ z0aGnE?aDIN$CJf-I7*p~LI+(&yQEucei@I@ZQnMzey)2!)YN<l>2}lUi$W=yD8-)oJpCZCd08Z>ArxahuGbzi%e}4| zgivaZVul<6x1erG=p2#8s4LE)ZuvGOL#O(`{ULg7}xxyZE@0%IlT*q9kj-m zm5h^}gBi3si4C;I_h>mf2auVA^N$nqLZC(Z;MRwbo}G!6B|s5y^ZM1J|LBbE>~8Y{ z0FI81%qF&0pk@{u8?%*-5r7`l&iZam4macu0`{Xjb|(b>yxYLeal9zzTeqQzNW*Fv zxHfY4&^s(+gkm}Zn_5Ar-8Zt=1kJunQ(Yap1f9sm;=F}}hKt*)&wCSLl-7P149aG! ztCsIm_}A_vjyu`gR36&BdOeJnr`*^6D}zZOUb#lWpYDfcx<~5xW22kf`-nFTfg@3!~SFc^I8=L?t*;V z&QoE}26l6ADYVoxGY-Sz7i`06*;uzFGLL6#=Gf+2(B~ND^Au|Io5ZPVU8T=qlA>&> z!crZslJI-ITo4h0Z?Di>(=U8=+$r-?vW#^l58w6{UOjN6O3o315Pgg_pDA$tO`z{} zxP2|}Tt>37+G+g5DxVY;H}ns;H#ZNIebwD6Mn|y&+csw#(XY`I8YH&{yfyU~(UakNj6UVLrdrQ)vJ~1kl!}15wWbzdRg!nXd;IN))C@XiBu?=g-Hp*(50pB{fNIr2^U2isa%Sw6FhQY{kBJ0EAaDi#~! z2qkKUh)K#Xi49DC#9zHNwPO*8OJ&(A$y3g0n1m&}erpOxOEqJgN0S#b34;cKI@kz3 zVGlYdFyopTZb|+FnCLS9j#aX8q2@tM4%mV$Q6Ag9EF89h|Hs~2K*y0K>B3@*nVFfH znVFecmQ*EXW@fO^0*fpQEoNr0z_J)EW@hQBd#I=X>D}3#f6u=2&QzVFtWsuHX2!iY zBEE?G#eLBL01Sc%MtiQ!56ZN>U|dnRT(qSRHSQjwQBL;yY|U{c+l_OEz@=jR0OX*mHGzXh0-}VWECyk2rsw%%w~W$31`%K@7z_Rv7jKe zcUaTwYhLbn#(NYt>+vZQk8exv?#$nViY`upnwNiJXHydA-n46Lo>~EQ62K zrRbe}QIHB+Nn~zji(R*T@IZGmfOmQY1v%Y>I%0?;HGMR90%Q-E$`6A5Vffx{D_&Usg@&+;D+^O20-?gqB&??hV!MIu09CGaaNJ(KDuy<4j zyA@)XsV>9dT6ZdOCZtc{Uoz(^re#1W3Tv$P0@@~%8Y?F>O)%#YZm3+4uz?E` z_0cUSu$mlKS52-?(FJXbu{i6z%NY!Te~kItS@o$Zg>dk3M?rTS3nm|5F58HFl`!-M zML$OritEzMw2F+1ZAx5#X&;n>7@m;pa_uo!HK0dd$kI77>E?$GCX4bl9&vm~&UZ!jM8EUDIMWc`KH?@8n)+J^1E z|E&G4jz5BWnXgX^QG*%{*QjoTtwsu0|JkQ&uj3&AWg6SZwH-edcb;|!J69&-rvZnk z7W}=i(T0#kSM>#wg-6%A(lpFxy?Bzu&7#tgf?-ju@;YaBKrzhboGkcCYf zHu4Zmdzq?uYhFPv7-7etaH%>S-S|?ve8+|%m0N>f+lZ~H39bgK><{nq zGy(2UWSG+u&WXuxyuZM_1(n%XMdWCbEDL&7iMCY4fRniOIqih}u=P*4-zTizn z`NZrO7P8Sz62I_g8BeiSK1cy4H}*r{m3qNMJ6#2hAKF99jmi*?z%p6n2#eLm>p6@JNHrcQQEILvvOq{xtqe%}*Tl3F9%XnQlAkSeMr0 zy9M(hU`Jo0)F78h7gbc`VsmOxv2jC?36ud=qdH7{@8HJ zqKXq+WSH`nd=mQ7dX5h}b{w+{6+6!FYEsqt??khLbQ?3AT4=pV*36U}Mdz}C25#c$ zw7c}#E5Xr0`Lwa`p4(HJs*1lUx@+_Xzr?t!cvX6;G*@6Qef;}{_Q6k#^(QK# z%+@}6-TfV-hR&`s6!N1}!}Vb}YJmcV;p_NQE)Lotq8 zG%6H)VS_Giu#0 z8+3;AgQh1}q3z&(r%xHJ52^W_jg=F^%vqxE(@^NkJHat&MG|gVY8gMx557ZNqtZO6 z!njXvzy)5Yz>dxhJAoSvHE=HfP^Q_l)PswQyhCXCF>lXg3p<8cF9(M(1M$?Kx5b7V z&8N#`9E)vJB~D8ZO|15+WFUT0Nn$YD92>xL%5Djuygr8ajMd z3c_Ail<4CeCR9nQEQpoSExkM5E*9cI{&Wjy_Aj#$*Ku}J(z~`x#68NIHe*p-X!@dk z4MixQ_w^fa0Nw|zi#M1C4P=t@)chJU?bD6iv|_E*SoCXs0H|=*k5pNa{mAagH9yUQ zO)8Za@~SW?oJ%xUgdA!y(Vs!gb{cG)wm~_i;%M+_gP1~v&UE5lE5|6V5FimoOt-N( zP48$1YRtpd#5R2D;9K)ayFzp?iuvYHd)@K(`7zKHffrlIa1GOp@*lc__P&$>*&&|m zAvlF>_H7aD(fg*qvaPX@r7xmN+8s6RoEt4NbQoL!G>@3$B%Q~Ytpbwk>z3$No89Bu zk5RGR2#l@}rd1lIY7EqDhcS!XRZy4+*<-HZin<;3M_;qdB`z}eHlZuYD09RZ2Hq0A zcn|hqW#en_-Gfwz6_pvk!Lb#vGD>ogWwt9Siien05@DvC-1W0A&W>~uE<5)ZCuvgr z=*>ZzG&oQD)-bSFUEGtrDntr5&_n42m)obXT-LZRL=Y1ql#zgZjw`n$`C1eN_YTh2 zcq@LEP%6wxj0$7p6ID;0bhC9rl2aZGeJx((=1mGBeAc`zhRW!ZoK&^|JPs5~cpBzs zKKM%!@k^o8^Yqg{fStds3G)wN=bx4{WZ_|aqq1{xF}_t)dz)a#$n!r1Isd-IBHJ%T zF8%^J|G~|%vNALNQZMHX1hc%&*JNRQTju7ihRA>S?%dgag~D&3n1xAOL0-+w+QQz1 z!3N;$VgfL;_y-92clA8keme*Bj}bB}^PkT94MNt{Q(ERm_mkQbx^pZ|i#e^)(xC7< z{VaXl^Il8TS2`Tj%cMBer2OSkV9*Vf56wz`2?Ld~<~e7}`4;A~Fl#(K+OmcOiD)98 zGt1Jko}bF?UW%Kas^4=G&6VE|uRJ1jcy$;8)41XZ69<((CJdH5 zdSC9we29{D@~Y_^gbpQ=B(I{A`}C!Wq~u5SUcZb2Bk=aty1#;?4t22yILzMMjPL!p z8~xn=bwTJ|cueL33w-vtVQ<%L41OC~iT}~50QlyRu#{T2CIN~-R)ukR-q-rICJ}6& z#{lpg19Bxe{HrfGdd)Y~M{j>2;&KwuMtnp{0>OwOSf>{5EEdA6#sOnyE;(V-^< z+|l!7EhU(oPJm{*d4oQ|i>nhe^SfyLz8&R5Ssa=7I$Ey8&Mpqt8EEVkft2uf#@k1* zuXA6Eh=vf}ht$U#tt7PqVEC6edqHfDEg7NK?;N%*!EpC}OlK5!_11<;wc-WdB!akxgm@_ZEh0<$ft95BJtSctWD;OmOc-vSuJd79 zArTX>yrF9ghG$h#LiIip5h|F<9fwX3(>Z5^rzW}D*!qJXr8f3gk?gXtAam3sjZqn9 zNDpm~4fjlZS(-6mL(yLBZ9^7PPhAeenq?mqG3_iZhLPfIkce^VOns--k4)KW{u51j zlY4B_Mze@i!$aZF_eie^(~JDF%^5wf zzQvPgB6ov6l%jYc?)sBuN)}E;9h#a534HUDB!#RG-MQ$Bp#c~m-n#9!A!R-huyAcA zw^SgrN(RI=>`r@o%eyaSk@xT}-2NTr%+RP%h*+oIguEWJY8-W{Tk+K_3>Kqhs@3OO70+>M7` z>R?)htj68p%#Y8k(wy|sd z8Fro^Qd-1ekDfSr@(WtlEckun20LO$4#-nr%6RVokN}h8y*OV?uo`;s-B{ZVZP5! z_lnOW9xdqkknV-VWt=V%Q8dw8KTs|QV_tUY08>C8Oz%p_D4b#@kYhi@o5y@K>D+Wo zt-xM#*W9J5>imPW(<9&`+4_dw-iDP{Zqp7oH*T9mTHTjYlBPu`ZHAitjxHckRb|#_ z5fqwN3#D1R%WBK|!R5x5)v->e7oj)3(y*FL*1ZExULU0vDB`W*Ktvdwz4bu95rzIR zCM@n6RM5!r1eJr60)%I*e=cx%;L=o z6CzJUtlWBuDy~Z1_WCc^L~MI87C50TnMLHqI2N~!BPaZ6e5N0`m%{qh{K=#x2*%!r z+&=1Pxyu4*8B}{(;bqPol&x?W633ZVx8p>QuPr0ry18l z>f`$owjwPA7mY3OdtzHpUCzS_*Uq?Cg-yr%@JJf7E#_r}{R4I79W|!BSbgq_u`e5O zcM9I=yBIy-jZPb&;SzC7AU!a7@_TQiInbAzjj|##rr6bD<&%^K_St{K0Z2rYuOdjZ|j%krsA&?X#gzqR!E}G;A9lh4u{o z0!)2RY|1Oq`&h@4$I`-$wQ`NFuD;3ARHbqb66SGAyaBkT0>qaMG37YcemB18Iy-%& z;ilD4$MdcaIlOLVyds&F@$sojXf@;IZ%Jmg>nbh(AinXYAr`?pNNRzi2OK?QK06Xh z=JBt~{my6Z?9k`7%K~AUmWm2k(Ze})`2X-|1>*CDD zG$tNbq-wH5oKKC96#8E1@i*aE&CizAM%GV8<<|ZlD95izB!>Mmf8fIXmHF|PsK2(7 z>3a(^m%s9YWb93>EdE5*dCMGdGyR$N!otPPBnGqtI;lCBm|470YTRthEL5dLnM7?| zoRuw{#DMk=K)^378*U~UfQyBb1JLemkzQg;6FX-MCN%{UXWKV#@J~g9{@C4N;rO+9 z_usso<8BsE5D<`_ylW+U7^S?okN>ML4_rt92rfiM$oZdqO@e%J_(L)LmYwrg zO3h!p*Y9X&Z-lJB@{9hwR)wa8ler1Nt_V;w8Uzs((T}$IH_xE3-0x@&_h6=>R$?-QT5C=2&->5*W%-sJ373htD_RBr~ znQg}Lw)!gr>l@f&`DH!jx8Hv2DSyuf`nCMu-#_#(>z)4HL;pv8m5r6{FKU2`_3c6a zRW-o=r==$TxTkV4|5|bFAFBa)qP%~yoBsQ-e@ozhSpw^pT^4_&DSsUX|Gy2w{{e&X zMs@u~Yy5T?{?%d_ZGik&EXMzGGyJzN-({2P^oQ;D+er@pxus+Io265?vA1w0V`Wyf zaDV%&3bZ!?{1?pKpDOYG5zU(Ux90AbAk*KIXW4%n!~5$^|0BlhKf1~P*yeHbu>6*5 z{fF#V_P3bXZ@AVh?7!NpKXa{r&wl+2*P5O6FI?;2S-)So)|_u#Yj(~*abf@7()~6p z_{SE9g_YxXCZ}G@9=ODb`~v8D4J1kh%lGuzMTQuXOKz|Za67LC6%nG2+ccN^M6aQB zw03$&su#o1PrwO*OqO`N+}pbAadouU+}_E6#lXY;fuP>Lxv3m5^xbZi-#26Y)$g1arnF0<=fSGu9NTgt1>hSu$zqA|12G zh#bf7i%3SRW?%}Jb$Uv_A$~+<_cRQ%;bVTjymxWZNN8s=e=*_pjDC5^RuojC`gz1%RKHZ#K638aFg`1&W=cyi>->8Pg}R$yxYe zO`<&|-aFSjw7H7(rD=Q>)9;%EPl!EaJ%8`SROVh8VYOC_ifv?qdS5nk?Nxl>-KH7~ zd>EyunhgwdR5OG`Gx_9qmy1I@)lL`WG%^vKGnPQbg!|3UAXCAw?(@b1_ZV&ycg~cs ztdBpp9UL!SQmPjQYYmeMKHvH`FOP~JMqI)_6u3fHsnn^erJMS6eW(fd6t}YSnZaak zOUM9}_F;__6F7``0<^uxZR*zEZAD2j5$LIVKPqAxJ)^sb;dC%;UC@5LSTr4o2GipA zh9)e=UvE5y-GDDe{RLW`E-_4OhR7yqEATk|O^4!~AH&_x1 z2;OCU=d9ei;7;X#LE)iDUvre*C7cO*j8MPbN;d{RRNKdxVtV6tQV=;KLH8TfiRusb z^z?y&x(^cxYLTqwW-C%@cb5O`doF6{HwS;f|V*kMum@Iv4ise&ULHnBs-lp@M3-2KzG>M>LxLFDOXWqZYGn5B`3kEY=U9}z!?&}8gP2BP zgfMx}*WGAai>mgKT-`f#HI-)#^=Iz&xAEJx(;o3W_CpQDwBcE_)#HeRH5IU3&xNW# z2gb?pnaX$zz=(4hkrlD{b=U5>P<{>-=o@fMk z8hQSl$uZ2}3>w}Q*u?-7Za#NCr4%8>p&=DsXkMHAihorIy!(^7xt;}XQdP>?qaoGW zz?Zjy{=Okj4EFNou0z^?$2gnPt`LWa%@OPYaX1kbP1sjDhP%CI|AleiRIx4vrUg<64c9@%`UlUzl6Y(- zw=fPx<#xlV8X@U2>Lbd$%C`wP5zw8s~zOluh zip|{=abOEwjctYJJ`4FaHhTVJB>SdF|C{K5{Y~fp%jn>j5QXX+oU?n2A~3yK92X05 z3p1d(#ar18fR&5&TS1NA72G}U21R(Y@I86AO7=+a(Er=U{@*A5TLS;f68H!OZS;r! z=6@-6_gm2ZkA~&{2wwP|5A`-Me~Bsu5x-Ueq=o+r0jB@uR`?e$e`Zx-`-hGA+bH25 z>o}IT#qa(ed)4dM1JQVpUkGVlyNMd59gogO7pX!Z(7BOQ*E45w)Xzym>QV|}t{TEm z*4FMUl3m@}S-yeOoba;66HP`7e9aK*u&-oFFAwAQ;r3rK1Y%8DwihO1RY^!s4kAdRKGd2VbSgVsQe^x>Higce;y836bQ<=0Bn7+kTCPhdTS zkxQuOe0xdHyg6;xAEWYB*ikZN#kdPGp|#M-n+=qx{P~HqdLi4m0rFlx?1>oWH7%u0 zM_q5(Uaq(&L_UkB1`37T903aRmx2DFg_-n{kZ~g>F0D_xK+DdLAIVjWBVFNJRE#M! zB$IUCzb^z5vT9~Yl}YSQ=2wkQwShzem>~4`t}%GlKO0E&(9EnljOrtsAS)-*vQ#;4 zk@l(|CTFC6Ut?tS54 zou^H_jE^{?p#BU5Qs_kyxTj0`k8R=9awrxGI4Q)RRmH2-u}BV7#m86- z!L+f!Xtf$jQN`7ww11qyGYG%sAV*sG>0r+6hTWiPc#*4ju?}igVELzxlKg{~e*8qlg*F1Lbyn!ZqQF;Z! zZ*A3m0lWncw?QBQDxtA0+vs{OZLpB5Mm0*EKI^NIv%($ySTKdtyB%`7Lt;rdh48O1 zVX*?W=wqF!4vSE!7~7d&684|A$1mPjuzXf*G%xK8x6?GO8h;q)e9OI?F_7s$`rKjm zH8R&kAbiJ1D&iW%q|`#kg>}U`>$&FPPg&#S{4|Hv#?M)v0CXWg%#VFM*h3-3cIT>^ zixSnj9)MELOG}|EfNUwQn6E}`9B4e7)7o%-T1sD|2l%6XUe|wS=u%cIY1%rv3y4>E zU`0CP+-kCj`ytWibL5?(;UJIS@M18Kv)gw5QNj2`)~(c|!Q5)LcyB9a!$TeSbe@HQsX$m z{EQNQDorW|+b5fzSy2sPDhAL`h;$&@*n`sORx^OJkJ4xw+4KE%eU9;jyOsA;GxGaH zCH6B(qh&1ia^~A9Gw9iz-J_^T^NVh6^lcm(-lbpMt1Jg5($=>jY_szeU=Z7kpso<+ z3RQ7wqe!J1umUjCvyHNMD%SDJ6JMk;2;;-t{X@w#Rmle7a(B6dLGp zgG5S$A1oZ0zO|y~PliV|S?vE#l6cx2d_oh^CK@)O(hARcxip(31n} z@*jBn|DS}-f0PSg|659so1Nod_x3sdlDzpNZ=Z$b-|qgu=#TvS^nXj>-xBy|Brpl3 zA@oO{`>&enpHA2OXL|B~0DiIkeyZsIWs@iVnFjcO=a_(W&_TFA>`TARzyAj)kb{l& zcN1b(a_pY(>+3brs8811xyiynZ=!K_ig>zX{@c zFBfpF!?T~LmkPMr78@669&g!fkF@2%c9{RTU+C}qWVlul?`P}(;bp4iMoLJ+sh~

    mQPi$JxAi{{1RToRp$N6tZSpI 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�i%oR~_Fj>7@15m<%4kNH1*9q#2K`j>)i^gHIIbi5ULX^c9-P z+EJKGvNSeRlawz>tBfg+!Hui&Q;4(NW>rWnUS$8LHt|U&gNA(RYB88Ej?8>|)tT7@ zD8>u5$x%*RKS@}**Jp{i8?v>&-NoYIf2M>%ij~qe(;e1sk_xQK!>Li0xeej$nLfmy zmzsC@=^wj3CEBLv%RkKHw}Ybrn!>3K1d-10k;u~@ zKCC`V6@$RMamVt=o5OXOT$R}IDew1$?OiLmqn+__Zn_Y;!~J*|Z+lW_#1aR`WR-26 zpB>i%;z4xzO=3tQ0tB($gm?y_U*TP$d-?nbE66s1o92csyU1L&z38LgtPwv5(g@yV z@cWi7jyN-8U_pO{$}PZ|gj&E)pct&ml~4@9_|o__#q3j&CsCC~*zC#Wrsvdjefp8d z6`E;Cvt03Y?=NA?6FXykXXYWdb|1kw+_^PmE)zMeq3{70!y>eA@xY(;lp!N)bo+Ps zH~Z0o@3jx^4j3BlU~wSx&6{uCia75y&aAJv;qM#mu% zS5e?TzY$C8?-n=(I70s^w-K?<2VxhW*@}?pb^7`8Sojl?R5T*4$Nsws?(7GF76(-# z#Xr=a{|~JB|4a)QXcPIrzVJ8Bmygrklznxc=0!ddw}m5CSh=OQtMcLW$7_ChY9hn; zyggm@edHdHFAQ?y+EP&4jcsPZ*z|J{c|dhSnCkD>*N$4g`7!7_irqG|B2zxGb*tJu ze$nqM+l=%i@(02^mc+7m!swe1PkYk-(*AJfXHyJX!M|g>b_On02R^!TNS$%JW(dBk z*z5H_qs5c986B4aI*4*-0qCUeGg?cbzD;?&H@>&)9qHCQcij9Q`)!p5m=&jYleO1@Z)Pb5uhp7PYj7`F1zSit4BIe zJ^gsE(8M?%!lS^@;Ip6!d39^ZN?2iO_2BBiiI}fr=_O6?cgR~F|G|DMl;tDqScHs+ ziqDGoL)C$sNlz328u01AX+^?B3~g0lT_3Wa_n>+AD@_uDI>i{ng!S(r(C%tUc#ex#n2u{Yk*P?>{7IUYRldb8+=qZ=jMEda=m^O6i6{NK3pL`@P4_h z4JRV)QWS2+HtW@)O^GNuU01HCKDy+oSVyL9#K0%&(oyZIc(aZ2ojn-feYHby#3dk= z9t?%(n(+)Cgv30%4(W>HB>JiGuAS?6stK$_w%cdYbmC(};Kh@!W)94~98&VqRJm33 zMcGDne?ug7_f1CSQS^90@P2X8UUf|K%bi0o;L?eHII>$UBSh!qh08OChZyp8AD+xB z=0yD~A=lab%l+(@*SN=4K@fYEZ~QQhOGcK(=t(724gd!rwje;~qT?lV&fsfY3&qVh z?-&KY^>pOQHx}JVv>E#qh_u{?Pn1Oq>5oAvx?SL6NF>IOd7s7!Fi#`hNVI(}h>KXB zolzCYF4&QwfaBs81vqQJa(5=mB8c0%mAS*mues&<9>gQSM*>4KkRe(URYu!Ps9+g1 zy))u8qI`j^Biq^2N(cYGm(1niGtx|}GVtj7kPs>E6^934Bp8X=aFDkd)T6)*%w%2TLO3309h2^ z^huro)ZijzAEdJm@g;YHxrilX-@PqN^-QejPnB%beau;h2lq?JJj99vM@?fI{o#dnEM9br`m0Xo2AJk3huMG|LsBzS+0^@!5g~iS zT#orKFCLRW!u)vUJP-0k59_gf;-=dGz_-RcImD+aIsr{N5NIR`T`s0=&rm=j0ew2Q z#)LQC(p7NmZH9N}VN`2*WYv2*)@4|a{tv@rAOKKhxcqXLSCa_HIyH(=bm*?`_=jB= z;>t&M8vP&KD<;nv@#4_6!tx8l5zIfCZU0>xq5SFi4>t8od$WPley!~uLLsj&htvJt zc#XX~vG<2i$yx$0cc8yf!m~Aa)g_mG=)DZBFhF#NyZfd4aU{I|&D zhFS3K*}DJB{hsq&^Swh_*3D`X@$LY@lKXRvf1j|-61Xeg}j;^ zfOFCHpaE_YSy3R~uz195;p8)MU3T@+8CT^`T zu_lrX63flrP}F)o=jpxll{j7*RAUCC@>P6wIr%1b5pa{dL-VZot2Yg`m`A1La52U~WEi>k>u!|$3 zP^B+6#6Y+D0ai;az`0XN1&;uA#ttS2h*Te^pc{kh%`z)jm{FcBDuxTHII{`-UU_TF zT{3VsWd{9#%UAA@v6I|}0Ft7#hO2myyzT8-!EiUKb!Y!4z8t0a+(E-#7eZ9^rBTWW z5wbb3tz`*lDp~S0x>vWvsCU1`gHqM%^KNUbAu{Y(K1eQHfU!HzxLOH#@FXRCEVH4X zG|e8_-?b{eK-+FF|sKYVCbb4XaB07$(&;gUJ!B#oPQnwrvrHNkvKUHLvc6w zb5e<1TG+gt*3<;V+|&7j`6Y4Sf zkpr%&uqB0`B=#e_JjA``ah;Ln%?Iq;Gma+2;rNm_`@d==NB(A=cyv43=nZ%CQ({Y? zm_Nr%Ym!oBAB{uCDU!WF6U4)*2LM^Uss4O#$JevGiQt?qaYi$d;1`96Ilsl$FpES4 zydO&i8k1p^4C_=eAb#t$Kwxt#I}mrV=fc%#9AkAF-Ym!D3w@7Wv_$o+PODbDVW+9U zQUsc>(je)9CNLz@?``0zq?zZk>|r*nAhRUhsyA$>_W7y!X03m%@7(7zeAP9*H$QbH zwAxO)J^Dd-8Kv`;MBM$C{=IK`hj&Nw5P#u0(Z36Qj=drXuL-eDAe2|7_M{oa zHF?}GN#Z-R9Q4!02JZO(2l8w0CJiZBhtKc>L~OGKcJlwWl>l)sJr^xjW`f;m1}oAh zHtSYwPtvSMBS1zUhhC3RWkvv(p^G zjm6*03lA3Jx10^$azrEp9C9byE8TU^NhnJ+9l`|;jnmIVoR$zIu)7?623oi8CYdbx zKjHr>W9K}qSRNUs^PssEzkadk#eR%FY6OFX&jdR{MuD?9Ze7CiWS==#$oD9FTa;43 zZXb7PJ@EV6eZ#}BzDE}6PH}{$=W7E=;s>Sj1BRbB2y90G;HOC0?C@!f{FNG;q;VL$ zXcWFNS08q}OQ%me7S}l;T==Z;H&f1G)&Qz<3IKJ&j~hG+@DlL(Tp~o0x5BN7lLd>k z-J-@KAQ+R|R4OJY=(o!MCirU#JrGegLdJOHT~(7qFdXP#ob1^%y2@~y#mT^Pzf$Kf z@+>!0K~65HCNp;lBf|v{I{_2>0RQ!(sR4Z+BK=*p4pG;q4ay%N0oyvXRgY$3#8OtB z^lhpXszr|EbIxvG1_i^3b7-aYmmDq{s)kWC8pMO z4qA1Sdh$$gAHr;Xlh`T=AM96gsc(F;VT_ z#R5;ju6apk!dDI?$BG-mtSfC#no%W~J2uv3?M4aWAa0`QDzK5KT5lx}@hWLyQ>*Nl zA^}kmF?~igcdBcKU5HOWWKgFv5NX}m8$%1hT*b$eg;BLe&Xg`FAR<9LXFIPlg2?Q1 zfTs#k#^97uUkRGLyaIOafd@ zY359%QDqB&064`Z6Jnn@7yc>1Kwt1)?>rX(Ck)|bcnrZ{&S=H~jQ}s?Ejcz9hGvTL zAE=<#hd({T6hijNqn52wa>t_cow7hVl3~!6k7k+mVz;?o!4*h~Zjr|i8Jj$|W#sxW z?pxC~#@QiPdaR4o9b#Lh0) zdO;n?zJpICAFeePIt#udlD?q~*`vVnAj0_pZgy0TYU#}&*^6N(4+gCjU8WH#IO81o zbCuynM6HuV(XkyPGwi%J zrEya7>$Zjh1mDvNdM`;P_f_ARkrEm)YHKlzTJAzE(!kzbzk6zESC`6v_E`Pb^i|i;_)9Oz%Xx^YEz12J zDEiNk0iKj3x#loT)2PzB=E$KUN{4!k?W_KiU+ceX#{6IMXv>FpkGE&d?YrB9OS>WI zs+G-W6(QF~Q^yYgv&)JQWUA zc7~bd;U|dt1-{RN+Z!N|)=eZhyql-!y(BCMoUdjo&4@SS5eV8$fQzQC066c7@x9wu z-8}T+av=>xbfuV`1n=E;UqtPFD+*~~P)m$)TsAutZ zQ(_!nh&L+m@YiR+z;6Ye;NeB{WGJSTJyv6!WDo$XpMflkyKx=GmD6?Mi1xKwLpQCJ zI^=kR-q~006j_1lhv<LpPHV&_7%_fZgku0I(+s6H zD5%4Mkfd=@S*|CKioK{qiH9>v*!sI2c4_BS`B+k)KXx!hQoM21*1(IV+@yzlyNvuK z1{R$Zk#~18mlhygV}oOVn^tv1K!Y609PiT&dKArv^B-L@^M4FDA8X* z`cVbIoa;gA;y}{{1)yd69&j&Z8l2+!FcuvlO;ojmXqjrvo|ae#utu{1a8#@W@r->x z-B%@Co?KxAR?af#lsU6xUIvbEsQ4d{uAqMJg=5l9)(XS3^!SN;Fc_Z3O;p71ql-DF zX)O7pG`!WJ38UYNf!7NfWrM2U@v!OrXBg|s@4K7WOp(|ueTM{CXJ3JJHE2Hw-;1c_ zCK)g7eU>E7p~6&V!lOHe>G`m5lyzl-Mc}G~w4|IpU#4%O0Ibrl5|Hx^c0eVH<_^#H zGh~h4&~4k;$|aMVMcE74Lb4jREdxE^8xUSkt(b!6DnHIR`uP;#jGnL{S-!>Lr#BZ>`vO1FKNI5 zRFo7t@pZH!OQOHZUN!lc=0a5`vah(GFSj(3mdyxL4lZJ;-T9}^BXQjqm+JPc0VuA~ z{W~VL#Q1oN{#>!zW&ki1fAPZy1f2cSLy-Hz0TyZ*$W!V+{0IM~m*gKrktXoN*2|xw z0&_t45qke`{UF}pBNNX%lRtSsVw*qvKTK!caO9v?>30fLOoQz^pWQ}xAhD8qXs=Iu zf`5caQbZ^($^0dJ(pZoB6&?^Pp7}4rOgaA)X8NxqURfafe*YT#*-l_>ztRM5g?fee zJ$g`bzK@XtqrpmTZEuJM>|(&vZw!alyW7G?xf7YMa=do*hDyEvB;ypI11*)rmVq}G z!76%svH1KlJ$vY+&+l35)39E}V9#-M=yUJWxPE3Q$S~fqYMW%QF`v~?_FS~;cK@Ocq*U zLbKptQl%6d$I-?m+c(;SJ4H$J0uQe2Z@uH!O-t7)49r8BMYSGA;##g?Q*1J8V z>|9@wp5$m7Wg&5EK*q#661GF{lfOQthe}E&QGLC~=f_>?@A^<%<+E+gh=o5UM4cbg zMm}ctPGeB2eHa*0^_J*zzo>Q^+Kr<(OneJjDeGDz zr9oK#^JLAgghr$c1)OsrmF{v_S9$n`VLW0_Q0;dbT+v<=Kl&v+&P%as@$`hq-^e#B zwf%&>eFA8g*(1CjcbYx3R#S&8t3Mt3bv8@qxB$H#(0ndVY?JYh#tX{Dr`>%DGS9tZ zzJsEB)!D)xamI0`!m=NZ(2oo6j_DQd?%Ii)#ptuq>G_j@NAA9>Fk=Z9#~&4o5O&l}uI{t(At z8RI;?Z_233_)I_|&3B}Z z!Hc7A^Tr)OHRfx4tsiTWpLIFoV>He~J7TBei#K!({$6cF$QmsE)NHxJW8LDQAA=&0 z&v1$60$cZNW9Q1&U3l`VR>Ca;cGF=QEq`=EU2#cf8f^|NP!8YADd=CSE?_X#dp09pX*qFR$e6&N4T=6Dw zo_HOD_TuF4I-k&oO)lEoF;~-E2 zVT&zfEv(xSwhpsgo3O3&xfR#NCy1H4BfsTc0EUhWk}De~4&i7~0HW9rZ=d9YqUs>* zLq$E&(FhYAI<>c>!e=V3US_vsJtd?#B-d^*@n22j6;FzkT0}A@P23#$3`Lp5+$?1g zc&GC&k6n{JcQsmN zo{y5vKt1d%Bu1Z6Y49k14!5}ps>0aZdm2uvhPx!eaNgLz7Fx;L&Wd85e$UkVHlGrj zm6eC0-KTv?Pa|UV=C1cK4=OT~n>|5_xvWljFBdl1)COCIqtSFu$ZD>X#3B_8PSOhS zuQd%Z&|kQjY_~PGElksK;IBESL5@_3`awTc*-g)`PMHXtWA6u;#!m+*zfbRVHd}A4 z>374PSwx{7Z>S>sSziwi{fqv)74@pxWs@6r`m$3=L72qD<%3q(h?pQ!w?dE*>|@|_ zIr(ab%U+U_D?MWW@ZGqb1zFq&6na?RPX{lm>XvkXQ38r{HT*i|fnW@GRcH-ez&9%< znBx{yPRo+Bx~Ftx_R?Scg7F0nRi=~KQXEykj1Yee75sL$fs|+dLRWB}-Pckc+_5?; zPh$PPTk84K0R=gGtN{4}jkm0!BE9pOuE#@Y{L7E#`lhkv{6P~lqn%SkbJMX0o*35o zLwt2;9@-p((jX@}ponPG;kjTVkDnhTM_$(A&JY0@o{Ex!ckWKHlY7sTTXxjdSmbT4 zx~gu)kFM-y@i!;}Liy;0AL%d-BFZy$_%iXx5{k%fT3!mRhg#fh&*4{amkQrUANJW| z;}|WJi7b;hyz}XPUc^e?QRvSj2(pZ)bqkmzRQC4NDfjC7DLx!#pczNDEAE+HvZEUl zy9kSzJvY7%KNp$)Vl!_^Lh->cqewnIV3|qfNMx%t;#^3$8=s*az5)o{Ox5ny_0w zLL=-2l)genKl50W^)khKfBdZ9xb%XJ_}1?@7to)6fiI|%k)DSq@+9QQFc5JG`)c9{ zFxbm7_e_2|87pm4d8(uxRtq&xPgt>ZTocsaa?o26d9EZVFlpvWCMDMWX{)c>PiKE0 zE~*^i(qF)mN*tOSE^xCj=w9Gg2vh3+LWU`3mTMtd{h@?Ez*U_0QS>`E|u-Jr|oAE|$PI zSklNgSWbG83~U22L)^CD6lB9}?jt4j;^+k%m(!iXZZ0dsTkT?u%$CF+EsBi=Yn2b~ zuF{%t*}*wi?KvwZ%`iUM(=;IXCJ844I7HV*>PH&xtCAI^i|9B^9ibh9HBsA4K1lVC z2@IO3T_Pju_7AG@g~F_aIMYfOTQHCuQ8&mLh5Khd$pCSsy5yjVglMH1Ge(FYfrW>C zq#V5QPQ)+e9qnzUST+2Ag{7B1jha#!=H>u8AEBGtN6w+vDWC9c>;-R@iGOWR)pY-=_ zJo!!NtfQ>m3E$d(VOAuGFNxXAefP*g|LIbc!Ayw_#@?oepjviN(mm|1%~A);+D7%a zUJgR^SBl>Q=Xmp*b*ZFBg>=@Nr6t`EM^+{L%P2Y*ikcgje|7zXu%*t(P1}UXt+ju` z_V?4KZ{u*!3SJ%jJT_Eqre@|iV7&|5wYhvOT(`i!7U@}TH2W8wCP+Te7td`hr(d495A7y(DHm}ey{I4EG_van><3zAw0KKc4=v$C7Mw%BO;t?JCkIw?Ix2wpj^JES+3v=8y_f zfsHoMV%k4|Z&*+AZjb(7jPalA82ul|nCst@7_l<{4~_9Z8GI*+-6%n%XyT0`N7V>l ztD%vq-;7hPwRv6dPv&7&3%&&58boEMzjgQ9Wy&`6V1=<*wPuEVYPL@jJ4HNQ$HGC^ zpXgDgeJKtft;60JHa;uh94))*Y9+~u=*|z@}Buz73_727sllp#q zU2e;Y8~0?}BX(Pa4JEP$pSJFk!iN4nZ>dZ|-R4@mgx^b<$N!3?x5Unm!2l}Pi zy3?(gk*pErt*_&onAMD+VD!-D)taki8gS0p?LNzG|}+( zI0w@3AHSPXP{BgI1TgQuhj7ASLZjFtQ^Vq~;VL0qm2-{=o~*9DygYkP393RO{ZAfm z{Uz+S*Jwdip}V^I_sNWnkI(k1g<06w2PgEp`kgPbFNTcD&7N!&&^L8!Xm7&a0W6I) z(ASfCI#dOzI84A_AHg61K-CVbuP>E@B#^kjhI1I=g|1Wfp=ljbJX?DfW+6fI85&36 zk%^ie-#l;h%!?*@-I_)vx!J9_XXz;MOg@+|ic^z*n;RS7$yZ%Y6NH}@m?L7rq&j$M zbX>B+mnI9tU%s`FzNohmJ2H?w$*xXI8IF*{;!GZ?jFKl+(d1ldGE(fXN7)A6(6_wo zO5ByN;Ps-lym!c|`%;a6VPG-BXG6Kpiwmtchn|=&`9Ve%)|*2(xJL##-E-Mwfaeo( z5F1i8LStcnmCo0}a7D5_m8A2XBbDHm2~%9}vbgEA)Le=M|A(vb9qTyGx}Ahbi=jl> z$4JG^1evotvU(ZdPuhF*v#5H{p=DhTzlY(fw%hDg=)uybr~9bZ!5SXLDi=;}FpU&< z?O;tM+kEUrJHN?iB5y;|pmrbek6uL@9xLO4bydIC7{gUK&M=CS?M&LITE3j$a0KgH zu4wxyV^ZWZ$g@cqmHCDpCy}cFfTz-CjU0q#qFTlD6;>|(e z$bi5M_u}wyM8dElqfNW<>-o7*kqh5j@6R!>sZWs&Ir<=5$u7MI$GUdB4&v(Q7=7Hw zyXsVxu|}8tT8}daE*%}6bDHOmim;!*jQVvZ)2<510Y7zV$h_=j+1c6UPetYN_T1e8 zyCJv13$|q8V@!16B)RKvN@CgnKMlur~~62p0erI`<}AbB)w@GPP<^{JD;I7n@Z- zRbFIAr4Z#YA#yKd!0CN~=>^r9&q(Bnt-{--dnJLKdXTGAo2^9gjz8^>;0;paDHSOYZy7pQUZ`xgi%9N4^D#?j~M?TgeEEl3Emz zt-i3wpiJ57Z@#(HERkrY0ulaY$n2?)t^^A}P~|*a_s_UypX~%mq1+uq63$NxMJN~x zx8c6p5rS&k&*>SD`nH~Z=39E^;N8@($LzeeC8h?QrSLktp*?z+YkC#a7j!U>i5VNF z#0wf-eh2V!km@Mb^29g&n~2Pva5wlX#HGp+?Ilr*D)z@iT3azmG3&mt-+hUO&m~5| zZ@djUL+H~UmlULk-&6}G`WRFNJ$-VAzp1YY6`Sp)ht!BrEc^DH@;4dVFKAp?e2=M~ z=4VCK)ghV*@SPuqTEJ1KTGK>*T&u4U(omsVvrtI>YD+hfIP-%uZMs060LkT(>sHjR zOUdj2w61ifM;^B>PksB}o4!v`uw|S`gtbQ||GNxkYh%tvv+yt$BAZC!G^4M=dYGJ3 zbY37uuquMqA0REJO}r;X7S=7nzxn!NGTrMEuBaZpo`A4mosLv(PtXBSvOJ~TL4sN+ z3azEEnZuO`HiUVkT;jMHwX~r&==3~Jr(=7DzQM27j}|o$JW8@6I~BpBJNQTvF3Gf$ z=9sY0#-A7P?ODA>pGTFNxd;V+co0W-!>#y2wJ;90H3dcn!RA-=H zWkkwus8l#4Q?mX^eKG36Y(LS)4RAn@O2W7*y}WAPyhZZ&@G7$O57xM*vYQFm7&yCvzL2oyWry{ z_~d=)OM{lay?}uCT${&rt*4`-kIPM>6%X0+?$+*|6g$RC*#NI$YXexA6UQAWsj@%8 zu7ZoRvGjS~$A^>iA-XC$nn7c9aD24C5hz&&^;iXzTqhx6uNv3qFvoJ!w{dSh(ai)^ zH7pZ>n#^lw^@0j*gHOqmlgs=wGd?d?jBOUq9`ZKP3@;c?(=(kcJb9-WZd;{Oo}$UO zw)Cg#tX3D%wl&YTgtW5eP9y&>+Rg$ht|nX5NgxmilHl%6a1S0VxVyVFPH>0dEi3?|p9#Ytel;-PEbtRkio7b9Q~3qpwyv{+RZnEI#`X zX9_-!Z9KC*HPmCng8W?Ym@< zT4=S#T3=DGtW$#~#^S$F`UQ=AeS;Nk;epC*R;eNq_f%C(NcdgFLj@?GnrTcMzgN-_ zt~J=*7L5FckVgZR=TWQ67{o}b^l< zHnQ#;xCQnV6xbW6*FHnj=ksiNyt^E^E$_ZI7w84lGh_cU^oR)}K((c~Bre0XDK_5J zkBg;(b?VLMDZqnG^`Yn1W6$lTXq4N$aC?X3y3lfU^@_va1=aMH0;-u%MS%j*g2slz z?Tv7@fx4(`7NV(_?_RAWFXoq~qq9~Lj3!B*$hc5fLVxf~9p2o$;%>4Tx0L&Q_j@S` z1PO9YXEmH3`p)NQbJ>Lm12JqKvm~+wpE6JhA7zaQ0Bp#qwy)E%Ey_@Q~sqv zTWb2?hO(_2W8i-Y+$B4Vb*h{Y)JGOi=`;}%|M-GG6n|nGTk&WiNoqO8z$hs+YGh{) zOFjO{d(8Y>E0YR)3!Kt2n#79UVM)e;=E!A=8+xitzZc~_Q*r%I;o4XW^n9}Xcm!!> zs}I99TR(%QMfDe)*p&oToTE3Ce+m>8BlMknTddG<$a7b<$K7<|`<%>iqcW>c)vphH z7sqBRx3*O&^42>K(ud3Yw1hyeM%*Lu6EPlH%-eDd94J6sFQ0BeF+Ut;= z$X=&+rLQui^(3*WcEuT09uwbUzVQ+o@|aY|%I>nc9gopdz~Cme;r`(aFx<)rb*~ab z)I9Q3>Q3Pt-FR{m?ekQ0&u|Ps>VS@d)Am~#|JsG#$HM`4U7&2hTC!6Rcge}VvVc)B zi=&wre(#mR`hcnkKvzK*#Vw6WB;uKe8<2@~uRdB@VlZI!r%jLIi7IkNQsJlYzuO=q z7|K=Er3~{*yW}(Ea7c?HLMTv=c#GlG`O!NFB&}az4)RKpzqoP{k~T?&0?8Yl3>wlX zZE^X$aAQl@|2(pa>KQa6L}QX>X2Qx*K1X~zv;;-_=wCQM;fT*IcLtE0j&wca+r)I`tPJ875DtEPA+3HDn(GG|?VnUyB4w4Nu1 zOH*P}i9FT|Z~9O*$NFoKuVBp1JQzN~@|L-^c82R?FP1vMYu?YOqn9O5b8h8+=qOFY z!&+D4qM0wCHDsD*;j4<^9ruYwwC0GbyZKm{u==JortblFhUDnn*cT&+sS7C6i$AC9}EYEGfUuh%}d{(+i( zvYK_Qt7qBJLt*ra{d)c^3#}y7?&NwVf(bvkcUWy%y(go;>Y|RITR1cktY)IYZK-}5 zoYcs5P9qK|_LN1VvkAFhA_~A)N0(%Zg|3?R{^bZFyH0Yk=R9&S7C{tgNT1UlI3L_q zWA~@)P^>N22<;N?V-K^)$%ZOm^njCmoIN?yq!USc=rr%Oq24EM)Bes5_}&@Gg1kg0 z&eM#yhmZc6COFYoQ7gAlfdV14SkC9&wrG`G=fbCj_eGgg6i_Aj?AZ0A#~VKiBd@A9 zzMT{omGmk?!EiUVsOI~JK79@LCMtME94<+vcAZ-%H07h9@N?uYrQfmnSLb+2GXbBI z`uOUobZjx)oKP4-9>!OuotW|jP z5`BeHgr~ z_4@&G3{yPdT9zvxYD_PFdvQbIcm!>EN`j{V9cIrg2oEj9zeqC70iZEkhGMlI9zHcj z;x`s=mY-m=Hm=Qxy5s0JrUKR^r|b-lam!Wg)If4)Gh)`iOv9YeloN7OlI*3+O~Sh{ z5v?yB7?>VY7y>j}#q&i|6mSH`?WGTtsd3h49}?H7bB^O_82CY+CdKO5C1USU%qhiv zlEx9+@e~xhM@f=QXu)o8Ty08nKH;}up4>=G{>C=bp0Ag&ojKq#C6;&>zT3=>iziCW z{@{QuO2OMFnS8i`ss1V@{0j~#=fnH;Zf{_y~7e+tL! z@H9Nb&)~fllCBL!(~w^U{z0wwC(HL3pT0Skg41WJcG#&N>!XL&b$&Trg=6z4j%wK-52~~_?nM)U!m>Q6N2)hp69V;d^EnOcP56Kk52dG`^H4)b5)L~<@Tnk zD-y-q?@ezKMq3*++m<-LcIaBAHsqOe5tr7$z6L!05X)au*T>H)Ii+MiU4z9F6Rf`t zK_1Q&mi}S(!q&Mk$A7!KQb2V(mENpG;aT>1JSY!+Q;#3N{?lYoxYXyMjGV0~&hSwH z-`deEl2TkDGAjx03zX81hyTA=Nc<+o{m)Tt|3n?LaQs{D+%hx&CDA?jhai$ah@J4y0Qs%0E{L!@tB&d^qC&Kd6~$u__L5NjfJRZrNpU8U>C3G{t~ z$KSu!dJ@63#VJucyG!2q#xy10YKa8ssD1ZAG&w|K^E>hs2d1t`azF?P@HEJf-al>@ zp0j^~Cfq^ZbgLaR7achEULxQ*g*8G^yM16alKDV}bAek^JI(TKpK8thSCrAIl(%>z zZ;%kWUe;k9i;nqUB?e&r14ECI{om3xkn9c2e_l(1fpFGaj0mruF8QpycUydB zKay*}7C8iWkSH6AkaMXleREiAv;MynYM)jQ<+q2Wtw`+~>u-Ia8D5dOye8^+{|Zhg znkib&m>CA8SgKdx%Z~x9uZ30Oy&5_+Wlg#F8dQUfAfuy&jMbLV_l(3MI{m1^>7P2F zc4GBp4jQsa3!%%m-9O^X!$@Pe;zOSboPAkM_V0jakiZ;J|Im)t6E>|EhM6~|1N)k% z{rxNPR?M}nD*g=r3M-%nnRiN+P=5t8r}2?1UBqXW_$R}?79584~#)&ca;o44>(U_i_ zDNA8c+02Hu_{N1WI`wW$R=o&0_syqYBY)ty_+m!L?*-_ZNKI2+87#Jk$;-!hoPe}O zER-r39fr3809Rr?hrAYn?g2d%X9hl)QE$k_XmB#i0}%GcwnQ!<=Uf@Kw?c<57+fDd z=?r6CxMV3&)(;H1dtIVM7YGf8O-t>F??BfjI7G?o0L3{NvR78E7+sFW?KPkc4hV~v z%$B!ry)*;r)_PxfMjH;joOdtQ3Mo3si;~@fmfY-mNZ1Hgwl6}YI^E*79<0!Zy<6+~ zZF~ehb7quqxci7`8R9D>$CA8Uqoe1LXRNlZ75p$ozFlOOSMF>&0`e2e%o^YsAVPB6 z+~}zep1|Fz?w&JU{sl8@iorEGY42k9#!&Yp!4EWMxh%R_t|i}~qqO&<{6RnoPGWSn zKc&;Y%-V9!xWTDOV(rsL0 z%dv5o9VVi6PKsLiYc2=TR9BtcERH>!%~XT>LrtxCD2~{N)!3>G*?S^e3m;449I$ry zbC^*XhI2j}u5zDUXIDyI0WP#PA;F8(gY#qx%lK+~Z<)wUdW9_me`xJ)FAusETM#$eto{ff3HPV&b*wExm8(Gu)rE|CCqJbgovyAsw& z(EC0qS(U-he;q?i=o{J0*x)@Eyzq@bre5S`06-YAN&}lAGe%x#+4^M&h9NV}SBLYh zjsQ1gT;)Lqe=}#+U@heRPO<>;4TBaJouMX-GW#AV+zMN10XW56YbxbLa^t!F-K@9 z|3c;dx7`2#7U9atM#K*J{jU(NO!QnFMC@Gj9GonFLAY|U{2k%SM9;{=^!sV~|2x4I z;VL}*H^FsSVQhI4;U5H777m3!5L~MnmH$C-)%;fk*T1#lf9@8rvHkN|-@hj<4I3xp zU(?d0aYvCVe+Wp6jg5)u7byL%vM6{;`R*3#>xWaQV0H>pQc{v-BO$U$bP_EE_SFv| z!y1#j>p5J-4Ntah%XQ0qx{T)_n>G5IvSJ5aCyt0e1s*%lK0chZ)krh;VpV_iemoPi zLTzj?X2O}G%J95iASNgDy4{GQl(o>byM^qY0i^0lN#nh7ClOKrZyg_(*TOlv++R{Z zr=tVnx$?>Wz6Box$u}*gR&WZZ_BF=g&To8x1}C(W=pu|XU>-)TG%*gsfU(&4Fpq7H z3*ouq>Q(B-4ePrIo$rwkI;Gh=Vwn&W$+ znBvCYz*AMy`XVng`8;${s0}f)0-Df2tXv$7y-K@)@NQ`%b!AFt@P?Ock9-yN)TFLR zlVeEqV3xycH`3R2g%7{9j3yV=3LBJ77m%7es1nbfwk*JP=OVt|CE4#ko9?#%8d9?@ zx-xWTAWenw89*402`~?hguE`hvX10lE>X_P>&{#C6OJ;-f}#`=m%5e^yK#OBagS3C z0~MQu6cGWsZ$(G<$v&|fdY|@I{rF`Vj0tn19PGGcI6|fn@QUZd$1-cIl~@VH3?qze zwF|mI#HWpCXxU|{QgiS*bt^hH>FoD`IBopEN0-W7d>!plYNr9p5h~s^(anTjIKs*n zwJpvUk)d8j;x4GuT8PARY|wZy0w_-if>z-VB$F!n=lu|bYN@S>PHMX~%EGtc_vSBY zsFAsNbOZ!P4q6;ag;`%jp_Gtcj5nMB5~Vqa;c2x+68*)f#xB~@)62gxmINfGayUj> zB{MG31`)II%j?1}D;fqP>fEmK?&X~K#Xxw5Q5|bs(NH#<#WP}~O?<;b=HtS5&37mO z&jazNZES;;QK)YrC$ilitR-LdJqL*O_}|_#w^lP&AQ5gMW+B=c6wtXARy#bp)HkbL zAaySkaMJb|EQOaElEGgcn-whX+nXFAvk|Vuu2?p{UgE7~FnrCC+_R5R>61c@k-0Y> z^o#2Voe{%@gp`~@VA?0&Xe?`L_qxAvN~tU?>&sgl2%}Y|ppmUO=+&YmK2N<^jQBo+ z9f+iI_sjg*w&QSNNif?%?oiL$RzBUlr@;%(%KO;Euaze2a=E85cdx}lug(le0juIE z6Ungg2l9d3*jT$(aJT2s&k^{qW}`kk(pN00b6yW7)w>Yhi_X>`X8}6y>t|qClDnn8 zN*dgckj~omI}x*72c<+E(}3d=CtH5KoWCwZ*<9HNAvl2EBlYT_F1`~3@kbYQvqz|Q z3zD1mN>02!L_L&I4Ev79fD<=4qQDEyYH8lqgY@HGgNLe8<=IH6f)g?F^M z5hh@DQl_E_sMdwGEXp3F#3|!hi0cYLDQ#sJQ{{JYkn)3`guV$VQ( zs;g(wMG|mEFZHeTu}FqeukVj*Gyoc-^eAa&s5z%tR1)O7z3Yx)!y__5K`cQQgx;a~ z#?DRxt2@-Au{65DRZ56?aG|_V5yPgVHPoNdC9ultF?m1=80qaxg9HDrZJyug)>~kA zLiI0u&wwR^k^6`46yA*1F|P@8+ZFofp}IxGM+DsAPqWn%5kE#D^WfWbgCs>JM6y>bl{mtamdTGYX^^Wgo44b_q@$0Uos54i)Y+!N4sZ!;xgxi{F z+hq#d%MN}RU{?Nf-N!@2!xBvmV@{1y%*9UTE0eU5Cq|D$Kmn~9jrEsMA#Tw8%C&#a(HX3-1vb-C!<2= z#QJp0|3e?O?kdwN?`TD@O7JFnB2d)p<-Sx6Fhi}#t*&4sS@bkp7MA0~;g(PrlSeel40fDyYRJ{uS*+WmJX+Y5rNM=HSr+d^ z0daV~3g=$emR*I(vUthUyxlk&U=~H;k)(_wQ_X>UN3=4qhLziiF1rZhP~SfA)e~9y z%b-xUL+?|lRb}KidUEG-b$};qVz6hAjIMOQOQrQmreUdhITi=qacS5l`9!xSAf!gB z(R&_eaTKb@+7`SI(FKEjh>r*t^@k778{E>K0T12xSip_jXi+nPwJ|^KFQpu$e=}Uw zO`0aeNWMkC5v+)fq51d`Q4%wN?-fqwWgzPL;gg{wGzb<8( zBQCuPyR!dH& z&u3ZK0s*}XiRT;q*|yX5q*SlD&F)p28jXl?5Hu11Tj>8%j6&&M|F6PP!`ad;|LVD( zKers$+c7L^dl&DPDZKQq@UkAa`J!Xt@GlpMK+I7CTs0)YtYQ6G!q(vg<%veJvlyJZ7fuq)=1xG{Bu~OUi|i%ROx2_R6WQ}XT+as43z)h z04f5deX-`tzFkL3Y(l^(}n;-qc$!kYHwt{07rF zd9FhD;+@3#y9=03{lJS<@o&4VMr4m+6t`!6gcDL-Y(z_pOE)vsSoI@7sZ(?>GqBumo4wT@I5}rHJfKu5ipyl-vh<+jkN<0vNJE_iHl{HB z!qPsJ4No*Z+`VS}>vXTgx2A;fS>7u4#LTGy>M8iUq(bUt&!X5V=ka$V)El4ftoA@C z@Z)uf$gibXsAfmD&^QD%->RS;ddsjz^=QEMeYo1Ef%HT3%Was>NIRv7uYpknQD~?? zZcQ@_P^I*2fh%4h<2xLs%+5qwXo%o0No0;8fuZh4w=!Rto)q-+nqBW#?utiGn_Aid zE5&=1p{i)2w8u|$Xdkc@^dGJXsHd2}}(7molDhu%k_A2=-hC3T@KS9mG(1&6*Rgr;82Bj(&$sVT}?tT<=@OuxafyodnSXhS2 zoWo^8WbeDC9elybW?O)ogM@@Rw2dprZ6iY1RZ@jD8!|N&LBn@7hmVY-dF|{GKBx56 zcmW|#usH1tE424G>*40Mp4u`SUA~$gv`DYmN&y5WZZ_NQvz6ga9(KRf4~P6XgkiY` z<*eW_2*Q_$s7pEDRZI!H0p;faXj60B>gkRcYlg~qwDu4oRL5Y|DfSK%rU41C=8Tm- z$@q7HT?da&7*nbdf*sufDtneXmUd}PjcQ^x@~xr#FmJjxF_v$&ZM>ps2ki|n=|d=L z#SP|pST@5s>?7Ocjmr}kVuByBVSD;pRO5M^hkeu-Hc&_pm-J)R2G;@sMcNo(=k5Ihu3MX}B?8EUczCT=~xIFKG zC7fo@LJF@?hHinkEncK}l>Miv{>`sj@+rYM{5yv4|9`3cXM_4*uelkOOSh)_7Tb=W zcSmsf#9B{?lPYvtI)4G4K6%6jhM9ElJ@xEm$!5Du?qBSUnX0l4(C2(pl&vQM6uf?oM1Gq zA%zZLMJ22mh7A!FnH6$)^*8-~n|UYmqYZe5E0^S}`JI(Hhu}8qIK0#MDT67>jc~mu z4AW4`Aa%4!g>`iq2P)=Wg`N#+gMrf#Ep9c6i8~*B0mB8$Qg{R2;oTK9p*K%gXPSJl zWpe~xY1#-%KiBZ}*?ObwO3FkxOL?%4V5}I43_8HWf-g9^uH}T9>*)GhYt1Iq97MTq zwyelw3mvWIpaei!-*(D|T8O2fRdB;aNn0n&yyQv^(IzpO49_%sJ!xF^S$eBH_36rp z!(FjJTR-0ELK&=tkD^$it37>8W=U~DVZ`bJ(xL-ay&pyT%ps&afsD_~rD})CNtX`w zulE9MIo1(?%#%%}-?u)xywClqEi{#awf#z1`4^vLDHs0tH%A0H9}Ri&Isw8_iu-vk zi6yvhFwXko`aEL$l{}R2wjQfMe{mV6Refd#1+5G<09eXgi-pHU@MR8CW~6k5e>_JA z6kJ6%rj*z>{d_9;%MshM(YPW!OWjR{5ik0<&DwuX0x}36@R9SIa6}Q%PnEqIrpdX8y*cNel-Uk z?)5Z?IRB>YM5>Mp4Dw&zwHq}h_xnf&yUY1i5KUQATU|Rqkco$X?bv?#ohs!lX=)OK z8eAWd8>Y8wE>{SrgCT2D_A)S#=Nn7Dq6+f^>d5nv>5#2iU}?#Q4sJ8|&rR=C1L=Av zDPO}tL4E0Zbb}Raq{_hE?Sx^~gGKXUT<-67IL#|v+eF#*<;@@)_?Dl-Gn+1zorPJm z^SBn}5nX;Ujt&Z%_jJ6l6S-QN;28R15vy}pC6PN#`O#5k<c%8ggP9jP{$(yodC6|uShAO z<6UA?ePX_&qS&{cJxY*)ek_0nC>L|^6KUG#LL6EtNbVa0 z-kgvPNsls_Oi(&%=b);5=^2KskySHvMN>9V`u@mpkg+~~(luHhV~s>&tI`OVzVh1* z#CsU`i|tGIUgqfnBjTVr#E+z*d{$+v1DJIN!gjiSixy{?#o!1$6VV#l^ACh znm4m3AZKoMZSIgt@lrc|s~HEZj!`@M9`DYIoa#~k%a7Y;LGecyqrSaXj)UPFY9Mek z+k5L8xq(+ieeKKShv8_UHZ{y9@zm&znKBE4y82OV`O>fx^(adNB=Y#1ZzL?}1@P+U zA1HXXnvJE5@10Y3VyorZtEA9lu~a6)IU}H)t8h|irXz&6x2bAUs+p^?KOB;m@*#RD zN}(J&t+{X|vU@>UBxk{iJ}=e1pG%Td}`cs+n8y%Pq?|tcmLk>sqpVw{w^$l2vhsE!HU0MtG@*nqMf3vvR z^@dGf_H&|U*VKNa^Q1OfZdOaIzOc34ZiXQ?LjN(>*MDUF`oqyPRNkI={=azK@W(7^ z|2l@3nThK!F}y7rnl{U|C|(@vFYRItoV({8L}R>>0#gnTsHr2C{S|+fa?Aua()9?_vVZFMl1~x$(B$HrJDxR_DyP zwKP7lazBBG46d!cJgb2fHY!644?!1>SZ*yEWth%m=`lHp4E+!09C?lCgWGb$2 zIQ366P{}`C2~*SHakZ?h87jGmVg2asQnnL1F7FfdzIF0GDZM*ehwNbnwo9MxVp(f( zY_FqoJ>5L7(ne!%J7u#;?c8&)z$IbFM6Tr11TlLYBQOo6OXP=oXOqA#?qEQ z3A{ilm4T0gYy+u^`MUtBZhXAY3v%`6qDF1%J-v7yhf*Ec7%)RQh@)KB~9 z*8HPgtA0UziP7|djcPIxqw0Zrb9gyV;xjw5uyJVBwxU*kdZG537G8lG=Y{+|us8&k zSpGq>Y&r^Z3tKfa#P-EPddkCOkqm-Cv!%oib|0&zdV9}^x9NH(yJ%W}6_kap5R2_= zk!{2;;F~y;kY#&JvR3cCmyBT-`%!VRPdsry#Ch#wSf?*dZ^<2AXxkDto5_|es3yCs za#L7z%mlPht~Xuf@(sHbICaB;53%&>3SzLmQmlhALP`xw0pSC4H4>^R?#Oi~;0|yw z&)R;HEbQ-x)YZ>+5(ZFyx$N;9Y14YLlh3L$cCpvK`n}Gvap75kiPaQb=1RlrWw!9;jNFLbcq){y zh}QFdcu4rv6TU?CO1Pfu-cr2nJz-1GKvc87Dp}BZZPgD7#mb^E(Q2ZT>Fo%84bW_X zDmw+6<*ipjm7{_Bg1?aHH1yGKqXCLJcM%QZ$s@HkuVAj4+UtnpHIZn$X`SnZ;3kEQ zrsDP`L*!Lt2icbm>CmfMpW#pKxP6dw+1g=nPNN96KCkalnn0JaDcj@S>FK@jW>TPD zypvNLPKhN7op}_IQ#@U?0F372XnyhTY@;b25S9^RyUR6q8pFKK*L*ww#Jn2X$QfmL zxF2rj`*2IMk4=KrkN*-s&m6;-qOm!gvg@sK4AfuFP$u-qV#pp3O??%Dtj;dobrh zZ;#rSz~w|Rp^faA`073Ilj94uN$V#J&CVqytQ%(=t+74r6gXT0>_2Q@3lq$Hm{v_G#&kVB&$TnL} zTFRJ!FX`0N%dKi`aIa|1i045ErSAh#$S#pBG}AY3rwej4-rM50V?@gxP6}FaVMLj~ zmc+vK3D_BbACB7*L{YTf_7+uAJb=nPqf2Hw*jl7y$qdl*H&SRN+=f zn}pMegqe#ProEX`JAXo@{rRy>Q{+ci20ihuZW9^x3v~udOEdgrt*oY&9hN2VFbHfyg zT4jHh+N8;~TB=1=JMtu1LhBKHznFGzS$x2=Mp|=H8@eI*NY+GaQUty;lbFG~T&>wG z3J;uZD}GNhPrsO@@XbR)V_H{70ihq#P-(`%CBfq+StigTkA&oTr zi87@Hh4lm7z(vS9vF=T_t!Mb8>JE?;86deZ z!vkTqnwlB}HuZ+XC-e8ttefm+mM$a00WxGU+83YmD^7&l`;!E~8_k1p4T!7Xth^0Q zYiUT+WeBg{-U$sa7qNjRq!{@0byief5!KS@Ly(`NOB{3%GIDbaZjk z^-@3C??SDbv>0uERuP8^rO|x9*V-p^=MQZ87cR~p30?o~zHs*c*!$1&?+IaJ|LeZ+ z1VJPpA_VBWmy%ocnJ_^OT2`X>->P7zl=KQ=Lr7eC2*!rt+NVQ5kg=>{8S3b73>umpI7YO zV%mGPA2E#fF9iF)f+}$SGdzQZ_1_{`X2!o}*NqiK=^=V2~Wpc^DjY5Ty=Ea(9 zdGL)Sipm~ddg`*5Pelo{wKNa&*34JA=QV zIPjr64@PbYgS%|3dixE7}1E`#)l1SpGeunuYnVqxy#+ia!y82v^qL z=?9$-R2PJ~(QkXRWs-^XysxF7NSQOn|z#HZ4h6acr~U7rV1MM zIx_@0>#~PAQFr>pIemP>Hz{%nmvP5u+J7KudV8o_nlp~1W7_-m(s5gzUR(T(o0R|L zTdRT6{AYu(gEuzz;R!R}o$9mH3sXW{GV;DKe~#0$Oo1^3)BDw0`7?$h z14}9gq9$6I45s)Q2gmm;fcJM^@t9bN?`_M>K?DrFGqI>F%!V}QdPatZ4=KE_Tj@S; z|JNPQ^+y82zh1F1u`~W9in&G2%4UiE!?Sh!i!b4he*PUr=%>&(R#Q&+D4AATmOe|! z#as1)nB0y(te$R~NU1|WBWn9T6h1~0eN9^q$S090yen)Rb5~WwQG{dZ?9wfd&5a~s z3m)z_cI+=+btx@Ha~!FS4GY#Li8mQI9+ykSts3BT9^$dl^f=RtGqdYhRH0;&i^H>E zRG1f_Qc8ko%pg2-8-5fP`s@eMyjojjt+*8&lh#I7qbKnEp>suVj)))y;lSg~+5X$4 zyUzqI_)+~~VS7diXAcXt=CyUMbGp`b(wlCFWhm%1kX2u}gR}f2SF*iH==*v&9bi{P zVhH!ZB?@qM;1O{+x^(_N1hH7Y2XR%+E-gI4WlAJ%%8HDQWFpOC$xSkK_%W8r0wE@J z@B@5RuOy6aeF8%JxUfYr!bbR)cdp_ABuz6emwgOI)i&)R{{Dl%f?jEe?+%F&TjoCZ zeRJ?1b#7FQTBFD%s^<6_6t-6}_AWJTE|ra1CH2?Cka(xEc>Q3EvbcrxI-m!-G#C1# z26o@6dM)$2Vn7ohQY@ zi{@}PQHL1A29{M`c@cU({RBVtngu<+k5GAl=JFSFJkm(Ex%nSI-*@t zK@T;)8buav85K}`k-5!o*xXS^bEtB;0ZW8;?IGii)OYd7+2%B5XJ4NN)#u$6B>LIs z>qOOwkS<5;rb&R6zonuciaVK#Twkp164{1aa?&PL&DfBg`@28A@Lp>s@lVteL?aMDbYE8Y8hjq}#)8sE zeBVg-LtrIM8F<{j@f*GzOPsN~C@?Vg6wnfeo=a97ZK-axrJq-?1MBeL>I)cn;c4zW zHjDUIhm5`4M$)_dx~sLm8F+naOyDxC!2arGIxi+qwfbn*7{5$=wM%fzfxNpDl6rY| z#jiftKwrA~#fo+WR$fTSFG2Z0pPm{%vvs@Zh(>U%Yw3b?A>Z~%&SmXOJHOPUhJAQq zG<@C&xARZeA)|{gIaHC>+VrpqJiH)ew1la1Z;HZ6+vtIjh%s1mlKLI8*9va%%y~`^L$71U5)rd~A+0)a-gjVn)?L72o zeF%>iDV_a9>Fz$LE~l>X$R)IT1D`mygbz`qT?)mvh1|M@=llzovI^gu-FjPuVQKPA z5cg&m$VCdTH93BF!?NgA-8+8LIg^*Dd866~FsF)4sOcF-jx8_3Jfu|_KLx11{(&YR zw-fd$MK(Pk6o<9UQ2Id`W6!{K52h)txY|z6M2KZ!DN2LuXHA6f!U?ghg6@tGAspxy z_ntQOOHA_%+jUilMxdhn_8S|%@SC&q!}81yKmG>6D208I2ZBw$W7(f%_A@zXJr-u; zaSdGGy))G*>`qhFM6gOXjh(HL_G@2%C0F1feAZ}(p+K;fr1=)h6zfFAr>Vz5PnHeq z&pn5VC^;@CXl!61=chsxFM|`C5%*Rb)WWXya&;NQXKh?Z;+$*tR%@AgM~!jNxS0P! zo;3uT5GSNKTlv8XoF_DQQ*r#W;EUKIjOn{0EmCum7Jog=<1i&=z=z|?2j30H@IzPk z>0dXypGRf&q4+{&QM7+D6Tc1>z?PQcZ>H;xVHgF!0rm1RsQZlJc!i}CiqlhKwi8~8 z5}b*Cjm)4%u_4fj8}!B=c0ABBe@x;Qc3--OYAFb3ek`e{4`B_Y5s{cjLP1`{5ql~y zw5IX!QON^=P)1qt76j4(RnSA#b9Gm4d32Pfn)crg_l1^*+b!koc^E*ot`-{DtU(DP zAvVqW@+zE^?4Jy}US5B+rQH7)R_Tu{fdAIXW@h^*eTfx<==pabw%C|h|LT#fAlm2F zqXft&tV&*ty4WnP%rM6)@P8eQKX0-#%np46-%TBEzT~j>{lk}c#J^v#lXcM>PAbFz z2?o3m6?-5u*dPUvBEJZ?U1vHdJ_YP5PpDu~yC>rLwWx={ z6;@$&ZMkh^gm7<d5r8do-(aGHCO*nN0lvyX?~<7!6$Qp6i6{Ok^%LVO?OBp$%H1UNpr7JB3~^ zh%}{TdpiB&w0X|8cU!>Cf?cBG`0*ER!3VJT1G6D)YmJ%y*P4|Rv-52W>w8W@OAj9A-=1oegW*-SjAk{0y%J1qz(#6PY_E>q~n8mrK!YBk%J z5C}fBF1`>foX2NhZ=-GG-OgmsyYLP~2}E3Tcj>tFon(6If+JW8a>f{SQk88??t}stK{4y z@Ze63SKhk2GA?L_C*Ir9o zQTksyPZTtXx}PuWc&A4t9z5X0c--78(@lA8<9~Im8v;QVCoLyku^wU|hN!>GW{fGU z?E{)Ih3sv^71^BnqnjOFv$a@Ln#>G+hS%Gf1`)`l-IKDWTU;|*2Je3~)KJsgymFABHA2Ro+ zv@^Bcqjlecb2c}Swtu|DF=#?Vj>R5Y1s@7;Ct81nJgMAPgU#xcZT6f%$RUK_&W4r~ zV20+#-dW)Z+BhGL7ibUVvn6w~7UPY)1s@~-oX<6}T{*896Cd$jes@K0!Tqf{bEjyw z=htz1Gg&_A^xnfU@cABjU5puFtY-}edEJBbA|b8tgVTbl`_}L;R&&f8Uhs&2L7C4qA!|{hOkwBLqdkFM?qqbr*j4 zd&|ln^=u!BlY;(;P@>^UEz#liGK{)W#3%wU0VO>@>2VU&bLT_1H6lnUD zp2ho&pC>lX$39vk)(Fq?tyDrsn3L6vkN|lxU?uT2#|Xygg{#)1Pkef|r_ne8u4H;f zSanZSnC{0#2G=iMwPvXlJ3T zQyZt}6M2~b-Q;KL#XixDV@q)7=#6=sw~kl0qCH`ROHE#Z86mD`W9XtIDe&6H3M{q? zng54cO?aTF$lsG>N3k$X>k&A72`S{kd7O`X^h6*9e$lkg|9Wh6*E(rF+3&jOEbB>^ z1AZ|G7Hr~wy&>4Nkm>0%4pGpA1U8H2#{W>N|5c1K;)h939JA}ykx<*cZWr-%QpS;ch5_9Ve|NJHQg(zNUEso#{5$xGnEyjLm5S|shsJ1_SHMchB%e;cvz=D{GCmc^?=(I0xjQvwxKo#6Mk1vT-A z$Ym9_oVSFc#^FX?8(q(=ayooA6Ki^kob=*ogm91@7b*#palzVWnJt{}Am&^mxY&eU z-@u;S`ASS+{-@YD#74#qsK-K3c`V#!vM>-kVGvfJsK0O}=*~<4Dp}G5h8#HE?RUN9e=R%i56}$zr zuKkB+(_DybE<4eh``e*$54|SmWjGL8glOmEznRLKia&J5;yr4cNe*9ZImo>p%2oa8 z&I!bTw21D1-6Pm!Fy6{(raH`agj|->LSv?z9MNhHnI(}k1bP6;Lz44HvkZLDTFc@C z1~u;tp(aT4PykE_LT)(|BLbdZoaeCjnK9_ZQj5+XWnX8dRz_UAWS?g8%?U21I(ewC znh`cBLPeQ8z)COD2)gs6GUi!BPg3?)LRw}74Q9DEn|^Jj5%rVwO|$D_Pr?1D^Bg^J z(|&OeJQ{8IS;hSk^hE=3m{tHM9IU!%fdWpjLkROY9dC%ZXa;n6H~X11s1ook$G=ZOXg8r*m8N0ytwAko2a_@(Up)eYHP~U zF8;tYLHFrF5&PvWIJ5!b1vvZxyb&MtI2_b+N60)L>EsATE+0VkI<72ocreu6E?B`0 zae{iPEIM;lTdlbb$8RO$IUXmlSv9@CnWr!fUi+F<#wLxcURetRHmMG~&aK1=okIb4 zmTWY%Y)Rd6DX_^laa3)7TXBG<6I;5*0*kb}n-ijd`X*|ha#)T9ocjL{Z*Kt=*RpMa zBEj8)TX1)`Ai*U#1P|^O+#$F-1eYMe-Q6Kr&~Ds=H17I4=h`{vz4Pz8WBmK~XnJ?| z-c424uD#Y=Rkh}1fdyGC%yqJZyBq_^={W}EHd{ZIUYMofiVKSUydWkrN%`{baL+_P zdwxo|&9{Dyqi1M#+OE2?e$Ba?rnF$i(CtN`qfGfhh~P0fFUB>f;*sg7Mhv!7F7(># zr-(#MzHfn#uY%=?dx0?MX1mSRX9x;Zr&G0Jb6>wU)9pqYi3CbqI=eA3qeF0drwMaxfCn_}1E6_C~{G?dOsqh+L5S(Ql3;&cs8|8N#-?an6ul&g2zpAZSHoDOpuVh-9_z&6IsWOU%|@Ojv2*=i{oce~3(Kp4 z*tfh?`bzCaUyG$Im5$Ah=Z0<lUAt3`V-u0kW(O5jd_e_w%5&2NOJZB@dm|*5O_@-blsWjGnCuGvRXeg`qyCV4;W1D@1TLC-XH{g*IP8LQPZT( zt<8!*oR^@{0mrYwrlZsv)W~8v0frN;^CW^(q;u83JO!z`CXna82nXcKFYEPL;S1bo$IQ?^3~2RIX5GLU=s*#Zg%YUCRnf z_L8~9q%Aqn-268Hn>foX=#D=DjsOI}0fb512H5% zK64@ii_KI)1(i!KSiWP`w@LwdU?fWX3yuG>QyEtFR%ce)Y->^*Vh;&m+*E78T1b2n zc+DmH5LMra0bDRq1!*qC1|I5`&klU~1sy8uL-pc9H@1^ZWewOdel85rc9@g0%4doS6)k!>XWi`OtK>K8GZt6~QeOj?^-nvS+ zUk&`N*NYBzYs?loO(?oeI!Hh%+rAhYhdhg7-w4-(;@@@xLR-K^r$4yYS*2;kCu|US zXIHG-#Ipadm=;|9RnOVL9I;2NRMmFt1=nV2a9ndzqAKwak^AH}OLtwrzZh&V?^A5_ zIkp|T^!PPs?8oKM%@jCNV%epK0flmBBn53ZxSw?v~Ar-ETj>}xa)&N^_|lE1P2ZF`{29KA@y_1h&j z$cxiZBm2jvk28QQ0 z-+X4>N@YN?ZNbnNTDFh%JE4=)t3=?8!k6|+X(i-TTLRnq!@(fe9uwq;34_(`-BL85 zOI_9VP?Jk9xS<95p0f*to;}afW3EfVEpjMD(eywM3AJk!IQ1Nuga_f0uV3G5>o<$l9>@}1kbwFy&z|tJ>-9@l0J-e2M|4!h^ zF6>e56dY#i87BipXkLiB&~sN5LDnzwXj%5JNICC=hzB&ry@MO>n@&;td}1$Q3GPyK7hVkHFr9hdL986 z#y};*dDrZ+32o%~WWOr6C|d7VTYBBCGLB8hQ6H*wxUhDkZ&5V~J~LxHc~nT+YbO(Y zfzg04$Y}Hh^*lbzMOIzz?O>;zG5cswBo@iScf2=b|`1mb&@Mfx# z867kh=;{(MYxoaa_IH!^&)uaO$SA>U1!La1+q2#l^Vj%Z)W{3OhSu3%FyHX~XOu+$ z?YV6>u0IcECXb=`lcB>frJ9xavs?Ic3wjnJ>YnvN_71_f-BUX+_V=?^4x;P&ql?{s zAv6YJLCJYyIVru>f)XdOGrBrs`H9DDWP=3Aw2baR05A>9(ynZG9&~8RPTN%Ae93Jn z+6ZG*qJ0#lN0@7}HtSt{EgWYUm1h(SuMqdZR|SJW^cD)P6?5@NTHGi;rNg=i0{Zh1 zR@1l6l)o4r{ymYZxNXM$rQ?1|{S1c*1$O z;W2`XDX*6A$;rK&;NZDV(n;Kgf@;Io+0(`SEkcv6c=*)39@WhF6;Q#)=Lh$pNU`wC z_5JC(%~@4JXjEgQ+wmY^v!acy!6HVOtN4Xi(0xA+8d6Acr|1BAAMkO@48CcaTSD^i^#Fhw3htz+;xCOggC})m8sZgr1(PLK zSw{P`H@e&lWqmR8 z>CZ1XHc6{E6=f0K!grze-5YH0Q7pw-hEXi>D-bQ!nLmo0|6=({I-184p$E;o_e0smtmgVOLFb*a3 zcDnRvFeAnpqqM;qiNXuzYzu{hmr5h(QRoOFys$%a*V#LLBZC`OI|+G)w&&|439&;- z0}1eW>q-)5>(zo5zSfikB-Ga$9e#`6<1#h<^4ZM@FhK(w2L+|5^M*;1)mpuF{#&7o zEFpyNr6i7?2Ksk?JcX>fk5MJahS4Lea#|Uar5x!|KWE-M9g|ht4spYO z#0-Q%;crHz$(qqMN8&S?xy&=FS7`Hh>lTbNduY#FS{f2F`XlAe3VAzg>R47W6XC$C zt2=DC@WeH{`QVrwVMBG#JW3NRsRTYe^Sv4V53uuLzkgAFPD zqDP&`G~>@@+DE+^aCFaGd4sxWhD8{2+7II`Yr`ulI4T5(v<2itTtYx>;qbI$3$C*P zs$8>ANt(V={zgxl-*8u@k}2&N`l$JRuM7XN)yy#iAvchlkaGYT-ck4KPQnDGbgfXLS%LmRaz+w3+8 zRP^Hb;IaOKc2y6voJI>s(O!vQXi>TyxpLcZbiC1aw~7j5=~4s`(e;|j@G#lDCi}UJ z%PL3lgPT-gb#)rkWcgR6vph3Xwc@bTS%RFitI<2ArpNMrbG6-(q9iCYg|^zTCN7Fd zqM7qhQe~%?#$qaM-OJ~^_JrCP?L-M?Zkj4X{i(DqtsiZ=*%;4G>+d0VsW!=P>v2AM zXq$42VFH3LuadR*6VfAf8QEGM5|-Gn{ls4wGs)MJ95N_kC=dzB*3qPWYb#YszF4G^ zAu=W)#G-C_3#j!7%Fu*O-JOAC5mCmI!;$QvmR$&6 zV6<_7RxL#fmDF8daj`-JY>#z`8J^vvSw}$-BXCcAVL3z?tX>^*Q>I=DP<~^Xyq;Gp zRcKT4gmaB7&`%sly<$Wt8O+G3{lM}<0$=jp(NT>psFdEZyCF~!ir@j|9k())vezbL z{u4`AS3Yf>?s$x|O2GV&1X3eCcVYU;B6Nqs)TX+$R~AlR^WpD*2p}n(-&=f95xW_Z zvN)0Ugv^-!1b-4r(J%qjH_P`+4cXdhKZ1;D+_2aClCA-*j!Xe}m{}PA5E*XMMJ~Zk zDqj#CpiTO9fCblBuSe#G|Ka%=6vbHrwzvbXWW?)OVk?giodLVJihKRg%v?VUuEXZt z?s^xucZd=!X*5?c*>ULmnKeGH314z%LB3CHfy>ZLnkHeL&E$2N@d4xz!td0Q1)H+w z5YBR|em0^zZ(B2y4f)oY9!Nb$i4vCA#-)m0;^Da9s`}Xppr?s`PuNC>zpV2~b*h|x zV|V*y?UO3H`o$sVj3P!t@zjOif}#<}6Sl;rU_k>4PLC<>;ro0r<@2$%h1VygF7-@= zGP_22RwkcNv&c;QMw8PUZk?&cz0PpQEMiPuv!VOm>0Vp6=1F&$DX3_K==hmq+K+Nu zqP-AIB7(f#J7zEzkQ0`!@HJo&hHo(VI4#6g=yu;6_Ml*efjqC9BazbDcLKVBDTtbg zA4qOiR75REaMb<#Mx;1hV=u&wC!K;iebBy!xiPK)Nf2-0gSpQi?DDqp#+>FIo&`u- zmA+F5hlI;(j*mN^;3*XgLEDPbGTIDYeddLG*Ff9TO61>&75WmgVg5QL6pNECe@Ol@ zIarTQzF}bIeSz@UyW)^wh*dyv@&FfJnXau-I!A^g&6@pb*!$$<@wa*S(JRHacZ*Y2 z;d}Bg_@7C6?!zT}ENj2Y_aVkdoMM>9*PaoSoM(^I!No`AVf()BcENvbP4!dK|BBIp z#9k>jHwD+_(ipu@=6T5c5blh*w*6zvlHzR^#Zlc*V3@o54Lje;C)F2m;ko(8v53PD3~>&|Sr5d=t$Cl!#yT$IAy@_< zaEa{=Gp(gnFpf8sU3(9=R zBBRja)6qtXV&g4+?vJ}xE&7&w*ZMXYBcMX!jqOZP<;goQp>S2_?rq1>uqo2jUOaV- z0tGx$$s{p)+yE!s&_)aIs>TiVGWtb zesGQ_b5$LFSl|lohSpCEnd!D&I&zWpeR9`zWu$2{DSvx;XsNA^W2WV{0a+!}X9>B* z`(<(qk+J)*M@oWuy2!$f9pO;#5qKly3l``ql9}jUF;Q{RlTxrTXStL}fQrlbDAbP(=R_J3LR-zu_SFC<>6p$U?Jdu3=(vO4n(?P70 zWz!MoW+h5r>AMl~iQ>dM)72~r%(8IQwgi1I%Lo}0F-_~V(e{BG!GeH>B+)A`8Lf8J z66NlFbbt>0dICrL14YkOCIeck=SfQ+)g~{R+!Ir?uUG&@3gtj@;b8*<16`&2iWA3f z0oK>mPDqYRi7n6ch{EQCzdf+SgKw_1_Zdcj1olZ?RN3JnMo-(~)tIqe{f>ia zp~|Yiwze$w(C?~qs%!fr&^%4=nR%<6F0~N@OxE3|%V?efM+2T(o;xu)Yp=3fY;~3z zFT){)>)4BfA3B%VCX2}-(6XB$+ARr?8^!U~RUw2Y>mZ1nBeHqJS}TM6@L)xF2yWrV z6CXPFcI;z^`?P$xMRsLwU1H~qhGv$AoNfRBhYFbR zol0b`S2>gxz}&UKWDqj-c(={YIKHQk!I~+VZIMfYb(2lXP^l&`p2T-!?abTfb)P2M zTguRZ5~S7D_q3yJT83jtakeAqAvyCT|3Ucg&*F~17yi@vz3^ZBKZO6r zq3m9}?wO-P6NK<^_|GT4#sY5)JtR8}Nt&tUy!r+|M&o9A@;lc;;L%+LvXZpc9ElEF z%`jUlRb@N6PzsFjcz^3T$7poF3IFM*1gD)YxCH+u{C6QpXp+j%k!4qIKf`&8sKO%W z9LC|ZmOh$n035y^H+J}wm3 ze{qd}pTzUm14wKS}REGcZ?rtKHj*bG_x$@B*`cm(+O-y~r^mL@}?$$iX} z=2Z;B*j&5$Zpu=3SkqLoo=4{4<~o@<=2n@gC+M-b;#*$jx;g++?dsUotEu_++-Q#!tX)&3i55$mSZqEyJhS87=nmPhLOpW6c*4i5*oQT0lJWWM=gCz$GR@7m{EJc(zv8oHGlKVA(^P7vf{|a^PUJz@(%`({t~)Sir%k!6)@pcO6ltN%y_wM&%!RMqMAHKFED8 zeA5zG{-gwH@TiX5GbLd`&jcws9h^&>x^2Xj^K^#QLWl^zU6PCZI31uEw=-u-l{@sj zb_RQxZ11s0&@~bm$f*C|!0UH?5LL}62m`4dp+r|wM<;=@RnjhoX=MXHwNZzc{J5=_ z5s{rqP@)Fux<|W(|1$RR)*n6TBJ&z%6nzeQbbYnYy{pGdkE!p8TTle)#$^iDSZv7( z=XhkK)O3!bU6Yv9n|+ngO^Ep?73-%ch9%ZOVp#Pa4}%-!y$IE!FpY@OzG>dgagJ5j z?*blba*Px*fCb_3psN@!8~^wJbmm9q$U!I7rG|+rXXv3NiXDGVbGGHEU{x}WU5O9+)L!hE7bP;5slZF$Wf8k z>4u~i`v`_!8FB04BJ-G63$U%1)Zrj*s@9C>)k|=E!-?(UeuciVcC}x*wQ4eJXQQx^ zno%OPxmC1UrVjh#>QlHhdVW6@9_dFzO4H61{+zyHLU)EdO!BS>hhI96CM1qz_J>>+(0d5#b($zUXGMtR zxf|=#CTI9mqYsA%zvUBE=ySxcyC=NH)n6GJsOKN;)k_eMIr zll0q>E{QaPer)^Z{6pE5-XtU$!CqzP$cEcHjghMTl_Hdin0yxGPb9_}%^+d@#;2bj zP@L!NNz|!cs*`%2_1>%u7Uw($KSUaj*Ht;5Mz@+>IiPKSLvGo@)}3cQ;64qYaZY)1 z#rW}=i@^BAb&64}Cr*#Xv1W69-j_zU{BXWubyf+XpKha<_`uF-Mb0!>;9c;Tr6zv4 zHu90&vzvN(5Z#;AtbS8El+V42Zg1O^CCeBK9DnSlH^>H;F2-(~VTyF@Z6`$pe&VJ7 zMkoJ0_d9Y@FSRHnjc<^7P)JVi!JEfR;~q2-kPyQhl3>indh!{q8=PG9h^3<$H}^Q0 zTeb@U;9q0*F%*7a^>eehZA!o{_s@ESwoPYDF}ytotX&5}_eSrypgBwXZG+6dGw=0W z8>J0&lURi>A@XIz>~FgAH6D0^*3FrXX*2RFtbDea zeH)~c8${+>Mx#zcp)}k$day|?q@3Xtp1M14#-s(5z>%=Hr_HE?uT`t2Kt}YSk{PPf zW?x>^CEVHc+wh8Ovu=JuoJ8RjY#mUW@`gu_L^P?F1v$%i_^|^HDxJ4{EI6u#C-l&ZrdtcAun=L7f zf@n$}5!~eIx(YIhY3V(=Z9U7rG%hHSBr=U;-|Zxis$=kUNrov2={vemxRG<(-I(95 z(Q{6BjAH#Kwfin7x|g2s^j$xN74IVK+~X|EyExA5liWGs6e`~zZO#?xSJl^T+sIuv zpsaqsi%i9(_I{E;QA|Ws3B}@jzx2&tjQ@_nG(SOKcp@OTfgE^eZ~2TJ>lFyQSEg5y zC5Kr5aqvqwJXAHiFG@qSJGt|#>RHcy>A;BKxS>RDOuAK$HCEa$lLC3sbL+@4gi)#m zIyLz$9PZ>{bI%+Wm<(F19V{s~1J5Wj@@x)&;X41LG);DJf}pgirMbl?aA5b};n8Me z;eSn+Z(>XbG25YKfCj zj$r|)qraVQEj+WY-?Y6a%p(GE@Jv?f>&-ehYK{*rX?kK2V2tdtWo(@G6c#Y1!`DO} zTjDoQAqRPlI5cz?gWXQ}iH0|^UHpBIp_lOW@Vet5SoBFvc+CA1du@lVL+ElXE+Gaf zAxmT`njqhPV@qO-TO?qEx>0TL9u7L8g07JTFV5TI6x-Nj$5}^dUXa0;$0KoQ34{P% z+inhOo72s{=y88PF7wdhLvvETh!j9GH66BGb5`qqN9+8-Uf{9NF;4E4&*P)P$i-PL z4NJI=s!fj1q;5eZMWkx9>OxhJj~|5-v!ZGp3GOb2$$!=?zi-9h^#$^Ga0n!)3lS?w zE(jzS8axeSwrVAEr)evU3a<|^1*uyOg)6MI{E99Q%YKse80;OjmMnc1b1+_DvKwfD zY!Ue6m!50KfY^hQ6;V5oO;gqSA}-z3x}HYu67)2)m>;CT>zmFv8|)czu&b-^%^Kd` zAh{jgWsbG6VZNhMTx>Sjt}@@w0%=p4Sc%?uncvbDteRnGL8@^wD*!EWHB^$oh0&YV!b z#&fwqX^Zigexk`KV7hYY+I4Ls>4#d=?VK%~L1LL@LP?waN(s`=V8iNYXTPf%mdhbc zc&qVTgJ!3s{}-b*W8tB9OCZAh^Hs=Su@^jXm z77gs;s|5GVH6qQ}D!jj|FVN;*3%m*Zf3X&~s+udfPB}0)9?NfjeaGMQ5jHj!#q=+% z>%Yyz{&#u}Jglr_zyAI=y#`KZKJYPSF3vy8HSlu&rqMtK&cI}6{S_Pi8@Yx*spc?j z@6f+0c*_dKF3%Ws`JE95EZ4C7c5-$Ry?>U2m6M%=OY?VP4Lq#xe~C3%KtqfyqQw2L z?eMoB@P8h>;pX}$%>v(lM=6MlllRZU>{)D8L|oXxnxF2Vt0X>!y_R@?i$(Y2O@Krn znso9PW@0^h*)K`b^98zANazN=>S!ckT@$4#h&%>+lt2HMbL)Y$Z zA)ARUN|hHbF0v%nW`SDY$zAeksog#k%{7@?pWiPoc53!~5?1`PuiG zwk&A$mkh(XT=OvN)*ARFxE2;^Pxe%)*(PoH0$ZS^CL5(BEt>poFu(Az^%8b9z`LOd zEXZI64`w75FTyWv!n8Ry24#$FaLa1L4B~b6D#s;!BVk1d#6lJUfyTW z4?umVgD-z1zs|vAruC4EWQA|G^5rJ*-A(I-6vV{c5UC&K&O(ZfD`IU^%guLkvuveX zB<*(-VsGHNpe=FjK3aKEn6ja=Uc_J}_^_zEPXilbb}*l~<-vo>e# z6Kqe)g-WIpr1(YPw|p$Ao{oA72zkfSH^XR!-Ww}c>l}-Ni$VYDJ2X>1A6}4-Sk*X9 zd@vcn9Vs8$&z(OIIzxuLe5G?)GoC5|B~FlSU38cw)u!ITWh7)9#^7zxC3bW@^;M)u zVXBD^pZJ#Ir|CW_DzfgeZNyLJM*EK78N;tFd1$97fbnRqMC)+*BDIHao~x zYggqmU`2-ZuOH2KrAaQRyK(sNx-ZtL==VBgMy|QZ0-aRTQ#=&Qf+lzJ$Cl1A1gA8KN57kQM%~C*H@eYM>0sz$o4r9OShxJT6r#_UalTJSjjQQabSo2eyMTJf% zLAY$>$(}_Bi~wj17GV@1emMi1FD)>0vNp2l+&4WdZo>>#%VWCKF8Y|<@M*v(yG1HN zW*ymgS8QakqGs!-%W#=G<P6FIkvGmY$I?>3iv0j{lFcjB!ck^?+~)VSv6>mC z1yn|oY-p@=I>bi~Z`1ZLPrdu~?~NcP?Dw{7ZkIorig1f>iV4V%*MgkUz7hh48kZ(5 z@XpDP&SZFFOdj@^lD{vK9tra@;ly5t?3fE#Dlk}5! zDm~GBAXnwgr^XLaka3-!rDS?QyDHr`+b4m_?A^9E(i*_PMWh3K&;R)|0%^-t@q&T> z!V#!>fz)DAb4I|JWMh%2M+YlNOtoZe*NtGzhDKSMy-T$t{XX;bTrD$WDPSa}qP@0D zU(qUNCLx-d$#bQFYDvC!P@?#KX|oK`A!K;cj3M(;gpf~stJ0W>Ip(hH|VEzHqH<^GQ0!A zymWeHw=a-kJe%XHC&XY{`koKi1t|yaFxf74JN*~ZAQtX!kyEv+5kEV1<;pwGrt)Et0L> z3&)2##qu*qBiYQFIWhZAwWQiUpxd50E+Bl3;oGluIp@!qdgSd#{4u(0Xx_qiEi08( zwzxxGuGaF$%*^1lAR48>V9TLEDn!`{&mG10r-{?z;u9eS_3VVB0_Tt|y6A5IQc|q8 zY!e=eFe9-0DudJeNP!q2hj3hGBv2n=)I;cpDC5c$nC6&aSa`6|)MmfZB8m+q=PuDn z&?rs?NH_w$0!uQSMXH5{8(?8BNRn57mf8k?S1o~QWL5Fsc{P8^w%7l3nvLRp1oIHT zl}0YXf(;gFunC>#D!(lURWCtN0UF>xhM;%62P-vH6MItikqm@z{_$MdS}MR2!oN-e zcbBuiyvOm@M*#DqOWPwPC)|yAj7$6<{coK%H)({=ClSjrueImU%`@Y|0XXM{cYk!i zPa7y79GYNUmCBe$Gz6#a^g z@pl-6qpx~2ns|#b$;6)Ww{Gw^6!X7bkPtAg`D2AqthJz1df?gw9sn)~>jX6586@R;e!`&l8_6ebuZ5kETuLl&zCbwT`$jG zXKMDV?KRK_?e1Wr@vh!ok3P?h@!>9|n}fMB5UCMUO6K*|;R30!x0WOQC(%G0RO2-O zoNbfFGJ!e8G^W_G%gI{TjZ2zVn1?Z2;`WB&;szJXe&ZSO=)9z#_Ce#eGj~NgC)u2Q zmU)5EScfSB2g#M0Nkb0~AEBu#mpT7fD*~>L4L?JDN)7+x-kYFFg89gP&fOy)i zug+2w5N}&}!=HpQDk}o{9$N#BE8?Xq>~*Xk`vTL$t_bS8aX)M=BphvIHf?KV(a~t{ zDMxG50PvWWU?!q0izNkouWg+!j#t{`j)aW0q%b)cnPwCA(`S11ia!A!T}NRD!FU)K zu_o{%rC2%sx!eyI{UO*yjdP>^1lZM&Fd{Abn|-dB{mRMeox~gzfWA%a(C})OQU(CW zs*0ei*_~U1RD;PCV+I3>YN|n!jeIxV%)BQ@U!F_I)kn$N((p72V^_gU-9y$&`?{hA zLV|gMp>`N+E}IcS`Er7ZL3JsC{^dCqd=xtvI=*GOMjj_T9~|OWgh$Bj1py85rOpvc z{h<)&L41-4XWoH3-uS*T0_?kk9+-_$0kqxQ%rXL@p@$n`ET5q-iKTWTrSWF0n0z9n z=mD20M&Ip)rOrZfJ2-K_3Q!GFl9-Z;=81q80faFqOlrz;=iYB)QwdnE>au8{Yt)ve zoxYZ(mt;)yLEe(b7w$$pk#f&9K%VUT+!Qgjj)#5rj3m;F2x6h8>oiDU_DA6zwL156 z@6;YJElK~alKy<^Y%~E37`|xE&@>*W`OES{kz)Y2|ByPkCecMXO{g(zp8JTmM&1emB=wh}k>P@J zmNveZXfQUG2d(aT=9HyLK2WP(l|;J(cD z6tSNOijNe)rj|SnDR|)W;4F@F$XjaB8~{_25_f3s0XI~ z&D)A65TlR(&R>L^7<)FHMasGORbRsX$!Y$tK`YpFKY@k*ZvJN=JXZBIl1Q_#=uQph zUt!!!R1)5|6;t{a>17=F|4nrKfASDzR2h?;Ju~A8qwWxwv-UqGy1eK_TPHI%NQ2%b z45>grF55w6pEm}kPd0GxZMA-GhBc?C`3VZ0QO&`0GH)zYeoP*FL~si|@)-IE(-S=h|ay>f#a5j5Q%lxEEPOlOr5ymBW z-8X#tzE(Reh!5KUXhDhwwhpmkA@(zUKC_IDUIO94;pxT29k}W7M@B@}V1qz@*q_&E zvS;3hRaTs7CG*@q8~>r!Gi4knwsfq^bc9-;KY$M+#o&k~i`){0QNqv_`A*Wu1h4%v z)_T&5{6)9&qqc(l0os-VilRO*{@#a~1b6H}%JYaM{qOGjwFvCC#}S>VX0}Du4#574 z#DHUM&70zZH{C$FHJVtp+O-ZZsiE#d0j0F-AG%5UNqC982|llapUYJhcD6s1r`SL| zL|#z=#Hq7(DKiPQ_?jTMD~za4+1g<+LUC(qpBi33OwA=Xt=rBUhG_~@S%%1xP`UvU zFb|R1^7Ze?G4M&DIL21QWop^*NhQ$=w{`#|RIcu9pa*%c`8nqzSUjFFie#Ilw1(Ru zK}dYe=RqV7A@(TfMiVKGHvl|&pt5yh3~RcBysl}xc26YPXz>lJ0mh;`(mUSo^V%H^R>u-%fhF*V7{q5({% zyT^1$5cDfM@DcQhZL5rSydE5IGJAu8Wp2f(Qi3ZRg`?bCuCmNF(a{s?c*Cp8Fkf_@ zcal_QJ#?$ROXW3^+8z>`1y685>K zkuC{(%MU%|L+hREgNPR=jV+(c5;A&rFuL$ize*^>PvGhcqOjj*UXacja0kZZ#IJ3J`J%*}-J7Au4-8e)Z_@L&rGqZyUmR5x)xVG6 zXdky4WeNTZMYB-=bV>xqI=M8YuQw3u!8OJF2O>{6^0!F&*Fc{%CE-k2w1MuohoG-K zVgD{N`rk2ciopX|9@Q&4+I;EmsBY3T<23#sSla!3TgD!1ba`dviaU?c!24`KJ@nPz zDY1S((D@IVtiOGxaVlax+E4lyqr?9ZJs1!BKc*l#c>XKoU~F7};>H9e|BZw9=@$p@ zl?igvn|EK+0N)4t35w+Mr7^*?0PrJ?(nR{0!geg+I9$xY)u2x3oJdMG^|6#CCl#n! z*AGN$U}<){wJ{h^Op<$FJa}@wqz~AQcB;D{mEtn+oRd&vF($lD;$PgEYoHoJF!zXF z6K_ws=69B&4AjhA57zv=Zu(ecT(odFO5cN21;2j<b8V_xmQr_k1%b7C`WosxCb!A2Vbw&3P08!f-PzMZ1lNhPw^;+5>sTrA>!v z`g=p;r!n6Z{G)Fx(SA`COUSA|M#W0JE=qhUXq|o_ziR6S#;Q^J9ZRmVqgJkHx8jr7 zaXasVH$cz|vFm8UXqfJ#@%shGk9+isMtdBK`yy_8>9uWG%)j2Lx$kqeA4a#z5@1Bu+3zr&D^u|X23dqQp&YN8Y9NK+ z_C#RYp`oyz0qLEsKf^KVBr@70a;m`XZM$bPX|(3{w#lhu13|Q(Jk7SNL!(y3YbCd! zjYB8?TlOzP-=)ez2fQ8Xo;wkngqdEK?O*KE@wM^NnD_bGpN3;erGppg`NsZYR;4v6 zrIA(M7(OlihXjUrSu^=02cDY=)2i*&%`}^N`43 z^$zxBt-1xN$G&qvfgOO99Uy$QIol& zP|vo~27tVpk2ilVE=G_L>*%MW0y~Q3v2UBQeyppgkjpMPpOW_hKPWTB#t@h3$Hs7# zF>hwM_>kI=7!#q@5DyJY*1#m=X)0`;9EP#RUMDWv0d%sCaL@Lg`)Q_kUwug5M2Npd z58oum?EY?yXYO0ImF3Yd8e6OvPA<5!A^|FAS{t<^eU;3@q=`D8q7|3Q;YHOI#Dr+m z6q#jW++Ng}vYq-K_Kmszt4=MpqpCUu9>B7izmKBES-y2Dnp{?*E zPA3;^hD|_*s2Yy~mIrC^2bGLNLt-l2kCt7G_>{6(YObA_&~|{Wal~Qp`4?Ojc@j<- zNy`pVS?|g4<+5Oe0hO_!b~(}LVLeR6be|ws7#(r8UDo*vkCohz6qz@9C|o&15?9T{ z-I$*fCMDS2MWHbdL|8z*LdWrNI#1mL5|JhH`mtYTvAIweES|7EE0tM)Alh!QL_$7B zJ6Ie@;I>8Vq^K9SLsMPn#k-&z9FKD0i|@$0mA8#y?JG zx29-t&gM@$=)YzN<@%ZMdB$ z68m1N|ywAsMb&&ocMk2_ zQ&^wvWM*Ga)0>xQhQ^nZnKs(Kh{i`D(l0!yvSfkvGPP-v{lzn78q=^2y|HW?xye9Y z&*v$}IPes53FHxO{fFsmKvW%G)nE*MJf<7B?NuLr0tEWb-Omjgt560 z$IL^4gy~g0_Jrd|Di<09wM-vL@$-X`>4em4DUEA!-!=wR%rS|`q zl3O_c>^RlsD#6Ju+n+NFLe~*9bK!nMYEif>*fue0yN)2ZQ%K&vLtsO&5@jOMPCk4* z8d;Cp^5Nw8wLOq9m_>0YqRZ^J&IzKE5`E2wJtAYmp_sf%To{KXzSNjH z796ElwXkrQoE(yC`DHFWQru^4!KH(r$w!?SHmDaJ`cU7Z)Io{=Q_qYUnLfBGzr?*_-_{JW2R4R%a@tZ!-9w^vg491?389m54v z-^QjY`=7<5I{^$Fp2#>px|JgiQtP)Syo&3WQD?_B7?c|1_6q)J)*Qda(7MfXBj*` z{>FHUlQDZKC(ntlEOf~jC<>{7_yV#lA`Xs~X9!P2La)E*a{p0g3mY3)A>kiu@Yw%5 z%Om*yXHHdCSLJdmMrae7N-<&_y=b5s?l3}Ts`Lh&bUe1Nzglr;R@vHr2kRYZuQ@b8_8tTA@9o&5{GS}*!bW}-1i2_uuL@qk zlbl;<$osFuuc%=9dJG}1(LmT>6iP))hldIaUF~O43@(yERHny)70>@kTmZb-Pzym8 zF(jx5;)oPT2QEzZy$UN4GOXdtlp?tL8i5Ic8-}b9523Dz5D?Xv;3DDvRpfF;!u^Tg z%R`ml)8WR(#^v|5muEM=+I@wWrxU*=(DOyki;ZWMkb@koGrX|Ry$S5~p2*7`Skm*3 zfX@#0|KaT|z@lomhT#zukX8_+RYbbGQ52j}y1SGP1<9e27Erpo8);$a?rw(e7_ zjn8?`dCocS`=0Cj-~aoSi(z)$d)=$oy6?S~+ZlNiZc0Lv%OZuLL=)=$`^&M%yrH|= zmj!q{&r#0WMX&WF`=qOX_$^;vAnFnIlptkm6$oVJU9Te~o}R@r?IJZ@SK*betTU&3 zs3&NLa5tNJsg9BGnuIsS2?v6SQl?NPa~=`?>4Zx(ZXCI{$M&Ico(YHM9%%YA9)tn=XQ11~f-luk_-WN%BTF%PGn?hLS-bOgud<5pzB& zn1;=yk2>6TXb*g~wpCQSBe)GB1=U@ra4;*p>@bmFaWMVjz_uqa{ZDok<1Bq!rO-#T zQ)ft6sPKKV+T>xeRJ*{UV>zBMkDW=E(2`Y4`5T&1ZP9h+ z8AkfKHPVOBQ(iQmvgGfh`eghToaERz##x_|07+;Rlqk}7a@vW2C&CaUCFvXIRwx6whQ5BfN51 zpIl$gH|cFNY2mw9g5DSDl3+)pjB%!&a;0GKMt2)4$3B41d5BW{R7tq7BIag@om zzw^j)$h-T-2z)0Gw)=PHDP@-=!5=RfbM|6e+g(?AYxQ%3{Nu8Y=}%i=z}rcZ0%eWl zKgb`SZfrS8-2@ZVAz13f_I5guvmzg@7KrjrGnB4_MSh6)n+X&B4GBmGr`{p$3v-%B zg{(eATM^+Orh}I^1hmOxWLWB`F3!2$6i*0(X6~C_(&fBo-c;zZnVM`nhS%qW9&j*! z4PNDm>U%ST=gSjK9g2!-buzWm%Rmo)?Mg<3Midbq@+=@=W2@374>nj%y};~IAKm$s z_?90#9U-PBMJ^Sgm>vQ3uF0Xf_nYIx6OJKW^(-eV{-K_NuY+!UBEs>8h)f8EA+0p; zCc*0Iu|@q*Jax9{=+J~Kvt}?ks74Y$t(hCXURoAM~wJGNEh6ZfJ!u_l1a77D|P6CTcnD2!LHsQ7KOoWodux4eAycKJ8`M&LtS@c85lnD>zUR|!#T9EG&$mnI z!X0eM=9~85@v@Yq6xcEFI1KJWB_IoSv9%(bNVCElkX{fmVWj6@Tq}v@Qk^o>Q2~2z z@HX4WV~npYqEt}gbM^VmVDfjRslP^@>bpJI;qbas`vIMH>ua zU>_Jk0w7&xH;ZUefRs$!)0&R8{KeRzR!3_KzLnuGeO$_yYkNe;Q&B4NlkegrnYF1h zx0t5x2@{&^JGl$K47vd{>h+$~5Bv`Ah1~bOHazQ>99GhoVl(cI`3F7Ji|zR~%NS_|MHTZxQWEGm6h$IceJm|Faq{QGN{6nn|*U^r+gsl#u3YXc35WykB1 zE{-*9B1D(#UH6lBldo;#Lx0Ad?`r(oUJ7oYB))yR1r1Fhcvg334bVj^5#gCj$I{ny z5+$A8AFovoD(zR#{H>qak<;9>_anWz0vHzb|FhZuKlC)}E_MY0hhlAh;?|)U%1L)c z*32b&t9N6abUof2E$2Y{1h#`q+xMy3?=OXj1}F#! zQ@i1Td8kPuk7y2!vObmMTlSu(uCLA3*aI6ZsvCkxJHjAES>-R>oKN=_LTNrxe(AFB zc))mNPD8VMH1fLZrE`AS*q*pW?VWwj>)7!k9bc^H^!`vYWayR)CcK|_7ln*{Ot)>Z z^g(#|%=wqH6Rb}>t#+i&Rx-t8nlS7Uyk<9AGN#1$zb z=ur1Txzg~X9Mh}q4_k!=L1mB}K9k(xL$9R7qmfp~ywG|$-fQ;PqRsr|B}0J;CO6ze zY#EN53TD(w=|Bl$rYykCBXl)3BHNU>C$}D@eqYgd&^yehriCAWALnc$Q zmtc$DmrFQRN~Aj@q-kY8)YeQWqg9mFQZg)7@;zEcec1xY>GCKybPDM{ymr;DD!TvH zjr0|LLg-VH8vR0!@q!nRJvWYKC}uug6)MVmIt<3{mDwvFSosBwqE^lZ^4ttel#kD{xYpu9BLY1#A7C_yYXSq>c6T%H2 zZLszIS}0O3b1`#;{z`?a+Us}%Ut$;6vdVRwkv@W_9JzDOBf(Pq<70*n*n5+Xf&QhW zfak$0u$K4j+=!Ls1s?i_dTI?CXKg}lQQV^~sUK)r`-KX`B^G|7y`9zZi3;{Y`aPG+ z(|vXOq(q~GZ6W+$PTY<7rjX5wEqgN>?rP6tukPlEa4E@sZtu`vm>Q3JR9SM;Tig%B z72WeV^U}@p>la>SJeUL#K{l~*pUdEeD>XZXnR$O23ZFteV`;dK7#YpGF9A4(ygK#7 zvhqAv%@<({5J-EGoIF%Fzwz|rH=dOu2U&ULm&}sSG0OD1gi4<=($5aaZ08z>S;I0; zPEQ{jQg*pr3AoG>bxKd-1r-Yh2)~mi(G@g|2#4Lx_V(28)NgS5EC&XQ7e8PuIouBD zwd(#jg?7<@uI!jw>+qwtoO2+iU#wSa!qqs|&$vfoS$2km{yClh1f^8PsF!Hoo9Ffq zLU^a=CXelc!b3#->~fUTL&N9%bb0dRpD3$k(IP1|)tK{Ap1ZtJrCMMV7`JZ5c8+|N zXe0L}($UEOEY)nSdi{hrB1_Yp;=9fx?dcV8Qno5eO>X9-w4*LJ$${}NL0_RL!epH~ z3yaAwFC8wO2aLq!hhGh!@mwuHLWJK_^ciLF?mlPCk>F$!*>D;+<&W8UB9T(5YSU}3 zD^$&Gtb74bp`6|jsgJLNzUZU5Q`}UBFM3WSmv-DtXmKj zNvRKg&9uG2pZC&lwd+;*yiysv`ZJM{eTpq}5mavb6ayQgtemvCon11ml;s(t_eq01 z${e&g)mM8hIdwN)Ax1sIQx9+`xDPjnJqgS{D21$jA4-HpD!FNfMv(hp8<*vv+fFy= z1_&D_gUYHpd3z{7?>i!r-*@!lqANC9=JO4bB7PQTFycO^@KU9}gKR735Sn$w7jV^A(AsLD<+V?XcfV=09T>FC;T@NXfqD-VOl zN$cDyGy4}c03?}xuzyfJtlL@6AMD!Xuxsx7vrNe4+U(HWtn|YA z{&qoZK*GVEDJJ2{H<6s8-c-w8bZ#=otd_n{8N-xQw=AUHLQ1oupt__kC}sI1sITlW zHnCx1744h6{5gwa$lH?X55>B9bUAr!Gr9s1iu*rvmQe*G!Yk^&kM1q1xUD3loXaEf zN<)Xj4>c)zZ{R#x-f`)J(lA7U)aNL)3>?6XJ%}pGGV;y0XxFyCz{(#j>tAKow5ANu zdhfUIbf89EgB7H5HUFxgFg#X>{v<@NV>;97xJabKMSp+g!)M=7ePuJ75e(?5W*oze(4SA=m1guwzYICLAh=P= z2YfApAe72q3(h|_-%;wxnvCPFxP21kQ;i3pUU#_2gQ`ztIrPV`f7l-w!Oon&A zHn?}SRARq1=UVo9-Hl{O)|nqw@43DpjndIjYyKF@bLgX@o7rctkt03HKbmC;6F!PC z)3ZaT=dA{JWyiv^C}tu;510xv)w6^uVo`R$p~@~~^f~y2U#7&TZ&@~Q!ub6r_INJW zEyJG1nh`NWOI|&$lg`C}Y%*Z;Mn^yxB%KnjMMGFd2f!Vh-cD`lBb?i3O9!70xu#6^ zV2-L?zJAp%CiOx!A7k8-zN?5;_HSyH6@bmUtlniB-FZxe6+g6Hby%U?z1zgIF8gKl z#9W}Yu$X;Ng$gqFTt^GcZTM>Hu?JC;-P7}Yk}nK7eH;kZ5}|Ud3UM{HM5wa-nvz0+ z0;Q@{Ol&CTXyuR4gWWGbgh%50@vUb10hKQ_E?{PjI@mI^)r#jS93Wd%cDi0K$*cEAZsL>-dzxAD|B3I3_PP zwY5oq{KffU-!3hD4Nt$am1kCA+jgwf9G6^#=R9R)OvR92wq z3J2N6Muh7uG1+OD`wK5@DaN{5#VJ3UwG}aAp4y$55FM!R8QCelycc*tB5&D3JGRk} z#uhZ`k~I_xb|K%X0OB{M#(dl({li}xU)K{1i;eB(%wuF`X-=M5a10EmYI{$1qnU&hpI+GTl@OZA)gJ4oKl72agoWdN48QWYnyYQQ=@{YY~?4*fI}LFj0YZGG8-`#A5be=6OIM;}u8gsDTqrx<^%WwXLN2 zH)RTg?GRH|$aLAs7tE7af*2)iHEl*rh*EWOkDuW>qHZ`JoUW@r+fDI;!L?SYkzMTRRwjbT886RuI*>rb<&z0yyw z_)zuuHH?<9t<8imtLkA!L4f zUtXsEIci?cTlTA|3)LIViuiV_cqRFrzo=*;h$&F6pR3x#c+p5FEekrRN+TI z5sIU2bdQiL%Ef44i4!55g&Q~>5Go@x$C5NtiT!2uux71)ZzbG}l?dbm;9{z(smEya z1^@Hn$j37#pOZ$}?mo%!E^xXkJDF0$!amARYNEA}g1X(P^~|`sAP4)5g0@+j7^3@R zTQ0TttLj)|OJ2a_m9Kq3c%sbmp4pOYrO!PLLFr(E*gB3AM-ge9^8Q1lb@c=?&nL1;=gv6E#%CyVd?}k#7PhKh=0d5fjE>pD z(H*wJk8I`s?V#_~j_udG{?3|64*jC1ppKC-aFF+>l}IrlKM!PqFV-q3px3b>Yd~a4 zM-S=%B2W6;L_P#l_hzQTfS6=78n6GoI*1NP(r4U;r9h_p%BDGZmPnSk-}UnJ2h0bQ zi~+%nyiMY3cI%o4Jw3Do8CC;c#LQ#m5b88gvfrGx!!X%{!kLG_z=_r#n#^T!3c6UkJZ4R-*sEUMTqYnE5}hO_XLQ)IpKbq7?@V&A!YWhb!Gt zl~!{iA|gIAd9`jg*JW2K9IW4j!i91o>n}^>el%G=fQo1#!t#eAk84JqQ%Q9({#^7p zpU&~V0z3dJx68pHJP5?n-T(seoQPu8>7te?)D?9(|FYxUxH8~W9}p^!17H&511u=~ zUiL7O6TCWD>9&JFepInA=1BdJJ!x8cnHs%JLK9m~Er3ni3hgv+NT7aUFH3WLe!K;& z`8@e^$ppB!TrW*SUcN{h_NzG5>2S68CADf54Q_6FdO3V(k81||PY8E4!5cd)`RQLg zdKR9kRv@`S^%0ivaN<3XEBqCyGiT>1nL|5j!#s$+EGq=!=Y{foC`PS9;%V`a2 z2W78@1$zC#Q6bR-=^a(_4` zxi%|LAH(S?Wmm&W9jklnmcN@hi%0k3HF(R#X}aOKdjN}8NfLq)18<&@1T|)6C6F+g zmOt)9VWVpC@e;ZI@m9u*3arqayXVADM?bx^7#<#M8DyCfp84Wt>K74vvvk}HQVr$4H@yNcrD z925j_TSejsK7`mhS&GC8>qs?XJH4lyDYM(#zt7B4U9>?+{S6$W*hwuCd)78!Q3Ib| zS)H!h)RdAepo#V!BQ^l&?c}MAVxW5Wb}5f^=V*oCgu&Gsl^p1r*7!-p_)hNJp_+W( zVPHV%#lcIdfqH{VSv6@X7NOG1EtywcZ)j-tjW9+P{mYhkaYDr9Nn?q;;A%9ZXBZ?d zbfR#hHxy`hj+2YRCyk;A5AL0elp4vH3^&OVni_~CG4#;n!3q2G(o!Az1LO~5>=i~1 z@K9A#-mG)0fj5wGmp{xe6JDgtkbYwzS6sTUX2F=VQJrnGO0(v8Ix$>`Otc<0!o!u^ z>W(6VVA^5*O_3z23y%8HyuRSS-cXcp?aq|PpUz3=YQfAoEAgu3m_3*mFV9cs+Qh=M zq$Vy8>f-*?OPa;E4P+1nsGcfl-VE6kuT63vGN|mRD7){J#)cDHlHOd%R;%*8+)q%E zRCwbR-GeR8z^~aq_bn0fONr_!R;q4c%HD-kwj?;`1*Vr;sk~*bGpi~G0w{-j3nXJ? zbr<7JIvxE4^Pi$=x}!Mv)pw5`!B-*=o)i)bLrZ`_nu{xv_a?{gaR@`YiZDAzUhs{g z2$88A>~E3?N^?;@wW$c*bhL|$dExeXb3+URHph-wy8It(gJ&%6Q((hz9@}Njn>n+2rIgO zp56Y{DSYIp0FEsvM97J6X%y5n#=~Pg0yU~mNuOW;Q>)Wg49D(G#)ZaG9Phom9>4w`ItRROAyb z4lf?*2|(F&6cptFJmjQj(t4Hb97vn|)B%<=u2N&Hc)8M45eX|kp`K}8f78!d6Vg)b z-ozWt5sKQ0b7|>JWUZ>|)Suo>zLv}iHT`PpXt1`Ims-`0B?AQBYt$c<`*ye7>;mHh zKU<5$A)|oo9mRYxJMJ0v#Db$O*Jwnzp}Adx;%B#q7ydUzW8oqWaI>bY$Smc)SlRke zd2_r5*;8(sk67)?^vmXO=buuyOd}3%9Q<=dUBN8NQF;oXKn3}d5KYGCANB9n1n8&D z1dK5|Cj^lcG*n*9Q=d~G>rIVKlDwD^I}6| zHDMn}G}0{|3I8*m#-szO)=PBz(N#z}&S3Q0JHIIM-}pb&^sW|9fOIKipJi**D=djd zF6(4zoX#rC58GhpKaJPQry^z{ULAwd6Z)$I?G)g{4>6Yp1xE7+~~$$aq3}^5R)_4&tUk1*fs0^3I(%yOen=ji1^Bv zO9P(p@Sq&qK0|YjH!}akP9|jvH~i!D1=Ya&N^`av7_>L#{nBbZ29T~ggvmR@gUWc* zeY*k8YZf1G8=_j1bL$y>D{yrcT6>)Vqy4@PLB*5e0v%^AvpeaoCL=nAb7Tn#T!50h zqo8qJXE!i6f`;4Fcv9;7=KWII%)o4XeX6Clc^!R4MkfD5QYkkWZ|E#HWjBE z)2V*O8d_pDs^r5Zr1z7qHrb!%@o{6HsXW|Yc_CTWdWOWlCcC51`rP_ynJD$gvMpHF zOh8)CS+a|~RPaPqTvy)Y6#4{V`R4IB=<)3`jY*|K{a4L3DU)@Y&p+_go!!qj?!(}( zbVQ>+T8pt(yxt}im#3pFOZqx;P>1f+Wk~1EX6xk2p2$fpV?-us_I`pS{p=wYne24( z`{WMWv^sdh~x#sAEH#7XfZgQ~}cW5^EnX{xcC zM3<;Z8eobdyETV8$!0Y??V@Vy@M!L-yzaHW;s&AJnj)5AX<*SBgd)HaCa%w)3Uqs4 z46-13@`Tj%qY3KFqd!$C;IJ@KQc;PovFHQhOqlfQLVX~!nU z&UC9CS|^2SAGp&&o7x#@Ih$yi@olKngZ5;gaNhpL0Ey=Q+f}}$#pJJq)n24Py)1CK zEB+XEW{GufQmqC>pgT$ht@c{q8fgAc$o{uGWsVqg>aTXJXx(wIkFrD)0AMK&eMK)9 zrqqB%E#sFr|A+db?0o;S`8z>n+H#r?--UPHZ9c8m-2~412LDM^#dIs$ z+e(&S?s4d?kqMxn2m#E1>nmK=NU(q6)`voXK$w?~%@?Z0IyM zLfy~!$(<>22QK0mxi%JD)Oe+?Mr5wUwRlO6nKc@@D&AuBe9IDKyru}EXK%&f`bOj? zF8)!1R)fW(tZS@D?;h7qZ*-Je;sGDW;%X!weN3`wF42qGnNg?sJ|?_H^K{~I z%e__hN5(6Z!u#G?&+)OntD2ggK-kj1LwfE`DKgVr}LPiEZj!@;s&fQSobaDo5B(XV$L?<*AZXeVD7NJsRE z(${)nBk#_7CMy}bD9a9U#=LspV8=n?lW-ep#uCR3PW()@rckQ=isqzz+LST!2325Gn_NIExkq0X zjIu=Y$_01sn0BzFTZN+kSE`774lieaDBAUeeesqtFIqy4h(?>ffsKZwL9a{@w<782 z;3D^@37^p&$M9-lGvcLz&ov}ZOB8&0FXGhfXZV`~GQRuir_N#2xGTKSuu&gTsIPOX zAA7o)v39lW5Vr`opJ{uqT7pTSt+30$gIuy&ika!XY57nwj9pCc7(T zlWj|;S4@Dv$%D$qjLj{)Yt4tj-#hElk?nnaXL9h#m+5Uyp-*~Pv9F(DUmc`;!-%oM z+u>@fz=(Si(edF&VV8SXc+<01jh3G$;>dzK#8nNu%oO-OG$9^2L$baraS1(O=lXXQ z)T$N3cEQPtuRcP41<=e^k~OoN+DJ?0sm80e&NRd@rL~&SbpS)SLV(~9g z*bI|rD&?L%zVDZh%JIP@slL3rMcXr86T)=tVP!y})A|C_B%;qRk7Kg+wFrfDM~Yp< zLjv5uL~(_zJwb28cIz*-3WF)j1uB74=3)Jd2hXq5W}nUIX2Y_tZMRG$ABYvN=oR1d z)nM)Ra#^v6+^NQFqxAg1avA67z$wFfp^}tb?#7ei8tqo^rnlMWSW9il1<%$mdCtDMAfqcUo7VGJ(+nUaQ(XJ^k_N zIYSGbP2~WA`8qDy4~%ls?!vrtj|T)nmtUgH7q1@=f5JJUVjO}X%bU#4wHk8vb+KRY zRXLb&8RHs<$;hna4i(pEj%RNLHb@AaE{|M?5xBQ&d`RKbe@!!>IB-|J`f5}#ASm*! z8uEA%rQ%I}POLluL8AtC|Dx#o^k<;|M%(?hn(}|Fn9arU_wA^hd|dxmUdZC+;s4iS z>j_&Un2lArmi5-S3w6^wD5>;Z-SC>dO)BW4$gi8RqSeeoA4eq{i;ALGi<{9$?kKisCS|Tj5 z>aT;3ezxu?U*&x$au((UN<@*=q8Hz1KnOc#uIgTuexQa4MUVL*L3ZLRFqxk&zh;g1Nt6Z*=Ix-nyf@N6p-6t`D4^wHx>c*v$iyVt81Abc{t z3^%P;e5YTQ?Jhc@-@c>IK_=GOGjLc5{nY-Mnxy-tUtUH&{E`8d`mWDY4sf3ayn|FP)ox)K|Hw01JX6?PuTN|LE>SrI;C=QI@25ths}A{LER+>+nbtu>)grk#L}sEyD@9{Ys~@HN38rF*^aZrQu3d~ zU|+G0wXJH{!5JGm=`OCGi3}nn+L>n z_TVo@t9<}0&cmc~ZE(aVR>>09cf6W|uz7HgAv zn4z(^+GA2`j0@OdMKRfXV9%yI((n~yPt(BTmwQ9KP_>B3eaiUaD$obGgACtO;b3GY zAZs5sVYKEuGmfmkMe+NJtV9OV51sTXuHMITNiv z@;q@n_-~hD_f}auS!Hj($T?1&Y=G{y=uJSIYI~(?2g}K4^YsNfR~c1<^$#4Z7`GjY zPFF5s?F9B$2~!~lE|siN3GpAgHGh(~F7LyYG0Yfh7D*%Zu1uMQ&uMqO;dwIhqdVJJ zTCk`pGviQZn@(%Ouy&}12eOSOXVdOPDUrz+Stj?M5@GQs1G&jd*6V>Z)lL-%iUJoV z#e_9NHRP6Hiter6llW;c`>+b<%6Fl;mPSPgv-&mC+BMiOagrvK7z8W}yWHD2PS$NQ z1)M3IQ|o|uJ}$G=IWLSD%~`ehHD(#O+w5Az4OXf&vmQ&|=jc2hcHodE7A)Xvgf8j- zL~8%jv5j4r%t5c*v}pt?;v;K^s}=6=OE*?vogT=a#I-xW%<7KjVQBFzcIuxO$D!68 z;+(zEV{je9E@-9gd9^EPGs7OdiSOu!O79DEWjI5rbyT|Db#%}Q;~>3*l^(g&4Y8pn zzvN;V4`Nb=qvw*OvL!wiP-J?m7SoFqa&lv|y>QON57B3wmj3+QfD$h|95d%)g{N)l z3sE{Bv_T`og!Z)WX94O=>(Eal*yqK!0YqGQ?Q_T1``UAjzZORT1*gzE%^2CN&JRQD z)(w@0say^{A#OtCI2Ku=Bb0D^<3DKYGk4a(YmC>5yv8M=jzve=iWu-iZ3;M<`iS3C z&WI0^hy?YT^PLSl9mL8m#QPST+|d39xhd?61gzkb19-1VwUy9e{nt>+MkwcJbqcr_ zFZMA!OCK>_alZu$`}F%rIvFSbdq)Jlcr9_AKrQ-k@v88C;q8-f;a(;kp1JnGZBg^W z(Gqg9lUBYTsTPHefnBy-q<6XL0t98M@oU#8fVp!F5TaN0`<-dgC=kQF#l@T zIp4LSIaoR3;@=$}K`&G#I zyYF2lzN#3Vm9g_32Ba8n`_zoMoEwo*G{NqBD4$(a0PVJMClhpF4TNZJz&A|9kJB+0 zVp~-@wa=U~_Kd#|}j#SpXkJw^bsoq0F^wkA8pix!3v;6~Vn!b}L8!Y_$I1KV4D@ zrYOMZwcWByrrZpo^P=JNg?R1wx8Y4daKtOdl+4sxC-)OEGm~Bd-1qopapZj2eFXX< z4Dborg3u6;cs(5ONC6YzBTnLg$K;Nj$H_hOLN;JH;K2vFp)vu0e4*5$Tdl9d`kU8O z8R``hH-tsn7h%6BYS+FPYYvP<^HBZDmG0An}Xg8oLgu& z5BtPt;cflsF-|q6qwzUQ+sjSPxaaU`@~nc187Q@~zWuS9^h1P2@UU`Abmfh&lW|+b zFjV{_FL>vYoy?&KC#!%j)j=k@ax#TPD=@btkMvsPZ&pg0_yQxoqA3R%pi{S!5~JY9 z(21O_)3gIhL=yA^=4Z`@37)6Wr_p*KS0G~1F&C20U%d?6pStqkdE# zwY+8V)cfE#hr^gX5f=4gpwr+dJMrIjK^D+{XpE1p;P+;HsW!> zA6!dJmQ`SUl1Qy6ZqP!j9ZJ3l%R@hn|UfNVv~)*Ze@I6 zWq=8W2fq*umhTwtrGFio$>CFCxQ$EVdRLup%BfccHwUl-N9fnao2O)L;o{_qYBQ zXj!8>d)I&g|LwZ{#X8@*49P$k{^Fm*a3J~w93sSD90;G^ep)jWB>veHEf>|@kj=}D z@FvOS{Krb~oep>8r2*F-W%NA+$!n8ubD`C(>KiVA%0>gef5gTLfCeA;-hJB$MKjq; zEboQef4L+Z0Z{-Npv0gWxNqWl1yWxH*<6Hw0?j+|Xb*JTz-0@+jeuwI?w!T|ipv)P z;`X~)aI;g#-7v?**Y>k_3`Jc4#K!;hLf(}WCSl@+hoR~K`GV*W9mLgXmh*BD@-D%m zFer=fI1w;?AQij4MDxV$e(s-Qc7h zaCC%+-fvVfAYf5S$OJfGU(A1FAZ{D>*#p_|Lb_MXmKJcD-rYv?yXa}afVz=?KwM8V zyhkuSDEWI{B=O2wmyWwsfYVlp5)WvpZNRuS$o_>6Vzz3x9vvut+Yk)|`omAc9=g1y z1dX^Ou|1I>AJ0EOfV7A{l=Ux3geR>z$TByp$)=UgWg=jk9D1((&U#3 zj>W${$ine{n|(?#qTkND4nk`Vbh+$$Ah@pevKHO&mJb9UIMX;FoL)KAr~tVJusJ7R z!R}(-!H-mA;$1(au10*U$EGykXaJZ2(93?XMmk*E4q)o{h<|rf3!{)@0L-O)+^C}o zU)&T54S>NqaSi=&0KNvC1+U-!pw}$}-@2ZpwNb7zeX ze*Om{TTZmMH|78K_ibM3kH5`56%gF@_2?k?Kl4jI3Wz%(E@1fI>8A7+9^_fWbb+oHvFC35~v6dwcoj&IdY)D)B!-s55FZY#|{z+ zYX|Tg_nYkTP6)czgEkcBrQ3*S_*$q^UXq|z#p#QS)g2K_fSrgjS?;g(8Y+mw93!%20d#6IsXr{izRhUP5>f16UcNx{D#1 z?}+HQ2S-%^j8rz^;5;mUUw*vYQKq)0t`bC5YxFSV8750t02ZRLZ(jI@a51x7(Nd(vszo`}7j| zsc1hf0>q1r3b^7xgQJO7Nf{7p(BWh=)UBAjI}Ww@zC*t>lND~mZ{{dGqo(?USbq@! zAa)U1#QI-pqW72gJ$s5{NDa?NF1wi)!7l-^z#gFDhw2>HGez zYP}t(*{ajn%~)^&$T!9PChxzCNBnMxnw)8E#JqOjQ( zMHBsxMDUZxHz=ZsbKMpo`49a%{$-W%Fa0`tu#dkn z-}dVmn0VVigwipNXBM`&z9wSPbn5X+=iw2B=Jz9(t z+V4GhPo|>HIXIp*fiYB`Q9NL!Pe*)x8&=M90$on4`=wElSHFEw5PNu+I%ImM?&ON^ zcwu)_;NMHwtsPt;=d4inF3%3jrSMZB;ex#cW375PjG%PRq5?icGIyXfo*YG2!s`94 z#bTdFpm7$9N2z*$zs$W%$*)3gmrF*K80h8!8d82bB~d*rq^CtbR*dpi!`ql_Mf&io z?Pt|y%;K*V*FZ}R(VI)oq=@s~8pQSKQi$5N(9QD#PqMz6E8soIDd`zU_{}4nZm~Ew zpj1XVj!Dvdb@N-XWcb|N67V|c1)knFVW11gxE*nudl5<=vjg?@8;r>lx_aQ;9!X!Z z<7ZN+)@3(q{a(|}<)O^(OSRQRXO~sIDql`gi6}>1xXBtG$~Lk*s;98v?VT3pT}qof zg)Q}OeK~{hw5i5g%SIssK$j4TTA$}r=UYYfKO+Ms{gVX4MV0Tr_GGQdEO>!gu_k80 zjVt<70C!w@Mtis9MVH)^lX;?H*`uKB!4M2AmYH2`l&`j@L)%l3s56k^qN-`U#N~PM zvl04=6UQWyLZIV?#Vnt;2FcT*F>k*ZLF2orF?t0T zieizziVcstYQHeSPf6t~^L6QRA6yvg!=83w=;h&|?{yrOA7_7Gtsi61E#2!O;~+*i zWn@JsHVbg9s<0&9s>JPmyNR|_a`nZ773&3E?fVgyxY+l7Cat}@o$HMgZN3}~kMGC0 zGBz3VP5#mXYd8W6t63smI|USoS^aVD^|&>0h>A!&Ws{b+wCn z%PmT$y4v9D<^9`3N^^$7Ae5|_oMZ7S~KYOW0 zg2FUu-BjKr&Ju+a83yv zYeh><8pWg+ywjcPdRR8eZI#coOhqgHT5Wh%(@Q}wE2u?1(Eh@*=5y|keqKYLtE@8H zE=7~A&ez=(e2g(xA79IfU(Mf)wHEvT#JNhyDQNfkf_hlMHl4|2@xdXxU@UZ!Mf8Pv z+U})&ndP?=4c}(9G?@zrUD1TV8g|>glBur5rS-Sl+fxFUxP5IwC}54K2E5jb>W;xP z<#%+!O=@KmBMe#m>mp<><-SxEHH*!q?0wa}BV>J*xN#cO_T{#Gxbe}yA}SJJ_RQ?} z-{&;mFor&iZXMH)PHoWV`;8kMA=+$lw6PsPaYBidmWE zc7hdmk~(ZL`EFV(@A%c3Bwpgs*v`abj*IGMdeoW|$8y`P)o@;~x!~^=EFR;^kx$S< zsrs5I&CcQ^@yV|F!RM`_wA)D|t56P?fHk559#aLPwHmG*pF*CxK>b}vkAX6@7tn9t5W<_RqjHFFe5tN1Bc z;fVCd(&5dYGZjVUP$zOocRLzCna;47Ssqz$B(W%$X?JB56h*$*y4arjbrGjp4k?@D@sZqoD7vYu z!0@zQQ_aQNC}xSQfB?4Q(cf*w6Trw={AVL0RHN5ir0MN4@qUWo^)#J*ENy-uF-Lwt zR$O|)tFj>LEXSr_s#6TWU`l@s)>_7WMqz#J8eY(ECYrPCCQe`9aCG(;JH>8s%qV*? zXG?yqT5@Bt+=DW_M*R<1XxhJ4Phn`27Vdv;`j<21qtAy}6?rv-?1xziitRl%4u4c& z4)XkAI76qpQgj1ymYOb08Qi^xCBtmXupX`W7raEukR|36GIG0(TO8lES$5fzkTKzosF+&>V@ z-kh9BJ}>2}p*r;|>Ywep*gqcFOsWhr$-}oun=wf&X2CU6y>nu^1$4)%yWap58XD($ z>Bn$(Ya7p22i1~^AF(u*M~x4KHJ+H$?)BrOk3GCOjlZ2Sz2ntoNTAg+_p*-v~+Zq zE?ITzoUhKguM$1c`b&?WS-1NjL>)ZUYNcl+goLX z0IP0Y10K@gVZ8ao)Wb^BQ4_Oq$?k!rQ)0o8A!Up?YL-{eCpo_`FXDBg* z5)RZK@i)`>y`!oKj)|s~ZQpP`v^f5VKf3)LpI8C962q&)H9MK+FCikmB&Hg+}x0x!T5uWM@pphoI(=$(h?dqvsEqduus`i zQv$>|#*EZ!o12?TGHYnIBn&*7J$8KBn=^js(>s}^el%oM&8}odZQxToGx$=^sq97g z#Rc?+^`}C!8@IxECn?)^B0iy07-_D9pa0OFDvZ5(4#`R1n0)DDen3#!~jw`?R zyieEU{?c}M_?X#(E(-j3IYjH7X^b}x?g^^?nAP!8&xE*Kn{<2t^pt+0e~H;=|0NGD z>h#`Aa=YgLhqkwXigU}-hH-ZZZVB!Z972HL?iL`pdvH&1hhV|op|HZ;-QC>_4Q_vB z?%e6VJ=5K5{`C!O!75I@e%@z4&)Mhfy<-`zym0%S80EbotB9pG(+QV=JUcB!Zxam! zw6*nb8I3D>-u!WvqC(g>*x5Z@45phn3x`|Vg*zLt0k;dtK*No>QcPXNCjSs*L-b~8 zQL`+o@MWO*lB$Q1c-ijSiK=@l%xK0gGN_i59B5VQOw-&(om@wK!5UtN2H(%~Y}~J4 z!O&d4%IuL}oLL}-fx7fZbrG9=j{9#3&LYzrNw)&$%wBW?pS>J=%Pg$G$ z67RGoXhVvd0{b|X#1GcF+Nml5RJrAAjV=(!SjV^w==GsV8epzeEi4xa$yEeP^R{&l zw5hotf7+wiI=D}NqJ2_5l}czo?P0W=J#-sSJ|K1aVV zR})W0=j#7?Q!;@M6D9f$z$zPqZ85cLsCemuS>6Z!?&T!|S+9JZs1(bM4#wkgB3yKxBy-_(3fdvPdi8|*ATjp-0>mU)LpEP&lJ?_w|T!YR=sPY#2UpRa8_oz+d=j<^;VJsQl62e%eXega2Lb z`(TbuTvsaM9c7{TwAoz+UH+TiNU$?T?q!}!c-yD>ftD|tRvQiRj$C!gkVNt8dNPRf}dkB-VgrUr&|tlg_` zgU3exb6!>$>{sPQ!7JcT21m2%Q3q%>L=J)W)z5cH?>ZK`2ZW2he2=s_(P&qzm3!ee zn9;$WHjs}jh|a){>boCDbbYRO&MW6oF0NB1lVYa~eAq}eL*V!jx*6;{X}3$-5>G&h znFEO?yE&OgC`X1FNoNCc5p^fJeO9;r$kwbYk7nxGK{{cuxIzJ`0NNAi2B5;zGwfUJTnN3|Rvk#$t&pUYwP1)J{uR%cYH`n4UVf4< z4;wTpp-J4O`bMwqQ#Zb&)J$(4pN$EGY~!PvLOn7i11v4t0+&{vx#JEQ=}xD$`eF~v z$`C4XH=ICz>nz3+2u65kR-6rFsb682C)e0^v$jY(@8O7_yLTMbCfJ-56WE7Skx70K@T$~8 zUTLcM&~%{X;e;Q(D^04~y@#Eg35v#;Kg@2^^MXa5-+Bre zGZIXhYj0f(9K)!_nrh#?(tZu`wMto{tM-|oQ47^3s^fYI83x3`agv-t+@jnxX=o$w6jj|=vOay9+z*zV~XV5K#{ zdT~9Sw35BMkd?09{lgqZGJlB>a_DqP9ib{X(2+){gH}3ja*pGtt_~Uc)ZFw2_JEZR zMUPM70Ld>+PIGK{u)4`B@9)wIy?cix665X^{N3>e=3B_eoN{7LK_@=P>~#SzfxqeE z-)^#hIrQ-aJcFHED=-^iXPMqI3`NOKDWFYz8K#PHJVQ`tIlzI`>BRfjq=Z?R9l_t( zCa|RUYn>Ju(S2G`W zTYO+wu?Mm0z?j{v3)EtJ+-R$@fQ56t4%*?-(NJQggq);0FP=z@ERvJAlTP7vK$-|$ zA3>a$keC4$BEP}2dWBG%mgBQ}0Cq0&o|1C*qr@x-Txv+!rnRkYZ>VwQyIaw59kNoy zBu+tz_M!ksp{IrO$TBq3QhL3nLq)4skdAH5t zTOOZ>Qo~V3?4yW*cSf;;%bS2l3@(%v+(g5HN3&59uL=gBxo$~XZ&+K86%R5kz5CHs zRzDCTEANon6iO&*1596-aOx`M$S)5TqFDiXX@Atgw9u2)N+kHgxaw7nwwz{~4>`wC zZ5IYx$Y%qjiET0Pc?!$z{54-nN_rweYE2YOk+>jD7Uh6A3E`>2lc~~Oc2P{J7TFPB z=kolXK_eA11R6Kd>(h9}v+7U;! zK%!J4L$m2VHv$oEL2CT#- z>iU^xIJ=A8OS|e8E;okeRN{2SxWJ;u1cn&tOPYOsY3c7CQUZ?{P+~TSdr5roqH{a# zJQ>$*?ru$@N3jjsU+4F9Zhc5(L+E)}1Fv{{3o)Bk-?0%N5scD_uE#L-fw9^et%%|+ z+zr=HyI`D?+921`BCVrPp!^%0A^!=^e>z}A17+}zmahv4VE@fYl~}iDCr`k#^LJ|b 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%0AZ!&mYKe{ljQlT0e075QCgX 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 z%0D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

    P1Nt_JgxWJc&d{9 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

    _VPmtiHIq+C+>^su%XEJNVguNRV4aze^f(3gpg` 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℞%0Fus3 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

    0d}jM%#&Q0Z(I+f zeg=Ay#VG4^U4;<&qtRwIpLFCaX9_V;!v;Kyvb3IhNFkL2J1PB!dm5PqJ~-yuYbTaN zsSD*T+og??bsw7v{IsuwE^dR_W@HvyTZyZWHw9olnZWK%@M0A4|dT z=M!zK47Sj-h@T-Cf!u8nyx({=?Qx4yMm^iam^b>{aTl1JijR>zgp*utjbfzAsb*w| zB&%{7*X%{zI+Sg6`P~oZ6dR359xg*j;WxA=X-N<__q0Ue>nUS{r|Y*86J&lO236}& zoh{wAyf2w}sREzmpZv|(2#-?ne??!0nRVv+t+JBOi<-5dsa(UGD~r~uF)Gf4dCyj~ z0a5#B*r{hN@eAjRKpB?`#Emx&TJ5ekhw zK{$Qt!b-11;xz5TU=VN8H?MDg&l2>z(N;3bNXC6lpb51&*^9pSW$^>iKIpck_!u6Q zRVD?(KYNM(tvY-`Y<3;EHUD;#aA(MO?u+M-U}cxWv{0>zN*`8=>0X+@H#dB9D)WqI zaznk(E-@fg`%8MiASn#pmeV1Z&kBB`)xj^zLTVfr{Ixxz(5YHF4XocqylHv^( zw2RL0&SB0r*}CduRI;|w=1u~tgCQhQ=Am*Ve&)bu5rl^d#W9(4IV_%q&1RJO6`G{*Zvxvt(eLn#qJy}}e%5TI~3QE;7H73zgLwk)6 zwXM>@{~9#X+e6>^a((pTO!uQ#jpsB(nA!X@gHgcpOiN$dx+Fgg!rZi;Ij8(h`%6%w zya0|e`#1d(|Jh%(y|`dalV9(YK-%Y4DOre=|=Vx z!(hBz^i|C%P57jFEb@39+%Lg!IjMiY2|0$sozgLlQJUle7Jf6Ys}Yy(_`%~YL2wg z+5g6^ivAC``u~5*pUA`iobo3u^zi>mb7f(PhvNV3z>iBbQ+IlZp?<@%<8;GGZ=f&i zUx~tOR|iqL4%TMLF|bSIJ*A*( z{{6?MBu%G^FN?(8`TUq_(9JSE#)zPC8RN0((*M~DlCa~YZVwEP3AcgSt&Pn!9*?dq zU6U==&}XOPOS{_KWY??pL4~!gSY|7J2c`jn_%bQY$mXD_Vq=_R<<*uO@y<$~0$n|B z__uipI>b&1jp%G2C(ra{9lTZV8xL-+c-jYAHDGZ z`W1n(vGZ(ft^rAKOhlJ;;a{D?0dK*LKz#B}7c5OUfWNVd4E?*`wV6W!FPBPy1(Ex) zt9t6H2s*$Wvsw<}f>*J)qZd|NP8?RsG2f)Yp^>>xaCve~#3s$dk&BzDnz=sis8Alq z{gAQ2^jz*JAC0mAgSkFW@D+1O3h%r$m-_sq$xARlsN0DF9)rh3FRXF?s(z@<&(TUE zP}Qdl)$h1WjE1Ti4?b_R*Q?+{C{o7n67e6~vzhBn{EGPGs0(Z{2H{6-2<~NhfFL3^flxFkyV_Q=Mk~UEy^r$9 z8p)VfM#}IfZJ%B}rF<;*r2ML9nyG_U<3u?c()=Et#zA&(AE8NMg3x}<_+Z#BsZh@6 z@Lkyp4ZoJ+Y}Y^w_H%Kug>KRia=6JkVX(|6n!br(8hdzqptX#L@v4sRgCVbT1hwHQ z-%gvMG4HPYME6FD(mGQk5);-kauDLhUHZDB+eBI-i{D4>)S!csb51Hl{$f^PZtx-J zyrO*TA*`kC%FGYmoA-980OHJc; zhyeDZ&6LUj+^A(EP0xl1#H&L|mSpc(G&sSEA3D7D&JI-Pg3Jgoo0494(@n$Unj4^} zk?&{}o$p2xx(IciZLJ^b^oz+CuDN?N^IozmuvC+H3H!VM)bRX-zzTC|kOyf=d2WmW zTfu-22_gw%f&DypW(NOIVMf-O3(nO*WJU-336LAUmAvA!6@&puz&%b&$rAC$5yehGWg`vgZ5MtS*)0RECUf&}hE z*^{s2c>wdGy3!XShCkA*=%&VOI;?y4aX1s9&|Zl!FS{!CD;J}gwphtHfCX932n7Zb zp4T+v;Zx)JcphljO+Zgw52p%)t}Z(T!Hsh(G2^*+UP^l2j0a15r{{TP7qf>CQ>6H! z^5LnxCv7tAW*^~G)*n-oQeRZAWEnH$<#Og|_4Bno^AqJSFx621xm^vG|J?sOy9Kux zX_+T~=L}#gz^rTjW5A_)zIoYM`v?hvSn$ggVGXdp-)YuRweXizw5;>O6vO!*h~(3y z-j)Ch62d)S7WF+X->Km~XP}f3>We_6{95Qk6+4sZuMAjIV=x=*duU7fE+q_4APT|C zno!u#-N*~$wO51VH5X4P#5(QOI!qY^D1$5KYd@!W>pV2w=n~ZCV+w zNLbk&+PLgjWqSI>K;@LU4NPiCjT-K=g}o0GmEp|NluKd6oZ}WH3s1E9;ALoYBSyvufe)` zYvVp^*i$>7G(Gk#zXykPH}Cq7SO*mPyz(|sNkDMd+W4jZ*`1Ia^EvFTO>b1eg!S!+ zyAjU7Y8j_Szl4qzuQu?U>v*!k4p-Jg_yiu)AyW`E=duL*C)h7!_b7{m>kwlu;O(5L zlbi(xnNRlWtn6))-M6k8&SgCo)#{SGQ18Q_d0)>s6k%TpH}Cmu9ODIg;wc{UrM9c| zT5eim1{qSr(^S`Fwh<0$X?2M0hM1V*!tC#zj;z<_wy_63r{_B~&jmU~Y6HuY;xG z;_*ljGWqS(nm339tgBno(e;IsfvvtNfg|sWW~=xUm+J1qt5bs-tA&)F6hMZ= zOb%2}U9gEPO#PapXg(d=Ozm5CeTV!5Z9`ZqwTqI^n=f-`C(Ft-S-r~37F}F6Klzn9 zU2!F!v$8v;rF5!W(~NKol0W6WDG&JTw3GF$AARI_AFdpMcwcF86(!Y&(CjeKJUD`n*)*l(ho`7T~E!%>EP@-8~45^X?@YtQ+tA1Q81X zfh8Pq5Ge0?uHp$jJ@Ej4%epz{XyNw{3GVNQ2G7%ipHbo0Vyq^o8w1PpJ_A`<`~1SN zC#>e4B@qbZaW(XGEaA=57GP}hLaBL}StIk7d#7Huy3}j`#A>ddKR9sC!3psDPu?LX z$J((7Y(!pj7%rdNn;CMrk>1smx}o8Dtdwj0)t8soHcgUos-D>C&yFfcY7UQKp~|QC z=V&bmqrUcylxsC38h!++oHJwx^5a*C!P15oTu&@bJogaQ&(Yv52XJqTRY5$s3%dhtUH-uBqqLrwAidetocalbwZaxdN2DonW1&_*AB6td)x71Yyo-kkbwHkc!9hxZ5Sal82& z>iXgi((mFx0gdmK=qUH^s{>0eg7aCL#IMW-$^Qa}epc}7m4@Q~CnCIB=nJ!q(l6_N zRUVXfB4%(r{S4QM6vTycB~Pk?Q|4sEQ`wN{tLB`Z-^13AMV(R~RU3y^bbEtq`~+-J zN9>gF;wd78uQ3%NCLD!mw~0j5jw>uQboVF80D$-9;7^UVv`-X*`8^IA z=qk;q7~E;E3RppETjnKrqT=eOn#%E%2jOWf z-aCu55B|ZAPWMx;YC#0(t<6>SV@$ik3j57k>P+}Z;JD=k?e@~={k>YTx{3_M_)9GZ*zHYVQ2(C|22bj9<2#gf^4JvFeocC6){pI<|_W|(__cUVUuu~51b7H{5e(%?Y%ppQ=LCf<5Skj~2 zQ0S@Q+;uNv>rF@y{=mBZ`SOS~?A;sX3k2p@kL@hhF7*vw z#1GvoiDXrmabcY8zeQSOX#g64n4O0fr>h9$7aJ2p;PX=5`hn9&w3A!ekqD$r zK0@;?rE5h%8)AxmU`G_j*cdu04O=;Y({6;~uvPXS?!b{N4-C{#HxSsaHdq)iN|CM#aQdO3agUH=N;>yQ-&SfR;RKJ0bG7RLzsM`u`1CAohPk z7KlEO_zzhiBrNuSg)9&e6B8HtZ?@p5B+!EV;_7eLw8jSwO>J{E_ z310tuM(Nnsr-APSU+i8;I-g8$EE=+FWOM0NC?$~m>xWU8_tlAIrIGGG|5TtJ9Na(8 zL*^#ocVOu4?fvmjTU#5wr0?0~xY^dZ0gsbYf2}Mq&xfU%9(>^8d9SoSfxoqu-t|z`@6N zUv6A`<*~j%f^2-;!DG@a9r%4mz#aNFjq#q3QJpTch{z&Qj<{0XHQ$K%y(Ssw6?41%i zN#FSGIhXs{4(3lcdyP7rW;&eT(=<&CkPs2gwOGqlcD0s@xUYImX0p3pJt`2Y_B&j5 zuUZW!;tad_rV6?XhFu?vAt?6ooa!Ub*z^MR?X-FLKTo!FG4oFf4S}9h(rjbzuq8Z5O)Av2%OwNk$M zz4zyAX(m~mb~q7EcFohA?;rCxDuF|@N*R9`;wfl*YnA<+{a$x{8umBn`qJZ&l*@T% z@pUFQ7{2hYi6el=I^ziY`-CKk!Zq5V6Vd7BoCjq; zQ|pc;ppA`<1$zo)ek9vVmx3pp7Zo+~HicGwsd&td5Swi5=|)eR_wLkh&`r1T@rSjw zz|X@mU^~T3!53W4h)hT4+2Z~AN-Rt|>E~y^etdm=JDJ4^HYGemCQ}Qyx-(YDqu}#o?2R3 zhK6KqCJn|-1;WnXiKoC;zxNJeuc@i2CkK)!1@^Y$c zuw3Yk_zSb)4*batLw$dCb_TmRXgdQ_a5IXtqVn09AZBEI zar@^QEuZGw;|hH<$gZjG@cO#B)_ur6k@tS-rWbLlutBmB5raXkj>k&#=4+p?a~79h z!=Vzn&=AnN5)BQl4gW)8Oc#wJZ8A;p6#gfV3>M`bWA>)o2fR$XQ2&}IOGhMi*)KoT zXh$Ix6%@eId*w1;!Ef0+2r+54$S^k4;KMWDA674eh!fC=42DpJfttou+jqJ5?~Lw! ztL+Gis648b373M#wWw;F?%5*^@&U9u*@4ixuYudNMb{Ew*AKlVKP5*-~KbajGC zKXCIsNjLaor9)bFc6-KCd`iqVV#t!d&={FC+mY~l=?@^hk%WO|F9< z=0O*?rS5in->j31yd8z|?`+{iyfQVsD6ePk?tB?HVEgxjM(cr4_l~$fzs2YC)<~FX zECe}o0;m3jjzUEyGNEm61GYjq_aYZ{i)0wXZrY9>cRwxRGp>nI} zD%2L)>!S`TA}OsGvYV5WFM)-#s-})6=NGC~N{nTiDNb2$OzAx9G;G~|a@lGvmpQ`D zb{0=Dax?bjXjGNNhPy`T3sfRcwqMz(FkTGteB|A`q(|kmZcFtkjB*TLHKtm#(7H5< z+%0;26I>T-_vL+oia1}Bvs=kGv#nSyz-?o`6ve92+I}YwlzLdd}J9; zLwzLoN2GCxAu?+<+(9#!PrV&4VmAN5m$q>RR^tyC!IyL0Lhj#pCc{ZWsMj+Wxu8_V zVhPanBZndxbe#F&eRT71)hTb+xn!PRK4#sX(;O44mwJ^dX$&&Jw>SSbq5~VRRgQ;e3V{ecT5S{3H8Y z`l9y*!g0HJg~Y4b4;G)3(T*M@lJg4Ee|s+|CDjLEsf$Nx`#cgS99#D`Uyv^$ffPqi3mwJI`DRS-6n@2EWzShHJE{C8%1<#Ce~5lZ zpj=0Eekaq;Fd!o%<0l~{Y1ZuQY%-m=7n5*Q#Uuxa)@*gqYXAV$SIS;aMS~E>dI(w` z=p<-Pppv0*tD-i!OuST0W4QlFVWvdt3i!|3HwOrK&{!h*_4&RqIK(Fa5g3<6lK#ra z^&_sGc!c*trD_`R_b?bt_G-h2UdsOlsQ2IWEG+2MacT9NW{M?9quCO31*{1z=Hwva zAU;z1v)fA9HYZ^pqchsTI3K`#`nQU@YY zXT3~|DzscSc~d6wWLtIib`r%0rReiw*83V9=(sLklKYM|IwiQ=ie;k+VB+D}LiAiU z+#DHgfms~dA3I$YQMJ_Z73VwKO?#pOy$HO}30vdH<@I|Qj9#|nQx`I!m=d$Dzw*Fy zNh&9#6Ax#kp7gG3mJm?!@$vbxs1-9lL~uFx1{KoSZSmUMJHcofFTso7aM%TAASWI{ z$ROPVpxajP4+7CVyiIh51}LMn^83_1&o{p~c$%!>g{!P&oI1tWgTs5sD0SdF-eJzE zKAceFSX^9=OWZ|I%v{Cd^llEhzQm!#GrseJ+2}vG1$A*uIm{-O`JPn@l5*+nf9&E_ zSEV`G?4zt=pJ$@SCewt-J8)&B`Ou0zO;(q{4UQ^}=be&Zp?D&^j>Q-ZZNF>lM$9S5 z)SMh2U-rh1O@3^8rtl%_=Ae%P9K@?nJR@AuTz=T$pFY`K{@{M5Tx0Ocb*Ry=44oNA ztvTa+aUM(7I z0$sz{F3bgQoLKKC;b0tTb?wOO;nkCJ4aK z7ov!`PWGVnZ?ua7J`24|x2ZK_d5`>uk0!SK8d2Cka zH>v>1G4y-(Y{-HvuF0&6B}^{};8{K*X*PpQErnR)dP8nmSqA((!tCL2t)Ws<4lT8| zPg7dJRLpG^H)d|gJ_C$daXQjuBh-V6mp;3Au*%rI^kGQa=HUDbk^~n_j}3O%zpRBEZSsyC?Z1IYZ>B7GYXACQ)Km7AYO7g$+?1 z78GsDMvO1E-V9AMb&lSKbdkyB;xGgXVIK^ivh4Gh4@Ab&NClj*VTAL|CHOo*(~kBn zJEv(q2Ipy^=o8S2Ci7z|IHSOEL`UszVrCcg9RSe6=cJm(CJTOxP2{VqJ7@4nh8@pj zE5eD5Cc^(@qadFxS)RNf$TfJVuGhW!UH&6Oam;4uf!FO$T-Y2%Ao{ZoRUqs<1=? z^l9Std7hVmWiLAG%~!ddcP-Ky#s-r0K%8SqV zPC|(wyUFNmixL4R7Cd6OJioQKqhrbDn0nQMq2!HGPzfdeP>r!MX%z8w<4~#(3Xn0O zaJdqWR|@8HR0rd+3T1pm*LV?`^yhYlO$ue_54AL{bcgJyo!(JLY^%EbPT(vptA_AS zWpn>nbAF+hD2(}vrH?uFL+vAh$L-OAP#FqkJpwYKd&xshi^61spFe+oB>Ri4pVfme z3#v#r)&?-@(8H?xT-q5UiO}cqu`!>x4;Xbc+J!Sm<6H!>XUBXEt-VpBr|5s+IL*Sq1NFsOy1u z2<(PkxE3^`)aD}W)`=0T0aeO?^g-ut=|47Y-s3D#5v$li&_lW1{ zn8dSN@8$j$|E5S~mGZ*!i8PGnO3?a-7O7`z=kK;yZ`5#kv_`s6waqdno&i^ne?*r4 ze3_K1yxs56*bqZg0s}>pO)$X)I}=6R*4B2E)~}0*>o*aPd)BpgSPY9UFLr?%#zUXI zX^=rcnxe7DX{IKY%vw{2V{di%bA?EZo{@eN4!S%785iUTg>?e6|H}{^X&pXmDaLX* zhFTo%i$bDNjw(GB7?B9GXg)ZuV+Nn-l6i5+A6IVu2-=2ks2~;lVBgy1TusuQ3tfYJ ziiArE)rV+38LH0Pm{{_lC!1iEIjf>jRSHx25-_%Qn!DS$|8-DiBH`v_OtQx zETtNQnyL)XKXVk1+HiBBs(fNjJ`_B>Y6bT5x%N0{?h5)@M|8tBZp=0>9Kw+0ai$#h zRFerz)-ZFzs#{e>7Yy{Qbxs?9g$x=rq)qkr6p0eZ#^OL&n6Se1eMoi8A~xATcrP*m zgK8Qd9&|+kVTYiavk*1Sz0k77v`BNDE3l7n%+BzcvM1|b+!t{`~`UVUbv`lK{k~FHNtY!W;RFV$|ufc zQ^XOCMD<)CL&3JeE5m)NRU%0~o-u&J8r|i-CZwA&2QdwIoD!6Ym?BVSaf;8#h3bV% z5{R=ukGCqc8}>xbl`HX`Ax}>DyRR|P(Zl_sDXN*IB0}n)X>oSf)7Xh=Vw1hI;q}U~ zLrEG^B_a?dg8&|&#>__WG1{l7Hdh?7phS;vcs&}+&QY#F3h zs=)>(Cg#)*h#Oj=CmRxyx{0K%k$>hGAELN@@m=KbdB(MfdHV^%-62nl>;Bq|mX;Qe z?lXrQrVjdR6md53h#~4{=itmkY8<9Aa!bx{HY#QKn55XEUYHxKWWUy{H7O&fk_Eg~ z$_!mV4#pttgpawu(!#hNP7;ANHDBAIPa*Cy#}xhyz>XfA%^iLVIs$B;iNc3Z>IhuK zTFF08DHMvhD(G=4V^atQaqwcLwF#mPDXyWJEPUO@C<`5pCtirkqOa31sm2x|%@{XT zs|Gv^iMO}dLsTuB4>*yWR9Vx*Pr_;S(Es=yf6OV#cAGl^E*0C;Y|;Pt<2;WL10_m; zX{I~NJ17H>%y#r@t_brJCId{;+@DVYnj+=YsfuIoMA}A3@i-)Ymhjmt!)LC4t;k?6 zPnrrzi4d>XwJQye7`4S3Mmegk`?Bcp0JkF-fCOn;5)uW$^ip>N+Kw04wTZ$XZ;VMs za15V*uFEF@Vy>Z`GuaU_Z3>BL@%#Ku1c*EPa@5(nOiIs@buu% zxG4&C`d8;Hl$`0tu!;yxn>1|7xnpyf0^k0`6!UG>$7rs{Wn9+%&!6#)P)%w6jC5ku;&|=yfeN~8bL=!z zsNRP@teB+x9&8_(i4fENX=*nU8vds#3QNJgA}zs)lL4EBC2{#$OB<4IS&M@V&-tuQ4HA zwsk7H)t&Sj?IMLgRcyhkint65t-7@l6^&}fGmw(vVq`qG6SliL5anc$Scl*eZ zGPT6>3`m?XiDMnP1U4t&MjFI;&b-CwiIjE7Pf7;_x9rd2gSDn~^0A$( z^DPup;wnKR@<>s2!j=VdFgcp;T3$gz{7B1g%ERxd>Xwt$My6f;q=WtRQx6~@Aep8` zlIfx7j6=Sk96&aw#%qWF+exr`<>uE9Qc}`~))Pr&WpYkge{5Lw#;GN6S!!y=LW(1a zD%>hKz8bKkc#vd~4qdn_)*NwacahO!TrjW>>({0DEdPiNX=XyA~(&QlCp`>?ieoX-mkMycS+b#OLp$)%^%m)*k}V zW2(;+A9$gEk-w);-t}2yuBcjC(QOi{96-Kda`V zn5yfxY4vid=#vvELYUS^5r#-QkihK5Fy8uH$gCZTPFNQJ9SqpjJ>{E52%5$1Eo zBlk-~kN@WnlP_fF&gMaH?wyw5qy0?c?GkXhSr8wjV4&IlZs^+n3|Vf zv&M2maGXf2ORsefXFBU^HqzLsYm`ear@Mmt%F}Gu-lN<%#!Fbmj!4|-7uXiiW+b3S z4`#z=x6wbbk7sy96tZ0_lR+{4kwHS2G0|JXq%@C>3@}^(Dr-J?8}SMSlG{J^s3SR- zJ~9zjw%o|puzV!&l5Jfm0WrI;VFn?e=X9D1`JyRS%N)M(hs9Gas%4*_l!PRIJehmi zYPy2HA*?GhR=V);;!`DR-WpApiHUlvIw@xyc3PDmY!+KY`RWzaW5iubIS-He_)(DI z$DzU@pPMIq1xTA;Y%#e|1HLoAJ*(N}*`k^g8<5SVrly((y-lVT831VCtpEA9nQH;l z2`)9E1)g_d!e%DS#6>K++CsRQWSb*oPN~AQuIhF9Aysnd)8(Gk9^BS%q^pQ%XaIF) z57=n{63u@(l_!sqK(r^PEV!vr{CX!d9sM1Y$_k!;II^aQi8($xvaqyV6C7FBvdBI0 z=A$l{gb5dDn|sb;FHU`DLNDai&&OGu^8TQd4gC#Lv`>3`dnYG4!5@FF*Z$}Nt(*&Dq_3+?>>`^J zsZr)cT0_3>s!9IO06Aoadgz6Zs%=P-+8C8hzL#!&v>6(3jN$ARe z8vWNO!_cykxO;!kM(%+=Gl^u}cAlPFuYH`wMfmw=RUk&hbuks#hU)TQQojswMI+ou zS?1^G0WXx-ZN>B*CKG6o9t;W*V6?Hf9}GXhNvE0YL4wOE<&!7-ugm(+tOSX`tVT)? zmz#pXk)Y!#v;iN^&jbz$aB)GDC2i2r(ILdcqm}Y^S5O!(mhi#6$IuVlbLgMn^WASp zM>pOG0H*l+)z#@*2N-Id}h-P#Q6$_;x%dRcbFup%X*rPvX^XSWd$^& zGC9XJFLDl`k_A0X42;Q=Za~Hc0szgSl^_1l z>3ykXz2Qs17(wY|Wo4mP;2c#~={S69$ky(1%O9Tqy6$q8x!O_~ZUq@6hqSFjt3U|w zc5a4-i!xczY;fgN!cNI~c_zQU@1j8<{1!c4fSg!eHIQ}H(4jbOz;fI-dNL|^R`AO|0mejG zMdc}?{}%{@uYW4oE0<9uvgop77?DNn8E~_q7ux+!p!lhGO;7jhS=*;ipHvwF9RPcZ z-rCPo4#;9ax~;zn>C??$cAA3sy{w^JeAg1ZmuvUmvwDtgC@|-uprG(VHiXBxakVet z^vihKyL+~ZsUU(plDRN6G|XOd;SD2p0X_{_hhApif6U|4)yJ+UXB-xT-!BFtLqKK^ z$UF{CPIH0^VP;)3dmv>PexSu5pj_+;{Ua$63WO0w!|f^n3|at>SHEwWv<#~7Go?us zU_fF3z7s@nm4?bued5ga?(R5n7Jc15LD0oPPVH|O&%TF>_G|VtRC~TppFX|gjy21^ zOC1sYL8VOxTF%($C}=bAbhY*K+2@gE6BH@HhYo%E_U+qZ(7!$-6Bu4hT--{X-j{Ih z`DA0&glYvmOdjKx`n$C+LLqs{#$UrAI&T1_dV6~-sz4WbpYKPC7$QDCUQM$MFbqH+ z@g*qA05o_GmtLgH1C0ov63F~H|DaN0nUL9^1;m7g)!8(CIP5}|F@)@j8pwqDZ-RdT zp^CaG=Az1BG84EG%_}Kg0fCmkACoQK1Q)n~OetOu7jR5~NtFEeKuDyEs;X*bmu{wq zx`qbqxNBv5dpp^9$9f-Voq)+pSssRM9~>0U2b8^e^TzdxmK_kVue!VC0#1tcaNXD1 ztF7R$e~%S~bx%@40(^d^`#V5$?|%B^wKq*&N&d?O0)YVi%(;_dnKU5a%69-Q2D;wq zY9A6JlvyO^ssH59?e(b&cPnrhcM?Ed2d`dc00}Lvd4uu&f2LNBR{ywT4=8IXU}h0A zfZVkQV`YKV8>}VZnf~oVfVqxN;qa7={&!_Jl+bu*1neA1y%}#0qb7h{rwNM_I7r&FXUcq z;)uDgwgP$Th@pD)cP4uT2`#U2BhwzZ#SL4JT8~%TqL?-Sjgspu@oXEtO+)FvMUQT1 zn8pquI?7ag2P@co=1IA*TRqlA2fvOphGmPb0F1{aA|mpRZpUj-`&Em@>&PfCQbG({ z@3PENXt(>?_a^mtIx@uq;NL2J2y40?w?#wmF-VI$P3P~;6b<~Cl>%{C4A0NI9Jn^H zyBhe3-+y*u^72-I=ysl(4-%P|`qhIw|J)NAN=hJEbg(EV+E8>n0Dj5K+dFfs>Yc$* zeH11EY`;3s3iLz<+`p#wu#T@+K)|?m?xPDZ(G9>0067&n_3Rgw>=U-{fnWpVF4}uK zMWP;mZ~x?K0U5h#XUAcULG0-UIJUHXK!|-gR|}ggE^_es09d)`H((gPPki3z$a!3H zp4IhrwB*O7yMTlb1pDg>s(>Wpkbb14u1+oK3#1qDkb>?p$~JNuvp-HOg$h{oK(|+3 z8q@*_j!b&B1AN+`Ay6alSm=5D#kY4Hwjj%2p(U`6&WG^?y!i6d(Q-r}%H81c4qTt~ z>Ei1I`1`9+x9VA4+a%mAq?jEj){{hbbQ*GU_7pbyI#74;SY7e`0>Dw}{@{Ur)X^|V zWqFN>PgQnY6$}>bBY+@_($mu|Wjqq02HMIP5nsQ2sa)FOlMomG2{^mCb>bblAv+qA%gNCQ=7xY{Xs88J2U(LA7RV#pDsso85tncawzAN-q zQwO9c1JRQs%G+zJtBIJa3e88);2Y>b0<8Y{>x(d}YYCLOyQBvYZQljFMEs9T_c9n# zbnoHfZf}A0T3eX->yFBE!J2W9W~QW~nqUS&!@AW5^|^A0EGQZoHeWz50O1?(+Ph83 zBAJ5XUU4+#<>fDH-nD}I1^O)Ao7%$f7}k{xFNBhR=+_Lt0(8G(AfMLrO4=WDWUT|5 zdHi>sov^kaFGLW?mIyiGk|wsaSivO$Pka6gcqhGk`FC{u0DxKB7GSexrN84nLx)vB zXfq{fF@eRJKKYowc2>BSyG?BxJ9}`@8p^wyetC@27MJJh6|W!B1-yDFfOcTD3~zcf zsS>BOR#{X*(78r{pr{Q6K7w(@r^3WK#3)L4ICHgT6%QMmh~g7#Bs!8wVEWA;y-eeC zbPb&lpeyR*+e@aahMP4ry47VGQ`|RGGOyYac9=*9G>R-!1c~T^oW6ijlbIhd^OrSO z*KMSYD0Fi~)*YlWIQ0Og-CVAFLP>37@3i=80rOtpmnmZ9Yb?6`XiBxmjNd3XdsWK9 z@8fY&dU1`V9kIQB^>j0lx&Z(#6zuF6KJ!=jD7GmI@w(*fq~E56479tJK@h~L1@q9A zupxaOH^*Wa&Qa&F-1vC2*Ds2QIuPJAKmw2mA`pnh&>PLwpy$s!!D^I`!UO_*M93ho zLQ-m}H`HW>(X78yWY10ODo|2OpJ+c;nJ8ijz>G|lG51_)>QL~njPNC0rwck;$v z_;o`AFFET3&Y(gW5=S09$}h;+OmwshLH68%0lA=5I*IL*6RUOy^;kG?k*9C2oBfwe z5|}GEbrU}W3?1p@Wc{R6E=*QhIvCL($n+NYyfwvQQc-jXn|wDOrXoOnx#+P)MFXVD z@>9we3AF+818!;c^aoO|G1>?X5fZAM_*?U!37TyVdF=Y)5Ko)n(M7Nsa7Ayu{m(hw2hDr$(f*xX^oC%_ zsiz>3$j;a$Qm#wegwvNxw_@7mBxG~&2%;xU#B{b zO-VBCQ2b=MR86phBGta%=PVX?U0^H2nX9DFeNkWT@>%K38?3Iapi?*ir*c4MWg?Fs z-SOhbsvr+Rh3VhmeffYrC%3>+TS$kyiB~h9^2%)qcWz|Bres4~sd9+QwDems9z)fp z(_i3{(FZ!@$5BK-IClBfQuRo2}rzfj^w=a%`jdPu^aqi!hZ*XhB(76xkrw?-syt60@OTxGU6kym*?5ggnSc z?a;Kww0iI!#G`UrmlF_aA&oXmKx>3#Vg!Hc0XkbUodn76%1Q^FkEX9V&?Z0*fze-4 z6t$?Y{b_`{fV4yIa@D>#l_u7u>R=?+H{N?7uA}1zxIgp2DVL`E)$b?LrPLB}ZDOfT ziZW~Gp^isn6>Em!QUAorZRc8ucvUD1AM@I|8#~ss$Fq)xPfyAY&^Z*)8Ue%i|a#@x<}|C_I1OQ;aPR1C>d;75tEm2+`kC z%kBnzY`VWW_6_v4AJ(t+Vh7n6oHU}@$bT#=V=|-Sy0?JJ_AZ!qWLjyf+`GvO%WNL{V`VV!LnC8ADW%qirPlQ6V=s zH$VFv-%&_ONv&p8g%?U-OmmrtuU(#>FP_+DmDrG_u+>IUY{3riTSQUv7}m|b@-RoP zj*KW?D^N7EWzy5r$3P$BHE|`*3oCT#%IQ>Dl55$MkjR^+?Y7PYy7D7MP{j&}g6)^k zrJt04&1rc&i5C_Ywwkqu09^)J25t*WxL7>|BwMxK8Yq0yzSI>3{#toc#ICU_h?KZm z2oXWYy%3LuO>Au~hGX==k8()SPl^BCST#udA`m3XP_7HAX*CpGX*`J<1gGvT`(teB z0|1mP`2l>S9Hczxe2GQt@fZ*^HxN`*K6flEtS_lrr6h$iL9Ys~eDa{&y-;O>__|S= zhi+_?jQZMxvpj?7Ji)E0X`0MA-@X2s#Y<06q zN7UC&rWHy!_1Ycdqd-94>HaK&`ogtR?d?DCQ$tGSz0qs$UEq!h|LT+LijKH=se($g zR&rhFU~BNSrmH*->gL3;Sd)2o4Ree?H{4}u*HqR~;iJFgV@Y3)5WyJ)qV$nEZa!Jj z$SZ)RTGPR50HHuRUv200c9OuVqKArvss@Sld+8teh-l|$hc;Oghh4V%k?AlT$|(G*dq0R$ zdWw1y)6%T_{O=Fpuah7^q{8%qzB^i8im?y^$3%WGvhdC_Txup%R#F-SVS!8ItvWXY zJ-v2NyunVNXodxw?kon%ls(^fFUF0C!+G3hCEIkOF}KA!)Z{tGIji}&VexP_y$3#f zTC@YiE1863E4o^d2Zq?*VwUyX`<-ti7RwHklam+a9%Z=ol2aEUufp5RIE(IsI!E>y z%KK(yG&DR{uOrB_ca=D#+U`}y1P7^kDa5DqeQBEp)x6l`ROsy}F-WX7={Pk3Zn5#H z9R1f>aR(vw>ThnoYu2SJq@tBuUV47)#L*PeFE!vm$#AJOqh>x&$61SYOK|9iQpH1VG*QmxQ|YC! zF(q|em}x3#j1W^Rz=?^h$94KD|5UjXzCNbfjIc%naP8Zx17q}8K5LCHu2-; zN;nE1)TWj39PONI5{NBmr9@6h#jY3G+35VP@A1|fK}Ax2FDQ^YFMV?rGZpc)6I31? zIY&_=>sL=f;ZfK@4e0@6?EaM(-^j-1CSbOTnzF$YnR&wOi^_Yy3dfs88Y{qxThA_G zXRP4{SZysT-X!l8{q6~OcD@XjM#l@@d*x|V54MM1pxtK!X{$cnZ8}!F-573%|3e>c zLv)R2I@Dmhz%{^Lq?73{e;cc*Bh;Hox#*Dqu;ag46vKhX_8;?5J}PIs_)Eg24F`G! z(;Bc&I?8oGrTw_N5&$$bK?aMirV?BWq0sjI-Og_0D&RL*Sy^Y^JT|Ui3t$(J)cs^) zT_8>AQQ2KtGk_L%`6$Td=(e8w0K5U}oB_>4$PscD@R*^3bY zdhoZ6=KOw0!H%I1N}1|HQ`qHj9YxXI48+>5PPYaC6jga*D>I42>Z;W$*gifE8Fyln zka(?&g92nE;wgii=ZKKmn`8GzZ`?jkiC$#&?~1V6=Vy#{fK2 zHN|Hh;dmML`nrM`a>tt7+LM5q?@STb1@zo(ERz`r&>%O3=Aop!FyKbk?}98635qSL zDh3y-HP^d6!|oWb*=8m11RNZyKqmYTVWOmd$;Qv$45%dFf5gl(!m51$g(&GKWQNC! zZ?EV%)4=3G2eO^x%>uirKd%(ka_^;CT(YJ3UB_(O@ zn4zRwehXS+Kg#BK0uq;USh8{gNrSqT^xKM2+zRYPum9rk0jnOH6oX!vp56-hw4R3@oUQu)m?RsbYW@$=}tizDvS@OGK$#nO`k)NPPm z#}Kq1fxJ31?GxJNZELQ)_FlL23kQa{_KprQGk5P{14k#(d)ad)G*xJ^;VS$k+yTkUGWUZGe39 zJ6N0#C3)xFrVVk_0~wviLX|q9Mr1LLagM_7T)E;XkIw#P-&MQgyE`8LfARH|QBm*V zpL9!iH$zIdbPnAiC|x2gf}k*jbT<+Ml7dpAfGFK4AtDG@x)doVEM1OquPE15Zfh*Nki&0(#Qm}llB0dmLS&C|&0i+Z66~prBZ~)#vxcX>4`EG} zkjTNt!EY*Xe(+O38J}w!o^Ac_=6j-ofM1q*Hr&f({P(EnoXs_hd#ld+X|Yq1lp1@{ zuq>Z;=02|}-+3mNCbP5`B?|%F%fb1elI1|C`>uqQFt^}zRa!p zToc7I#XFewCdY__JRd+&bw`C^D;vkWB_$=&txUk3-onxo2~|*_LNuIRB~m{6+GfL_ z1gc9W7B>)jRY6VZXVRK{BuBwd>)ih=Pi{TM^4`EN7|l3SE)IHa`&av7F?uWbDHmC~ z>{&bTY5v#}7#!=D{b&38*CB^<;@x53IRFi=nJp)%Y|xy)FU^la&4PAkLRl4t0-k?` z7oO$!38eCDa5y4{`5i#GZWJo5(mmSc`n8;Ua?KW5QHC1#VV3n}ye{C0^u;>@J*bcK+y)73v-?DTNA=NLxfN(5+W?#yT-uCIgB)%X zSTgDv28K#wvI9>Hf-w#|j4fd6obL-KzfY<9-)Z^!6#!JaCorI8JYCU{(xK>Rdj=2F zSJ8E0CJ9LssTOnMN8~woe>}B(v@rd)N$BRtZxJV_?MxCVP zsI%C{vtK>Y{Lpe>{d$Dcq0TBD?aL|UoA4PXuQtNo|G96e<5BQoBkF#Yu0m7n_-$dR}$ zZJtSDfa8lde-1YMw~sUhS2RU?zD@3iLnWfkL;Cv=NN8C*rt!5 zO?Dvay}j}^HBc!+wNlEdXr2#g*$6E$^N0b9gh5aZ{Ym))7S8`sgASl9qBn@VP$sMt31eDXY5_!*YPyco}y_q9{e*tm^}J1mYi$O&Nbdc}73 zxbog);FUtxuT>New$33gzxSm+A8TacKG0x_siNI>Z6I;}a+j0?B(wqfQX`4|My*`> zjM842zl*;_V|8dQJ`7e6y>>iE6GOU3Ds3Q3h#j`iwjrNsh%;o-ZBR|m(!K3{zTleS z9Zd;%8#SG~(6=M;oY=t8R|j1wS5baF0L2v-4HAU`98(g2l`;7VxQQ}ZkQwUzBO9Eu zYA4tVTP`biH4%Kt4%n4)*+8oXS|gsMBp)~6OzEHlcc1i{Ok+S!NcHUgnD9MlfEAjA z7S!3Jmfe=m9GHsvB4|kUcK`@CTXe1e%qQM+rTuA2my48<9u7^TT#s>`GzE%%=&zc^ zp3O~41XC+3%P*%kL#+7dMs z9YumK;YtBLEiq~~!-2ajp~kpya}FY_fg!2fj~=Xm%+rUg^@>IVx7dCML^65S`MxrmtmEld^zDD$D81U(|JXq zd=&i|5B)hh^^|?$k(I9z9fgD=Y3`9daBNN1h-NZ^@~V&aKG@u38zj{BoGhd|q=lZJ)(~uIIw^$-5k!z&S8Fg78Jh(`K4NDR z^-dt;!^Mwm1FQf<~io-h08NA;*9lwUVbNwqpf+uH(8fiRR_;Q%LAcOuIS%}cO5$dxNeN@ zllVD+9WqcvRo9kNd(Plc&}VBr??@o;vY5Lc`F9Xme*b4tuDM3`@@g`BT`84Bih5qo zi6XB%k;ub)&Ed;q`qhVh>0lH3hch|7+0gVRx!)tPTi4}J&>m?`^S-H+`oiQDXq|Fc(H&aEpw z9(kEtvg0Jl@nqXcIfrV|^2S?Rj5@yTU$PEt?Eqe%z)mI$EPfR8+tE*u@+LDY!g!;xSMue@luE$ulUTIwQpzg z9?gZh0Tp|!2Ma3b)1*Jq`-;qrk9*qEvZ>#nw}32r7f;N5ulFASv0S)Y=v2$!*l}c( z{T;{~S;(H8$48q-PlT9?rQQL%CtqgRmlmKMSrDl~GVmmxNzc0ch}3FB#;>RY4om>{ zj_N624Q8DM233>GX%@T`obEZ69^>|OLxEhGA)?e;XlHp*J6Vxuye%aip-^_wG7@){ z`3;0jNAvBT^-Ir*4*6s(y$6d!OH4-UX4RR!S+6;(2Es#dC!!y|SSP+eMEJ z(5%sGFMJoNdrtTyChFI1uqQf5rXt^UlT6REN%Y7v`3U+Qa< zy`nw=BA{B2t((e7)npam5!D)bdi*)!5QQ)H1SKW65*ZvI9RHOj6`=}*AOaQVZ4PTh ze*M!qJD(PewF-$%dcTYQA!j2fOs)7c_!NXFy7yZrF7%0;K}BD|^(*IrKvSsR2I!3V zcBDP`eGkX&iNT5Or=5iO;&fZ@TmY;% zZoWLrydcUo&C(-o&<;gaxRHxx>Gh^9Tn~rc96YF4R~Ll#ej=#rS|(9zSWex)xiz$< zHPo*-ku-~wY@+!QczSMs zvZpv(tFWIFKQ7FhXbBiB5VXtX*^~EuBEj>Zqn`Y#@w#`oJ{PcS?KU+n9MgL@to^iiRNtgCHbm{hm&%ttMeF!=H~%VL=x7yN1cgs>rTC|*8kwG4&qY8mdRy0j7gR(u37+f0Y3w~ zHjYgGdVhd1|6PKP5kO?LB?bqYv1^?OOIq0)Gn>_H)bmOgjXm&%V@^5B9_U z_ZtSNp>V=+=mAzlR>QOsXOc49bQzyIu?vQ0fs z;e?&niqNX*#$Tw_Q&e8+yuT#Qaggb1!9m^dZ-aU_>Rkvh?ty0)zLA*y^SaTga8-Eg zz#xbF58P{X-~N17z_~Ieivwyoe}jBAt91pOw_|~VV7?ip^778*oaT<=XqV^JMRNfP zvk%?3rF_b{3S^3WXE&#sx=)aPn%_!T3tHimEI<5IZAO~}^#6mhfAb) zV3KqLkN^ZKB3Z<+Gy8)M0VBanN-fJNp)D5y9nOcNPq&)#PPKx}9E0W}ohz?1*k3Twfcud8uTP{|mm zQvj;FIomd>Z&n334_{(3;Y1=84``XJ;bVqouZS-DMkMVSqcNkq^9ExORY-siyPUtyXPuVzZ z*hnaV_rhmWyKy*_^%A!1t8<<{aLAD`!xxk{`Qs%}>FDef--p1O1wYlB2L_Va;jT*gQPRd<`_hjk5_nHEBp5oO{3^;Ap zBpT?Wa6rf)%>lsS9{{4BpjoBgptw=_+So>Lg_(A#V~5HD z03Hi?ZnYMnPo$`sBv36+=&pdZ{wyBd;md4% zDua|QP-uckdhD2+yB5f{pMY?TG(eO116(D;^xMnqe9LNz0r2kf zFd4iuap!(mu1yJkzdO0col)dQjc9MC()u#(@y#VA4bcOy4&FcJ6AWGnO z!{rlh+XCOThC(<|2<&T(MUi2}W2=}s-NpLizKW75lefQ6~oU=$y@1QC~_qWF6Oe}DgIQLy*$ z7f5H#RujbL?>Qc3*_|>OG54yMWL-57mtEvmP<7@%UyAzoE2`mEArG2IRc|nZT7x~} zgOyF5pvCqui+_l-OCpp6{C=;;$wi8HzHnR~5w=ezg+5+&8fz;(~HaF=UsEC-)u(VUT(!zp)%Vl_piJZ*QrI^^J%)cOWsOFOd_t1I#fjk0znn zxDK3_(+NuKj9o^M!$sCQ7l|Lb0gk1~{KjUGJC6-R>`PfmTpWh(#Ak5m4Gq-U#n#s| zuGTK}w5IYB`ujub$DRGlF**4P>DWq3t5eP{wqWmepXi5DQNQ1pcTkF>$PgwmTn4l_ zby{OI$b9<=%~dPk+e~+9CF1?|(w;c7M2zhz=Y75%48k8p3A~ISA65UIPpNMiC#QqH z9G$19{^Rk^%g^_OJMVr;4a=fgw+{X;{3|qE5)e1%?H-sHgXhacJ>HcFM)hvgpE@qO z@fg1?*`yfTX)H1nc$fGX!5UprC4DaRxRYrY;yCggwD)S|km#3Q9DC2td&8xwXxLdE zDMgj%cc6UfU=Z4LJry~4qi;ag$HJt&gFQ;?E=udpb@~$+)t`qe7zyWadw}au2f2eg zzZqd?ezJpsc1WSGTR5v8J5GC~P6dae9ms%|sd};=jrvknoCg2*@dJ-gU-V1^gf}Wa`>4 ztfL4 zF3$>uba*Sz1)pjk^Ca8L-0+lD5;0SJT>9gQtPc7MDtA{<52{3Vs3~>*dYj%w`-P92 zoT7`%x$L{h*{hYmVqB(TZ$rhO06w10oSB|nWk>v!mM8?rAXvMQETC)oh9wXM5P{_-_knT#m#onn^JSoY#4ST%0;bCQpSWHgMOUT}NZ>(fQ z5T7L0eWVfa8w!g8R@vR#CZ2A($FVkz0dBWpq)scWu!EsDOa+wUJM4^07v{GyW zY)G*Mq2woE6(`}?;(eY{{3Zh z{kCNDfs@G=>_g86GaT&6iRWt!i(Iy$6Ed)=TanP~6(T6GFb-*ac7 z(mRjxRMh1T<{!176?r5})E5n4Z{3Z{??8NDBK?PqE}F6r5$2eG+OB-I8rvBA_QN6T zb(dg~|C($8_*)Zy^yJld-{syIb0zkPwW19Wb-BRsHYQNsc#R_WC^1l!5XOh;zMOE& zxkAXl$mNmfLTdf)Lr5|`OJRLH7(n-Q*j7vzUAYYa&cHmOU{y3Ev9<4#wout*-}rx$k@VU2Zs<(ux% z{kgIuD33zQmxrwMsSaPpB$wZ$BgljL`(>?+s#e?zXYW8isWQ%58 zu~A>wZ{04?iRl?{GS*1X{e<11L3&`yofdj~EUu|R4clGyEYj*g_Q@C-F^I?jAsfpK zqQoeBIE(hlT2T?6qW@=Q>56$8m1p2mV!#!o>~Ik(eOdQz8ZlWA&#zv^5qae_*M=n7 z@;4p%5tN1}mWp`m1Ag-{8Ma1kwsZUC ze>H{y#3lj5>H*ab{gzp|)9lJ&&H9Q-6_pxh8>13potxD6yx!MbxdQP{DxU=^gz=K~ z-2+Rw9A=~^WpmVUUG1?D<|I4FKzW$AO15m|Sb3zQcs?&KwBeF)(SD;6I$3 zg3NvW2pfmMp}_BT(o>=i6Say8h2O_|^u+mEQ?7R;iSr@1J}Z}Z^4!mMPx@{7yZ*}S znE;_HdqmRB#~@%!wnToe&QAODFPzBo_hvLPmiKb<&X*Zg^}#j9lc`Os=QO4#Jf?mb zctee@znzQ27DDu#(_Q$c|Ni;KW6ET6;q#*BV(Tg$k*P6R{{WF~tPp*6IC4%w|7VY= zwHgloi&Z&gJIV5$H_}VkVq&F8RfS@4XPn)~CGSmC*%(P^GOO(~mWT{fEl6JBo4laf zg+0Y=3>KIisSq5+8k2JJXKRtoc_M77X!}IAw`cmjDfehx@ce=WGWitzLC175&U$Si zG&yag^oxl6p&DwN(-&I}$4cA@>b_}qgQ21Q0q=ok`|&KpB*i87Y{Vwx^+tl&wx&wX zk`jXvo2aZeGZH-Ztl)OaX0i(=(`?wLWw1_ob$$+xFt$}mS{hA8KWK6;l#(M~b)X?9 zk=PUPp$AnMbFGJ7o2pn;Bk7P*R|KSFuF|P{VzJUX-6)IQ{raJSp()GOayJL_#j#L9&!MPb${ov^QH_bh|LS!9wz8rRKAPstb^v`PEB5oVK-WEz!M4 zGbK!evsJC95M7L1iwaq4u(^7EL+CcSb~2th3*o!qZP+1DB9;#-UyIyt2H^Ij2#C*z z3J9ic*6oN+>7tR}x&>+q*;RdS)0@d#qy1c>&iFL*jawbWw)n;-@p+@`GWHl~Tw^agM zLh`}bz-(jS$MFX~=nB0Gdnu4-%*ad8XB2ctIY!VF%V^k`Bm=kv{|Db6!H#RO57p_3 zLL*=$KXK3tD&p8`<~*sLOit-8RD+OVA(iaq;74oRKC6`97!=E?c#4 z6d;`)E@4BAtX2_N3&a=Z(4)|cz>e_Nh}@KoFL+vzY-lA_V2i$2@^9A~ce9$NKBhvj zZ)>>H?Y~(e77_b`daZyD?`g;`ZHi+%8==YVhz~#NO(nZz>y)ML3w;PGjB-7P zv25!B6y?ooXv)JZHE`WOw?0{d4)7a@V2*t z53+)5xvHSG&+^mw9O*OniIBuc=6fvN{ogioOw#4jHPX3J%m(vUJUPvIm9r5^(j6OQ z(edSl-+>~!-Cu*pvSnGKwe0O$HuQ^PUss#N9EC#?&3|nd@*G%(RE?t1o7Y0U1W}e+ zo8ez=30}cUyJ_Q2S|ajkiNQ`AJ?m8WEK}Vra7ha9`Om%g2{WjNCjtjXfh_oz%l>n{ zR#>QKxz*%YuUIt|-apo*Xy!QN*MG4k1YvZ}zPHFf9Jk}{-u4>&5=02{ojZBt$K*lM z&v|b)%MYYcm6Niy*{l79>LY5KI~Fk3bW+rzwOe%i)PJy$3r;E{4=CXqe5DA|20;QT`#X)_bV&UjirGX zKEa}*>I(jx7VEBEK^5MQdcsM0K%py0k~a?{xfWKl~9`(-2c{r{;RS_nvQ(;RTI+riE0gUIRE3 zbO~afaTDnZOw9yQ2QlLC#n@Atxn7J@&Q1KQK>QuSZU1;9BJGnMS1@VbV?Fe67p$Fj zB~Np9lrSM&3B+jdOkkUW~#vw1smBk;5TyKvsG0( zQ~JiqCNKO~%62%Ig3N_@U$Ph^89cyKgk&DyKQ_l0Msn3g5F(@&VOY#&z9yg`sB#X; zL0u5N`9C1s=FQ8kn@AtII?Zu#80)69+F@Y0SqNFvd_(^Vv__yoIGtqfTu&B;$>T@U zzu!%KGALkogi!`Q{~Lh>Ng6;zf_rwGRns_hCJI}$dD{9WoB#0j%1qycz{h_BX^ez4 zUXf)k_vS|(@BViO5Ey-bqz?|P`gM@Frl0mdSmVV~&tDc+#Q*#pP!8ro-2$ldNtM9K zKWYwh;XON6rF!t{MTUrFOqM7}Exl=vna*)kO@HkRx;9XL^2yvY4l<8C!Qg`c*NS3( z5MmZ|5WcVCSvU-p)OmZZci5d#o7G2<%E5)8%Z?y@nTtH&tE4V4Kc)8rBse=~J@fyE z6~@qb&8Qe=jjmk&eEILMesVxKpa+e7w*73|@-jTEdMYZLFx!Sv`GtS0H2f*8O zUA}5j+e{W+){XYz6$>;bqjz|ujo5LFuvGa&m-n#>_0)-I!{0(MBj$mDkt5Pp$>Q>) zpr;X96hv7aD;ygZfi4OZ8@b3^hnUF8LxJ=E4jAq5M|fyarD$=832Vp$2Vp z0?*wt0O3Fds3a@-$1eQxe5d{sFN6UzJ$mr4`^Wrs3}fy%Ny4`t0@@eAd;Bgyt10;x z*x`Giy887w!rwU}0z$kyE%N>4qGCqZh)hF@k6-h07qYfc7?uTsWC5x67c}+hv)F?T>fMz zFC9TN2WZB}cgiCC*!}S50E+}mC_p)MF$>!_1i;c}^kPx8!;KDAJZW(Cwbq@-I%&y{ zs0Y@tUS0D1+!AR_Bz2%!%Eeg!@mDyf;=!Tz(DDJl|5efkKqUXJGxUrux33+=__%6* z!Q_iR&QM9dw$5h&P2Ca1I~eKIKO7--y~-cE>Zzm`4t&{HvN=$#X8`7H13(Ek>I4N$ zuEBj$qG1^SWTkul%Y@{o}8sNgi?ClPbUPsbLE9?}8W)7;!BEjnX2=*Sb$X`Szpp))20!q)7k;Hm zz02e&ngmMGQH?RKCE!qeuAI-D5+_es=biq`#1jm%;Y&>6o%Buer7q^U<&RIVk94S` zL8szq9)$^bTW_&EBrHb0fB*F5XN)7HcJ=`Tq^sIL&S`NE5Gu8a0?Ej`>wD#wrvmrT zay|TM=R!mF47%C@=6y%D-_FaPtsf9l^nhLh;}58f#+Us4QS$hEPZj#1l?LYpO-ZQ^5wd>1;j&)+WbS^MU(LVa;mnTZUy63f#*WJt3fz z?yel6?@U3YwJ;&VDV#U_9S_l{!Lq%rakCb`b`qWrnB(t_p1gV!e=ms$g;b~bEFs`4 z;GB4~k7x8hFwyRJWiOhmIf67qdjYAkM05&QUkAOA_UPJ=ISUXxm&o4!6wh#D0f00# z86t2-n?ca>Lm6ua=&cJJU=Agf*BiLl{G6>xcWvcoo6Au0xT0xWz?y~~65w3-OWGw6 zbmtf=)&q0T>HcM|9yl-6A3g-jph2?-$9b7fLjW-eHiz0Aklm(pa2FFOIM_og)IRo) z!K*9C*WCHwxj&%t@IGOH0dFfpSOQ-`*#Oxrw$Po4NC1;GJ7y~YrpRED((yHqPYn2c zue1lS6WWT0z3=)*%AvBgd%x!|HZwJ49tafp@D&EgsPl=Nppv6Z_|gN#yIz`B6_Ryp z{;SfbF_66yt@aYoquy^XSN!-#6(?fro*VF^f}R2n9z>TUCNL#}4YHhfxNJvw2W$~N zih?DML)BM1R%2kXIO!T;k4PQBqlDQPl~==j^T)pzO^BSr@ROGK0Al-QGrvy zZNat2C#P6xcGk?!!pIfLxQO^4QqVsqeEW5gL5o31;}wJ=WFzYnWgSdOei z%w74i^00X;f)AdNthl)q6CF~VQ*lnC_u%u6ev046@5uZJ??7x5TOrHujn7Wac5NOG zzu?nJt%Ke#jSqWwwmM}?O?7n<$UCX1(-~b1R~9Drkmibjx7L=p1vgia(U>pvhjZW^ z>`RAFdo|IwpsHEy84de)tPxCixsH&xJoYTwfwhW7kcscnSe1T`WXf_0>zy&)X>iFW z2a+cZok$Pl8Hya5C&Q*hpb%u~ku4gWK}^FB?7Ja! z+zBC65mPynIy)$;vzQ$r#rp!>HhH#YDh5kHs8S8Ce9<*M2rLHU?^gC!8*sNJkT~BX!R5%IQn+JB5V9 zzGpCi4ZpgMNaFAVS9w5y;npMMj=1fO2wXu?t{q^(Y775sbx%RseJJ@YSOcgMsZ5Ml z@}u5ajSC`b3-5W&#(hLobdHm0VFzni&8(GSF5`ZDlU1>g)s@LASaXhhrKxdgq^z*% zZnfB!Ow6x_KosG--J-IV(7>f%TKR@J?pYX#%U2|M_4P%d{h$_wcen z?z1i8Q;8E#JS~XxJu@hkn3n(Iz3N{JhBMg zX;;3-9v; zS$<*~-c8m=OKMo*@=r9}sDB(?c~^gsVvNR9{l_T^v>ZCP_s$60U0yUQ5$qZ zQiSZ`;3nL#!Pxo>oMfDYtK+cXDZ`#nJsZh<*9_0HRecQ#D}Dj_ z278lwb-2Qp3p;ov_HNoYB*tAcV>LKYmOvWyDJ)n{1d*u060e(|8O6!?li*XP^aBufE z|Lrhf`b#B(8IY-0Zj+O1C398XctV!5=2#=)G08aj%;d$v{L@E#h5B%Mh8w5d1A$sg zg9rX=vkJJ!+?_eHke%}FeQk!6@9!m8A5ets3omZ7NVPEII$y(9feQj(0N~D=7y9y-WEcqJ zLZnU1@pI<<`kapWA4h~IyX8>ci$H-qx7H#{Y2qX#p;=r?fO}pfBLqE^$7+T!mK% zG#%6_896vI=FD>xGc#&b&EwP0{`|3En#m>f*V3d?DpKq~$jZ{k=jC4El*py&508kj z$g$!qBPJoKw6n(ctRVl2|5QRb-MgHYS}E>Toe5cN)p$lIF>VJU{2n2D&Nvy}_Zpde zIs@Z5Y%6m;e4TVFS2EVemjQx=9YV#4O2J}|;uMtp&%nJEtrT!aPikZ2y1r;&IpEbV z=TUTH%Pux2Ip&wz^?RirNg4{JxTAJkJX;CWH>-*v&YpZm?DVrLIe=f|W;~lDy;vFk9xvM%oox*w>;imG?`Zy4I3k#_u|rDPV0%c2IDr=Penc<1$jC z>Zk024AVW{|Gk|+ZHgcN1n-AX50a!U`bK9^JZ;S!Q!*1cz%u?x4kPH{Dz_YA)qCxD%7jLHq79N9bMoLQYu%lJ;3uDuO{2ODV=XPMp^REaC!x>_^}jGN!XtmH z=`(y1iot5gC4K%2L5qw9%Zt)nMmNmvJgNl|8kCHTg;`l<%^1!PBCueD&Q+h3JQF@ybBSWQ86NqVb1-@u07QE;Y0iM zOJ&e@(D!{g6i-Y}4hjuDSZu3(O+ZOa-S4p2a2G%RMAO!`FeN4BwQhxz6dad=;ZfPy z{SHwV#1s@1ckkYf$f#U5g?yI%{rwo6Cw^=8YX9|H)jjEmJa6razpj7$vgfbSfBo$| zn=g;>Cq8Iu(VJ3G30hj!B_s+7&S`3eCfppu*sWPm!ggQR1z=R+#E zQ~VZNwLg0W!twz^h_kb^=^*zN(?4K7gi{YtC=}$LeFkr6_=(%GC@h2wP?TN;?~n%% zxdmAV1T^>b^pyDd#(82L+Jb8SH6A{`{?!slA#PodIENrSDJdz8<_6-vTRLDHAg7>E z4Ld@ct$|<+qGqyR@A&qEM-p-#Zu{LS7{q}@Qw3S8sbPt#;XtGgd|k0H5&{!8-!jG7ndQ!4 z1L$pwK0F74A5TkTihAef=3G7t zoj7Jx&Ey_v+3tfpP=aeTZlWBvN|;_?f%(wpX<|HbJfoCSU?Qmv z{pL3O79bL;8R*^N)R>_|LV+Gtdq84f(iL9?x*po<*us?~jMp?d8RL49VA;1{1;q_L z#b3Z1z^KVZp%F|6U|*q}KRZKv*s;sv(hxJNLXg%^0g#~4hgScz4aB46L4yYu5O1CR z*49>V*`Y{N1YHvL_V$LtB+TTDQPqL#piN8daXLB@5T(?4SEA51jZSG6;^nOZfIU)( z4TBaIz7~-wjr#P`KSRy68l;9zc5VDB?s(tpdO^?zlLN?s-a+t}ri)hLi^(+2fpy0Y zfWQvm=E3E9yQwJ|$8E^@J?SC+J;faGS6kF*Utnh{k_J@2LDvyQ<)uyk|33V7^0_HsJTa;lLEs=Opc8 zw(B+{GkCf3B)6%VV)Q|CIw?cFynbnlr(X`I&eR_5!5cU#mqd`%2hVbTL4km%8mZPh z-oTS4Ln5<#FgS5xyLbz3(k|cp!kI{&Ml+!2wR3ow(VtwDh4T`^*+wbLtt!ns@`c)6>TQtu`w2d|Ias-nan6dHV%cp6tHbH6};J}XEi z?>|SB??Z#Qq*BJ7?2SeyDG$m|NrlLcFgVvLjDU3TmKz0CBl8Kv7{4d&4=p@>UI~FS zLJO*^z5gXnofq^#gxE;07xq_}&YTn=rgM~VpZ8teUN)+|X~rzl@9P=DN7Z!uHsE#C zm6@qgVB;EAslZ45Yc<@?mRzLBeb4u%KaP{q^-}O3sF^r5y->}B+3Eih|qIgGWT|4m-b{|=<>FCrv(*(;bg_ZVO12=nKeQLEjYtvTL-A1Iu6c z&7co~fq|5QF6PXBJEK2N%nM#GR2Jks~CAQ9v zj!`z%^*V+dVa|ZX#cdr?M+I_J(SO&u&c%^fKsG0WuHzln^hzjx&z$f3hIKb_k~v4} zqD8V2fj#spiD^?smNYqv?su00wy-%nj!&x)MVS}Boe z$@QC8g8XvL?Z?9G^P~vUxZ4cB2Mg@f>@0AIEu(Q8i`xgD9Lpf*n{H0MA=vO^nQMBF zBca%{1}nB2T&2Xh!C5aRrQp^{F; zDjYS#$9kik0wAk+HUC>%-drJ6T?=c8M(DI=TY1LmT7wF;j4>A|rq@)u; zr{r!E^VzSC!GOnF_Y{TD8s~0K8odN!Jua~U$6QOV56=Pm(GypKXj%!w_p<0NrlrA zvh(udnP=N;rd0b}du1D$2Q_|k-W25;9OX-5KaD9+FH4kc)jPnt2?|K{_xDM3 z;=`-(yWXE(A9QFXLd5BaoSG6As3j*ySH@OR51Wn=5fOXk)bE04aE|1-tE&r1DlQ(^ zxc73OEF+e2FDACRxfvF2uirHU0gXRywh86p(7z0@v(VtACE??a?wi!ovAdc-TgNjS zOP6#L?AYl#L|-&CHCu#@C?sJ-ogiV>9|Y@sV*B9bxxpWz@<=UOA(!N5&awmp0b;LL zy2INblL1L>pNf{?-6j97m9d&Mqu;d#d~bMqNu#f+EZBG)y&P#&c2=9N@u!`kRJ~lrcMe83gY(V?;3vYggakc z-S^xnEZ;oU=*>WUF4WnlRHmu)kK$PD7}l9Ca9X0-w~m9h&mji`;%louJ1EJf=1EE= zvRNCw!yl6}(5giUrt43LJbx;;#fntxjO13-!fqN=K01KZZ_Uev02mA;Y$9`Lvk|1P zjEs%9?;YPa{ECSZ05?RDqDRuLzB4Me4SrQYq2PCJF0Kpzpb8ds!EqwtM+B4;&S7{$ zZiILrM&%|@%>6+nDS7LXRsSHmjhh{1%H620u5QV{(c>j%IUMgw zF}>l(mMNt8E_0NpL#&dBHBL+%*F%z*7ju}OA@%j zY6I+u;vQO(+YkTDtbpj0WI-1_yf8*(w-nb_^QufBRYyVu`z)aP#2UXo85f2O$Doh# zZ4b$qG*&$?GO=^M&Q_D^Ow86+RrOMwCaSnJ*b@Da;0?>`W#P$s8R|+LHVr!h@dD(I zo9X-f+@0Bgon<5};7WIN4VquWbf4tBw;xpQf@Carqeq$z@6|JJTjoXw-J#TjR#m9k z?_EQi|IpJZh}>!Ku;<^61KiaYl(eLt>1GqAYI`ZoMeVWIHoy8B@<~VpE;Kva;tvcs zB?j0s*v61@4XyHo7vuQx{s=g_jt3LzL#RPYBAJxAJ=xwa-%fUkd~i%O9tN}y6`UCI ze-;?&z}o)=ha*nDp;g=ke1(it2T(~_n{PF-xRoxax$4<&aCVxLtb+>qJ417hh~DSm zJx+H=mf1owxDX9?@>3UINK>m8T<`^y#+K@a+Eu-(Qyc~HYJ?eV=cT2kkbVyGf32$r z2M43{rPS5EW@n@XMMXvW79|FT>DR{&yt~(E$xnNqjZ@oNzvHf<>us!W-9$1M$Q)kwowl#cgG> z5JqtiSwp=pzLX)!5~X2eVG+LRnR6)h8jnJp`n#ZNYCNG6);2v-qF7WDyZY+FDp0ch z>_pksnaep9Bxb!H9jXQo6(AKbcfuLpnM~69Y`){>S~J2-jqAomiUE(5VqGknmZR^U zpa3NwUtb}yRNa8?jv=}q0v{FRn_@{y-X%@?+_+I@B(-6RBSf)`Q*x@yR#igFt>1iw zi~jMJMLM7U&eeFm*yA+n;cy$mt&;}N$L__IcFv5(RcyYOBdVM)1N4^>wG74uI=s!f z&lCze-Nl~|bk5QKSaV=bs7bxe|e47gZN=b8fbonmLIG`faWnZdv`iA#oBGVjp-H zv(}Ps7mRc-veDxp&xA7GlWyj>AM49UQb0PTWjm&%XLS2QZEgoEU#m&Nu z%@9E@o;E=_z)Gx4>yV~RCk<82l+$qbEWi*sWx2n{teAOMxLCeHS+KiLXy0yD8Qn@x zF^>IWIPU*Jzu+AzEM&}P-fWut!_V^u$h~T+Y*Rk;yc*<${a-lE4SxT-@Cbq42NPM2 z!Lc~ep%>Ry!9s<>ZuA|x!^|)cSwcdB=IgTi!1A1s9{exb-a4wv{d*UcCEc;;?nQU^ zBBfgdBn6RBN~M(UE=gh0h=`O3iZlp_h=ic1GytF6Y zHfyuq_Y-qI^9g=j92}gXmu+Ku1_oFRA+FyE8XdrDj7>~*fBuk+*jsrG7TS_ZO7o)s zL9sxWvib98Np`mDP9$nBuD)LQ^5t3Jd&~onwG3nfG9sd;KPW-MVH}*4&eI`8*fD5+ zkL5`_U%i4Nm>FE9M!oZJ!1ng*yLV!el9T`SsbF+?lpOFel!Lg9Q&6xD9LIo2+V)5N zObg%!=+&Ke%q%H0F7or&Ktn-?G$rVaWoBVH0n*&Z$A6%Shwn81A8f22zB*)E{ZJu} zos1wIE^`R{TluB$*PlP{P}_737ge>UVT`P#s+ChzB=oez!nD@q2)YE3uW@yz0vI-~ zW~FJ1c5Ads>|;}_vXZ|41=y7nVN1k|A-1B$;*&WMpIEJlH-L-+Aqw(92?K@)T|IX6 z4aZHC-PF(d=Q{wi?~mJk08{t^9pZcLkF?}-BEAB1O+@4e@IdmeIs(ak;5MWxR7E*< z1cO(+j@#P5ChSxu4DxS*B{MiUBASGt%b{(WQ~Agg2B14s9#WzTLPA1(e0n@Ln5+G4sg;BKY7?e}lXqG2%%YYs>w2&Pl5l?j;5>;d8Zg}CloS?~5NU6~ zjkS}HCsx3C1Wd$#VF^pCs|;dpUm$}FHj1;QeLnt=Bl&w)QCHOcc*Dcbp{y3U(v17` zS{4LUETYaDAYWi&%6T0&tb&pfT)B4o`v(V978Dfeufyp@yGZ9<#q-}f0>KM_I`RCB z49e&*ecai#qnF=oxH0z4$^xnEP-}01N7Z^^n3nz0%8F|fRS)pd;oS=rt)hPc%$)tm z4%*IaVIFT4DBG6E_QlAd3D)W)81XecF~xb8ovjRy(K@7+Hb@s9fRjPM5=`4YKhz5_ z)8r8rBXl!0B_q*(!a1@n?#P!^tw#ZS+SYnjdL#W1^%Azef9J0_kW-JA3 zLWlQ}gcKC#FgzdQ#nppS640nFAY6fZxumR{2`^f>lqAI5iO#e$3u)q?4Lt2KYsev6 z4FdIOMq|t)I(2owFfLCfiM*9uAbJHG;_$w6c`tL7B;nyT8pHgS#ne$W&H{BH<6UtU zI@x;!qfB`C__o&y3%mZX1RsOCGlja6uKPP^B@39&f5NkXv4DT+E*u1d1U@rN0B=69 zx_LEA+V3iLyv6=v??wH5f}=>njLvO1n+8?atZ403V_95XwcK3vK;+5KThrxjF}_)h zI2SjVq+im9`ebBBkCT(-5Zfj-(tQ3^Kz__S&c97TPW}_Tkl^f=`C9AJ!&Kpo z6GlUIFxDB(QVH8TC5cAuc!L|iVlz#1!yp>aHSh?@c+1}L0$Ar*JYs_nN04z3JQRi> z6~x2IIQmoD&6M~1&I#_|lh@BRdAy}#5v65U(_q|%i|0Fr8W zq@=PBJz+RvV}?c}CQaP>L~PukYHq8xr6n!GMY8gQ3mg(pv9j1zu3|=iE43LBBEf{GyBwWVPS!NtuF);Bo`zd7`X+#r z`8v)GFv;?U39rXOAZsnQUq>s!sHPH8_xgp?4I4|K#U*eOP_P*)!JzyLfZkY}=w?i# zp+FN?d9vMFYfL* zyyz*K_zugkd=un1QEVN%kQ;K8fj2mfjk8vD6WFt_d|=?@N3{$o2LN+nO0X0*2u{C> zDFXW>mkSAJ;OIH>kdf#nx;sd^OYQE@&%ln4PGiU_Dq^1TRSYZLhwMC#4}ewlt$M_; z1Ou_E@kME=W0}~vc@RrJ9@gA_Oq^OEGaqjZQMc(h)%amTte2uXZPPrekqM#iWh1;c z;2s#snBRRR`rrofQ-L5Mn_ea;40cE08sf#_`5sAzNhoK!(iIjQOjwIUg2USor?dML zhSI&4#qqEBf{&%vrq)r8xW8%?rTm-T=eW-t)Gv)Rh5N@x<-SFXo@CHHR1VH^tu;AG zKt(0;?t#F{h+*!S`CgPhCx*o-h)byO>>2m(6os<7d|VNXuH?Kp=>dl$nMsNAU)TVK zJ3v!_E9c#IW~4tcFU;~a_oYuuNZsQqvwm_G5|aHD#vhWTN}_ynsWtIQ`6p@gr-c1x z;$2!scAADwM3NoRKj$VwQG!YaK>5ova_cN=$hiaW+=0X%g~yCYWQ?%qu>sFSARjw_ ztlE{Eid8Y0BpaQVS$@P*^och9t_!a0xl)id8c$CxA^E*mqZquw% zCeY33;gO&?=~jmtAwC1#1HXVLj8XR+TtCi2{JiSQO7TW>QcRTdtB5SQCdF9QLhaH1 zPek#W+gem(6k7Vr7k-r?f|h}A7-c|BnCYcH+@`v`mXFYPkC)B7%EX)H4f{abjWRexsagGQ+cSM1&du5y{lY*=OFOtWaSKq~F+VZHXoTBIkQ}dqf&w66 zxkZ0@^0_d@yrrYX0SY$AmR%lj-5o( z*5u?pXsFMDsoP>+YX`qwtjHyCDn}imr+S0aW)4jJe*nD_t#}1gY3$4uol=_VdlQY0 zs$TG1MDE*V#L@dCc{eH%QijbCMMiSwUxk#s zxXMv@wx}p%1?O%=#D(M?$z1^=t%822v(Bmngu?GQ;}9TC(H`{l^d6ij6k$i@HMpkX zRELo}AAy#9`?c!40=PyB3k&t#c&OJx*1*mr^oNWp*I3VL{v2qzIR;>84LA_Y5qSf2 zmGbQ@$7W_`AcZ;bf+rdmitXq5~|8kUKtG4zENdT7X$5I0d6eu$d5o8>#i})lfQ~Q$r19Iz~F@GDL2C0 zG_JR*w;(37nCtFe4y%v>C#a-%z2sZq6t`EpJZesTb0oXq+EW`m5ph{_+lEZxT%4)* zQ28ZDfQo)^w)-qMnK#2dgt5#|Nw3V%bnKlC*rz5;T|#OVkAWo zw%Pqg@u43FFNe`-uu0QH%YO?HvXaX5D_P1vfvsW4v`1@3_j>x2L3pLZ1KMGo)7;iTf6pD`Fx9 zQI=%2m;YLs+YowywRUG}WuO?<DR8kB(r>07 z`0syiZr=DW`pzmV*rGoN`i}Py;Mrfkd|};6P1xUJz*1!(S7zyER;g4SN7zf^xPXvbne_~dquF% z4`dw3h}>35B1ZU6blnRLew~bm!hX#8Yv+mjD^hA|-BjE^EC%6dA{#6YzWaxw<+HjeKbOnhAu`%mM)LwW5{-2CD5ZUeFyE4q)|T za9gCa-~;P19gMyGR^nda?*hq!YvK3SRgJO}EbnPxKr1vI-RqA1#JHh@{rzo~47Es3 zs>F|>NZNQ8HZEccitrP=0k>EvUx9~T9ox0|!le=F++VD<=-dIo!Kd$Ha;ZR;!;J9M zwH7A)Xz&Go5&5}R=44il`q+q1e+2BYPzW`oLRV2wj1nGLw38!#Asc#d@GMVLv^C0< zG53ee|4&&&$O&-ESLWsARZ+R>Kz%b3dUG=egPS>+yFffFR1TJ`Vc4Pk+8url6b_S8 z)vHN2?E1pWmJJ`131U9 z!#rKk(JrU0^~9F=Ez)KfUqQ`AO5d4j6h< z^uGfT0^Z&AR6yT)3_+Yr;ICstqQbgRV+#srP_=OL8p_+RZf$*n8dx{|kEp%y^$Cmy zFt}j<)HkQ6Q$*i@TSvk!)Q$r-Xke(LHBUX2>8kqg0DSXI)HkZV_+m7lTn1kpKSbfe?0qQO9c9TqiA5+rkCy+dgIL=RDlrleI+WYrk@#F z;+vZF|;XF$h!+=*{KP+VVh?l0RP^O@#K91>=^LuIjxx}t75tkHWv=9mV?itXn z#yYeW1gLw5petT=Il!AUkDIhk8NZz@mtN|e)xLwOKowLuNMaH#gD0-3At+GbNChbmM9b-i-1 z6>)3yMSOhxQQ6P-QQJETKn*>AzhKq(ap;N%g23`z{O7I(c03^bY|M~8+eXSE%gfM)CHVn+d?CMW}Gs7n9 zo&R~y<8ynH9|842Pf-FIBweEaQkQo?-8M2drgiDbJNptALB ze>BpdEAhAAwMow6So0EXNi#oDmz5gB#O-*$?EGROC8cxEMhxuFZvOB=-i0oTTik#ltxLm@cT{A=Je7l5*UJ$8l#Wg9H~R zXXM8_etwb7jRC9PFmM=P12Lxd$^@(NKnB=CwSrs1Myv^u46iW1f_CRF_Z-&kJjXSX zii!$Yt(@yId)S`)ALaSV6+$m4%@-R$*E(HiYm^IniC z{QDbZH(5aa2}cY#N9jfb36)LU=|VLBHC}uUhDD|u6AKHagfvMNd~9!JfYV7?lH;9I zz^Ha#nJraCoNc2pI0$623a4Nv1M`s7m0Lx2&!GP3426Emrg?C7BgTqR5uj}2QdJ|< zm`fI^ZrVOnqfo}ctrHG7JMIHOCHf>4l6{joXf$F(BzrhUNBKt`j3bk0fDw9-}UO90fI@K#VIIfWFwL+{)qa?0JOG`;AKGZX0S z_Jxx-pZGzvHmBiO`t5i*O4f2Q8$#KGgM(-;mXmqk?|8`UxS^$yC|Ud32+t7r!knBy zEdqVcKam9uph}uQmZ^n3c+RDs67S9QY}ucXdXWXc16+TNOqw(J5hA#V@39pbf`?J* z3G)zM&A$2cRn|k21c^l!6oQqfgFA(PnqKMJc$qNyqUcrzZTVdgOR{j)ZZe{9m>E&a z%xrAqlb^f8OJyI86=OB&&=*0Jswv$QpSebyFIYndelF(?fncs&w;og%6fMGBB>Hti zX^9V~{2d&=!jZVEH6jctv&pXJWER(BYM=0Ac?c1|!Rb=hyO6vrHWwGz8%V{riyb1v zi+*F8&ZaVoqv4O&P#MKLhR`32^XVs|`1)8#%K{n9*?72_Vjk?dj4`+5$Tl(7(%u{J+r>#Zs;ay@o7}TkA-q8*;5_JCDz%SQy7K&2p z3&9!Gz{V7<(bbc_L>J-VA>(4II4|XAx9Z*On;;ZfiI7d50{Y@E^I-3g-b5p#B`GZj zZ7d7V#lf4Ig46M)`dvIxT-V~|U5L!vpf<}L(XEj_b*Kf9(C2GMK)fECA5RPS)bt?> zP4IHW=hU%>e|h>KC8WxR>FVwdHgU*rkBYZdeJ;HOV6l#nUt0nK0>V{VsvE)zd>X7X z@*HcGxJEhr>f+wbU*Pr(FmwyabM3p|Oj=B}#9bj>gP#(KGl4gYlDqBaOlLcFi(a!P z@U5G_$WX;>phl2-x_npl!k?kU`Y`mRvSKGc5_(6?HwnSwv^fSp%htYq$iz7Z*-p|D66l=-e@U7nq2)$M-f;cfP;mt*JVYpU*Nx`ihdr<@wRb?gdx&Qk+=o zG2Z4%AkFDzC$B)l^<{u1ky2lG;m`RY3NW?xx6_ByBv+oHz)F>~k zURJ&p0&qCc3=(`3_a2!5tTdANZUGo-kS&~9%8>_Z1!`8-Cl*|$#4!^Ij6|0exF70O z3TQ#~MM6#UEsFo6j(Vm-gJoltF_pDFB8A{xq}M979w{*~*Ne)RjD7H{^d;%>Xn%e) z=+$S8B6c5g=D>4leg6EplXaUGZ~4F_tw64u6qzK|didAUGH8U*|LpDUCv+vnTler| zFFB#-I(>&W+`OaTCy{YHoU5s+`3C3r!9&DGYi(@;Lv|mdn2ls*(huhXhE-sBkJ&`X zp^`}ROXD72n3vb5nSiU2OZ_m@IB~;o|4mR9Av1H>aFahC@?Eh5-5<=r0yI|1N+*hg zORxFqkD~%&*@!4gJ!x`#6sq2qwo>H?VWhbqj2)p>fwu`mVk9B%PaMuf;{sgpYV;U%Syh)v^#J?cMB5)=b?-yh2QFeS<_HIhjt{n5Li zr=Z7HQUoEa4NTHeGiC%_O8YHB($a@;w`++~x!`A(ma>1*;ym1h)^>!W#OC(qWGs`v zsBOuXgfyyjRNChg(ygY1Fc65~%+thM{aGE9lF$YuUdMP_urJ#WFfCOeT+oC|E$u^a zv;y~@%Hs7lq_RSKQ(ptthSQ5PK|MjB4N5p}os@+1^qOC&m{$YSxHXoEj(-^}HFNfu zNCYqa$#jNt`TXRY+NPu)Gw&dy`{LAQ0xL_`%`b}hO7jrgKCuI3sde}Ld&ePQT_CTQ zPe2!|L_oAy=4@QaoflJnsHzo7(dM_J)2YN0(cK=NPdQ%GVL|37o5P1uT;rqWept5k z{kss_>?D{F_gSAK5DUB8dkxOOcK11mCyshNn{rW@ViJe)Jm*_}UTH2LG0B|qfaz`H z;9wgI8yg1qh>y@F)4N5!neqxy?uvVGI@SV6lm)^)T-+6jIWgBugTg z^lNd&GbSiPUqUSrw(j?IrJ(84L2OiJ_WS9ny;0G0fAcKda?7H6*2E6_R|0 zxE~ls^x!2C@8(s^(*P@N5CMQuD z-fic7m&tTG*v-{-Bp95pruaGk@OBCcMLI1ph%*PGUZp&0dF#Q;%$lm;e7;OBqWk{K z>g!epfkRcs-M5Wa%}vQ3ma91^`XNMJ*R@KEl16dMnQz=Dv1uORwnbm5kiEO~P^Yl+ z;IQnEQk#xfHJ69*<4{NVaNwd4#{I_dmb8Bn8gr^_UA&%^=Io(+;Q!~2`_4oA@} zdryFGKmhk4$3rqS{|U<;xfr!3u`^$|LJZk+HFa4u=OoA}1{Polo=;mepA(_4H_bC_ z^4H3OfzZR$G-FRGjxK_*b$KVUiwAXC{e3-B=z_^eJ$V*Fkkgr059dks1pNdI^(b>& z!QBDONATH`rC4JkAqV-!T;meRy&;4&%JWbnxPz@WCPs#1_TqnjHC54sCZfiSWfAbJJTmv5l-yR>Ri?c82 ztm3he+V^I^av*q@g_;>x*VaHgCCSaL`Ivaoz4QF+pY6k|=)MqnV8LT?@P^o!j}WvL z-w!a$6YQ@A^nZZPu%AQ#3%7-M7OPpTJbOQ*9lYMqBiMsCcvJ^An~L!7zo zFR8S&wB>hOOIH0*e9!0>-!(5`_&p=SQmYEl;dBkD>f?R183@k{0vKu;T66Ws0+kV- zii&XE;k^O1P2GNKhShkj|NNb`fXx;OM@H~MoVID1azFx zmJ|USW@>F^<)TWG=^j)W(4~T&35ZlF_nKsHevG(0NF2e{8fgwa>oC6U=Q2%#)0r5~ z6JQAF(0qG#^f*xL;vrru26N%5O-6v9-yUF?nrQT#dqwLn^-V(5;QRMfo--!#uY}Gd z{(?_ZbyZbaMEmji@ocwN(Cw2WzotgZj-F_JW8(%15>Ju|-P$<6pxA@x`HEwO+7V!A zgx$Lb)VIMXM+Ci?1NdYpbkj{wRpTPRB@KbO$;&el(->0SQ&>jR*?eE1J_LAU@YIuf zsQ^~XJuGl-9l|Kw?9la6iWh3(;R-r6W z3j-L{z~W3%>&ev)f8O;}+C+Y)Y(66{<_ewmJR8;zk1fjC^w?Hl^+~ny-`w*vpDsYa z4!*J2WKb*aFm6~sgeFFEeqy{?pmevPE8Halcp~yjO5bZNM?)}&6^+HPep@|fwt#J> zxE6njO}tmO}elZBlQJfw-6G%yP&nuZa2&_9u345pQzVeo-=}T6=1$Y ziN~mS1;V)Yj-XE)mOG|ebCO*S1alM7zAHIP} zp^5rgb1)?^=TNat44~pzOq)EjafjLZ@H_mP72)M)j?-a~>jZXIkiNYQoT)w|1&eCK zrSe(^|FJ826oiC5<4vATg!NjfF|bv~owp9#&uAF2ql@Beu4=@tXOLAW@dOAd^78Ud zb387tSh3X|k~|Juoxb}4#n4^HQ_gVF`G3dZLc_8MP_9i|&)_E~T4ov@*m5axANehTh zeLEq0fn)>EjtOug+Z4)vZAD)10fXxotb>0)cIMw&>1w2T=CLr$j_9!?0iJZh>LcfGI+7gt8 zNE!+wmfY-YDVG7l-d#dBVDcT-@Hl_oq(gaHBlVzf0Hl7S;yMYki@+7=N z7#TKFE;obw)#b~VQ#5LD%X)izeWzhqrZt>+S*O!U1Fw#unq&hGH_Qh0DUMBH&}$p@ z#O3b4>&(9*Ii6Tb;pX^mgXPrkKYwQ5aSY=eK+d|?z1pWy#ZY6H#@*T$cppfZ_+1Wh(Wd@F?ifavDKm=;5{X?jX zmGtJ)vW0U@{uGG%XKsf!$ql?$A51`vK*sGd9JLQ!`Uj9O@`+}Sb<{nPzjqwyw?hAz zuB|XPchGcyZ%-q5Z~@M(q(ltJi5qJf){o-lOW|OtWRmgTa(62ORhpvTlfg=4VVRya_p|@AT$t%wZ<65Bw`7>|4-Bk)bm{d2LN*Cod$IkBo8To$^}beKf9&dK@ap6e zGT)tqL1rQy)y-vVEyhG)QPH6gMhj_~Dk`<+l!iYp|K%Ed0g6~Z|XT%cyasj5s9;lLCgp) zYlb;!bYgiqj(s`WuB{v-jMADGQn>=#kEDxN^C>vG&+Tu^8%AHCB{*|I2e$&SXO0tSnVM3H%85!pP(OSvLw&it z5di*;=|?om;=tI3osv!Vw(mxF&>k1x^vk=qI=u`pgQds;1gr`JrT0LS5dxr%yD@jA zncSAusb2t*`#mAVU6+%$ON-~`&%~XtFD*5N{oMyLCzX5oHn1td!|be&1I>sXklop~ z*$4Q&2CTHeodwetQ`N3AfEQDINJy8q$W?u^<^rJnht?YwXFUK z%@(EJn6L66rLVkFtIGq2#bsse1_{bY{q`u2s7*piR4}$(BUYhhW+utZ$~LCbU7`n} z=rk}dy040~QRC$Vl;N3j5p$J0wMHKYg@*oth#08u0;Qd!0Dr8`DlNTr{rW6;qaoub zE~@gJHScju=MYMZiBW{ZBubKt3-MI_UbewQ3;hhR-Cs+R)fIw_u2|QK@c#I#DebUH za|WYAJ{3j~bBF>gHRNN>KMG`N{E|q;1cJX+gOu{+3MXXEet(zA)vC(6rE@|^^4e_S z%3n@+6G>paN;u+l1FGe62?3m$=m0uV`vkiN>kBh9j%Gck3SwLarag?COp;THbDVF< zHOhve79pXasIhkOJcNN3hhm81FJpk=0M9p2?_C21E@z$ z*XC?K2lvzTJ26Z%FyKd9_1~vdnvR!gPCdV~HcETuVlY>Etal10kf-H-KZTkpVy*V9 zEk*#P2@m<0{t&4zc!uTx9xsbI+!GWDX;3j!zrw%0G35`wC*RQWDE1aJ_OC?UBuIeGgL&y=+hDaxB75rvt%6L!+6YJ&SvegVyVufXgFmJPyd9PEH(~ zK}tdSmAJULlmvc+s`!4^VtCtquXvbW%E!ENe{0fag!4q6ka>`Yi-_on(<_s|OZR$f z@$m3IpzQk=RZQos&Yx){M@~8H{ZV(M222e4DFkdE@>80Z`F`j1!&0jW>-P zP9G^E^dj`o*B^z7Az@F({+lJbPahEiunII{8@!-eP@QPShvo@%NU$~LfCUAFv_W=u z=m|8!!os}0>w}W6X%In2P6=hnKkIw<^em6k2gGd+cP*=1@rIm@o`(Lp7-yYAYbRd`s9ch zMtj>?bf0%m5;heHO#VL521gDNw>D_gmceuf=Dr5{`jT`LAc16OFXbu%g@OZ66r?02 zTk9^c4Z>9W>C8u7p89yOY}M%d&qu9(`=%r>Ukp5_?@66KkcGv?&3)jA*vP?)gH-u} z*+DW&kbqKBnr`Ae9i)^Kk}mcR0J;iz4g43R00M>9(}U+8Jau>_YT-Y(x4k=G#K%ED zXbz4sAC|3Y7hU$~0QMBTzEp@1dPN|}S*B3`2T&2KGBuJ}on25Qz5^+=m)~P94$Qs` z9StX*WqCE4*h41Phj;_Jz^Z4>R#X6|K%f49H|-<>nCc2*+(U4W42QSI_?^#^>nEJJ zkVMp?iqC6i;hYrVQVe8!cI6;nFvNoPNFJtpt*z2;zCL@tjUsa0AlZO(VB=eozk%Ja5eQv+xBptwAiH@6qE5(2{ZHI9^~Uaw7q4t-7U$~V z^0(QuFJ&J{PMS2up0!4iI(s3K65(Bfo72CeBf|noUSVNF$Q`6o4&LXHlr$H9Vk1NO z9ii8`3Y!*)A98xXU^3sh2le&qROZ%UYkr zx|Ore?C{FOFxuMMQ2zz^`$JbPZy0qGAD9?HL1EwyHY6nTczAq#9TgfHx|dfns0-W* zGob8?oaK}vO|On1UdXMUul+p7ov`_PW}>Y5d*6!#6B14~DiC}(u~7ymmTSCJjUpcF zg9Ge@eol6AC-p%Y=pNOts?J=%O@S8g1kfL$AYvk-i_oS5LkKuk08|er(PqLrr(tio z+7;Ge)4(bOel*z1f|g5^~ReoVWY;!#BAim%D@|SLfqj8ZDE?<4I zVWiyLmjMSLt)RtEZ*q==j-^kZ$P*^IyUfm;07By89-f{YK&gRse^Lqy5`Xy>+#hua zm?7J*Z^V0cTtw<190f}#tAf%ZMONn5TwiQ5c=|Nj`4JPfICT~?YE@d?{95h;6F0>* zrBtZuV}137uEE}iQ{-5H)_&X&9uW(Uhyh(H-t-1}gG1eorJC^}T;z4Tn$J>L7WRwZ z2k+9sE8!fhf0s+aj)qk#PL7Lv_GJIf%Eku69UyisPD8>TmJ8+=B&y!HN%SlN|&E6b(oyrsRrpm91i;KbT)3B5L={Z%9w)**x zZ{O(YpFeDO2Yc%6hbp0M@$m%2dcq?M>8i&GW)bUc0LenLiibA~5~@qq)-WYF{j;OC z3py=GCbxLCm+XfAM@pIU8;VW0%hbKkCf6=I=CrYS!0 zk9vC4WhdH!keHup9;sH#(vAe}`on=B zA1}^t{0Y2_VU^X?lnx0GlBs*s7GV`-4cyiuKeMsgJ%FaolA}zpp1Eh5 zb(kd1M0iRFQ%?BvKDERV`FsD#BRM}Gef2^A&9t}c|cB`2u*IY{Mr3WB|d`wA{iEXoQ3sf346*ie$kU%!4GumoHAZ{WG3VK~^d zvGemw;_&lVr=ce*aERifeo`MKA9Mgd>-u^URA=_~-b;Nt)M6C+MOs=M9RMAI?JcDg z;Ej}nTH8P@t1KlbH4Xn*4d)E3F7lsXC-oNKs9z=$PCXGL*;qi9qYG+$+&ZW@+k+1t z{AzeSRDtct%$k58_ppx^q@MKiyoeI`%8X;Q6IoGunmO!|Ti?X1wD4dpAck3D)E6I> zZhZd^Yy{CZKxipSmG7VA`!F$<4YUIFne+GW@3ZMW7Bz&Zrb=VKX{rS{@GFMpe*=$; zUV(_1kYDZe(1Nt6JLY)`Axn@1PDBof3}I8%{b?seo7p9he`q%Mf(b>=DHF-kH&BT* z01XOGUT}+B#^I`Wp%+~M2Prs*F>&!=A%fMx_kfZBtF7J2HX_Xr1dldv=I6d}73`N? zA2chB=u?oQ-N?E9jPjYJLt1ngsp={UZ(1v#9}|9`ca35xlrwTmNi<}qW}_x|mvH(p z9wUpwz|bNeoX+l5i#i&x2=*CLWuTEjE`%G5-vv7}16L7D8>s7JV`Jg=&|HM_E6#Oi zaZ&vGILi=%SkEx&tj{0;12|M9Pe{@^MIzN0SMucs`!bLS5dbt!!_@hAy(lO@h6tzQOmm4VnZaTd$lhf1V$C`pq z3G%iJ0cexiI-e|;#=(Og`*44sn3#C$>#KjDNetBg*DpvZpuoxQHw^&vReO5~C{2Cc zKqmy>ewacapWGG4$jAtE94P#X7YmlR;QpLTKYkx-e^;1>%1}?QhbTQEL0vSF#hJl* z3nk#*4M@l5(3sp>n)eWr#=iH?k9F?{BO*`C@q+-(Jqd67Kc7F_k1IiMR$E&Ohk`lK zb<1SpQrfT9TYMg`3oErOw}pAbpczu?h1KhNn@CB6lR?86a7n~8)ragXN%L?@q4?q> zQjK1yso3f1^YZd8C+3NnMLW-!{4Hw(m@>*UA$nCVL69DQCla54pj0iqYk6?IP{yE( zz?1kIuBW2lnSfels&6xdA$<6Ehu3+#T-zBsU4fN(Zfa`$#=3~*Szdm2fJzTwsPiN+ zDUa?L5%TZ14}eXe=Z2}uO{)Ga)trf)2mWH z4r13YrX{7O8tCawq?_>ajK-bhhsnftMF27E5J;u+f~4WmN|&owzzzf&W>6t(HPim3 z`}r#G!Wwby*>>RD$VVI)XiRLa7XOEWp4j8|0MKbEP09L+U1Q?nm`G|rWR^cOjf((C zc)FU))Nru3S3~*e11{XMu!H~m5bVyKI{;9(VrN$Ky)OdmPw?1 zd;!!v2Zx8qg*2%iK)`{u_vsTUuoIYMJXg23>#guuSXr@hsQ*;v1bX?sRkuZW#_;QH zfQ<-nx!2W9`UoC?0}0;(wLSEMz3*+9Rseay7&j%4rMCFrY zGQ#8DODvbcKCf*`=KTKMO7HA8x2Z?7m}afLlF&e9Hg>bq*{R^$a-9X)d1C*bemhut zoA+L%V~b)d{@rQsRDW%_0?Xy>rOrD3Q?OME@IDTZ?qoG`e8qLkcp*zJdi>HkD}S1# zHvZj*G{y`kelBD)##DC1lI=Ui;)43R47t@Y70Ypkujg&mPTnhY2$`dgQ}V}BNfs6O49XY79bJ-9DO!<@*#pd3j%-qI;}w)tB=U=Z(w(4n}W zVwULPfc?cA*>fg6=;m_rxPTZl?O3(?c7ukSyRVV`vfliUXo&74SreFK(}liexSgh_ z?Iwl5y=ZK^OrraigCR~&Gnc#Aj6tE{k?A$Xt>TkYp@Mp)-7k@t{Uh;+DxT<~$9*G& zXTfuyIsfwB89lm}g{%xu-1Oc1y`9s@BgDH@CnAztS>+`;C5f{t6Ik{^Cb*!@*?Rfl z#u~fn!~;xT#sr^6w_v-u$SVc8>HKy%Y3}=WU48^THsOWjlwyj+^;oT-{BtFN?gxwJ6<} zyjOknS8gc(sZ|LzjS!nlKCSrBKyy~zmq(>Tbng1zt?_YsH}Z|xjOq%^T`~zX^1hUa zR#!Ci$tNOA_-qJ$wagt(@7i&6Q05dcWF0b8$}5YmzfJxSPeVQ>-!`9p1E17;^fc*x zgD`5Ra5BW zH%Zx9-Dwki6{Y;kQrs-wS=~w^sIQtJ#cRFuc>;a!dbNnuCy~!`_KjAso4P8^aC-&!#$D(N6d$Y0*sa?q--!@<3 zp2;B1QfsUPy8Y}$}LiI_*R;=w! zk`tPlekAwvUM~B$#5^;Zv8yY|w@iatFdJQ$lgVkj@@ZYojoc52zqkB07Z`rZRJA0Q zZ!bk{>BL3can&OBZi1D`2+LFJoRc*qy$OA*L%(0yz9+kX=ae<6-yh9})DJ&N7e6vC z%IB`V|7C$2nsGnr$G$n|`nmUM4rV*e`}ce;qUq&8SX)$*DS4J@(^Ur!*B7smW<!nj6% zW?qubd(4*%E({Tb^jY0>9E-6Z^!6bk@4(M`?9-CVM@Ef2ot_Hqq}6?r87D$g|LjP% zwEbp<083|J-i-wbqCXuYw{L9;tl+;jI9KG{4NrrkvsK3@=~yH&nmS|fSF&#Kig zc`29c#q`mPy?>|8y|TDxHu5{>D9_ltB(lY3!&A(=pVVHmr|DLqMs66j-7BSYS$jS! z?>^*N&dFn|m4*|vHWy<3Jx%6*lOc=2hb^0%iq@k`^ud%2PfWZSUfA6g7U?gYlSpSh zCur$9llos=>n3Jn;^OJ%8YpIQ+a(bD&zF3hue*s|zHtricR2|$J+~Xz zJpwtTq{K9DdEfH4@O5@|6Vr0LbHmlmTo)~dz7ZH;>gKO`%g6WDO}CqY9P(n9ZbG%- zdkb4FaJV~r2e|!j3J57_`TuAA@FTbPZL~OPY(a(sLlkX(1P()ll=-c(9_WkshR+8q z>@6sLE>is!QoE9wowNA#PD%j9b&wLf|6W;_6#JGtrY~>Vr-+y96DXE)nZr_YZ)Xc> z8Fd5AKvDHrk~d{a+Br!gCFD=$^KZqGA&HLN2G#c#T$A>~HCS;iklI#O`7SYHy`=r7 z4|r?lvb_6V>rYAV8~8Q8q50Hyy814WVDN(cOz&zi`Sp_P4|p#$+04qE__0KG#&Yen zZ&0Jchdo2WB=0gh%-&u;pnAynp~jAWhR*Y@oKE#ubjL4UM}lZImJU~K=T17o|?f^4nt_Dk4Gk zVfr2Vj4Hn9TteiQ{->@=F&l}W(?5pg1oK^XsuLmjd|1ax7LH_^e^&l-P_5WHA51LZ@#YweQ%DxR#Ug@Q|7D2kGsIK_@ zhDCMYCQ%^!nYc;DwOI2og`RZ+s*NC7O;t0?;+IO`-7O{6QjzaP*P%_Yi?mRz^hC*I zo;{E2zRXy4@xrCLxXCgmBD}9EK9dID4hlA^Z%kg_4|(;XVI_n`mnaJFtiHiGQ1PLp zA6vTad|QyAKjCtYc@oWT2Pci+@?!&`WhPo@m2sEIWBHN%xu;>pCyBMyt<_ySR0sYY zyV=G(i7NYY(!01l9lOujdX_pIp4zNr+fl~n{*I3NbSlHG7gzYcNu=ry-5+uiMWVO2 zQs!3pFHHxrt`S-VXFbG!XG_WQH6rDll-F#lu6RAcd%Q)~(VdMF=KlhCRZXyY?$zsET=tDXREI6<&R;MSg!vkm%}<+B`ZQHi(+GX3ewad0`+qP}ne0ARKcl*5CefoX($N9d_U%8N(Gh@bDGscRD zG0ctt{5}2YF+C1wjK4;80l(12K}Y2X45KYlx9WD|d%z!>4OIlT=CE!gKM6=~ceO^D{VT|lPUM<35t{y5?{!S$eGacX94 z=ivCJ_eIG`Cf>iWJHtQO{a<4|1}5eo z4(ETyc$FHOHkhrj-f*$sIm5RGgfUf&ipU^M&BCbEGu)GVRPYbIwb;XI!!ll{W?!H9 zrLAI&ORgJMP%B7bZ({O9!gGvYR_(f5vPB+GcZV;{pWX~!Dbp*LFOSCE+g#r0+g!Yp z!`UPehwgQ{)=T@-A?@6-o!gdA_m}0W7mw?#7mt&NgD;(W?6S=5t=%2)R6*bVW~sOS zW|Kx!);K>b+B6Xvg<7kCJdHJ$?Y@QGK2xg(E|zb+-MTs(Bt9`!LTRM9yOQAtK%NkP zYi7}$?}rZuIrX9e7r0=k8gb^=4Phvi(kwUnxcg2F!*tE;aX**`Y15^m<*l*CIQo_g z$fq5Om{jMilBjP2oOht!AMf^L-{n7q zJmutbS0*1=MjOGt|Ev&*?pj>P?eS9PuC~Y6{KoVV`1AU5^hPZS1SKbR(gb0cl&)1T zMX94C5?hEE$jaAOpCOgQ9ef=9&X~qR<|cFsk`f6sV}q1i58eo$qe+?vd+du{11&}0+<7(I zn}pwV>7UGE3ryZXcT|xSs)L@&>O?;3k_f9u&}(YEL}SKV zSfXz53ekutSzRk7TGwp4dM&Hqw8(72UKCO*7NqOS-zNdh|Q-hxy%7kEK zHzK;YsE0FW!LU=Sv@Tksf0{OYla+yQb7p(%Iw(TUl5?WRBQ6Ay-{TM#sNEYb4}t)7 z_WkKpt#aDQ5F8{nJ=!R;tn>)anT%ekL|}ta2ObP!GYQ^e8oA)OZP+`ILZ=6pK}{ib zQ0x&Cw>7bF!oB6I6+35S#a}0t?|YRVwsf?y5$pWqzq z1HGBGR!vU^%mqhUJTqs^K#Pe=hw^eJ#3hOg2}On%M<*F!xpQlPklLXc-Qk=~odHX2 z@uqqn29m!CN58fGgwZEpt@TJ95x1Y|X;IK+g+u4c)i{-ENx;6V5sRNO;mzLJ$hmz& zae@XYIQiUW6`c#I*O1JiOmQuSU%zr8p^-sHJ#pp!Iu=rRGSEv?koib!g+`Oq6E=Gg z|41|`-V_i{zsi9WDzxC-e1Nw|L0Lz@W9@H5aG;}j#R}Wr)p-~qO6jJD<6qm1@tN%__#s-L;ke}*obZX2l7UTrNk~hgEhU4OV zOKPZu6|NA?$z75*(h}VSN+wMQ<`^dNqamUlaFYh4Zy8y<$t=%aBe}twK0|sr2i+v` zyXfZx>8B6(c439m zdklySUTiRs{Sjg+zHPsuj6GgSzORbfii@h$eIbz!a0s zEK9nfVg=F}qb+rtnl#}q>X;PxA}*(N2W|m=?vIw;H5kaath%49CcCUQC0c?W_`J_q zX`$kCTpk7*d8WG{RG4a6!uzf_44fadikP&$81nZ(BUu{3vppB$P+mxBpmf{6TKfjj}Je73h+bMmuY6 zk(2oReF{69xzs%NV)uvO+N`rCIxU)2T&6V4x=PJv2*c77)Z=`4rk0{%4j$QF;?q_N zA}O1$*!Ky85xqt_lbNQm959lhGQIc#n)OftWv*US(h*#^kgJfJ`KGMF`JhRoO{3io zT=tL?ZYH%1v&8xs5-d0)q|HQtYd|7H>6T#QV@y&ZOGPYGD<#$XEh< z^f>_?J`v{2H#=l+AkWCjTE(6`Skx%aXrshd-9`zub%#I=exsRiWd*&PWI(4fcE|u7 z$u^9{rRYTLK@5_2VNyDFoWw;sBI(Pz*ltQLGX0^h9tgZMrxA|-Yy+>^LB|L)6Zlk> z4vEv*DyJuDH`rh}x3b6lY~#;zQ;)slOYJ%I*%+7iMcv&of2zvso%n-myF5Lv#?O@w zb8_4q!@W|!HvHAbe`t>P4c8n4l;Ayy8o(S8^xl1i3r0rzHVkk{-uc?VTkqqU1ivx> z9muvuGStAhbqwR6ceVrC@>xCg!3U;#ohm4> zHkoRZ{^c6%TcI1imPgRIThye?y1n}3%OK-$>qlls&>I2Gf~4vJwCq8AdA#ST^j{Y{i0lal;X+CoJ@EI~i>CF}sK)pKIKjIb z8`yKjZHkX7hPIB3@qM-R*6z>LI0_gUNeS)tThiYpOA+={8NdclQ!id=+r$smst~pv z5J)O<&zSgW1ZM<6f{%5S!(s{#d~bgOkY@gyT2LEVh{h$|Kkh@+bVrmw%qXanan;d_hQNR0mGKki!n2F z*!zr;m3bzoVH&(!+Z3zBC1R5PeA^0v+6b%>Gi?Kgjja;oj5ng7d*`igNLyC`Si%hU z$O7AqYso>B-KMuz=AS)1`oL_FLbiIpgCpLd{Mp&A{>9`n|I_6De;_ADhW`R3|ACy= zMNqw2cfRRj7V>cHt_KdJw9?`hq&5Vhu8`O0aZzZ;C+M}g%RmEBOrym8n=yGqxU2iZ#Lm|L zgRW>&M%V`we$y~({*Z}(y`gDZQsUXu$^G>N*DGB)d843|!uxWo6ZRXjF&swy#vum5 z^d53-;re#%y(5!FLE=a((YT#^XFjG$*6RR3yn>XNxn#~xw6`_Z9s)CwG4!uu_DTwa z2iI?H%&jUnq<|=FNua+3FDSQ!cq1x+FxQwFgH(~~w3p6~MQ`dE_%%+E_nd%hb{MQu zG;p{q__n^YCW+}XX4r6t%A;(x3zr9`EgapZcc^WUT;^M#WEOJ)tYpcYg;-A(Su7VU zSfZt4znOW=S!YDGeg#?mcQ6TZd?Wqc&DOZ?&@qP|`b0UCx+VcdYbYJZdxcOzY}5fW z+|Y!bsFb|Kaf|3)5H%$fUsnc8925$grszGih98FQwbx=Dt%Y)i*6xV$KX zwy60YgryGaZo=3>tj3@?kr>OAe#fsN3sxz2E|>|i`bE?rXT1hpX~y8XrDZ-X3dm!u zBDE7|H~#~{7{Tl_*&l{%?)a251S)MWLO31(2r>qZi?>v8TU7vrD;ZJEYE}J!mEBM; zVTtuhmC}7B^!{-M7OqBdBjzkDgi8`wD@3OBUQ>+xx)A!Nq(yTiv3wMf?bv{*sa{2s z=!vc&`&F_0msnA2Z;k_3!l#u6VBT^|5%#F<(aSB7hdhW5vFytIU!V5#pv)HrFw~u{a>XKb+~YTLG78O+aAf;A1W*hBxW_80!#x

    ecxRt{m1uby#m~~qr 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

    4io9}K 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%0Do01Xpwu7}J+92xsY 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

    KxM6Q;mM?U0X+%IjQFhstP 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 z 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⋘)}n4!gvFsYIGB2hlYZntD1B8wH< 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≪Ch&^w-&jvDc`#n2*Pf`#k37?bD9Sn_(ux+8n+ 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

    *ODwg8IC}u7JN?;dK##ImTJXGu529Hp<$-kE_ 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

    hfnah*1&&&lDTjVI zv@fZn7^T&S=#WC+>@I`B2SwF(9d(&MSkbzufCJeAWV3M=>!gEsx*P>3ombQRDIqy# z8$mrj@rWS?i^-KK`f_aK2Jlwj>vwjGU|=Sd;-tA~=MY&mMn-3owpeC#1mTc&Tz-ya(+jVFtq10%7#yutJJ9Yt8st~fh_2i@!o%u#ydHn*j zMSl0tT*)o?02|SfMy}swHJ0FB)nxkZU`bPwZOD;^4x8UxowfIt+5k5$6f+L32z$23 z5TTV9I}h^82o+3%+K2EVSraQ@+aylRpM}02cW`l;-$ul-BA0WFvN4H*YI|Gon+pvW zI>&dy=#v!I8H4e32w^}^$-t?>^1x_B(aIh&1}+vD0D`z&opTS9smvlJ($}nL z?l}DXA*Z2PVWPPNlrOWfrj3N~H*m;KDM6u~`EL=;8U>NGbbPN5UYxIZ4uVjaFLU`D z1hzX$OIvRkqMkjuVblTSqK3Z^A9KYkshb)Pls;5r>R+6&4qlIZKx; zRc}YWnb@Vt-g>WlN$OgnZQBJAsKB4M$HOqwX?wK}r#xMKw?^-Fw{))A`s2uDAp5|I zo{t(h$Zs>o@1jYZJ$IKmXDL_>9^6(z6uAD%y&8U(Hz_Nb)~3T%y_n*7d`H}5(2aB% z<1kQwSE|a*D0>Siw}5kuL&8779lwpXoX;35J<#-v+$l=8lF+`dyUU)U~w8 zqlDA8Hrb3#_&|+P+DZni$SGpL>CDGsI3n3Yw_2X8Zz~4B5#)i2dUy7PS_A;kSl(Xr z+)FO`EQx_>CEERl*Idf2Ufze5@u^InW5MAgdvsryM2fFkM9qn-)D~$j&(0+-#Uk}N z+9^)D@KFM3wooB{O{^~4$43f>piT1`=&jO3MBC4IqAe&6cmnueyp^y^ck;Ge}MOx zb(Gt?6DurrXDH&2RO0eCu_IVF*#||(z!lD###Wn>uK&o!r(Ff*SIoODU_ zl8&&d1OsVy_cy`1oWh4_{Vj_r)YYYY)t!Xdozzhny3Fk~j{EbA{Be*}_KC1+le@+* zNgS}^7|vpC3Ut~E@OWvB$cHIK-MbW~4|BADSYz?J(@_%EoJ0P=iCmys?pV zJ1C94vPBREXElqP&N8r@GSN1Q;hOk_y>I%%GwiOkIU{zVNHLF4<8aerLlM@*NEj=k za5>-CA`8}4WDcHvi1GQ1^mxDKB+b48$@cKY2$t3ON*a&&IC9n|YW0!)m!d}X4;MdZy9DNfSxN?UhpQJJ=AuT$K0Xi(pD7O)RQnbL zlntFUk!M*w*wp$s{{p;~uRn@RPov}B99Eex(V?PRxQ03BT5K*W!U&`MXk?C-=+}LN z3$avR@w&0%(w&HaC^pKd3S2!9!J_Y9{#OW*=N}N_f4d8Xo#P+k`#AqC@qGYxZouE- z*mGxH_sLKoz{f9*f}75d-`~p$Fp*m@F#)w3-1bdSbR6hh+zc}gq0mQrpvZ6K)8p?T zv&F13;VdH8=iU>9?burrIfr;==RgsrWW;x4bFh9$YII1#{|=dDO7Q;EN6&%AY2yFa z*?ZV~mZ^UdABwPz0gOeB`H0}Db1{K*Q+d9t@o>8Y=nkd!(3dm6mJYmop0t{75d_j4 z;6ZLRm_AEMF+X`vcrjl9aBZ?`;<6UEh#6t<1F<#U2qW9JfNI>U=P3@wn%J7f*YPSM z@-J;zP`Cz4Cj7q32DG7C3zVpPnmR-@19&gaVcDY!ty znz|zL$=vWFP+F8zujW=01S{>D?M)VEGkp10q{_E(f4=EaFi^S?GYtkhxI}R8TDU;){VkS+!VxPU6F~P=d{( z6a#7ei_^b2_UAg2e{P;p6qN8h@sJxb;RT&F4VxtpI&rAB#yxI#EYU?`pGB-c!}v3a zT|f-Pe?7Y)4az3ej%6H2@t8_}G;DB}Z4%e-S&Mk&i&8?N0M~FIrmVJENAl-c7&%ug z<~2Wiy{Hind~foQskgW2CMU^~Cw+PLgS+iD_C7Fi$a?944Cgm&!9VG@Ct8oFZ<@@p zfAkl?9!kvze;gr_ZJnqviEM11kd9$yW(0pYCU1B%!CS2F z+W50UE7kNbD><=>%On1b73}M#Wx^(8;Efe_WtTngc!M` zM}c!P@CT@@9&@KG(qF7-3RqPW7kJ8`qUlNYY2uOR1c4F3tNPC8jZL?YBZ7FRS=C7$ zG*?d5J$#_`ifwWAB6vGlgaziSe)Lx>~95i{i?^ z`qP?}%X}YMtfzpwmP-{cQ&aYL`8g?p?5t~;3<77gV2L=jwyN*Vd?u#^EBjCEISbA` zidF+^k7~D*N3)a-ZsK`~pd`MW9~RuGa$nLCk{^i^&(v?^emT&>r}(&(wbH+{a&7Z4 z&4(5{i&eZAzL!xtb|S~?+}0%^Yv698Va!3Mbz+JXU&u@=%TF*nhiuS2=(B;9-+=n2 zIx&ickxSgCWL-N0%s-#VIN0;)8<@mEO6=o_%;0n~aEEJiyP@UlJ`Dy7Sj`WQWm-C` z^PNg&yc3&b(nk&zj-Ar2bt3Q{O3^3@Ka0Zx)i`x~GH}bVDKIKm8BHL(7an^^Q=_qBU7B=z?G{ zvXuV?!Vvts6iOI-COuw*eEwHLn)e@s^uIRa0bJZX|13JIb=IBMdC>!Sc7k>&HG4TP zzQvM>vM9F1!PsEoc8IRQ*P08!VKO!?Zr)sYMW&dmHWM}5#LCrkx>@mhxq8<#;5J-+ zqmq#sNUbMQJ}>n;@buP8v%Grn;C;H{Bn~8+#vONQqsth`xp+%^I4PnVJ3e{H%>A05 zJg?fr(}_OFQ8Q|@bb;8vn@^_4pMh1Kbz^a}a^XVbrp&9(9aV{wQ3dLKdL2rA^xZ!E zegCq>{31YzaDM!8<6FU(&sdQur;PY7s~26+yJfv`3eZ)}ySYBfX;yMtanx>|;U78EUzRQckhBM=IWp+R8)^F~^4S#Z z>a*|sg1X4Zn}bDBk>?>v719{lvp3XCy`kThdn07djC;+~MI0MxE^4L_@B;^J+W7x` zR`SM%B9oPdB$J#9r&S`14nxv*UqL&a>Wu%SiA#^SdK8^z3C#-Ox1)J;+Cf%jIVXv3 z2ua;(r6u`od9|01{{tq?E>hpFprK`0?tI6kLMV>RXD+S)snu_M=jilZW?CM0E&H&u za)Y_QxUa)*5@e;SG$%?R#_(p&DVDxAtpQpPvl3T(XBIi<-Sa+B{fwfvN(&wKE*yvp zNWwvJ%t^B7E&PT@TJ-E#8kQSuhH-V(JNuKY&8q)r`?hO_*bx(le2?c3*^y*HD*+p+ zbO)&{4o3SC@Ug>>!R&!T2;KJJnQH;f(t+Twy7Q9qTm`0MQvSAZ4iy3MQ&DNXz+iu! z&15q;v~PpjDk@w7G+yeRU+{=_C-+Pz+a(W7ehK2Z%&hRQu86ZW$X3pxE$q`X3pd$a z(PnEyYYck!wkz}*4-6*Pqodv@X~c11;|_cXsG37T=`?~5n+gm0T^o1(%Z+TKbL+FY zP|?qQEKKa*^eGz=${C@*Pa{b>3Q%34HC{Y3@bv@*vERrEr7L^6e;;*rRS0#jRH+hv z{$w9xj#7O1dm{WAfLKqSx#QL0a{6Qwrq9!W!25HBW;$zYVYqH3s`|Enp1pG59@#Kx zbY{sJZI7TK%#STv5qr>;2QEG;8a((3k2?k35&6erL7wH1eI_$Dm;rX0n#=!#P^z}K zBpXWw;8%L!mPG~ox5~=Hs19G~qs3;D*#wA9bvi_?+0sjcTkq&c!5dfWBshMr+opyf z!ltl*nTppYI2Iz5;YIBot``ya$4 zRo?aZ5fbr%>d4LoFB-_s*Co1j<#(iUk3v3~uL1#NeTRj~+Cm+6`>?t@%BC$5pCJk9 zkm(!9SMOpju|xzl5v1zi@8XT~5F4=zl{h_wPlc0DgkhC1f}ln_f#jI& zCOhGf#>2U{l29LM0fz4}VJ|w8iXg?#a$22_d<<-C*M`NFG`y$Jjr4WoNzP)%bGTg_v`HA7F@y23t8 zA7L&Rr}c)=6g3r)r z?*tmRvHs=8VJt1cn4j~=zNY)QG4W+~YV6Re8|bMe%mcP;Y}lc}*4@F1tx|k&2xI_& zb%)NV)r5s?GqLUg6ADY&7fs_fCP(&;zfdKKdrU8NzayWr>tC(l6jCzJ&NFah%VB@j z??_Rmo?Gnh7j{>si-J)u-xud97DywI=j8(H5-_KU`U*#g)4Kgkffgo@|9VN!bVPU? zApfVXa%(&2oFzyj6zpSEQ4$GQn{u+$mqXvWTa8ivSQMHQ#~>wreh@sZs>eX-CBBh9 zs+gWJHbRW%W$CJ3Qo`;!JYbl$p5WIP|Xkhks+9 z5b^wSqo*#zKH>L!-Y;$r`^WF`eXj|>6F(e!QW&AQRpFh)~qN7?3Wn? zwJSzz3qlsxD!O4*qeTX=qD6pV@~JEs!ohzKa(u}vcoTd~Bz|;uCn4v%)!QTQqUi6r z9U(eFc0yq8%Q@{9%HXn2GbHKLk%7y+)0+Yw^ZH>g7Ls#^H1nR)U z<*n}t*I!*87SQTt#mtXx53z)g>*@a=+TJ=Wt|#3Z#exJ4grGr!LxMH#76`$DYamEy z+_kabPH=DBg1b8e3DAwZLueqlJGb+jGxN>l+_~R9&vPb!WIxod-cMESy=$$i{l05` zi}KV5((`84(o30X2SOLF%p&Q5KK z`$1VfEq2LtQO%RuJt_3kiA3gJzR%soFA&$)=z`_lxYvD?l3)`FESpKuuJzWTeKhL+ z7{B~RyS44AENQ9vu$5RKvh2afKrlZwV zuW~q*=MO}YniK6X|67yUU)Q%i3tC4_fK17WY&)07Gn0E8pV$HJ|9zQ2u0aS zI+Ohr-FyT>X6czHgg?~hf!TxG|JhT>!~l$(EvU{3=Ga*FsN<=j`}C#tJ1pYsB2I}~ zC#>|8gNzpu4~Qp>23s-u89VX;1fBw?*EiB?xG>9#$I@yilhxDD0jK%5o=l~sGnvZ~ z+RGwW}ukQRn+Vv> z@f_#P9es7wdE)L67)4=0o{2_Oa;m*FCrrbpef_*Mx8!*?%rmS+d9n6nuv&-kY7+iZ zs>Lj)KnZ3tnbrL`Rg1%**YVFjhCplV6r6S47>`JpH&rMjp%_1so)vyxFZyl+pIbuS zv%ZhnU>EU${+>^YI$_Q5vxHZAn%A7`XU4o9D=(X#cs74EERZ*diF`rUOd^t-A&M*7 z#W1P8ddg5d=L_9I$`n-|!SPg_ne{=BlV5dg-nyfqLBOrs;m>RtT&m89^6~O=|BB}6 zr*zcxb@9zYm=d1lsGrT&#;J0<(cCc_mgjiH^6}i7rs^nBxBV6+!;{Rn8f|FE;=H~} zjMbe$b7ppiXDDp%RmZ3wf~$s=>hpIXm0l{b>jz8q%}V=yblI$Y*q%ft6teJ+KLPUs;`VtSe;}$KWSA3 z(Q)(Enqgr0Rho8g-Xyj(!P7!7U#JRtKl4*Yn)@p)6kEbdg0Wi=)<2vc1G$UM=ZDF+ zXY$(9!WYpgFn7qM5G*| zEiD>r14}VwX=zC+^KsQ5*J11EJCQ*V4|TLr)zxu7Wl25Kmxd?c-__v(<0B_e;k5~- zGwH_x7ceyG?6R(Tc$%ih?=;PgyDmO|RaB5P;eW7*o>2I7-EL!|YD67Kq|t!$^)?3W zlJfqu_1bIU&56h!B7(clP1IAi_641f1CEZTm?dQ`Uvowjx+)vOU<-10_@1@3_W>QV zqO*+y`XdI5e97x?Q#kHn3q!pJ;bg&E#9+E%jOK%-DWwqqr0Ihb+8rM{eZ4bWURLSb zw2ef3df6t_XHd$3i$OM9xI^OL0*?lZ!keR?s2(#PI}fVh*;<*q3$=mFPuFxBizWbh z-{ndKm9Za8Ja%#?P-X&1_S|g!!x=kJ7iQBEgOlTQ64rn2>v@~s@_Q)^(3<`tVNQAc zsZ-E`RmRS=9p$PaS6`D}R!@QV`J_^vuKaXxcZt=VS6@#I8W5)ib=!p}fyVBp7`$6# zd+bMSW}Qv_Z==#odg)oOo)m!O24P%45h2mBloBModf!Tv7^%EHab5H z7ThrN;$-3sFHWUILTedf!1!@M5NCLCr%h#trsfB4fR@Hh#qabj< z(PBv#8`N&`@@0K7&o1_<0keUbW<)L)27?7YiM3H zJ3|(voP(Wc5(`5klX`5{nR)#xHH5E2=#*s~u#wbBh}EQLzC)TeM-l^8b^2oGR(@4{ zenhl3Wk6Biej*g$W4iVuA#iX}`gXDytrhIkaCEKRuUphR;!_9u>FTF?{uQ@D!(DcN zeZ1}^&|-A@TJ&{7x)&{$-F`j85_&3f1KOZZa~om1TY%&e^#{MXX<3IX`1wwY%fw?js!^x# zIm%<%9x&PH$;(2~2j_Ty5D3-RE(%=PvgMzi#O(L!l%$$~woU_~r;5hol*x}bKL{&` z$VfopZ5c#YXlORrZ+N@-gzGa%TFy@PHt%XHcx_Hi+*}Oz*@WJ{ziG_kvII_mE#+*S zN0WfaIQFR}=LS)RMEmKWJr=-^v=DExWhc-iuu%;!>oeY45IrNtl|IpK8~=97T$i!M z&Xxi^0kmf?A^dT^`F8?nTJtJ4+4S4I)m4QzDxfH)3_EJM zs;K0@HZq>%X=_K3rZBt|>}`nc4ZI6r6eehNGtF|l$9f!8+>dhR(%a>GN_~G_uv(`p z6g--^Ig@%HkksGL#H!|9VmE(xfx{Fut3O7!Yy%AKpm5vq<4@jDwAznLa>=s*WEdO^ zb&B*Y@pahke;J4fUKrxq3n1mxloCpb$P}__XF9^VGrk@_*_ZKZa5NO1<`^6lia?4w@$X+@bvP z_^xXTkS3UCyWV0zF3 z>XR)ThHhM0udb)~atd##?!}7N5~)6&hSC;6(~WYpYbJ|XYy@3>OmmVFCzj$R?hPm) z@B~mJIdk(|=b>-j;kkg{mKIkD)waBI%Neiy^{T!OM&Jn(c%lN^ zL%k|G`ghPUd8ou|vK$#C+2+fc(vpq|%fSyJ_zbKCMZhTB23;P_>&Y^wN-6_f)5ksq zQW^2MO6E`)u71383j3!Cd7F)2ML?^s^G-T~w1Sazc*n1z&g`kpr+GOne9jdX(vWv~ zXy6H;Z*CvRrlmI151**#IhsRx`2h+|;X@0!=aT^0X{Z=)$9UHTx_xs(7Ly5m8io-^D`SoF?LaTK*HJF<1+DFnq z_OgiWIYzGOi?8<;f7~vk3vXoFjyn-52>IaUMBLwD=BwzZbH6x`sP$KL6lTvf|B=u> zr>F$Q+7?Km4CJ5!Ylck&4%Y0?#`x*Q50? zd`*ku$h<`x)3W0a1PYBDC8P1Z#Jr?j(r5i?Jj}~)?%PKAE+hj(1o>?EY?N=iZyH$; zpfE`YmWUJ_2qPp?9RtAgKjTkEWCBKbKRXDsH?bZRZcnCS?RRB@_@{Zrc z#(XY}xu$oO13SH7GX0(ZX@5i=w?krTw;IGr2r^xrQg-+MT7gEP%^hEz5o-TPvYq0D zH$PXlG1j{dUC1qgBwMz{m$?{+snwGzIH2opY@1=MG;GRYW+n;QbJnjbR@eEMm?r}L zJ%uZ6)rHQ6pO3=xKkw&lWH!)=fxf=BWu_*2@8njxcDUeR(jO~o#7uhE2SLj)!o7^Xtuqq0z*1#;Gkqa3OoNxvVAzC#k zJpZ$56l53AlRIgKd)}j=A-Ak3mSO-=cSA6X+xgit9ye@jvU~kM82c<4oMcUAeciO){#Qd z<0{wYX3v2wY)s}jY7~cl9asmxb!w~1odP!u=&S_$01mw0!{1J#&+YW2&+zYM1X~Ge zPJ8zEOHR%K`u9?;@e@-3|0*)}A2o5e6E+7&c??eNu_CODBNyg8&Rz<8UH&*2Q-F4Q zkU;etF50F19H3gxUsMOlF39vD4NFXp7{$*fjL&G$piSt$?MkJW&nLOQOPdT&99kry z+arb-JO9lG1)B>^oL7OihWJ52Yu-3r6pq`-!nseav5~t*3&TPha54@6@4F(zM-_-3 z(_7u*tO4v0$}C{FZ-#PUJv`=I9UgNIzcM>yHU59AC^@?;)?@wH8dn@wZX9o$MBNOY zFR1-nj3eR{Z9By-3#gV|W{6<&Tf~C{LOISp>m%t<^W|R~^dS!@ohd*o#5UgKKQcqs zQ1PbeYv}R8kDtOoanISV(*Kw0HZ2SyG_TJ>6E|F=w{UaQ2}c3Nqi|`E>fh2J#4y|+ zTWPdV(Q{FCA%i78H^qaj_IvDat`xpq6de2u=CA)~tn)9RmO@Y~qdX5bt&;rF zq+*h2r)!=IU|oC-_>Tc92BO{vmobmAj+ZI%y6Ox$bzFSUw-l_tpa0Eu=9gpuWs`rl zl1FRtXD^AaXzuerdYX^=cv5*jmF(o3AxmhDJ^fF^R*bdfQA>Au75LxI^pT`<{xQbC zi$c$a;j~}m?x^QjaC3V&1prh_qk`REu4uw@KW&NTO_8$#B(k&S15EC=csrD>{ibKz zEXHr-bD%6Ty8d{Y=lZ&k@EZm8>4Ye&r*g-W#-qq+0w#~YnCb0-HeGFni9 z#d$!|VteU_dz*?&`d!Zx#YoWP**O-ubGqs-NrP+~3!kS^S*Z@V-OK)KYMsPEjVbK> z%AFRi?^>$kBO80yedfqh9*6K{dsrwG-u??$mb zZgtZl=X1_YY`wgH;=E)Mt}A{^q2FWUk^f?pu5Cx>Tqn1#j#9W4N#|KMT=69Gq{-s+ zVRbVf?1;%-LI(2n7pP0wNy&>M9jLVYr~{Q);Rw8@2i4_Oo6MSPNYKh0`Ql7=wJL=y zHH?J2-0Nj8A24uh;nMS3&9=CH{jBKY?^c0~Ks(?Ep-|NwxiM0+NKUr zHW>|gyS`$C&|DHYCAMl{2)-E&{2(mZH?-^%EHm=HYFsGnT{P1!i7$tYaCSSWO>qX9 z@W(mXZJWX3l=ye)TZV_roT;Xn&2Y(Tc4cldVaZ$V>9?rmnJHpWEVSESpLv5nsAC8N z=Kb=dbzbvcnAI#uM%cpAa35@Nxg5Ce@!bcv5O=hUuX>9)Mh3SIjj+TJ*k7=1zdH%t zGm>t`5crhTH^!HDo7My38G$1Wjix~XN#EF8XzPwnQrOfl8UM9PS75$g76HkyF$>Fn z|3|@vB+c#WXug+K9K&|)=A%u**!7%Prc>(GS%mAYM*Z9E$V-mtxbNGOil(JNB=Up< zz0YY!jmMAuygPV~fr8Wof^#{kO_d`9LF|Dy5zA(lM-kW_W94j5F^#3S?h)O{_?<_o zqd4EjXQbfNWZEL7hn~wTG89}Ps~Q&sVYf`L=V-nB>`pA_)1^D|%^$};p2=YpF!##* zmUt#(o>YjeXSVj6)=S}MHfZrZqxh{O>8#s$GTM?kKw>wFeE9qGn;-oHeEhDbh-}oOmJT}ayQ-WKDce^e3!f}B%#^)xg8-LS{VF; z!+Iy9zq6r3PXN`iYN?JAgAfo7BhQ&fa@PX-kv}2W`?0dO()$!#RIcbVZHidB=qow# zB@^NctJZio6?UJP4dc+*hQ8pMvPI6~6%&XD`cFk3#FJEu3#Iz6)DS`{igk zWW76*eT5UjsYR)n58PsFkhQy?uXzCua+|O;$jG!)>pCeD4$@koEK=s`DR(yaVwQY` zfP{h3Y-sCaS);65o3U30tytWN;d8T44;N|;TDo{|J?$&iBK~2gnE&}Fhn}D|k4r5@g7b(g&^Q4FH%ya<_gCOz6X^DPfCf0I>)v$Fj|_o; z22;R8-kSSY`1uy)Us=uf0!%H#~$%Tu{?0R%UDI6b$p1l!&uvvNz1m^8Xs|U6+gfnRM6oLW^hljvyi}SLo>aDUxJ~kVLSGWT zxJ-9dZnb?K|BLrsVP{9IclZ_Wj^G|Ze|~W#TU}4UD4*nZlFkbu=b3-hbCXn-shdlU z7J}$pPf*ZHDFD9Xj6_PJea`wX=fWl}+efxHzBhus16NP6uooi0BhqE~ra~d~@Gcam z-Wqs}YBEVf2PC14pLsw*7d5f@Y%ypz%Q!+9XIL^hK(mGDN!~pj?si&JKE7uCH_>Mc z`^(x)(A$O6pWYjp@R{EI4kY$GL(e~ zI8-;E^1i9#m@{@pt!SCfM;aQJWo1Ml*m&~NzG;BfR1eztahYtlt<;8`)WE+@`g{c( zg4d6Eyv`!T^^QT1_qw>LA>)HEz~Q_fERK2>p<>Fn(i^=07tl@g?R?K;@Xc5o*aa-7 z8L?o)f%qpm8S)K-?>?8{%3gF*kg?=D($%}?>#iK%Wb@xai$THYK&q94ZIU%xO&f5C zA&xMzieagUYK0nEny;KncQd;W1L1Q67b#CcDB3yAMqr%QF`?G|a@DIaIV#faln9QA zbAZ#;2lO-F*(@L*A}GjY_eDtZZFT|_$$U2d%o&B{bY~u2AOlLN31if5AWWM+9z~dCPdf^ORg8`)%RG!#61+Y^EQva zYZkb#hzFTAh20W{o<-afMhaZ;DkQ*hvmc}=9BEqbF2F|l^!LDj11_Ikw3obK(_Z?b zfLI0MnET!Rb%7VC*s?cIKZ?e&l-Jpm>5484CbHVEA@^}E94K6L6Mgp_>PcjCI@28Z zHu>z)v^fwQ{nM_xu&&#cd)!h=hW9?IPGu{c_EDzs8CqKU$(eliU$|ICWsA5vNsB2^ z{jp(Hm-^71o5d<|hR3$lR(Mx-BfNC0?8>#bveVv@k7FG(n?p|GJfhM-ci0L(=`#MT z1qBVW@v$pq4J}{YJc1@z)}r*bkCDIsqHv1+f=obMie1P(?7G0_D*8k>^&OG2!HUJh z1G#LOXoFdJOb{W?O|Zo|xu_OMIRJMvtYo_E?cjwg2?Kj7=t7ywJ?>$vN^IoG-GBGJ@1OmR{;we+JiLF`fCX^;N51xP{I>}4L}i>WR9KQtkKY>SxTvKF zf~tK>yHmZz(>=H(Ltiy5+4wSu*R-PWeO5L6*q;c=!RjMJ{aekV;X)SBPy|5ccn~k*w z4Q-!!;Af~o{AaP!w6gcSdq3XDlu;> z(%48V?67D(x8!eQnW->{<0Y~kOdGUgZ-3s)Q9iio&4(Az(?Qkrxz9Y7C{{kP2N76p z7XbK-$!B3W2*OD`v?WimjS_yi^X6;Jr@eho-+_&G*g0~!wmM-aw*0Y;ZsXmeZEt&lCCDXRd)iZi@26kS&TI@Z|PuYBBq&=jD zTpw3)3opB-uzX&F`zpakim0>HI#X^sZ}+fa!~8j1s@6;c=MpB87g3NNAw7k_*ymUu4D7i)=3Zk8TmwfS8AVPKVUUU0749bXYwg4Hn?T4i|;k0 ze-?WaqkY3|O8;``a#+z+nGP63X4?GTApSC(P?2Q-UyevUemz!}Z2kZ$8Y3iVs<6V& z4GsDxR4F&)DB7KdUsO@0E-zkkJ6vD*nMdWUi!uq@ebwp-R`IdL1Qtlb;+nzLt|x5E za7xHiPZGja_5i{9xR@ZwhPgdPzU3iVa*iKacr~2X-5j67N}TE7G^clqxUxDfXm#K& zM`>`560~r2gMO*oYmEMo5$x_wZC&u8rB+;1+;-$k&eToRcdUdiSvGbd*$?3NACU8B zmWDa5eb+<_&TBP1E<*MENh;BY6+c8WUHzhCMSnpYM5kr-0p-)PS{~srYo2!E(N`8VCjP*kZZ!*pxup7Erw+Aq=&-Jx*rkuR)d?u z)e^0o?#-E_JUZi(@6QaS3d3n)!*ks$_^eBV$zUPG(T(9aRQS^ZwitrcFLmlUQ8b%s zqx{-oZ$qj&PWJlz0)8mTG?Q7T5SSYa7N7O&+sd_NB$SYHy>7MJMf)I5+t*OKLO?FOlw z=rqu_RQg3mwgv%XyBpWwlY=Z|+%dCslfZZ63(~AtHdZwy;`Ezm)aVzbWAR9u&M)t; zs10Ar6kKvB5lGMtlJ8(0@Tnr4KRcev*79H3QTZT%arshI(cw;Yyi?Jj3rDY8r2mRd zlYD#S(TUEm1A}+eJZ2+>p~kx1`yD58{|4^RPV4hZL24pG{)_$hv*1JJUwRIozVIY6 zE%39cL96Qdy(y*oA?qo4NV*dKrcb6w_@%;`07hBuo^cw7(TafXp4mf+hjS|O)o5f3L$D$l z*3?C+;LQ{`onoJn43h;$UXzP`_=JtnmS>$&8|v>q&Z9Kn+a+|J%5aEAC5EYmEQZT} z%K)4f3s1j~16XFgg**(VaF4!nenfwiU-W?ZdhF0w`ydT|;hy?v9NDmvI@6P4mKI%0 zcu>7H6)D;f=x-9wz^0_0ap6wefiWFZ-|b*Y%oZ@s-r$TjH0V#5S5~>0+TzWBrLMh_t|VXe7y?a_il=hFc%$mh?Vr-9jb(D|43D4O>8yK<=M|L*m!p1_qIx z$2It@*FR;{j>PfUvn$PS$)@p{jXkJG{#7uFG_Cf#0MW8IPl3Gl3%B|>J&sOiDziBO z+M7=b2@?bz6^D%-JtHCR_HM+MDvukfg1+1$$kPGz{@j|+>VGU&((?gzH^iesvopa@ zrjMR*WI~xAbT;-SPI2ia1Bfc3cKkW5dJ#*e$hP$AMT)Kxq8ibqNq{3}I?r(9mB;Pi0|I(5B88(qiEJ1uT-COqf{Q;Sg^LT2| zh5+Vp_c-H*SuBgMt=dk-G#^xBs#NeXuD4EF*yP;64EsEU=Jc>_rn9`oErYjKT4c}& zPk=UJH0>xia3DT-XDeh^aQ(%6bphU>|gR=P+e&}Z{tmzpQGmCO%! zjre`=C@ghrLDZa)?BhnzI+V^^b2dxFC=%wB__KrE=h~waor|7>PnO80I zT9ZKHtjrc0KMhS@#BuNpsszmN0UX|Fai6%j`?r3St<qDmh`Clzj4lS2`F%cI&kkO$|bC_`At96tx;;i$-2f zUtwqw*iZ2Ump(L=uK7cq(zpR}&#M`dLa0l8a%?AC*LNSO52gm&3u+I5XY1wj5APm? zYc;X7YPeQZNVGPnL8aMr0^c5tr(eHMQ7iD#IN5lXQ^Yk`$_+jB={Uj!aNd=cvnVR0 zOijD#;$+fTmR{otG?zB1`|yf=em}E~_5|I%GgY(IA?8kc1ae)9OpU8`8ir^&o!_dE zvRzWouQPqd4MjYstTBB%z1O24Tn28iNHY%PW-vT=8UvN?g0TPg@RC-9_K@OslKypc zoVR^!Xm_P?haj3hVMEh&*f#PhGS zNtcMF-|$(F^(}KyN-?Awd(ldnI=rk|&`B!k@qi2ms_3Xc2j&6t z_`*Gsnhcepghs_zkYTorU=HXydOxCDz~7>0r-zmn3b%j{CBerpg zi?1#U!!R0&O8}P&wy95SBw2rUm1=rLVPS)nf#9<~=OivD{wvycC}}k;xNPmaFSmUteBEz}<==$0q+e?OTvX!pb(hzAWT7BM zJHXoCv*iry*N@Y4+%cgNyUeSq>G-un4>S3DNiHb!A_I=)-FmzGIK9Z{$U3x__K^>~ zl4caN`dObwHo)Ec?kLkz@Jq!_dxj8Be-_P!SN!`A{(daa9mclg{Eb~xrHH#isSGn= zouuqorN>W8k1D?3S%w2-wvVI!6zzOD>f)l`ySehI^H%}C`u~nM{EzI)czM|WzJ%xC;{1=S;raRbIR7hcbzF*nL4wv>42^y>>$#A1;SiWS6AJ zPOMQ%Ow9mQhc}Ejcfqi@IEhTRS3yb`F3|!C_1w66an&-8HgN>34>1P(qZd*a4hA5lnhf{XA;>S*cH*E zulfGy{F{h^c2N!x5-Pz<;)9f;Pvdb5PjHB*?y|>)6+T+{AO{VFO`!T@c` zCRwOuA`^d1m*);wL#y{KwH$Q?#j?IZhTMds)B7g=?vv}q!thK8f7Hn0PH=d*=$J0- zXix3vn-o(#ZnGxtp_RV=EwX|@?#$&hku2#=tK(IrvFDyHF+JSpMWElm!`ne8<4X9U z(#8E0M=4{MGXavKt9Li4!1vm1?l@BgChws_Pxg9{wt~V6|Kpy;r?zCfkdV_MK!=e4 zgQtZawKDUY^5sv0Qiv(3ImW#`jsq|-!^%^r_if&36O8|kd&t16&XdzsMdW8OqA0|t z?ryF>s^PqxcQOx9ZAl?ej4ue(uLfxr6JIDBU}Z+0E66J z9NOnAcx_Kju8vP`M30{{rEKJkmx2{8ZA+V{qzp15-NGFk1s=DFUAiFOD!e|+UQ_3= zMN`gf9RfVqvr=nc_}olVY^iQnBP8<(R9=Rw#-oFSNA#$ zs7$C3HJLR?_DtBzhme37Xk0tQ0vMt@3rEkvy6Nunnu|#5rM;n3{K_-~VdFwS1s*4g zixL>#qk^;S5@&3zZ(9(AZO=4g3HshX73gPT34Q0aY_M3F^lYJF7R6Mlbf#X_+U762 zmk{5nm6ccT$3^&TcL0t=<<=in)nHe@_+#c|n?LWwV@oB3@Q8GPmk()zGPzE zWRV}|j~U@NrgKsx_GU~crAqtKh~f}0d2y>TCTuL!FiJD*^~Ec&p~3(-OXXEy7j?bw zr6N?-W+ax=388qr>6D`x?jm_OtX(e#rHH{{OE0mg|fll@{O z0bhx8t!v|=?3K(aTbgdG=k3k_*l9M&S$@1m04yB#1gvUBd(#(Bh!9A^{6SywInmCc z?y-4zd#8I<)%7ajHLI(4%eK7w!=V{xo8+(P>ceEpL3p??zu@iW?7Xu3yNv@Pc(jMJ z<9je*$g2b|3MvI;=&$UQjfdL%hj0m=jQloyIUShd|GVK!nq%LO9rDcXq}R=DT0_~Q zz%USmiKm)SuBmvP0@l?5;E*3Wu_?~Br^a>M1sK_z+B?_O?5mA^S7$!%Q-mw!9DHr- zT|RKKu|9eK+OZ>x<>>>J<_Y!nvs}j<8M}+JS=bFQN4Yi{8UHz^fUD}c-+pTK{Y!)F zg_J@@+4Wa%!KXKC;HVMq_9w4DN)6nO>>V~rZZKK^c$H$W{fRy!(-Y6SBzPRDPx9Bx z?DNS8(hCOShq&P*JL<`&o?BPWQ+f?uY=sCYQGuK5%vO9haGsHz1}hWpsXPb-XWF+L zt2f(SLkPH?Azb(Tqx^tAK?pRN;Wg_+bkG`A3?y6f!`OPBS=9ry`m$gmzsI6Up7fcr z2}>pr9`Oq^`x+|_+t-Ch{5tU*r9So#8Qi1x;T(uIU`U6yU@bY`@+Lcv*%cefg0 zE<14N9qJ#mGmlR8_KJ&MFPx*C)*;onDTi7KFMK>01i^p;FFqf<=^!T`i)x7dN`@M& zmkSm_IL>ce!Ovh9Ny`R)GH?oF8P_9nZXptjfWV;x^@T#`?98F5|ef z&=NK_v5-Ur!{5{8-|@R=iX{dU2qQTuf*8r2vPDdQ{b9{Hs$@4`%G7{ zz%jWihN$sdo@1ZBaAIbN9i>B-E|W1hZuJ2^lyg+%z=i`Ef+*2Uw3a1!%x{A897jI$ zFTc3fz;g`&(w<8u$MB)dH=rE4$sLBKC*oP>Lp9>d!F#{@f+4bqKm8$X<%{4i{lQuhQ7dBH43m|u5;9-z6zfa8@k&b+)FFmhAAs#Ccz_khCiq}Ka4UIg0Z{-kNF+D zr`tpgcEv(o#!ms`pHYW5NXHk>DQ6jLlhdBOsS@b-frmoNu$A)zOVi=g9QsOrcy$Ss zbDDqSIN+9A5@zD>mhJ`cE_%29v5nCM2|W#oZY}YNakKf)1Fa{^<4t?|M%Mv)lxv`! zftJ*?M_ITV{G-1Rl0g3(D}fC;nJ*AoTx&mwPn=lLp@#3^`YUX(G1+NW4-d^&;>;!G zm{Qkyfl;2rYJ`nPLAV>L_`p!l2jwq1n ztIGodm;l!)$^x!J9TN1g8|GHB>EyFOI82Q4vH9xq;(J=yFW-Nzgz%rBTz>`q-X9OW z$?=wdFa8Hb6NB|4gL6rLD^V-|&2Enx)Bm3L(+uVxjE{dOeYJuOqoZbL(HAz8)&R#X z(WH$f_2Jt#jAI!}(f*OMw8JYh2iSKMlC&f>|~6{L$denamywzD-%f35(a)Khc$*U|-=< zqFD&n+(lyi+2jlA)Aiw9NPB}hcMwDw<*)ns4+`t9Z~HwX^VaED)pf#xe7=FSt-ax3 zPq*zSzS(u3zxKsu$RE^o;Jo>S*Tze_Xi$DGSnuX~zO4%$`une3Ho62t@-@Q=E5|%9 z$!KZ*P_JMn!9c66imj!*RZT~)&Hivlo<;Bv=Ip?u)w&x-unQd|{G$g=q<8yq5E!*A z{2rnFP5Aupbo+!e*+7o9sgT1d3jZ&2qW>$!4uiN~9xOFE!n$1_lv55pVS?`P;9nWh z8|7ts1iShVJY-+=7?XzF)7W29dY!=w86$;DGW22O6Cg$A4U?e%wkSxhjr!`+ul+Ya znw)?5Hv+N#^-+MkJpM1OA9@dQH}p$>RKT^1K$I%PkCGMYYcv|VZO1!k0m%IT02r|A z+MwIlx=l2F^bo|Mq-0ZONFkm6aggloD^z~c3mcx|vjViKJ`Gzl1?x&?lh3o56Lu1j zs^vWMOAm~3N@!x#_$W)k*-iMZENIxt&rO-Ki1ES3$&zbKuB6OlGq^!AaeZ-07Ha!> z<&LXG_@;S|dTqO4?O#oEdVoPL0RgL-q5Sauhub5*Sl%!xY|dStUz00+U+3#@6WCJx zG1^_XoTEl=y>E@a)f(Z5;$^$pEmb-jHO;;J9@3lZ>;9Q0vJ*w@rI8c<6b;)=`pCPFIZQaAN;!^CgQ+~t`RuX9eXH%vCak;P;b6SEHYBX{uuQgR$X<^ zZ@_DDJ`M5q!D`Dzfuli&P3mV?VZL3SA91w3Rh}woU`R@6?ymfnKtJi_<1A;f8kP*Z zHmny%Leai9B#c7~+hLqP_hC6mnbqAg&fcfu^HEEtW`$Gm;kN<%r`fc-h081`VhX)k zG*8l9Cd@pogXHd)&$?8iwFF!;40St4+Ooe}Kw7K(TZbq>CCWcNdU-wC?{RMTZw1Rh z3O7wux<<~BG#lft+Y0B|a&?RS9*j9QUT|Dw0J#11s2$Z;Kw+Ng!|TQnoD z7B=S$zoKi@*!(m6*TNW5NZQCX`m8l#FOcJe48Aqs%3S2y)bN=1U?Mml`$aXnolQy> z;BtKGeHtN1Mu9yn2T2t0iiL5Wcz&N1AlIF?tI&RvMD|e@K%T-2V@S;Hl85tdco=GO z2GV0B6&e^|EHf2Geo^L@{i)qXBncWWdr_8yNi6JXR<)3s!eKeoWO-l`! zphltpwSRoxY$%Fp_P!`%qG&Eove7n(E$%T+5if>B9-YAOh6<_g@mF*^xy&xVsoF~n z6FF)pNCdgMoWl;(P=@nlmF^cb2K%Ib<|b##!$SftiJs)eqEpNCglzX+-(lrb;5*o8 zV^Q5L;~K(!=suLAEgWxYAK_P%lX+)q;?9MQ*$q{fYNC~0C1Z(!gin-!{9?n&dvfJM zZZZ8^4JLtN$Y!o%NXgynlXvu!{9WSG!TW3-dy0#dVLb3#y$j`k%IKq0rT0qq;W(o- zLvrI)m$NlOk&^uAF^OU5dr)>8pq7h|)TKhL#HDvn^q^cWagfXHP7dStO&Mx=gUVMe zu%v2!je-)JhjwafBcuYC9~=H~3pwGm1vKFczoj4N_Z8oByllbN+>D^CO9Nl2AUj3X zTyCCO0e%`3bJybp!MBHL6Sb4orUe(sTn(ZDHKVhFvu&Wu@7XU`5B6!SVw&2yzg?0c zaLW=qIjJ}%HCvgla#>W*`My4#JDoZQr;)XM)h6E;e%RVQSfj>ha5vr%iQ&d@cs>xW z1*Xx{RMaIPkoB{2#v$kKEOm;SMf)xkpy$(no8x(zi^(T;6`3PCfc9+R`?Uc>;u544 z^6ZdcTlFEn!_2cyyd<@LZ_fJB)K}lZSqeG56#Lz6mB$bmzq|nn6i2mv*I;1$EtCyg z3$tgLCNXeNYu56yV7T0*iU^BLy_%frBe;M1=*wGmWmaP*W&$T1^8(JD{DO6NtVF4G zhPn-_0|IoJ{Nc)sT%Ladl9W8hal@cnjn4mKDSw0SEXSwPy8?xI_#~dklfNx||JwG6 z?-mI5T{)hN`(K~-#|1<%F);xDjUy1L)g=sVC6qVfN>I|Ttx46%q@Z^pqD&0*Go z&3CJ4qVMEjd7O%-@oI#f{~#{9fKBUeCo|qhQ+XZ4@{c(mra%3$$Mgr!f!hiLPz7YT zf13~gFM?OBF}8>45M!{NNj!4q)l0Oy zsKSe3d052F(taWb+f5*MYlq?RM4YZ=a_}>t=81GnhG+Ds&;V|u|HrGo8m$V$d* zMeM#Y5mqPnzFZ(OcKnVxfxbjjWmP-8JSvbNj(=*g@11Il)FzAX)V=up(|2pW>;i#~ziE8V7P5uptR zcWHtC5sc-Ox{S0D?qV_c%M5CAs#@})q>%ZmX{B8@6B@k6zufMMtXmBHRs$hBb-N=6 zU&sry&H3OO@t3J`WQF=Qqf&3itzL6q7L8LKjI_;?I;EZO6foo4P=g(Z9Wx2Y!_fRTdR!#* znix`fvche0 z622t;IlRm7TX}AHzEFn_CV1>a@gKcI00UBT*D@)Oe`aSndO|bP34W#HN;-aT5Hsap zucf0WS`gMC73AH=GO%%C(7Ye-C#AF@`RNo(_6}2fbk5SQW=YGuw!<*4k=yeOD3XRL z(0}R4iN8ahfK0vGGu_x>OZhEzY<}k=d~Lc)AUG`8p++!AJ9glEp!DTPz_ZVB^TW#U+t6Z2~~xelxSN{%0WeTZ?2B4A@|+(i)WE< zF2ck>K=qdE=Ig~+9p~W}liW9By8By)+XFH^%OlbW?d9{c_~G}oM;&`n55a1COY+~P z>A{k9&Zn$zWa8L3i5v5G$|T!K@v&BE1Q&cZKZJbMZuxFNCg>yZ>5xjU7}v?q&gGR# zT1}_<@AzfAd4=5LIud@%TPGY3RlcXKA>V2r&KNF|e~=YBde6;2wejrTA$LZi?hBqf z82&E3AmZR&N*ES|L>0ZV}1qDSr5vz2PeZhO>PQxiSaD9bF8ypTt2m8-h_RGj!D60fi9uvwkT7jq9v+I1eAaZn!*LIaCQmyvQXBpCG{(Ppcah$G#v9) zhgbDOdXe}xiol$EmZQ+70L*N*rKM*#QG%D>`6>%y*p_PLL0{?^fVI;kEIhb&QT#y{ zsRJZuM)_2WTZC(Agsqx3o08gcH0NzX=hL~8StZ3o@dl?38mFj>0Y6sL=|m;#Y{pOQ zXi?+*em(t{up$CvG6mDC`I4#>QF3aUL;G3(3KaL2H400DKC4|>=3hl1g6 z7`9WCNH5AuO*XllPw2nM&7U8^EYDZ=OW6{BD6V{J%-G*i|RJ)DcO4?dQ=aos9}#2!_{NP(|ANvuTxAU;>U1 zZXqi000HY+9Gs@6keP-G9%6w|w*gj{^$wqbx0a{>4{dJ&71y?Hi{h@q-6goYyF+jb z?hb{!y99R#!GZ>N3-0dj?oO~@+54P(&))By|KItqU7%H4#acC2tvROjIp!F>Z(ML# z)3RyQ_608F%4xuz4jum*AB$P@gS|cAx^p!wP8)(+|7H_|Y|qhn>VBoKVEv`d&k_n;55u9)Mxr^-V`RX*TT<+`SMwii&$9? zo{^8_BF5?7CCED+Ln{Jj<<#rVf#*mtJmz`TZdG1)=VFYIOH7|9r`B}zjf?ry75u%`=&r?Bs0;;b9pQf%K^hf(Jj0c# z(QJJo>&Ve|KBh`H?qo_wKlLK^fAX_PBMA%p>OX-omb|bG7v6ryqbh6RhM>Ji3Wz zJ6vf7R_+g#-i|MFFXhAHJKx;AlxuCJ2zgU6E+;Wp*60u5&{zCh_dR2K;4;TNRCNeLi3lC;$G-*K z{_u*)Omg>;R_x@jIja8)v=cjEy5!CA1pBKG>;EUV115(F*rOGJBjGF33>@r@qyhkd zkNUJO>QCzr9jT4KGt25gYbE$L-rpWJ+P#Xy^@czE)v2_Mlf`UFKy(&c`@eWg{s*>D zWqX@8Y&lCmzQQ4ZEPZjBB!OcaxIljNp*>4aAIG_CU7Iekgz{Lirl)wa)iNa@qwNXaM0B{;-}l+D2S%2IThH32$YQO$K77PR5?UsQPXCLBXRC{79pv87x5n77O$MN*&`Z0aR3x&UULnfA3dw0$jG-KWpnx2k$}6)(Zx!w?tad}sda zO8Lwps;DR~q}uOs#Z^)VJcLfYISpLJOBKYH}Y_j(lpN4Q% zRRWF@R^hvia%S^5cg#p3IK3qG7Z272?)j$o|3Ze69N`t!F=g#n0A5Jp1GzB81Fq<2 zFZ!TzNSQsW9kV!dCqw%YuYh*Frs+KuA+Dazi$)FHwf8()c;;2QXQ#;%B-P$@r+w{6$iIC@Dm*JpoR1gxMJH62;jnO-9=vx=z)wF_r zuH8ZPH2(^~uqt&=qJih2XHs_yP2I$ATr8UmuNT+3^Ce+Cn(-^3Na7p7f`9(E7siCD zOxrA3k(uepIKibNK=lG91u4_b=94vy~L4I1ZNx6l~ zRA5EU)K8na9+l8RT%z3}NDH3!?zoZq89v7yP|N5D16Bu(xi5tDtgZ_TQyV*QLd-HzzeW_fFV}dqnB<;8o9EueX}mXTF2wdQ z_%*K4Rekp0+uTc`M7#=Sk3JLP^`WHbZhbpuv$Wh;*zt)q!2s47DV#!e!g4lxUcm%y z^cLu!Lrq!sVadRtv590XLShs!izU#)+u)>1%IT7(4jkt$91)iTowblWfQb`@P51f1 zS`LVP(iXU0p~^~L72d@Xkz363AHRY*$}#{+z(Vmu5>PA(Mp{u#IKl7GL_zJgtr>?6 zj=&0?thY`t3Oyk4|f{-^&(ovihJqnN&Z{ zT`?jq4?4;Hvv?c0&iVr>Nt;s~5r03BQv|xCcnYxE>_!?7U+U7D#moW*yguFGcL<-x z$Uc->*(Aq{9aMcNTd`Gmm)#(QqrJyH#CP~$6d3#2-jt48K{ieK;EU@dV+hiVzlLHV zAU1SO9ehD&EDh*Pq6k(oDQb?t2klR+9_OzA{T)cMd-TDx(SAir_5__s>?LrAH=PN6 z)B0$Ia+qaV-QON#^_3)d&QOz;soANazcRbP-0TmGQD0lDXR0GrUSCwRzO>%Ni_Tdr z^=>k@aWK(c(f`97i`Vr##0Mf){vIf-h6t=hSE|NdLT_&i4l4!7i_W290D(9?s4`@u>vw?Iim@$VbDwhEK-0yjnS z;AT{D>_4NG3ee}d5r8h5oB|i`I^OYr0V-4DM8J5d|BGm+`713=2Zo^q(Bz8O-9$xT zwq0%`21phLiXCwmaDzrQhpgNCp><e&>rjmOw1lL*WZ;{l7xTf-9bFPmpy9Dp(MdnOa>-R4&{Us_e6pa z(qTsJ!8O5%%|^4e9tNLnv+PHLjEMI%IC3#8%fLPc&v{w8z}7~#&!)0(3yrgTFf3Xz z{+Jj@0Z3Q#O6JnMRI1Yl5<&rKOb* z>Un+0#5s;>D6xv-)r}hdAU^)gmzBqpgTD96kb`llOk+n{YkWU972cKCH!;<;z?Y)~oo+AQgcJF|JW%{ng9!&O zhxwyNR!!#FlUDBzohhoKGnB?hHd^(n+v1a?iu+={_g^zlOSYF@TpvE+>i$%u3(Vb; z{O%u;yEwKnF|iH?K>xZ`Vo-9<)Q;#{MH&&f%0L$%jWGX+28ldAgYW0e#LLdwsOn1C zK@;hoQ6qLu-Y{H)p(hnoS>>0L`zoS=(Wh&fV!@z7$ySLLIgo%ca#OqU*6$jIV8KI8 z86l8HExS1O!hu3_KKU*H423zu+pZk!oK>!E)KKZ~Ct}vFEV^LS+zkeCh|C5-A>AQ0 zm7oa+m(_4Tg?2qCaV?_kC^0ah$S&c-F9frQn=WWkJY1I*u_mMq3ugSfE#+jGRl>P7 zSb$B@wMF~+?3F*pKKwmFV!bQ8Wc~c8rPn|qP?}4baxpYNniOafs+RL`2(g?g;wfsh zpR`RHVRWpiOT-*PY%@Qt?boU83KmEubFg9$NLqRg?*~v9HJQjhFer%6p$;wfp^dTR z9I0Ftum%aH>`E#zQ>WyKjqQNgyQU3TfNRWM?R`wpcB*J4U!n$6QVvsoW$MxZj>6mUyqBw>=)9L_<7P*BB*eE2GQf|AU4sitDX!06 zalIk~V^Ga<{d_T>KZL12FiE<9IUml%GI@hJWMSGt2$q~LWM(rk2tyffF$A5#aAjd! z&`%*!+TLFCR1_G4U)~%Zp8IVub)U;-H}MpLpH1; zrff)6Kxfw!xw}B2IlWOiOJxY{cE(`-7Xrg&=Won%)84g1xmRnrW6d?IzMUd7@2hk< zNin{Czuro8w|C;U90}Y>?W{>mlTc>eLbAZ19hwpKR=J7ON?PzgVyr?^AI(C6VP7-6 zn0a%yG3^wNoS0;Bz)z={Lo3+D4+SdQA~<^@m+gYWVabL zwJm76v-c9Y3o*_Z^rTcppUR*`8;Kw5$r%Ak?Th1s2w|E|xPp1gK`2K`IN`beV*Oj^KPP6o7c7=B z2z_X1QyHd+h$7t%+hS==&!pX5b)_km;X#k>0#I5h28U36T-8Wex^ShTY>iKW+(ncC znA!?sRj4nYH9BGBfmxK@yZJ8xNZ7fIn;z}jGwX(q3I0+~r#WU8TwzTMl3LMfg>L8Z z9F}n$Rr(?zI;1O51{)VBTAzv$LE9@lJ7$|~m@&dge+XoloF-f(GoQqNDx^oPanu`U zQssz^*U5tzO!tID(mwt%zNVUG5l)k55{6!qYdP#w4e|o*+5n*IoMw;_oGKsU9MCVjJ z)^4x#`sqLo11DBxV|@|msjTy%7TP^5Gfrx4O>*hjw+FMqv;;I^Eg-Wbqc}FzUw{#N ztOP@!$YsEU%G=f}r;a7ZHvU4SfI_ZO?JMNdJ*tO|UdBGoM|ho*nui4b*#PfeP4A+n?-)HA4U9^-0qj86x54VF0^qYZa)v#Lv^ zU3LnPu5WC^nB3{>#cElUy099=_W5wk#b|ElpB=Q=?_yLp;~OnTzX|CF-Kx+99(^ra zZ~Bq@Z6I!v;`=%{#IY1& z19&cPMf_G4^g1iG^qBRM9#t49l~3No0gTX|i@jBYf@GqMdWXrSO39QL+J>)k z9(}jD81!FT^(HmdBBKK`2WOIX-?*sTV?n zbcFbl4I)M+MnSKL$5ckS@zn%ua79Cwqb_H^?$%BX=SL03T*L&ft?4Gf(4>cS8;@j|(j!r5_qVTh=gsPQm~p=jkGH6m z98e}$4UNwa7qZP14;`FWG;KSnL@QGAo{B`(=4p03hx>Ewn^koQ=r-7ikWPVoQ*`+Jih)tcnb%^SGv%_jacu38WPpAoBLPEFFokET`xIBMdiQ!h(cB%)~NmeWQ zeEGiiL5x6^$UVQkwPCB;G34;w2%Eq+#JN)t5AiJlrDswSiHurdv8d=npSw3-u*_P_ zTf}<_Nw**=WDk`8#~QBW@K9$DwIL%vALzfve@#^YLs?5bJ9n&}Wj@zQSHJUT z(yAI!KSS!~qw`u4P&X)$#nZ{!8q(&AKNGro5B7+xX>VCyIph!KZrB9KO`J#6zT(a? z)MQir@mEZ(qrEzqVqzvz$y;kCqv-&7Zdg34i5 zeLj0NFkoD+)4NLg)5}em^*6#PCdvNfElF9kTtLO)bghK#VeO2MNKLhd5xVE&<0q`F zvWnxSpB)9W&lbxx5^LA&c%FTj%{dcKuD5P>e;pYzKe2tr%si^3=1eRbXeB^u*Oxnp zI=-{M-`~z^Zx-NBZ$lfsQms9Co(0%z8D7)AX^v%w z8<X94QWp67$)rndaZdjse*-t0& z4kYcDazN^AONw<~S}G64m<~IgrByX4U^B3nVHQ($zQoufaeh7O`bzoBpi8&!(A)(udg7#<2>q$1L&>YB!L3)@mIf77g zPuN7yx=|`&$J9A``5br-xkGQegFLn1nENLjx7o3CJwj z8yjR3Vt&djbHRmQ}%? zuY#pe3vz&q&VH!#Ib@<`d5N1H&`S{>?gWfCWg|XmINTZZ9x7 z7Pt@`K+<-Y>7S05UwKl#(S^R5s)(dF$(19&`S=Un0}lsHvanO~6A|XKa02>gKb-+& zq;(fcK2Pc}ViL*Ro$oRo+ri)N4#uIfzjQIf1w3a<>V4byv%$(e)6OZ| zK6jKfym~$K7<2DU#H&A4{d9l$eGi`lB*<%_Pxn?eY<)3pmqS=$q8-oQ&Q6li)2&qv z3KO2*VODzON#UBWj_K&jXsBJY2AOvC#C`n_sqe@*KR-5|2Krb}iXFBibq4GbLf zclz zA=4a=chCctgFYSnFgW2LjGCO>1w)t~5Bd5?-pLk9WNFG^i+C3@Ua-I}K>Sb}MMEEV z^Y&|)sAZC5)SR7AN9sUZm}H_ONekDsszbo`y&UZ3j5rRO?)NWdehUdmh@$!U6F2V} zRJq2)6LD&6wh+RypxGvWh?B$5lSRtmC4d-|uyw3-a!0vNa*x6R)yW;};!-r@oiSI* zI|KeHPky1~)b{9x?u&4b3L4>i1pN@@9=Mf(d23$YrU747px8gljx^X4T%IypL&b@% zMZsae=Hdsc1^)5P@5>+R?~ntAv!`iEuo$iv)R}rg(CFk6Cb6gwa!v z-e(JZmPvE*6q`m9xE~8GOD>jjYa}b6sIl9UhabKJKdh9_tmL&?gH34}c6efSTkrVR78v^7RLo-ac5 zkrRsoC#nc=`naYy393YiGCb5bYJ*Chnhlb4$xbV~r7OE@ZxCHK@C}|(R+TijKt1xd ztP8KivL9J=PW74gJ~zIgJs%mQgwf8#G38lsQnmijBUehBQxZ9O7w$#?%8~aW%B9gP zeE#I^M-+fdRt<@ujvxpXPV~zXb@~*mym(zXy)UQ%#=8&+QHczm+1){IO0G1!s^c@7 z6of4w(gtb?gQMSaUHP4`;>+X!mp;wkA^b1S%On!Dn0b_>!;~4 z_QNOg?^-ipEqz)2*BQ5j-;kI59SUxKh7-*$H+cTA^%GOhmuEJ<<;mmz1@Gwj<4o?C zjxrZvNUyip=9F5M{_U&`?sf6G?uQO58@SB=878doRy0t%d-Idi36@2ECeZcWma2KLi&SmC<1q!Yid$9>Hpd3^o(wvB662 zzm|K%rGe!Q8j=i~iZmPXC@DK;hXACf_G0gkvnGX0{0`x6B7Zghh=D=$s>aIF=Hj!& z?oEdp7whHvT)PQNPW~QSnv?A_bJ)V(e^4QgawvW0W2+5B_iT*hI|=M3pGZiS@D+Mf4hqd|rvh@XmRer8VuhMI&yX1)#Z zj_f#0H}>yv*MFqt$NAq#`+r8;n}zvr@a_yq+!joXAO=L*ZCYz4J9fq+#2A(&*`sm( z%L7VeQwm4UJZCn`3R5LrWD@;aw_hC5uKPZjnng#bq+~PuhU=fnS?^NwN|_j53{2Dd z?sx~#m0#+D;A`%PB_W`> z*25LOi5)$Pn#9aC@X*0s$ezejijjfCyw4;d84z9)f+{$mVU-D>@1m|>e=kjnnQA?T z^4WIp9#r5GC#+_9<4;Xs#xakNVa`@4=KTf28U&O2Z;ZkIuc}%9FMMyTOzeO4F=uP& zDDH5f`~H}H-;^}3ckzijBM$C0#je&?M^Igk_YXsASBl_}!!=`j_nqLDUTONGP)AHr z2^c@P(6vQYjB;Ye6HGpRba&TI*(p9a3SL8=xULyZjq92Ev2b*0#;0H2zelQ%c(LA* z%;l1Puvf>$ZD@{laB4GqfyjsfFQUznapx5&{irc&#mHh-F&Pk(@|uIr11|@+!{V;J zr^yUGH{ljAwm{_5@w$4kcJpIMXsGMQRw2eao*vB}org(&=dX6fDy|QUmFa<{)^wf| z8ea{`CusXV7}Du)%3f>Tp1|tI#t9~j(k7{mw3H-~LYS2^wXmd&T?u2d4f$R?bWE}) zYZt`gP}vv^=jF(RG?b^^d%eH?RDXv5!i8-HOQf5G!{OO-KvR$S@(x`IRi)pPP$?ekczulOib$i6@M|erz=08gaW?a z;>r_>dxz8+Wn3<*4os43At}_d*It&=Gndt*y=T}OCFu+uOaO0Yndiru8lG@I~1TYb__y7B89_a2=#nH zO6oAD*-4g!L{f?ZMEquPy$G1lGCez`F`?lE_I(+}jhd7qcH(TU(oxM6&%R>Gn=|rQ zNR)=QrHy0K+L(S|8M=Zb*KuDM)y6-BKsN`k$On(X6fl~a3XorRQyKIc(GrmTdLTN7 z^CmK3nhXz4haJ_I_mp9{5$Y5ym&b@EG0g2nU*%=}1};EPsUkx6X&Z-93jG&p5zZE| zknlCk7^aeW&dx87YOy8e<3w_s2&JI53SKS9vz|UE0)&b)eC?CqVXMI@M)KR`3S5KC zz%KS%UMLk$L(+QiYILYKT+o<7k?Xt#Eb9jNtqib6%7O8+OFC+SRwY&?_hI39-*#np zCxqHirh_m|?7a{UX82*s)r}bmxKV?o&Nii(T|q~y09dAt#;c&gQyqi>|1<4I*rlzK z^Yus!Og(mU=43W4WZE5Vjk-sx6f8E)SXp9iHF_V7>qg=AblYH7=H#F$mMY#~Z0cOP z4#?iGUkvJEmtBbt#4peA*D-{an?d}`ZxN9@L1m$%kDbAsq>DX4fOM?ECoQ~Ed8D`m znL49*+DOgL3vTL-I)Wfj`AL&FD0k=Y8AvkE6g+894E zHzQ?=th$2bOR(JxHFG^#+5Iw1H)ynfEG~U+Cz~yS-RfNWrS*rJ*qIyo#zH&@KkqjN^{|*bwdCL%Ui) z`T?3A_S4nR5Mjx}1YE{TiFiXoH~*1k0%K(^TxXtBY7daUN$EQH;eA#31#CL|7XTpx zk|k6zgLk2`Xw9v)o47L51$&uVRsy9sn0r}GZ}${8wl5!O#MYb>UvBr|pBd7Iq19$WH5Y|QVA(@XEV-eeTFk0Ghkbv6 z{v{&)?`SpI|0A+e77pfrx|f)_{%5vLSy)*9HlUwn8#Xb;?r~9*x7Ojc|3j|^kl-M5$1k@P> z<}0`m2muI~g0sUkrSmp9mBMncLe{R>O~u|}2+PZT?PD~W8HVfni&z|VY#J*Md8)Pm z${64=%D8{NwrV6v@Mb@z2B)M*BqG!0Q=`IA6!w-Su4$O7lvbr(q4J zx1li3Q9;6|uRR6?w?W;)N2`DX-{v zgtLML4XwKyh!dGBdH=kKJxquTrCT_@aZ2#BQzN3ImAjO!+w}~)T)nH>z}_xjg6%y~ zerXpQ!aZLDK(KxdF}u_EALRqeUR`LnG*=rfxg0WzNBAurYgbiHs8UwU?Wnpxz$zAJ zbvoP#fXQgG`GfHMwT>(t640n@MW_^V{ki8n|%s<+({ju?Yr_? zrG-{wo!d3*?ulxppt4&|Iz~0{*fFAbDDr?CtEC+q=5KIL%;K_C!KhN)uYdJj@KN%8 zT|l-nQ;zoJLvyz1lFW?ZA?H+q(qoKrqHO*SADMjp-XyKyYI}oOdo9I4l7RvjKXdq{ zjgz}Di@5K*#*srI9D#0qa}mSq{^vgo9`#!LLCA3fChS+b+q& zFKLzj&;%Tamy<0tezm*7@-E-O2)0GS$PYJbCrKip3C?i_eJFPvf{EOTX3TC1iIU4z z0Lmjpw%>YMU91$c{E;ry9oHteq`sSAEFc1#=phJ-P+0PoBxIs+Sh8@~5Z9F949Aoq zOXhwshatqDmg$vN$f|?Q<{BC*vQ^jPrF*z(UI~9SvRY&VK3w^n;h0F+++v-)bJ}PT zcivdqb8FJwu&)oB`(Q*OhsJ!~v77U5Fvqi&WLTN%zV%*~yo>w8GRfPnB+&&{qa-w7 zk|bQoS}aI7?o5UAY+;^t+(pWl;PUCYa^F{DpCI<0h(a{1Z%H+bCOCW;Xbf4qd_I-0 zJ=->=qTXj8qsxne93q+ZH4lLAG0KjJ*X#5d8o8Gm$A)*&NwuRnd2BL(jjZE)&%ymU zMf&>yhdBErDCJEhk{Yu*WoJ|FX#2f&CImrj9(Q|Oc|TQrPB!_7cZJjJN!7UG;ZA%d zUAvmj3DfuS*RknubBR4}K_;dUJYPk>@1w*@P3cIeo|{j#+&|^g%^p`>%TAIqyv)){ zupLgmh5`m*ct#lw#}aL0&kHxg_xa0p_tSw6(^A>xrZMgqRrzaib%vYK&hJ5QlN$pe zXY9PAYqWx{s06o(V$cA+g{`Z`EOQciT&-Ja(J+@`z8iHOJ_XF7%&Y#Zlvn8$)iB2n zp#-cS1d--pkMc=XF;7cdTlwBM${K*EH}!Yj0Acgofo5odAyZ>NZ8KvVn;KP9)a;>4Zb5*I>NoNP8ao@NbKrjzXGz86<6o;=B95H zq04paZS^jaon$JV)0&YEQ8Yv|Sq}gWNPQXzH;cRrKO6Epf=?P3_5p!Ng1>GaR&uWP7Yg&AuoENX9c9l7}c^g2f;_S;IxP9fdu+ z2^1pG0KU4Vdl`Xm30PBp6JqxxdmO+npeq^Hr1!!Qnl)JjY0j0+)Go5Q;kPZ9{gTc(+(rW z$t~>4(M~&)>?dbOSN}Y^%omeajCtQXUx#l!z}_oP;o(}P;M4FnKIU7}I1cQfcnpP& zwBty1B?SkGg^#Dixhx58YtR>ds}o{Qv+OHrKW@%}oflUF~&y!5s$#)#s$}zx?`UfItp1htZ=bzYz5xN1A<@`IG(7W z>$)dZAU!naf!iW|{VM8>MxeXjE1fyVgsj@{ zU4=ami3z&wm)HbBoC%=?EKgR9;o8l6lO86K>F+nTuh@BRTX+Np5wo+iFtGnV$-v6~nV3=D(AmlI_bCP-lP&A-I|F|iI9S;JI0Rns?-$e@ ze?woiyL&Vc`9e%!EOPRQccWwI2>z3kld2Po=!28&ldK?MWMshP*N|OZJqDkN)!tjx zuWi+VvK?Szj3DrZNCE$@HvS`KUQYJ^hMnx3|04{0%q;9|e~;J8{%nD-v3!s@IyNf4 z&ywGQErlYNM%?W$MTv&OhV994+rb3b@^|_aOc~A4YhWWMjO^|xWZ<4@3sW6&rNr1R zOpF5A?HF3F=Ltz!E6jW5j$@pmkWyaF`-&^4&Nj9TGh=b$t(IL{S^8Fb&QpB*zNUFz z8CP7IbHM$6lLaVMRQTV9NOGO=`Mx}AbpBEkruF?blWS%x!uF%>T4o+dgVFMv21D*~ zkI^r^9(E@{oh*Ih?Y?n66x&%iS)kw5nAd#E;MQq`2Ss)oTpLIbI(~6{5ht1<=RQCY4?oR!kZ>FT~@QJ zTidII!FBP*>-qTo{xX<;S4UMtv(G^*`dE-oY%g--#Es--=1n8fHFB%lk8H!-@m_PY z{$5b9Y2nze%2q|I!Yfz&|rX7ZF~zT}R6R~u9)9LC}4fxGm-;=Q8?*9G1)rGA8_;rP1+ zV$N5twhUbNB0t!D*3yxh;ddS`!|6`A@8+ewpo8f&TEAW%9=5;5WaWe0Yin16+Y34m z^J@I@dG!TPo@b59t+M08`Kvwk1y9>mx|a>3PhiQXSn&UZ$G^rYiN*-z#aX6{Yd z8v+g-TFJ(H+YJ}%IehNMwg4}$8~wu2lIPuZ!i_?Q{g*p%ftH>Y8aoTW=X|Uq`2G9F z2nJ^9U)w3QXdW+*XZN|@51T9HKDSfLCIb21dTQXlx$iD#?VMtD%32+l#ba?2mpI=p z-#vZB(IfV%yU*R+Ds%O(tn7C2?wj^RLrUw{HQ;Fv8ZXwL$Wa^>&)2ql63!d_FeDS> z!FH)9)3@KyJRovPd~Xh{b3f;))0e+41YP6^G&jos7^(NZSV!}L_*?|!!V>Fel1xsB zz}7Z;6jjLY7nd>WADIg=z*4-{8G- zGeIW@?JWkx6aA;8b_@4@XrbATfa64=0OntqQ;6T}*KGRaU_O}}cN2%h2eWU#@M z8(-GDjYk>n;h`UD9xE-Wq5gI186RM9WYpuL~X!WfOzey*H4}mH)qrU0wN(5PnKFJNK zKXHrbf4sl%W7RV<2c(iYc0MRuF#{Lx9f+{5JDqoyoFfXjJ*_QArb5GzGx|+e75A( z$|5XldwLYk*2=YC&jJJg!{GsGJ^Z&a7H9vV)|M^25C-Gh;ZgLUk;pwYwX1W$Gm-O` z47I6tZU6zsIC+ij7Z-?{`oYE7HUeET^1~DsIz^sk8Q(VR@mIwF~q9G#EW4=$g zWWuApM8XKH)i+R?nRad3;HcD?&g zW6T(tN<4R^!vXJYSDeLY27>z+7zR1la3iu(mbwV4hvqOFr(p{DLe0vTD%d9Av3 z$pRULPJ^TMYvvbZp2-Iozfrn?963xoFz=iRl%`3iG0lvKjY5Q_w`{x)VECm)d{!ML zwa|;!*3!xEt3r)rMJr^yNJd(Z-V2zMLt(u!B=*1r`(+4`dlf;HbOqV-z}He@?b6xm z;%I6ZY)Bc8wy04}9-jV4CNx?Q)-BA*1geR^^hpDq0{2H4yRvQpshPXOCjt!YP$^uq z;XMe0Yu&bVLMKj{^SJOOPd=AX{n1-;ezY`fwB&4&9=Ua}mcgI-s59lK;u`}OEa_>6 zPy-A^BSNFSqr8#nqeuMcm{W4s)lx(Pwr1V8?6>^D$@oUNWn#UTDMKw#ns?be_Sx&Q&RP-up;9p4lzX#GfCjwgbd`{)5$oiXAx-+ zmxc@&N*CQRascBaX)wlPG<)%ph7Gqxxn4|um{)I8@F7e!dv4TN?fL#D^#z6*&3DVt zLZBZ43K{7#q>X}uHwO6RzKRCAGx*hulHo0j^L)~yK>pW<={4C5V4X{h-WF&>Pt5iS?@1kp#)-H(T${k#~S%8<`0VK5$Q#hpo$_AF;LzA?Ef@J)NwJ zdW&>ki72j{K7VVJxzefmC8Vu*Kp(!ZFV5hLkTXa{ZWb)-H4w)K)+^^}f#&>^bDtUP zVhoR-VH$f@ir|>^TWz}-kMjU#7&q`5~STHDRJjc-c8xX zwHJqzd#Wjb*~@Um3-t^JYkNQ=orF2n#k2tLrnI6qKfzRgU*QtNSW(W8A=#=OS7~(C z0G(UvIv6&RwL&U0Rk1(dRxdG+DPKzv;JZH(@u9L9b)mtU(=V*^G1Nae_-^L$0@H?o z>~7$WVo7q6UV

    5I_<>F$BHnmO)iiAjk?&Hz77-5!UJv;=9EX-Ax5Ae%{G9=qEm$ zrr<(n?3Bcm+ z_nRL18c2^kXmNnNjKgRC=NdkjaYo_(H`lk`?QXowyp#<8bQ6op zRnJ2G+s#?<%pxBRXEyCa7}FNc--OoVeV-W%1jt@q0jauxjlcIg&`fu0$6r`Kj2^Bu9-e#D=N(f`1|VRRa- z)e~6jS{?&<#>a>VtS-5$&7`5}u}$Mzt-fw4HzxnE+<(=hNekO^iH2o-DXp;r2*Zo- zje?hJgXmx3@}TPIZOevTrdX30gY&ObgJ;su89qQn74*GuDWrS&>BOxg(=z67b`pRjqD4^ezX2DNGkovp%b(d~|7;Lnl7D)0yY}jMlbG#?{pHdA@1XtY zq0#=;&H!*(GQ0^NskUF3syDnGY@z4-v{x<>!vT_h8KwV1YK_(pj+7O>QYzqe zZv&k64o&ef{`ws^abHk+S?9s$u8z!sOPzmNk$@Ue;{2_}ps)`8ZSesd*Zx*j;JtDz ze``d4w%}k(#1k&FJWbo%qBXNGdS!MxeSKCteQft3htokR{T!6Wdd^vQBEyYFY-ZQ! z3cPS8K>|Kih4F+oPy$S`9>36T!}RjCcV)d*THdf?j!6Z#A3cDPb?GKWD69k7{qkiN zljf$j>^!dlXV2L^^krhXW<$$7=sHa#JC_8AwXR%M#uruEx-8j}#)79LP_$yfhOY`e zB^giv-+YUuJ9W2nSAP2?b8)VjBEHcCEf?JEooXbSKpy-l<*G1EHy-Z6B0GO?JHR_t zPRGW}a^Qs+JKjQ80MRss8tdkT zx`R@(3$f?-GD8jU07|gyq{q*}X|U@(z6WI)&0-hxb3I$q6K6GNs$+$dYx$fQMrMR^ z3}!8NGU)=_>pm+!+x?+4Nc`u;cf;JJYAy1uHs~qC<2?dvQ!FwmGpEf<9lp()T-J>_ z&%Ad;Jf;hNn2M=sh7VPmj+*1A_4m>=^lHav!Vz4?7D`e6r;Vox?{qB{ued{(6s_z< zTJfl_-#+P7oX*V3f8Z4~?>ysCcV*AoX#g~*bT2heWX>__@H>UHdEnP)!|*|VfrDN0 zXS;2kyKWKPwk`T8MJCLrIq!xtot-;Ky(I7XO^V1tkPaYQFm2sgtFKkj=Ox>@uu2-{ zioxDWeI5%QQ_eJj7K7Smw^=;jx$}X$8q-Do|rG;GDpoj6t{7bAv|i*S721M zQL(WI)J$01g>8YZuPCDKpJae_OjbI2vs}~WC~rBuZ(=s7&|vKJYw1ORO%W;h9`z-> zmNHF5x;rTs@&r5fGj~Mvq3^*PXIm#(M0(c&Aaw8Lh*hz3;XB3}q0b$Y`%mQTm@*Vr zE!1Sh)%7}Kos*Q;=I@;2T-e}7p%{XN7Dn`>_R3^Fn@u-kJ`7A?JA=~)L0?>#sL?;i zGuWdRu7K}XX9DKS&rLp2xHK($a~?zmcT;>r_-#(T^mr0O z41{+kJL`HeFZ?>zZEjcq$@+|2rhl9~=X)65H zbAmxCN-gxoAE@~g9TJL5syaDc@u2Ihj@fIzO^aOeD<~1B?irRhW+ix4JdW z3An=&ehSDy5fghqY#70~PXZ6_i>}&`Jv~J;a_u}zLQF{4@BNHr8Tb9mr9}C+$|S-t zf?U`Bqocx6w2V3-*|Gf;YwnLnwZ3)_pqXGlL&*<8m$WPhrZrAU4#`-DU2A3O>0pNj z6ofjh-#uy{Rhi*a>c#KY+jWqqlCh%v>n2L4$@X;)AYcI7#oV>-z^`u6; zpEpo!^wQjEF!^Mo@iYH~w2dgC6hdw!KGQ|6aZ@|em z3B5NO555o(0jbF;+j&thqbzAQ)aI0ad%O1NqLc0tMFe3)`Qp*ENe2lt7SVcH8CUy1YQT>H{C9Hzg#CNQttM%dMU2uttAiL117L`LwA{IAvhCX>H8U|N9Yl-nuB;w%W-_ahx~r5F6eKKG zlSQL?sUk$SV=^@}1u!E@!v_mym2$#$DlCkgaCer-w7m5i8Qg5>XHgnfBj|>fl=)XE zdBm}`NWKz#L4wkoTAWwLIhrY3OnZTDH2<~!O4s@~zoX5h1>MLkcOEMa&2&Th<(Gqi zgD=50UFxjqW#^(eyx95RO!UmPn*82U{c6zOA0^N^E z>ffkQVE!N8-U2GFrAr%bAPJD*?hrI+kjA~S-~mFg1gC=q4{kw&Cpe7-5AN>n65QRL z;Qk+S@15_ycV_-?=CdqTuhU(1sw!2x_I~!Rs;A~nY1ub*_}g>iLc5E~tC+#_YS`Di zH~^T4gY=O&Y$uNk(2Uets#S>HcDiS2=Z;D6R6X~QVDel>z>{44-kOcgF>iywR?ksK z6q(5*{7PMmo`J*Sy9AEN+Q-R-yw{5!3TeR=Nla=lwdd!mizhA>Z3;wiWU)OjpLx~k zYxeEeWt{b$DfU3?d^kAjT}>)PE{G&vMyX4Ly;iR)saL5T3$9@)S#?P)r>}E4HHgd} zSVAlIDMa1KJ-(3GBj0zsk*Iw+XFs2CX{%O+MAz?w!CTh-6)!dhzHsgNU>PJzxIbcF z&2ZOqKv_4RI^Lues!_ztVfgFYoOyV*XlhiXH&Srtk15?c-C*PkiHmXsIfj$5IOyR0c~|z}dm>`?$F~OK{f3Z4d4Uy<4eSrkHvGid zsF?esR|FrBSlpYwi$qMzb)@Y!j(evQyG@ID?}76 zZzvh~T)S0MnlgNiyS^Bk_%9$$oAKSCI_jVFRNDNUojSTllV{VvzS!%M*1Zin7m8?- ztuf`!OFe|^R>*_GyjnJ=bXRo+mP$nJe}$LZwg%dv+*>*vBqlb;tY1D`Tg8_C_F_Un z@WNl8uUKv9nQQODKH~sYZQ6#e?0S}3emhq6EJ=SzK-yO(=uJcX`D+FEPt{-TzD>xy z>iirVM{Mw@s%4r2%?MRtkhL;uA$w2oL?vv7gsxubnWsvRc?lf+Yc;=sI6F@uFJN50 z!t@Ny_2UX{>8jq}^?y-K03|p>!%;Cjr{UQmIB2ms5XOEIvabP)0_RiTlJq+5l6J5f zHOeSL#h*4&ly*Ns5_unh!GUr!l%5ofyVzsu%@fI~4qSQjm(M8DNBxhe|9=%@L-P=8 z>go~((&wuWm;A|rMF}R$hRby=%lfEtfExl2;D%_Mv24t@A;t`tu`>MVRa1Ahoof&f zceG|0jq_$~etJ$CWG6Lc4q{*OMi=Uu_BnFAJ)J1!5;f^~YPDDL`TwAI@?T%YXesmi zL;~#oi3uq|1!X-kDuwIv`7XS9Bo;A3PTeW@92&|W694w+_racNQ@bmKnR9-fv5SN5 zXr`>Ghz6d#I77wOJkmhYdh}b{*&5x@DQN_@-k-fq~GDt_|BrzFN--=K222J~lU3 zg8iZOIXPdHyg&74ixC!L-%|S>-rMCLO7A)Q@}UP3g-VRSNW*3ZpuR{+?uFGxM3UVW z3Wd-}w=2EYNkOK!B+(o$`EKDdvQf_bkEOY3Z!1cbWHZd*Jt5SF2x@h^dvAMp&;lwW zz1V0&XT?86<<7V$)eEyK`hAI;*DJ3wpFVfVYi4+W!?~?}T76Y?>Izwr>HHCaaqgAw z20=j)5$?S#xOnm#O0%JM2+yH4pL*3RwiUOy6?eu<^u`e8lH5mFn3HJP#Jn;Vg9HN^ zANML@S&t9NB`GHYx0`(Fd17HXU7Y`^_pYwFcAoyRfep#&?8tnP%-Z(8C zEo@Ew;$EfWz;l0YvcSoIU7bBx5!i7(?yLOyONYnseT=xLotAN5(va~KvV&)yZ-r3)g2e~F(y{B|AE_r>+a$LEic>Oa?!^rTb0jOr2Bc}`Al5*Y!d+GbRtH6?B%i6 z{0AGa3aJT)Pgyrr&_X5H@t@*<+L}}$3dz9JhdLVZOZO!V!MfRT1MRAGNIrnsY-dee zi+i7hKWUTWK?$fxi6Z$z`2Bf+EtI4|+XSc#t;vv0tZdZ2yzVnE2O+y%YbkaJK znKBUhGU8(!`8XZJ5(4gCI1O=#<2ad7n2MK^=%j4NK|_b}wOkrvonUa7yGE<#2*TT< zMYIL0Gf6T|4P&(|0Ulw2+S{OXwaFh+s?g1gNb;6DCX0v40iQG<%C0t-05~3!h`M>P zy!)fMcyBrAMN(sVXRlS70xJNAg5%Ih-`6XWEs?5yTWg;Q9l1YO3J<%|Jo zD*W}3g2^L|sVs6m0xcRPf;xjGH5ET?CTYg^zq~1I^TX0Va^*%}xB%yvPVVeA7beZE zBg)Gyld-p8%<}J-a|i3_*7|#*6~azX!1}@FtTwDkhsw4*AQyL%+xn!lTq98i6ig07 z$q2E9r#sB60s)EIj?4MlDSwz#l{ZkZh=%tFN8WbUwHki zv7A`+r${O$`w^-rY=)isz=-}=r1yU-T=o#N{wt6OVvG0}tLk<4z0;DzC?7u(`t)Hg z&Xxt*WxM~JHvN(u61C~jkaLu*%c!AHO6O*+&e5IZr@>D$S?r+B%n~<{c9e8t<&6tr z-<9apKz|wAIXDLQm5a&{;n4~`C8Y0>2j`4gBg*l%-iG7kQBD4p!q~f~(kXTxocw0> z-@y?xL3y(@JzZ9_>}D3M(b zmw3dib(%$}fhd9|-Sy;F!N9UoQ`=$s7VPy?UVn#pZ0;pdtCq-DLa{cKEtQw?XSZZ# zMLliYScluJK%j;#J9f)qhr6PR2ieDi`cJ!e7~VQkQ*N$)%Cc}+wWq!_)_ai5&SpDo zEw>e(eV=8E2m%HFFkd{&B%RT$+#PgV`li5o=8}(aK15Sm6VwtKP8~>C`8k(BGGjjD zDeVxnz10eO}3c2n9L(P z^XfJv0^@M(+COG^e><=gt-74{Ny}WlU}pLQ!l%_%nM8Y{t3BuTxxN=~D|UObz^QFN zA=l#{bE}GHc)r&wq;1Y0^XdqLY^Binlmm+yGe5Nwz9ACxvTlTQjLSyN5l6v@4aL#| zLWB~^&ClP=VSh&n(DyqjxxGJ&w>K#^m5jBHg^AaBK5TwNBb+NUKe9?F&&l!?zwtxTTtO zQWQgmxlXuAZMux4f=XG!+XJVWsjp=;pz3yXJ}jZ5Jy{5AIM@FB=^x)bA3{x1p|qNb zlHcjYQ)8W0V}rt(kZ-x404|HPXkQgGbnBgCi=3|axceCRsjSh4p0Gk6iLl)`v-?*S z2I#Ep-2#}fgt&d{*nA5c1&_#kmFg`%XYRGOV#K^wp>od^(Mcn?!BJbDZ5;GE?sE?c zDZ(_ddJP77u&erP-kvOHwBFCv5W^JqG&~FrUISA$+tD9Mxm=-syV5;&PZ*mXbx_7V zi`qr>pJ(6-Se*TZJS5-uMJDLYcxEvMuaConCDY0nd-8k_%6k#feZ}T@0Y!u7qk@Jb25*B5+ZvV7U*Ls9NK>t5 z`ES1TN&WKuDlCYs|0Dt8R{+?ut=0MqT^y1T3a!9=TQaVl7zXwJbe;hH_1Muh@vQjh zPBs7Yspo(}eNY0~9-7CIat96Xrz|9TVJibmsH!DX=ap>PKjxUI$zHKihOFT0eA=^d68IGKNpqx^;!jO;-*Q z+KG->8(bUs*LPTT8|FwB1P1X=4!h7#I3&m)Sjx#ix`g_evw{hBbS&qr>>1nPJ(f1u zQl+(k7_zXFv+~)hxWyu5SR#p=g%nXAY9Ytnm(KSGH{b6KRD`t9VL0ITzb|3{%NHNy zXrWJS4SRsAPxnh7?kN53uwg%k5?rK63&zRyZT>^$|J$13f7`VSJ{5_Hi5W?n=NA*Y zIc&|7|FYK4z2Lf&Us+NC?>XYtGX*kidGO>C)v8dX#%X`_<`y>aMaL5AC_tq}Rrm7e z5+8{;MD{X?*ZUVuD>ZeMYf|SpEWUUfdHWHj!={82t@s=2g1Oo`~@9 z;1jCHD?@w!BL}Xk95Juja2OSG`7_2mF;5T$-HmOoyjNrC+xo1ttVbAzC9{qHSmU`R zK;hKVwuQ!)i!~TL1ZFRBc>o6tjm(w_@W6`wKJ7$*vs$8DhAh#xK$AXxYBY+eAKFB3w|_pA!~zH6GZY#V(%#V>99?%k7`*7oO(?KPY9knTuw=lrYu8M}k0~}DLe0V3p8clZp&CG39`_|dH$f<0tM_r5@&WC} zbXCqzx!AdKguPdPv!xBknYh6P&W-O@*sx}k46D8L#{45SUnzc;jEh&A;LfSl0n>g| z|J;Z1;A!B+$X~mMajF|lad+rK^)o9pr?PxO^l4{vWcp6CwrjM~3V@n^)mTi^_GB-e z?zD632_)ewhW2k?GyO3M(g&F2@MftQE%Zv>rM#qe2g-ABhr*s2o1$zhx%`|Ui_K4B zkAselqt^^^8WY!U?(N)fuTvloV;H&Px97~p#;(cqC=I}sq*Zt^ecKlGoQ2P)UBh2M zjfq!3^}~N0ckFxBcfx<(xI{+0NhXsVCK(!T$Y%?EweY;)>$2oRjB4pCn*D&y1IG+j zO=r{{Jhi2|co|OBmuxFC4XSDr5@!>2pR1Ssj98oqU*kYRmVKY?PY8H8i=E{euSbz< zp~H)v)sMSJ^}lBe9G8dnO*MG1IyB;C8O$l4VN9h2QyySae<9>bgaR&VQ-3a5cnEx& zl3k}dv5cS75!&CS&74u-GLMqRm@1viPHS}6>U~@kl`8wM*j^t+4F(Hh z$5H7dvC=Vv{iVdak;ti0jp}0cMojwlo;d7|nXY_MJo(jWxklTGTAY~UG+r{t*u(^r zeucwPHn4j;p<0pQ1J{r~%0|UTg{it@f9ulAaCNySWhptNUw+4VKhqz$@F+ZeeMJRu zZ&MZV(sHe|S)Fa6kYm=gOruP22acuHnK+?6U>?&5&8_PEQ2V}#)(a7GZ{+ymL(FtO zU3Dg2tx=MPprcJ)BXfY;4p7fdFWKfmyFx{>=2$p!A6|W6EB1=V-!kk7;?^gigSOcb zafbrnfOk$pT;@ABkx}c<=cPKMpW5XRGPSyHKGQ5I7&_ReZ7Oxs|LE6G662ddv+*Lg zYhw$ai2=eM)y`YjSsSaP#c>fq(co&%^x{l6j!5JHecE&kEX2-$(Exc;jW2|JFO_;M z--MKQla2gwN9(DV-e7!ErQ#5{4y%h|8_~Awwx_f-5Zypg;lL3 zza$sh&X}D;_`=5dl2sik%8h;Bk~b!tGQdG@E7;HlGeF6mr4tHCJsXv9nYb?&_w?Eu9pw=0^29c3P+*mM?e85mS?@UyIbFb9LYt6k(wdbTE*?)h*l0 z2?Z+#Q-L>^FsSzUQ9CYv7)DTQ;Bw-!MHshU==)7p_II=>H`;$iNG%afr+&pjpn}ig zT3|zH3(YjzWQ`E6dzB=*yseqhCg)XdH;JQ9Yr0}F(qNY@)Wc+{lRCtZusJ(qJ~~P>7?qZAG@_S<3rrHG&&X-UrF5Q<&L^jkl17!;XxpjWHG5x0 zl`(Jxa0SyrjX6I>fu+&UMj8MK#wvls-_9e7FlEi8hhFVnWjuY$ks*;9o8t9W;Pusz zTEx|EPe2@`?H6Oo_?G!pgHwiak?5JISvlaNtZ-TVThQO2!|zXbd#{4qV2Rg+62Yvd zUG|kS%pp4<_IX-dP_wjOUh|sDM~$hks9hy`&g?Z7-0^nAd@p@bM~-8TUtcnFZ~oz7 z7tYaQgQ~*6ul$mXWAdj{&|V&R*{IdZk0$)Z?D}j50*Ijn6 zjb6Vz?DA9q`8K9^p zCD?6q5tC=t;@ldjTzvGtG3J@7bM&)4nJS{KNmDe~fmBle#Gv5aty`l*zs6Z&h{w+P z{O9<_>-xc4G8YG@9zWz+x=$mc4knu$pXS7exQ#;?#Jhtrd$4EC?l_6NW{+hrl*2td zUz$+ye5-jp#4@bo(kJ0yCgUw zxyglV9vUO=x@2lglV>oEyb@>kgD(HIUq1A9KDn`ItpEWF(bI2N3|_XsBf^X&e{b^M zqa#D=L~Dg@br6$r^6=@Um6Nk|$FC)SQ{E4*PW%@a&x5*h;=uG3M9eY^SQTBkb%BpD zl^j!d_TMf3=y_7GNJ)%?)iFqy!X!~Zc}+lL_ChX0+F1Ham~AnhNxI{Uay*$&xCNJV zUX}2UPYDqyHdxbUj>0=|yJv^{x}ljxdn3tUvJsw1?o-jOs&&8DQUbxI>%DMlH?&Rq>je5K)uto*Pcn-DfqNI5l<~}SR%c6`WfOZ zQ;KC2qO2JZeg9bNw!%y$57#%rJezB-dubX?h{7j1ct~T9j@o*W;lD8$8z~bo+fJ*K z5u2V@#J?Yrr$Uyy#G`>&BEjU67$j%=oTIZbYgC5W?wfrvzOI{{C-YFMxqMQ;1)i*V zF7MaLqsLZb2b|;L=A>^NCy0nwhm7*FyxgJ+)M)~d+GT0xpAo}!je z2d6ZAx7&2aCqPJ}8Om&~{e;mn)^^DEW=S4;iGVaazueMJUK%phjuV;TGOYc5lj_A$ zK4H5@lS*XioHW=**bGx2ag#z^M;6RZ^LcD;k+fXILf_}{#k~vxJKR-HltVxM1SKmQ_vG~f#R6Y zE$L4rYHG8@$9D+lHa0onWS@93v$?|3N?Ga3 zBUDYVXo-r#Lg@MBb-DkcmFgRJUR^w<_;5CYD3bky&BRIH! z{s>|u5P=rKWlmv27gcD*_`O16mz=JZ_7Lak>V0E6lvVBK(85c|DzUzq53`V<>1@zu(ByN5l`*jPaQyL{rCW5~982sqr`wZVT2=hrV0Ei7uTJmD0P z=a^kvxU^r`y=+t`YkYoXP4&v1F>d@vg@}q>!{E0{K0~I~3SBo+NYddvq z2tp}U37oi|R?J`W86n5yMU7*B9C7>)PCNehxcJ#P|Du)PVCVY3a=wp?i<|vlZPMPH zmh%b^nx7uCpzKbfNoK9HK%lhOA|Zy5(1Ao=7x=OAO|Nv+PQ!i8e{gdF)A7jIroa2c zU#G0_ZwuOlGv9~+`Yvt^|BsI*#^QPvRgfpv48Q7Q(2L@F%iQg*4>E?y`m44KLWMJe zexb5Ik`nf8>%_5x`lNzDWY#klx!bl8=5wsR$AkOzD~0oFc$aDw`0S8_c!~@`yCFvXg>b(w;rTJ&hjf zVX&+wrT=OlB}B5T<5*y&jh$RKCn+WOCuPIU!@OhjIWa@dMW0qP zQcRr(qPg7yXFmdfKqnUjvzk%O=FiFsFFKNd!d{;pW1~Awn%hSj;w2)J5PG zdJOXPM(SVr!2og;H71i%g==~SIp)cE3ev`abtifu@3|WpkwKK*c;k|* z4cTcP{}$tyv&E}5e?o6lxz)V#40i@B&uxbAvuGVo02Aiv$%(!gF!bnAo)bvXhn7OO zAHh*y5%g%50+cj~9cu8D$-o}egi~SE8%qje_5C=-4n+jX>1kC2Pr-pyCZm~wWIF?d zl$@X9v5CD_{MsbC;y$Q8Im`4dyEhT?c*H5l-WOKhz@QIYVZ*8&oP1~xLxu!GbC#K& zUB-U&p+%ttho$B4FkUMh+v(oT-SG!ElI=OBc*YNbJ%LPAm~mVX>?fEH0+OKWmPOx) z@cw)ta>z&2XWjY@?uYJg=Y4JFLRc^)--l8)@$~F{y0GD`TMtB#_^oG48n;kDurYYvAN$Z2A*CQAB@{S8u+@El z9#xnSNI_;=wo?S1Svh-Sz?vu(&V9J`o-*0;@#m+QRA9nD4Lozv-d244Y6l(*=GCNy z44`KT7QLc8iKGzhCN17S5`AbrD{X3+5tr=jk>s1;vxvV~zZqlCDjgw(foN@NJ`(`{ zMWD!s`pGS({D4pD27C z5)gV)_atQtN%bKo222DSGJ^TL|DJS_ z8_g@CdMKM#&Pm6(pf;7>Ny->LsOYfh^U=`F&d&zPqkj zxY$GtxfcJIOv=wN)Iv->O<$xJzR;^Pl^YGCbsu`C$N{tzleoGy`*e|M)hnwakEQAs ziBnRNEiQideqTl%1rF~F3)$8e?|~a&ShMm|vW0)}>QRRcPi6Z->3d4i+x3hQHC|j? zIxQ&9L)YpB=UhtXo}#baC8I|fjJ$g@(tKpGR-*Q@ZrV26e^{l&U?lA3GIA@|`h8_H zZ~nHyaUnSy0ZgqRDl{w0EyP16Ua;#p$WYiRURBb&F5($_)GcEt*Kqv$&PT+~EXi0> zqe@s*sj+CmCKpeZ>c`pW3~u>}fFYa?s=?5klXwT1)a{MM)XMp!U$W4fv*e_=eCm8z z(^{ukn&=gwb>KJhgHyjU6~EQWqi?GXoN#CKDJVGrR@?XRT|8G2+-2__9t zQZ>21zZGlmJKDfpGJ_nSQ-mpAX|h?6m_v;Duu^hdyd_X1atbtMIy&Ds zbC&5{Z?I^R4z(PZL6=pV2ETL?)$?7RwUds|@_g&e`8!LU z?MbYiSDI*lx0eRY{ciMb%DQbUWW;cJkS()vr9CcasLgcFA>`37B_*nVgo?Y?hE?=7JUvQ(Ha`i;O>SI0n%8H%G_JqG9aK?tm*Ud(!O?`sxNdT+eDw5a^$RGX!K#?K^_uZ zyv1Wlvs6aXuM||=5o`7n=~Iw1zpDaCPw+rrAu)~3^3KE}@spsJS8X~}Oxc)XX&F|z@ z#EdOUHx(QJUAIw|BU)huMYQdI+OG_#eK(-L6W(%mRrKxZ76ha?;oo%!{6ehrS;r=~ zSVVfzfSDS$V#jZ&z-kF7Ie{vaKA9uL{zGNJ`1$1M*Ni7lnPdCCueUx!F*qGf2<>#O zMe2V{w=$=iSR0{RFtOX$QnW_=VP8W2-CkiF5ybYY+tEQ4S-w}hl;c?|o<#z#8rZD4 z5o(ImzxD7I4Vc-be}D<4)@~)QHi6!(;ge|}*TY-ib6zgm*%ws$WEOFJ$bz1hgK_O$ zO_P`^SDv|({H0HMQ2V!QiJeT(-n|;3K+Ib2w&8DB?8JnH{?@*LMUq< z=A4132zNDSJC)3azPzyhEvI~UwhZ``eF~glEe_wI1Wr!H=$WI(!l6TUZ6*(m9{0_> zFz7zO_HpkxexYfsPY=P)eO!H>SaA7CI7$BaXvb_RsM={16PDpRD3rhsl-|tcL(A$r z!uhg}ypN05NJa|J7i!{@k3X#W$gQ%~Tc8ng=sWZ%^GnhCOM?`8cQqJnJJ;3s`;Ao( z#j`OX;jIgZF}#Yn`f(6MgVezEGtT1Y%>>F6)0H5m&L{YE%4ZX8t&Lm0+p#38y zbSkm>B^dv`5*ORK4|LycD)%8xp>mC4XLf5BtZ_zFiJZ@$RFK_mgNqg608`Oak;l`p z%aWQDIkVMNeYWF@0GQx@8?*Xoi77$$be9hP{t-;>#*mvWW4u2nuTHm3sXeb7?s_70 z+SQl#w{`Xip$uN?ovlgB7)h(KJV4K&6 zR$FH*(}g^ir6oiKwcp&wNURi=p7Bav5u>3Cjr|rj)P|G=$fiN#CSOm37Gao?-YK6(s*1wQzUus z-an8kkg*>(6BE|NU$ovI$i-<5J6aPrP91DN09(H)%MKU`jnTyWxTJ>%!Tul-598T$ z%r^Romn5o?hW%DYi$W71zDF(vjUfq*1Xpi`&cnPDqi$g%+MoBb-S#cnhYZ? zTU9mc^<*xZ10;D+p*1Ub;^V3N42}D|L`6<+FAo_2emy66E|#A7tS8@wO&!1sGbInHw zV~H2eM&`jUQ=C2--9;xco-?UM4L!<1l9w~&05>YrUJD&v=5I9b&WO1gM{C!dM4B$T zhfv4xD3h+{)F8<#<9@(|#daAOLlspzQiYVGsOTT3VzfywzxwnwR}-~=H!7MeuyqKH zUBY;o34)Eihu*&(U+Cgy3~h`jRi>BB{XB{DCmP5wAhvY#miur?3$~sPs|gW^abG@3 z({Yr~Epr|)Vh4}Zb&*N)W3r^!4bX-8@O7z1C2JFX+)Cj=*`s)do&TQKopX)?q;2`Z zc)mPVmORuSI^B2}n4x6imq;D@=23OdSY7-upj^3;JSXDGV6b}4SKWoSF#V(456>6D zDVJmUtQC;uSGZquw<*Ei6ks?3ps|_#?~rJFLxx-d1KSkQJXF`-*t(MXzMS@tz9hs; zL0&XDJ^&k3$lmNuQ5oG3DRu_zN#umnIDb+t> zrvT$GH7?-EGk&YUahqYdN;P)`=H`|Sn8JjKV!%L2cs}d*fXI9bEpYlc{&o4GHOzC^ z##7Mz@J{>`BVhFDAhsSm@m_-7KWkfV6l`xem}NsA!XpA_rD)7E!%hOKgWtMQv0xyO z3ha&=nB|rbY>-vUdgVO`bRl63|Mwut?Vw1^3KhN*lLdPr10*DC2je;&yS*mUy!Qae!+%` zSSg&pcm{lVjDhNclfmJe178#@7&sgUQH4|QAd}c)WobD8YaBN9hlp&kBBUTcYJPYC zV7u3%Lsxe=XesA?cw6J&t;)9{TiMtE5Nv0~~VgI$O66|WxxACdAbI2MQ z7AJE}^73aMWu^A+i3UOq@B6QM9$A;OAGzq-7kfj3-|^h*zEf~IZ7Avb0KHD&A3btM zlIK~o6UBl#l#pjGFp$zGzP){W=3{<8*c_9TyCqd+x};}zKSh^0c+2W6Yp?~QG0)P`(jOsH=Zht~cTU;u?kSK#_+V%Zj18QybR1$V0_ zx+Y<&7Ny>W%5FSs!+1Itg+bI5(5 zQkFC8eAnyno2`&kyUf?BrLjbd>%d@l{Ktj#6U@nqVIMEWH<FEX_@i(f2xPU2FYB1FoE2<{UtY_gvu87Zn`H0LO^1uEcxsm%F zHj(+dh<=z7QxfpEsaAHQS4p#7-*Dj`E{&v@pthqcZzhlagqvM|B`$%%xd#?Z@4A9T&-$|0>|L9s*6qSdJcpIWw5L5W6yl?#$`54l zOPIm_h*KQ$(KB0*Ni=^~ikX(9{K%C(H8S2NiHj4WqFbG)-IUV)AQ8lDISdjaM6fk- zS!hGlo~aQTvt3%a67Y;!9OYkRr7;Ws#;b5Slb7_Q z9fD`~SKmyHp{;8>B$rz9DNbveTaNZVQ_W#zQ@=qg(e6zoTKxO+p-6Ng@@SxvEF9Rf z!@aQiya_xvzi>t?TvX&Y^rtD=im9Oj+erO@%jrY^@Xm}h=4;e`EmtXNV|dx(V}zOf z5CXSoOqd8G1Upk){cBK3<`w`}RsI62)J2*;f=@$%6ql0BLgafdA%4!>!nLbg(KS*4 zu(GM{-E?MdeLI%LcL@F?pXJm3jF<>o0I-%#0Wd-X6LNg=DfIrc(NW z)p_FZ0Gy1dNRxRJVcXHaqf0(M}7il3wWq&0Pwdsf|So&mQ{-s@z&g6byo-gw`S8NG*%w?E!CyBpW}Qx8c`L=t`YK z0$qvEFal0odjQjP2xvw9D^wz$s29*-ltK1XO+0w%8gi&swp2|7zn?(rtpnzGDhQzQ zB98d>Q4m2h8AMe~&lD7_i=L8`!paGfEb@On_BxgbL^Ub)!}P`PmtXT403G;0d!!P6 z4yv1 zsE{>tkn++>nDBTnV;P4!`$6OV-D^|>((#d}MyPLr!#gDaP1Bd(G)+u|xo+R}(o+EX zO+$cw6XQ4iraJo&EBnJCpTFlbCWw3B?bHBxJH>zVc1ELsgXJE0pz;7NP|Dw2pt4Vh zBxxV$b>0Gmp8z=(K=?_+QS7%RG*^>Q85*m_zZrVcJ%~0gG`RN5*6cbh5#RfWzy8`P zt5_hplKbP@Mhr1OIyM-6o**boOV%DgL1Wt4uyJxuC*Gh?q5VT<$0QtlIKa=zKdo^W z%;RWnv{6NTC{tIpNtV}-dd|Hc4d>cme`vnFz$v(V={+QL*{h|vmsvK$^_Gza@1prh z?JbM$T=6~$iQCrc9lNw`w{_ZA>(iR2#~a+t*W2xjIGXWMenD=hh+Z+y^739LLgC!;L&mG&A?}b? zZ$CZM>|gC`A6-yzU$QKl5a3^5e8=4Xvam9-)@!C^|LaZ6H?UlTy1)iCz{;6-D>cfR zX5VAwjlkYLa?6?OMCz7{F9!R<<6*U~sNOoMR53cq6{8`a=2*StT%Pt+Veln4QLhKq zzSP``_ski6b#=zh%oz?EajZJ#?IJo|)3M}=XgXbRM7eqI6e91<(f6Z}9o#dvW3|G8 zunmTuEEUe8nM=iEorHB!841U`__bU%SHI26y20m#uj7pUtM7?knDyQbIfh&QTK0?~&`g62A|)*4mr-YDOjBSMK=_ zhN2UlxM)N#2=RT_e`!Dx?7l2em33K|jWWvvho z|54%D-ZUvcVN#OLWqcwf!oIbh$#_rZ%tTBA!*{wtzl4_f+@s{#B3{NUGMAo!W_fXR zB#WACV*>KJ*p3rVd@=|7u~E0gFrg}oVxm%)WE8m@b}CP{lDF!MF52hr{Kl~+%~6N> zTH}qQmQ#$j_tRBpm#>qL{19CHFN4*et{<=pnok@`?5-|eZWKhM%Sh8z)gWv*o8|fu;nOq_klE#|l)xi1(WW_oXNE zc`2kW*F_K&isO3`FQ2x8(W=gYvs^?p7c_|pStYU{nSyX|y&wHgyM%({(hM14{bN3bU*_bWavm zLLrv@%ZWe5+U91*Sp^c=g~L`VQ-buIM}}EvGunl3bu>2j7xytN5M6cI?eMxUm0Qt& zxrJPOibbXk#g)ypAvf%mSO6S z{|gHoeD;FS4!FneoUb9gY2Z`VMxnd#LFkt$X|`p`?rQ3s<9yuND@umg+qPgS;~ z8__T9XQzX>K~C0^>Z7cmxsBq?ocA=+-yK~uI}v3{P1N5o1Yd6^{Io({Ngz{e6=(9> z>KR=tyN^8&&f~> zCD|G|*~$7-%YprCm5FVkI@{{lFt(UB6*w2hNF-Ej_s7PutFL)BpNyaU(xBcBtfN># z$0)4I`b*hE<>t*V^< zs6Fo|+KTZKj;Q0_6|#^T#D+qa(0=SBYiu7_oT=uTrvuD>-FvhNn-quR7pN;AQx|;4 zgEUb_B69ScAx7SP5q<~x_E4qT&g+TpBiC9)o%dXZlJrS2Pu%0XHclX|U83e62Ipqa z)^q1HUI_ZJmM^yKv;DUKEAXuL2vBslX!}*!9w$eG&8?yp$*G#r#0wz1#`!tfZeC- z5s+WSMxXPaIU}=U6rP=`!K)+d$dCB)J}%F13snGzjfbCCXK%bB@x*6u5bnIH2t1Q9 zHG0Hpjs9tp{u@!phEJaM2Hne?Yz=)}Q|< zp^J6$dWF^*?q6&F8t!*=Tk-9pcKC+gX`x`Qx?%OEFX4Js@!SE{MlK7(`$xI-CIkyB zuI&rBAvbF~%{pm|!czh?|7e(UyzJA9M7uMNsdufbA?3GOs}t%K4Rm7!&eV((hsi_w z!V-dW^bG%sNc~U7TZ^WjIVr`y+J1bq9G+_xx=D|~2{XCl!v5E86$=DZNovpVdIkTt zQE$I*o`0Nm{}b8zgU@M-CyqA)HxdHU=bPRs19;1KkVdd_t^elq)}-Jw=07_7)hEkS zj;sR8QDw<@Bk|YfP8-I~6=MI|`{}?;nL|YN-i&HumaVKHj@g>uen3;AF1fbV%fqLM z{wn!h|LE^@^P(#LZm6!H9B?P{zl>$N=^;5f(E>^ru5oO3T3++t5chLt@4eemxWQ>( zzqmh7h5om3y&MUu?RsBaSw9J?5&!$z=syo*;x+(uJ7w|&A?NchFFyi@F@N|?&CQXz z+Oa-3EYycTrN}b?Ql139PutxQbYdIfe&eQ*e_j{xmy2L@NQI%0fHqbFF?EHI~1TgnMX2YKa4Rif}w0&h*T+6mC1PdPA0t9z$+=B(T;O_3hH8=!! z8h3Yhg1ZIx;O_3Pv(G;F?7h!D@7{Ocx&5O*zSWCbRn^sVjGD9Nm`7D+BO}x56$-3x zz<{~<4gz$oFB29s5;p`Z{>+;t%2s{t`bDz`(q11;lT1bD7%9?bM;-Ss$K^)leSmd7Y`7%?YCqy&fq=^G9D@QYrdb~ z*QQjmUPdxk0Q>IJGXVXzk3AR+(I5$bJx&xWYi?@!=Ai2UL2IW@kLdymWw`BcuJbjDa+g60 zCxUIyF$8O;b;`r>#?BXGNGz&k9)Z_O*Y?(ZjD%Ai@9j7&rccR!K7f54u$(xpwYHhX z#2n3OKhixS1ct)bNe7eeBTO>3wW;sZ9$)R2E#7y%IS+rES`5!3r5;wO_pq`P?x^8@ zmz_SfqOHZhm6zD<)+E5|AK|cU?KNAPN;lu!`|wIU2N=u@4Rl>$LeznXd0WlA8(@eB z`IS8((^5A)ZPd-EO5wF>8=>~|TT$aasGRyqOA3xa2zg<1>_cc3I`raE`Zm94yW0hc z%Y`T!g|;_{v6yIOK}7O|_&+114eB);NJodAo(0Fw5qCJZ-IfSmCe#X=fr=k2O7&FV zZNt@0mO7cQmEl0ORC~tmEO}L|l&TB?Xm(DhJxi{HF83x09=-Llyu_9!c%unEq>Jf? zKfh*#kG|H+O6kKPgF&JAMWAaRDCO9953#35TCNvnj2G`(19!>+=(6jo(t@#DBrA$de0&iz`i@>nvK zU5m2aO@}YEep3{IfmI^-bPALD`Bh%?hqv6$C9_czLtZP7xwX9jL(od9e4$p7mVBAi zBPp?-e5=mFU9ktw0(+TF5yGlWIJ`jd!vOlg49xHi`<~ca|25@&^e~bhT>L%PIpeQA zA=8ZQTFB>Y9|gK|hwgCu;C@^S=Qmd#u0JCw*}j*0pJs*iDoe3xs{2FC@XHl| zCOmvbhwDn1dv@T}RR&WB=7UDh2=r%o(Vk@Wo)rzc8+(v>D`L(L)Qj{u=Yjp!M}7_2 ztX}KfXzdcI>to441yZw3&w`n0I}#Kfl`@sf_6vmdD4i|!PBc25sLjAsrBsq)R-xyC zvd^!t(i=f|;Wv5uv~&_+Z}jZ+{6no;Yva7!eZ$@gm|Olum ze>Uur$=JHu{||?ePv9VS;UC}$HB%4!ZuArHUqJF}V8~y5L;v7J|KU>t8REY%flR$@ zoW(2#?bf@qZsgcSE7G9P1u}V7f{dr_kJgLiU}wg^bfAmmDA5B6b5U*Du9X+bDMvxt z0#-$FSzL^q@>CFi_IPnl>k)@cWpO#VEs}$BvH#)q0zK*9*5&`ap?&OGrf`2RPXw^z zUp00V&mJJWF6G_-4m}}!3i>W z7`>JcQ>A9t{h(?5O_P2egb5ZY*wnXBCBq2Z1ji!23$sB2(RfDgE=iKr$mZi6(b1%9 zst*V9ASA_B>vl+)fm*C-b9XGsfyWvpv0=C+1kM=6`g`A2w#yA@6*lPnU{7x_--Yjc z&^uMCs8hF>IXa$^FbRKXBjDEUTVvD@VR&Gm}3iJrd3PdP9yye)T#jtCPaA`Lmas^hdC-#j)!;CNIl*dAO43m14zDc+4 z=N8;J(`HV1AW_809jDc|ftyq$MRRh+Pf!A^zSTagPHczqy%NtRD(XE5qFhdROq#Uv zwN{?m3x!r}OG#7GiDHO=+2`N`5PPakGUY{3GhL5U^H9}$oJ*F^_Pt>phYd9jy1x7c zKINJ=w;@S(T7}-K4C8T!L1@avEOU&nOV+bAv#Oc)(Ie9_eR|=81-rBRJgKaKEEb~c z!;9o88NYCW+w)NDaLc~4(II5yRt@n5rcE8_DbZ2WpiKoor&q`9&Nt8aO5`DzrPwCP z7pz^Scvo#-M60}HHgd6GXv2gF=J@VEAnN@zYG>yivW-A=<4=@I)B4j$Y+TFLb-_Gq z{cLJFV%8DWTaceo5h&0d#h3w0U)Oe!6uNrNc!klBlEzP%(ib-I*v{WCOoRBDa^^)KivWQRw1Yq*z4WkAT*(+<}E59dF}!=>o_h z$uySahscqD7+ZX{o=ka5_GYw6icdQtT*!ALGQB6cL{wEf5+!8>gvF^1wS_&Rkhrc-$!cmFvzxV{MgR>)IDKK(urNJ zx91JL`|{+PMCXuu`I!i}568yobZ%TnTn~jAtO|Ar`lC8=sRSS<5Ed5E{rv3BY2D)V2;3)_tfvW1+#>|Sk3CRwjf)M}JB;~S;Hgt`@N43RTUJts z<>~D$5~;XzNQP)5&gzN1N1SBrLXQtm3fh1Fc~Ihb={AKX%MrV!U`)GMi}SRH8%zQ< z8qu<8%-ADl5_I%rlHXjrNM9$0>mL){44UXK-fE7JQm5K&i*MDC?0zgfP9~j8VNSKp zFbsy<+uGD&9L-#$G&H!`u5fF}?mh6wdvh*2cyfLAo=r=ynd?q%l$I#prz&Yw$>9p( zPc8U`(pn8$WZ@fv*C)>zudNG}{_yyLmDh}U@uMjv4H||wLpt(#pVhNyn!)7)8W%oT zqJ3k?+#4;DyWf5}emKq{@eg$RM;EgLQ5ve|FZ*goh{Haa4%9R}jfWiICtH3F+g*2g zGDFz9O9=^6uAN}qxOx;=@LxZP`6qkhfii7|rQ{v_LkJ$`q7kI=i)>6JMxh23F{EWchVM4$m|x%!eyXDh4p(`bJj9 zo~my(6aV6~8dzaqE$H(JUogb(?>2k~uz%jM{&)96Xaz$2_giSNyzw7~+=~7lEfS#i z0O_Fq3L}9wPzZ=;D=RCIPB_2iq>&E65PF<#4We@wWTw;SVRKguY*zL0s!+&13Okl6M4{US&a&>78NLiyRU)Y|sYg?E` z&WNOM=cA9{8?{a>Suj?sh#1Q#XS>@gEoTqiIo5FUaO;X-KthffgQRgSU+5iO_tE8i zLX#TyRgtowmvlM@6YfaGI&$)KiTa`zPrEy$Y&+9cy_2Aw7(LhVZ0}+Vd}acEYaQY1 zibP+4xkDj0h#f!L;17a16@Z`4MYGl|yw24zroqm-D0PBh9}qQ>d>X7t`RV=TscONJ z(CE0al-OQ6{j%Cn;tQF$^_ca!AmA+i`S9$gN^`QNy#cUVGf_(QJq1EyGHYnJ-|I_{ zvJkj1653P`p_C$(6H~{Ce-**2H%Mc%(6gUM@qSL(;^t%%*5FeHqa|N@E5DKJJNR#~ zya<6^_Mgp_O?zo}qf)V&AdeBF&a!i{vH67hHzC9GaU=+;+@P2YAWj4{fp6=;gj5ed zcN=UG!josACo&s)a{<)@Cc)-l8ZoiyZ37son0U@OQ>5Ud+k8rJe_&yn!2#RC2jcR7 zF8VWjK0A4QfWB8fAA+WT7ZsUrD58D#Bcg8y$p+`5zGbB0r7r$!s`H{(vXt~JEjgEl zY(8^$3Wjll?~?72!+P^LqQ6U;CuYFxSabf}%AElQg)3f}vhC27j!|dwa9z_#HYHN0q z$*jVAFUS3@KXC8xRa&aPRr{(scn_&>%Jz1Isfh4{G?AqIB8^A1O#o7%&DU)NoETqI z=javhwAwd&7#EGkaVzewrFPINRZwsqr9$4-pbM(>s3hVS`pmsJd2AhQd-R{3K-p zWl@4kM2F*3CLXXu#U_Vqt;Atl!r_A025AI``jqTACDb99Cul*7^*oYtkN-kz#}d+R zV!GYzDuC-ISlok2jYutU9xmftpln*9j8FnWi#Tfyd_qz$6@Q^yc)m_Lg_>u2|Du_6 zS9@xsnX2Su;n}RkPv87iHCsACi;@v$IgshG&fqhX%h-^o&i2v%K}n`}K0iCRx}8qediv5HkyX9zEwoKL=zhHp934o!`Q|JThjgAVfy zwqZ`DD)&+d;*2k$sLvyCw~P$ zc3dgwv)?8Uz%c*Bv+#Dc@eYwraqnEe7*1dX!o4S35aX*gOfAVaIt%fz0*)k01rBia zg%;bnrm)cr{2q5a4jWaSEhoM5} z#*vQl^TB?y5s$r>Q%29P3i79dd`qecMIksQdoXQET6ay?B#Z1NBIG)nJjxJZy+%v= zi4<6qN|IcGd?M9e!Eh&OpFr-&%gC&^OyO)hfsv*N*6K z{AQ1qF!yvuC3L>p%afXsw`-YUl!B`{_2ucO9Yx4f@17*uN?$Qu&0%M|Y-bK0J-KWn zw?ox!y)_jMvG=^F9>{svN)^Ni5%Ab^#8`8D>vK2nN6Q-ek44%V_~{3IeHM2kLz{#) z;MJ99E$4so>gnm+-WjzS*P=FB7ed`uLN~9b&GHdWz|G};?hrmS_##X5K|lFePy`Rm zK#K&3p(CO}PSr@+T@>!l>DnOi(ST0+aNFuO@c1LKq0b^(rI>1h8L9uVz#S%S7C-9e zn(xO}k)OFFvxjMlQsUo9!cl4p)y8X@kiYrq)!Hi{+=-72PJnc|nd%}{KX zAk)%x8PGnS$=!s9qu|OoEsDtQ3O%3Iag-csuDt7#d151XqLoDF;E}l5`Bt@>u|*&u+Libi_$kk zGvnB4i|FsZ6+lpVPd7ph8^RY?8{CgF7Mt7xNS<`))e94+0a@G;+V zbI?VVe<(=Dq|9n$^f8}&rYn4F#1R^7o>}WmS#$dqVjL`N>E($TRz_tx!K&fll=j@^ zO>^FDB*eS*#scptg*CP66}%%EmGsLPmgi1NE55@v_wkm;$cp)x2x{n0Fq!kK0G~ZQ z;m$7@#VEXu?>Jq@3$A6NP7*@%HCj?Q%>^;fk#J1;*2N+Gr|;w;>P76Hono6MWDZ^+ z?{%y$T{m^AM|Y7W*LL9JpU0Lw8s{Fm8%~6c9&ku4SHkCo%|qeszMuC#dUPMBnB3mK zv7>tQ==^H4xO>=emo0JRbre-#bqFgE$ZQ6oh14-RkF1c@9WQ>g2z|>S4CH(Pw>B1` zKikBIKvM!ci@Obvw2O%v*tiwALKGX^xl@{b3|ctOuJ%ovwOni9t+q;UK5cNTT6`1N zBb#nWf%UX9+&dm2AyN%~Z*Fle1pkCS`1Or0q{7cleE?dQq6QQfQ%mxm*XmRmv}j_C z8A#9Tv?nWaVsR8d`@3~P1vvKC-KYJ-y(?+q!rGp5wIW?y3XH0Q?|bCbGbc=LG<;YS zG;m;3#b`Q|aoB*?BShrD9oK!l_Dc`byH|*|0rrl6McFw2K-vC>2h`XYK?l@8Z~w^w zwcpB0b1>60bNuy$+CR!lbFlvsd-yNTr?LH6eBqB(rNghJXn&ng>k=Cu=tB6tsQHJ&c<(*v>8;)3>{2Au(LA%U3LPb z?)SeVJHg5NPgSLLO!4N@K?l^-AEw)t+$@-C-$_x83Q2za@U{?nz3YYu>Q;}^tB_ET zieB$~04*Ih0?n+gxU|qW%-9calYF8MHJY1D5s93!YHl8~(6b<$iR}CnCs_SH5TQqN z@2>5Qm>RQGi+&jcdhj#I=T6?Sn|O7s-KVc{np{0`{_DL#rYVod-Pv)&8odv#3rJ2% zG3D32=>Etc5l>J+XrCN3POu^n>(=aUcVYxK`7 z>s$n#ACv!8FnaT;lf&-|w3{f#|KcU`&%B#_i|ukZ5gavkKV=MiH~qq8CGswS;m?EZ ziN3MiU)@igEF7~&*y|Iqlr$)qXfSUF zpuhN@oZTGs_jHz6G(;{3JOAhnaIds8ZtZ|=2>Tfu?$;0KP32 zDUN4`e=_w8y4C7Btg($MuKgUk9H+_O(zf+MgNnkiVGb3QrJf0y>UX|JRhx-BkryLvo4tkiKK z%BR<$!KYMcdFZWJPTz22qXP%IGTA8&%Hs5V$l*u{L;uk4LxgdgF#tF-yk1Sjo0~0E z+79quX}Z1J%M_^?u6gR~jOI+1p~8j1muDW4&od<6Ny6@KDyX%Kj!r-S;z-3Y6w5O^ zeEj&zbfn~ZKk&t%Olj26ZD%S#cGzdN>}lJ14KV=H>eUuJXeC(h=jrJqYpsHAxh<|= zj;QFm24PxSPo8I!T`WcSXLt+mO)BQ>$WX}|ZMK!B)*}@d2v@cpn(QX^S9%2Q&F$$N z0U%Rz$R7BlH2W7`G(q&`B(}H2`cW#%L8qbeArp++-OU{_;F7BL!nVE$n2C^YPGKsL z+>DjqDtR0y-!fe5-HZXf&9oj2OUEIF{5-onMCq|YWs}%;9KCSTDFwX)BIcg-;T^?r znr_!g4}gsTVT@Q;bBtF&u~;4|ou7;XGknQhIgH9aVjGhxjtmYK&K{0Dc}&RFy>3+( z9=&Eq9~X56M4JQeRBw=4^cbOVLC4c3Yc_UUA7}n)+_>gqYi?0G?5v4?&F3w}oITr5 z4~;=~T3>`C;6`I3JObEN-rB=%UP&Eo0KEv@0xLLC=0uiKb=p-Uy0A(rHO7~}HbB3E z1fK9JQ}68;BzHHG&^QE8&uff%g5(T(X5{fAA|uGtnUj_)u}~*>*qz0gdP0kYHjdLv zo;u@Can9g{8mqrHq259J|NYz-4I4w zEWG4XH|PFj<&v74Xx>O#HyM*EG^uwITXK_M$g;Z~?0Z>bC!Yq?q}t$q{Jl`LwY~$P zGxieeFt5Q^|JBq(oM;(fMggc$bT8nU=PJzB=DuTnIMLeksw}!0nn@RjdumJP=bfKm zVstwnpjWuYxJXIm$%*gDhD&dBXx~c$XBS{!mDk)l*-T%&c2O7`MyOGik*kJhGvLuS z(_G(4Q#kV6g(`Lt6l^XVHzGCxI5&BBDSdPb?f#x!yVB<^Xpr8_S7E!!@|Vm$TuvW0 z^Fl%qu16+2orX72Gn&KS(+XF>T$bB~_Q@}kmP&v|BgOK~jJ)IAaT<{R$tq-4WU2N@#?EURgrGDGE4kSHq5oTS!#s5lOg|R=jjin?5^@m;`j*lS`{if{ZuS z(EPTyYFWaznt|H5u+xNVIm`|~I`4pe>3$!`r$uoY%L1KyDY1DS_Ih3GMy_`*r4yeH zJI3C0`%=%AYNJ1gQ3FU;$t#A3ucc1N7XFfru)}}Qsq>wux&zjYoKW<_gz5v4!re&J z-2yPn_%0lV!;$WGbrgQa{@XoyH0J!LD$+gR9YA2*FsSb%do_XT2n(o2bO5e*R6I33 z^CW<$u`mv9v>{0AiFps-QFghy;g9=$y# zl~Hnh+g`(6MXJ;|qn`nLT+t+eX*f!M*6HCk0E!jOi*~-BA&XNF8t?H5XAkHRwYZ=| zA&Mr+X!GfD#4av{Nd&hJmu`c`GCXGj)u%(DoZdtIy3Ny}SF30CW#UI^7UJZg&jL=S zNwv^p=H;!$BYyZhMtz@;x@9}_jo4bqvcdSPeTTqxXK|und{B+(g93OZZ&RI~=f&lY;TJpzi(~#*c#a=|F>lnoF^e6K{wIHTJM*E z-@XE-k60c_1SDr-Z4P$P0qN&q3pQ2a{uf<~V+;;$RTBprB-OLGC*HWXJb4Z;?}DoZ z&;tDZ-ED$SEp9KmM~@{Z4?(LJ?Oxfq#N>elSvPD<<|R*SX;Xhj#T3X*kG`31&FA$W7(tPmm2Cv-5P z3Gq{pZQ^`!{4$3Vex|lQMOgtD#|T0E!6#il;P33MkHedB>}Tq~>k>$~A7#8}bBSQX zi&k9dZ`}n$2c;xLG5u$c9_ar06Jl`m&7aBP$LMs}XEvWF_vj5+HXZBb*4Cp}sgbiH z&F(d|DDNX(Wr6WRL5*%O%3p`#3{v?ie*m)jPX;?s67E71a%7`0`8zmB{_^a&QFf81 z7qc^!-r?E47m^Fe>th?Sc+rP#=W{gdBMNd8?r^BT&0S{UuNv8QFPYZQ2qlA2?0JLv zUOf!t2s2|uui$HP$HoaAWnh1~)s~l$p`O;}7=a??VFJLJ^C$ZIar=e*#_PWOAn3*L zv$tXUAa8RU`A$ki)3jP+EB`PnfO!H?JORqn`1Y&pHuf&E#H|JY%^{saxKY>j_q<3I z8^Wm`3q9PD%0Y5y68GjW{h$81c3R(#9Zf$0X!_ey{5yC52r3L6>C^-8$}+JR z(eSGSC5mK&5=EH%?)~hbcM-0_sB8Zxmqvu$c0jv{0+|4U$Q*8lwyPL(kb3RqD7#V$ z*!R%hVTO*^=Y9vGt;(o6zCSPB}-{ zp*Q|Z@3*>kyoc;WvU2uP*YOhC-OgNH!R-HdWdp7GgXk9$GRM^!kKGv_m?`Ovv1gB?V zX>%>jb0v zfvuAPR16p1UI*?2i`)_SfQ_5(5oC#K#4bNoFR$|{Y|@=lb|vED>xTu?+05D&@T2gm zREwrd$IUIhzM|=hD{(?%X6MK|NA9M~o-0E|>sKK+vV~s>(3GP)3w?=sH!yeGb zIH}B}kGpuOt!}J2{JU?|N6>=N;fLW1zkixGYk77dzEr>~O&2gHn<Doo2C9mqdUGT^)1x=(emeKG@gsltZF-#5r^NwVt{o5Iq#?kDfx zY^GL-PS5ay`jCV#dI)rgXr4c6^uU0r*s5Ihr$t|HgJn%bN88Eu3xa})9S|LN!MAuW ziS7k3YvXzKVU53AF0WBAI82;vzm6krqcYqu+mliBkkNq!2#!~V%*}_A)iLNSqU?*s zuf9fOwa?w#_3T_5!YRr?>f(wX0Gw9LEumD}!eINpKe-sHh#UZ947XuS11H^#Q*-!i zOPjJ5v!1E$8C=(I$zMFs=*S@%?c?1s-TJ1ebprCwd|d?3$CVA(?Gc3BP4e;l+{hic zWxk=fkvG|6Bf${c?9lGceV;BM{In$!Fm?zI_J*`P<9r%Mnr#qNmo5k+SUNjOJ-qi) zmEQmkH1?49@z({bGrVuHH$jxA7&!;1KHiwN(;Is1ACmvEak!_Uh_GS8wOGs>|2ha*jC4+7XxX1zsc;6@l?M>cKDGV69PMD{F>n z*9vY5jLo$#oC+EDZFAQ1^J|8<#)rTjZ9mQfx$NMVE94)ZVY4QCp~3h=flSAjCX4)~ zkNWwql3(&LP+k1A-96jre3#MqE%YVP-O-f-=-}63YOcT2G~D?{(I(Hm&_RG~Z z?53~R@L`ZV6I+D?XX&-&jXf$fBr@tfe4E^Hwwqn~61V@pSti~)jn>k}iOYc%NlOLo zs7P8Lj<-AEXs8m`m*F1zc`P4;$9GVqUADuRy?Ya9pVQq#&vq3n2@fT(s(|$(A-RB$ zdP}oo^Q<408N6G4bj^gx=J~9RSEV7v>LR+s1OG7vEGp>(9w}rFp-y}+VYvsdN{${o zNoXf6PJzi@jz|x)a8<3w;^un=21By10$k&k83lv!l5cdm7L6e?{m1!VHS1tw&&Rk=3)wzeki(sEJD(VK zxWfK&)ls?Jt~e{DWHMB=UJP{yA)DlSI|%$4xlPVI-;L+8PYc7ySqZZI!7T^wMh@D= z|A}bq0S*5`rT&>geoYtui+}I;hDMev(+$oEKjK}r9Or9|@3GHLK=dSwLq2zg zt>q}v;nW&)@m`iTIM0+T?HyOM-@5rlZ^E>#NVmw?n69iYV|;RvKRshmE_FP=`8lCh zI?ysmb8T#LmHHXG6eUJa;XRb9y_*{3Oy*RnN_D6_m=u`^TM|7siiIdjmI-YE1>ySO z)GsJ35?!`_bn8w=Uhyn8&osHvrRLqNSHbL9JLYv?ea$l)O{CsU>o)1^CTvh?&$jP9 zX5lSj?$}!dL)B?k-vw-#mn;Js~R{jgn$FvS>LqGly-HB_rhVw`aDZ#67}pnA+HH*c|(i! z4?QRLlFJR1(%;>TSmX+4M{8+=?A#Ut2Vn3@8;}N zq{JX7OUI<+EIW^R%L?g(%*1l#&ccy~)ix&nRFmPic4eI}FU>N1#HWM=t63G27#1~C zgm?XCA1*)#k}=Hq5+f;%^K-x^VE+hx%TqnjBwBbiJ1(7~#_{HB^~k5E)pPM8+8XJU zv-1w3E7n}xD|`p6t`NMR8JT|oa#NWb#3bsf8m-(Tq{R>)+z;!1wAOhAU5#0mQ|Fp6 zCtH4FSLKy=6ZH-9C)6KDO1s1;#x|oWCCwfF{NR;m%)RnLSgR+ybljhPp$315V?VSa zYE?cvpGWAzezLJZ>p%kb06^eEMLE}!GGzQ#$0XH!*6US=QE>PpsrZceQd~bA>0A_K zhb=Nq;6&Nn`rwxyR7gTi3?puFGtPSfkPU~W6Cs1H7RMSkE@-JXpkmEbv!KJ;#p5ox zHv5lqo$5&61im8NGC|3pa*)3>s&!q^r?5F{s-=cA0z*%YehAZQ$WEy4fin0ILBKJa z`jqS(fYz(tvE)=fKMQvNkocNTg{`)SBU|DzGtV9I`XjUB)+7{Jp^Grug&_^mi??Pl ze>d;|_`x!dn8wy5%OtQ{v|)({PrC_HKu=tge-j}Q)c9tP8#(=K`t{9A^9)Bv@HIff z2h{B6L!5@GR+p+Y#z~ev=ki4?8xi^)!Yk{tY3le1VI`+nX?f^FK`vgQTkn~HtA~o? zy08PlxT|N2eS1~CX#?T-4Hx)CU=`??R!uE!YF0W<2rI+BR_$C>hd2yqw)!00`VOtU zRd0KxUK4jDXjsHq_Uh*5mWb_n&uhr*g{z=SFsi&9UB-lVpOW%8DA-j=vTrORd2E72 z-=u{Z9GaM0XsFEDJTcIjr|s-Vd&ql@%5=f$5C;bfBgh;~I*TUgLC6_`;Al_RgCLBg zIaSnaGzYfI7-<3kWdH&i0xFVjX0U5G`%f@`gBmDSoig>BlpH_w7#zN#N>g3mbXdMF zns*4<(H1v5Wjk{i)$#kCD(r1cm$U^R9mIAvuc!db*h))U%=kD>BgWaMNqa}BJ(g(wfc2gWaY4|DO z-85P;7_k~>q|QmUm-wrd@=*M|NpdwoB#~|Wt035 z=fK}LxL~}of7!o5TuCvbtxQnJrh8mXeo{MD9|{7MY}2ZPog5h-F9FpR!GgD{0hjAa zv1u<_^dEG&o>2h-4Qo0dFfD1?CkUCam<=2(6KVkZyXnvGgFLPm!gaqv(l1#0e|vp+ zf@n3i)caTAJ*Iy{u#@>$u=AI?#y_cX{1)tF=cEVx>sTizBRlgiNs#{{+W8kzia$m> z5w8)#&_U78Wrgwip7%Y|0FV|3KHc z{#PQM?ChL?KgW2F(_~HY)YAKVmjjzdvpzLDG6I5hlZ=yrX3&tnUw7W^OaximBIz>< zJ-$osBSLQ^lEg&_#Go<#kzYeln*{msJGy^Z!~SR{tN#(b@$oegiy*8&IVjc{g(w*H z&Uc`_L#aYSNkN>Nw@u~6i(Y<9VP8e5W9`&)?ew|$>I5X~{;yu&k<$4*A4+tdsZB8W z9~Z`VKxF8&?RK>lq`u*x2g*qJ0E^8Uc=@>Y`Z80ZBHn|r&}f3uhimzJzJc8RsErrE z2CWYQiRZn&7ixl0DR=B2KCT)gECr|nM?=V%g1HZ&Ri*a|#z3&+?w(<>4FHoIJI-Pq zoD6Np(EH2&k$`4~*5b14F#C~s@t5B5`KG6X6TnS+jL?xXvlQ)X_q7xb_;ee{!p@;7Jl>5`C+>s@?L-2hnr;?prHayi_f98ubGJR&NEx|N zjb3+M@RuHW=eC9XQZX(5+fSi9+B}vXJCA|$#``4|3FKd}H)D%&f-j#6@?^({!T1ojvRJl$Q2%?zWYkF{ppIc@JT!;04{5Lvr-VYzE>gi@OgxB1<9Q(b4 zVz=!lrI-*+`HedoY4J^BGP2F>15I160vFoB<^Ru}S9w@`(30(>cgjDhWRDy7GMPE9ON?Kt~su%U~S+2$#+h-jFd zomqn6RNG;Rwg_XCi2)z6tjgwEuHLSg3@>aPW{xb%(uarXQMp0?sBPAAINyOiG)Ki( zPfoPxgMic@C&&&lsF-*tQc*1%UHoTWXM353#sSma>^3ppz}pMwv1fzL#eNb`a%}V` zhGmoKjmjr@mEP>)3StG}J&pPIqcoL_L5lMI_?>cOXbnMyKdQuvFT9m8@^?a_KNgrK zn<_xZ;RI}hCz$`<_)>hRXAL&^bWf#C;1cy5f%&JB68vyeF5P4ll z&LJ0lcWHFLPfeV0y&8lgk|puuCaiBpZ-J>&Yj?RH%K`Z#&-~)a7u1AiBlSK~zy~UJ zHp+|e7$LxoE~55|Jd{Whhu0u(^~H~Nn_Q_nb|~B?%mJMV-g=h8Z1Y z?X3E~m#%3nmMI<~G1Ojuko%sT8fQbE`@#}=PzC~4xGgw~$$EaGl-@6c7u3yhAjVP@NCQb^eq{hrWSLp204(QQoaxQHAkPRq8z0}g52J8cHx|6Hr~FM z!TFjBNN^Z*F9Uq8Qp%l_=zDZgAOqxz=NIS%iPB3Fs%T1zI=~t~65{0@)by6Z9F>a6E36c$Hc9sOYhq!t z*`{{_ruQ8*Q6!yLv*K0$rCKZe5`Wvpdr@goUtvn%*=Ix{D{M4up2l*li-h^3xXeuz zPi)=giT8HSk%|sgIrofYXgng3@ipwF;`!__WK*Au-#a|BywF?PIM%t_yQEn&*uX}& znUKsT#oU{3O(J;qF~o%tOkcjoo)Q}W@a+nyo#`O!XL{Z2j3PU))7to%|3~A|O4MD{ zszv59@9xSY?F+hVhQV2=hoFRLb8W-x0I$GcZV)Rd?nz5Pac0|UXcrwAL)7=4?Jnk{ zmzlvS_#tHiwbo0B(|uIj+z8{c+1n`fE z_U(+9!w1vF=?9ZqsE=e=@Rne-mg_G}nbE{=hC2xo!jt(6)L)x} z?r@pEvlOTm7&Prt^$Y(83GZ%2z;xFB#8ZGJA&U0zFG?ECw1Z$29|Fb*y36vXeEcfAZ=OrX6*H;DFMuDYM1#K%;U$5y%-y#42%430-S zn*8`v-~am?h`)RVm1DZ20)u<~s-V*HpzwO8ej2~3Nu_b7;T1?G=vli(&3OoZ#;;-j z82xKlv=iIjk4l>O5|}ncXLuG+_;dAR9qGxAG*xUnZy|j!Z-RndOdNg^B3>Q>B3>*t zkUh;0Pp0TQeO!&_#6Gg++Ub!Ew~-Uo@YqfJvTs;x`JHZ-!sRMCuu}_d4Bf@s-co`2 zd93r8&Q9GvH2&bW%c5u&g@atfdgY*ZHHk4>a4A6f1Crnb7o&hnLkbnPdy&~?jQ(LM=p?|Kfb4C41 zj8T$uo2IVUMg3+urOB!5)P3bomX@dI>W)iR{XN7zD}|N?Ht7v3DSWvK(}d- zmCD^z7JVB@VQo~UNzt|A*zzJ?UO9Vop=&}>1InP@CsUr&a27()cw4+>v+g`3)6?Bq#qjdzg^UfC~EAzC7Qr}~7*rS4x; zp_EG3uz<7$jP4XOZhu^>G^N$Cr$_JdQ|y>qT`HnagtSZit#O)XR8{t(-~>Q#3|#2xMt9nrFdM?8oX z7ryBX|9!s;nTxAg7@0oDH#(1DwReu+x;)+>k-!wgjY%^fnq03gMtrAm_*(fk%~nyn zZ9NCp3LYf~7Lb^Lf*BY7tl%dtRbn_0rT(IyDJ~k2+6JF39=PFnL$AzMj=E3G00TVo zI4relsvZ2sJ|Y#0ArZ(>*@t;=+IA>ZaG&}dm`oiG3exHK%(E~%4OsH1~EMG5^ zd^3(_CQa9QI9T^erMoSh#GKjMunq=0a7My7E{D&K2EKhv59!{wq2+>AC=>d z%Gmdr*()+=Mk>p&x$GgHru!Skv-V-&mu>5<;uO`Fcf$&uCnRn_X!YR!ek8JPayP#= zjZ?SBx`Wl%N$P9{8CCi7Shq)`%oWN^L;HYr8c(oP3DMOSMNZk6`%2xT>f~Jk=^c>* zHAmai7_0d*!@vmKWqD6K!Pgc6=;#KAJM7ZIN-Pv-LXEy$i5=;Jd#lk{rZ$-CI#IFd zYwl6?GOF&BfpkRI7BufdMV|)mv$iTO1RceVaKeIoauN~zwv4gug~~MxZ`l}w8jxvt z{p9S*R8Z<-pVdW*XcOf%`e>-?J^5N|nkHu^gxg37mMVj4?5Ec`V52%v6(kmXDQ1O+MuqbdjE$kq zerA|H*Ix3SG`sP%eQR3i3-)V%N~(QiYrfEwl)v6nNa%(X9rI}%T+^I=F9dXx1InW8 zs!)~c{SBT;*3opzm8`Y}*NN5}0lhFwMpEpyJ8D|*7DuzJo-S)qOg}YdiNP}%zhEb! zCV|XSe18Xct=mM(N8oYnc_2seL#`UR)?Ld*gv!I!0$oARQ$tA@dBOcE*%zjNptwX# z^2pVQ@*o)0AE`>FA#)$31bG1pZ%{tY-vM93KW05OMki|IJsKsB#-EwMFHhBf8)yvv z?qB=efi^fk&ftAN42sB(1$I1bGhDI}B>+suo^BdC(i$+pQZc2*pmph=PMkYxhG{?^ zHwq6P=|V%V=R+OY!h{{+3!$knM-x=AB_@zuN7LCZ|EudNc~}t0!$$7 z!S1hp`1d;TGRzPTospK!^BDaytim%lm3ziB9G6C$KT{W6d^WARnorEVg0}`M93jOE zHr2G_rfRm#=>5o<$1#E0go%0;G<6Ff1C*@)uMoATh=xzKaJscYyr;=x83-3|bHitZ0%&^$3w7$AP2QMG~*+#O|CwWt*E%_(%pYV!Y9~wkMK*Pa4c>CduXZe`tH_ zu(-A@-5Y{C!JXg%f(N(Y8VK%MxVviz5-8k*2X}W1R=B&nyF1*;0K0gnVJmLJ|c%5R)rmrt|#7vsIxF%PIzqybi@7$CP${lMd=W zW1S=f|BntBmf4N-qnbzV4%adzec7)&7z|w6sCoosc#qM>5!X*sXcoBF#y#e&_%JvK zn-5#Nu3kr`SZ-@Ku8>TLv+;f$hDPyp|H7X^uVbxv4!T}HLzu#>uR@Q<)~i3vfR3@S zZTDzPNXVu}lv+prZK)SeP*SRbvOW8D&Ap7@H~4WQ_rp4Unk!^1Z|Hrt4>-5()j^=g zA8_jE`)VypL>a-3-^di9W7@dTK+Jx~7YI~j)s3f)Mm?V@7N80+A~gCptIeVE?nuz7 zv+WClRL6;~bu-lrAgA1%a?Tp(jYuF$7@~(-kRR*vy z?&TqY#-&Yw>PVtCkwoVSO1fnyN41{$n&ZH-eqgc4&$5NzBW<08^E7|Y+lt1&2A9$^o)wm?uFyKg)H{G@yc+!@$laiiZ&W6Q5K;gLgW4qwTFwNKB zO`@&V&D^5i-&GiD)_bdAoj}pY=<>Hajgz@ttdU=CS?70KyVwwciQn*YY!+kVKnWKx^wcXtAwpM~9S)C^{Rx`WwH%qvcW3933ks4!$*AtI@BI$%=ixin0FsCx7AAt*;|?vh7!5 z#zSj>W`CHgE@^gR0Ie*``&-Y_W9fCUFSVgf9zU*_b@)i66}a2~#d|monaMBg4TV~e zt#|m_0!I&_hak$SH`A$18v9zI2``Z+7v#e$PW_R3@J(G~h|L%=PvjnxkTFkcArafH z9|ycRpdXbD8dqYFLJZNa2;EJU+Z|oQMKNnrel-2U;PqwmsfVBhI~)fCl>suc%omj+ zs_DImxc~b%mY4bjGDUDZj{2y*0(EFNil(DzOt#*GwM9pl{k(qHL$gK zjQJU;C9152)LKO~iC{P8-<=ST$LR}PsL!l)TSq$RpINcWt6eLr?BfeW?72M{66@h` z=?Dqqg-@nR811`1qiYLa8heny7;5IXpq4PQB&x>de-RKxDMK!1E6x>j?q_07RPJKN zi?Py(>Q}>np|`w3blAq!E6p)^%nFr0;deEYFz5O%qF zt&f>aj&f}DRS12D zAS0-(%Tdf-APNYQsw@6R|Fa3%hIin3JXkG)<4dgjxVb9vQZr?xR)0>CRb$NehQ~Qp zY86%^ucx}5{-l+F2TcmfgNHPe(wR5|5u?$dmgVpDt=LbfoRye2b*uI~3^VVO2Y${@ z4M495e^;qg$71fiOjt3q@gh2ijiwM_!a%Ljt!}NT0X-T?6Y_Fe)T5cb3%UMMi=wrR z!1Uw$3f_&T&c)^_G#!oM@w6?o{xC=`esyx7Elp3Gy3Fn9EEB-F78W_l*i*jj`$Cz2 zqlDsy3jv7!K-dkNjUln}!1b0Svdf#*P&5Pqq)$XE)Advfq_*XLcUHJn32IMsZu`#h zT|15?pI|UvHnhKP#iFu|@EniRIj8RX_c-KJYo&FCoqoQRT0(6v0EWUwG<0ekMs1)IU3V|F6kO zHy_MWc*$k)*yfvj)g~>yJLD6w2u;K5GO9P8>ave1sD1L3ak#LYOXDZe$ck zc%>H!J1CoA;hUfO(vI7XG1UmV1RF?du`)IvloAfVB7|*zTUV^!E?9mzMYC$N^=k?U z_;E(&pKJKMu0st(I@5z?M7;7rB58h-=|-G+4E4Hmc%FnykPuao-J{O4=#e3vOKsNv zdJEfRr-m+ayBL+gC6sL*6vHXn3N5|}Pt21jCSnWeU%_#NG90oh%Jp04CaC?ysZ^MQ zE17@n_N_LtzEfJ?N~enT1K*bnSCl!7)VGWv)Mu`c+BteeDkf_zi!9{e_f0KZ45B994_Xm*MhwPILBsZjPZ6ZGX7Pk?RoEi2P%*)Ja zF&_&35Jj=xz-C^<{Hv#J6=6jIAD1}A+mZnGd3vQHRzbO6!6~TNBi9=*Jm2vHE4MOH z%4dJg9-(A&_{^SfaAw~jm1COw!nz@XY*rb?yY?FZRkUZM7N?=5(a@2f-k5#CC+w;h z$}g_QuanQH5H%eg>w5vs?AJYFg>sdWHpoNGiLi^nKR~)V&(yrce|1m*MWo3_%gIIC zH(YVjlFKvmK1N1vy8D|#0>j_kh(@qpAdIu$@P&{v63L<=aYL+Pmkz9XJR9rZ*v>}J6)I2;W*O7?@Ht&~H?~F4}nS*CI(2xEXUGzUA4(6&jS5Q10%4 z7x>G#N=f4L#_C1qiL(TmO4}E(lp*eZft|KyiAdz=K>;=+ow^dr_1haXL$s>Jxml7V zy$|&2p~77gC?s8N)RE_8#L^A0*RbKb^`$rzbjKl^yP{lo)f%WA=DZ9y)eaE`&K&VW$q>&Q2v?^D1~@tRC4#x#DZ-dW$C5wf`6gkuQ4vY`qap1^Yi}2U=&2bqPAfpaB=ALbBKFB7!JBI0PS5(lk5#biY5!z2c2yf ze=nG2+)uhWkDc~X+Y}eijH~-?q+si>XU|i0j;v&7ZU~%YaqedcBwjdq+Fm7zhB3pH z0{2&wOQgOW7LV`M3fj2_U>=^7MzpvwEIJ?g$XmFAEzeBF`@c0?8^c?=VJ4foP{&I#t<|6n> zlnp;WyX#_%;#9SnywK`_tS@R+GdhA6=LvjojH8 zi{1Ol>O|5Vxp`*r7hC+EeA_HlSy_6fMxmD?ptT*nCm99SDRCeJ&-F0$z_mtYG2)%kuiRueztWhbuIGZ=YtW;tL&313GxaNS*w{Pb^_|=@xIWoPybhH?H@1%|w zUcR7&E*4WoLqgq}6?@HiR_=lnCh)?R3qY;g(PUF1@KP#+ewk~f4QA$*qRs``n$57% zIG|cOg!uZNPg*hK$JZH=(zzV*H!26a#B)RmsW=c4z^S@a%BhCeX^W}qteB~s zme>F-0#Bu-+t@X}Va5k_`f;Rn34S}{h_50dCtbh_=dhG&drpb_)evax&VIBtuD0V)+#u@~{Wlq#k?ldYNRle@bdCjbC3}oi(^16D{v4(K*)_$n~ug1-GGJu zx3AWZ=BvRk$AHgMhZdkAB3u;NxO^J{Cj^>t6z(Vb<~)nOYqG3Ayd*NlXS_3dbV!W}JFbItWP z!MRl}E&a$ppkv*TZzjOdvBMRumn1NBYM7QnRn7*GZOzVW$)OEc5^Z0`)aHm`}iqDFm z+gU&tyq%6xhavSPxq%W`(#?z zdih!&4_u6X+`mFQEya=|c=+jFvHJ0-xX8=iJw;EPDl80qpdUa=>XOF0b9?80Kd^u! zpMJoa00fsd?k<1p`kEO2n#5|d6wA7>7A1S(WgFh7tG02_6GBElLYjU*naIL7mhfY7 zhqc%WtNbH>uS;M@a?iGjK0Q!!v~$!9ZT+`i*D3|V5VifQNrQi$`NL% zjg5qAGza(liu=G_yr-m|Vl`ZvOPp=CB7!sfm&uKM(^RfpMZVXbi)m;95#{Gd8L@oI z4`s+Vq|421%1(z?Tlg+bJ@trFCd>I3J-It8t(I--yi4s}xMatszD_HjMd72=+K}F# z2xguBa-5oHnzbqYQhX8iTKBxyv+fh?!?buY{4C;~vm~p)wHM-N5J5+YX-f8eoq?Gu zJS@%#m{RQc62{vBI9_VI%~&xS2otL#q-QVz#j<2D`uw;Zwz+32*S)@iB7W6x3`&D% zI=j7D3e^~?f9Hk~(8UGBQCs;(ZT0@mHB~*%-eC1x zCi|e`d(sF4Bo{gUD{Snp;1CjY0jJ3r7Rb~hf>>yu)UnNNrBnM|g6?R>8@C%@sze&0 z+_#<3-|6XYydxjmiH(M8?7G3&v77cO=XnaG*M*jwe#wk;324tCFm?>nCEXw<3HMUW z%?I8Kv6aVBhW{v)R9dlGv_BIQdT8UKbnyk1ZfO+sga?bk6c+x!Ou*hM4;RwppfUw=j4yPdnXli3_CJnQ~e> zz|(Y6-w{?*`kriqh~rXqK_NG#1PqQyux@8CJ;Xg?wvnt60LU(e-}NY!S}qd&!`Cu@ z`WxrZ3bv6E0aECfI8(M}K8-tv{*jFl7R=OJuAhk@w}VU&*J{MV*}<9Jk+c6f3U53Y zz{fNtPT=Uv0R~OI&i1LNZbHaKvYOlrK2EZKDkdbFuM3`G9!Qd8Aho)eCT zoORT8)H-LRmU5^UoR4~&+xAFy8*hFE(_vDM>At!^C`_6X9pyz2GW{w7=9je?1_kY$ z_JZz7F8*KKbLxwpa&3b%oMNWb7rqj){rH+M6=m@?Z-{6i^L;>?fw zG>m$;aH%q!l;MoPT>Qs3_b%1$mf?v~$&WDck!xsVwQ0=GZz%vjS35M64Kofi%pS&h zP`-h=V~zCbNOhJ$3~hHsGi|^`N=C&vmf%ON&ncE(-W*p1WG%CUFA;OD*?dy{@R@(1u1k zb4hjh2p9lMi8S#nEa5B(M);e0$_IiEi=p)e-EDH+GbXwobc~D>6KY?-4vBsrY!wSw z1Q#hQA+U<0ikP$QDxo5Hfhar>K(UCC?%H7Nm|&A*ZjyXO!Ilx!jWQ(*EA<2MJHUj< zdM2U8xpP8n0X>f~{_O%Ccs-E=-0T!!wzZr>w3G*o!kD<3Y$Sr+AgOe}bLqJAIrk;9 zBxD+Sp)ecF(}J6`i9ph!lTI=bWAY$+j_Ef-X5(_OOj5?j9M`}aFWXN?#Tk^{sl+2) zCSfz!AaGyB>%-%Q-#n`G8TZYh+!l|Xss zsB}FK1V#sNjkF=~+m&a1$*AtSwu#e&$fGE*rRq*PM2}sGjTz!mKZ-&yXYLFBG&4G^C=cR>w?2R8Gt;t*{n=Y}; zSH17_7M9^?lLha74snV?K9Bj<40Gl!g3B9cYR^{i$~DQ;2b_$7>`v|7XGdE;wOWgO z`v{&tMRpnrJ}&0ZPhGRy1DvO142^-dA?dIjZlIjzk4C`IKL8y5@To{FB(pENw3$%w zO<49HW7<{SFSK^0z=$u&#kCS0I3bXvxJK6}EHao0qvjWX@^^a^ltzW*`>={)VnQ2v>Y z@tYzW#S-&(CTt&G|KFLg|E&{e5DFW-^gYqG5BNYV4)ZtP%@6n;?r%O{P{)g&;5gD> zZxxK+pY-dL^n3fKiA`xRmkp(gyM1IU)8gKzj1cUt2K{XQj5Q);r&o0QgdP z-tE$*>baz2{H;f9TFQv`V$L@K3lYG6LQBul{?S@1ZxIXDD@oNFdmodqXR~Xk*`mJ< zjma!w7ajAKkbzh~;=KyB{Fc+cOb{LWah8VP~=gfs%; z|Gj1qOwaB5;7V87d$|jCo3N=Y%@hiK-E4a_ls$T|M>eio&2PFw{x(ZPPF>eX^-bi; z${?%rVeb~Na$f#LvcFE72_2y1r7KT}QU-h?sMcyqs+em$^OrM zcFH&w)6w*_+T6{oBllSwO2{!{WAG_ILWcLvdhv>Y zAD+2sfB-_XV&h7kqPNyNgmyvoV~_8)OTX(I&1ZM-c)|6J7{>W*Vo8!9qU#0D;@mg< zGSk;Cw#-gXnf28cLz9>4Wk28&&bm*Egmg8SRb2yd7cS4mm*3|&P6Q*XhM;%Bw%+WZ z2&6Z*3WuUqjK!F;OtCs1Kx1M(e{^*$f<^#N z^BQJf@_KKmH2Y-fmyoL4mfTqMdu9~}%Vz-B0cKODE_d=3L3W66m4f2?0FOK(cWIIwseLwgfpKZl!>i|)M)#O_En9;c*KaZtX&}ppJ zblYCga*Um++{EAnPY;CrP)c~Hoj`=f6YgL$62eG421Nw^vMNZsMWwh`$+)Eljl#9l zt`V~5Ii!{pfRM7mZN{m^@@@d=jIj?7Li}w4$`QR;wL+`1^;7LK09OeBoz0{%uXeH% zZqcZ?I(MQT#YVu~M8J09g_RJTPYHl+g}ZI+MPvoty0I3Rje?f!CsvZu&E0wuAfSpb zWtQLLhr?ZoEdAchtm^d9T2GwPt~71s}n{zGv-B$!U)$E7#G1(*?2pct2%#=xRs^w?2=y zY@LQ@MY;u$+?|@ovD7HXW6CJ{EU`CqWV+UaAM@C?SZrIWb~(&-1RcoP+D%z{t8MfQ zQ9Kse%W-i%SVMB@xCu#A$-2ehV*{a@P~~_ZBq7_08aJ4^%;I(dh*SDIMrxpMBX3G- zv$ZYxPZlo43dJA!SylQ4qk)yXlNV|oAiPz`k|bt5mJH-~fcIU)n$Z!WbUG&lM8(GQ zug`)P5?M0`XiN3)PCvz%cFdl|qrkzebt9_)ij1?{)=$mw-vVF6&MJ(=idam{(%{~U zn;6S(efWhVYrX%hGgvwy0zyBEzNf2*AbLZr&Z7#o`ZSmd7bZRKe6;3=uEJ)T)E;B+ zm^SJx2ENe}*RKUW2uMRufYrEAt<=-c7{T2~!&vxilU4`(R+gqH4SY;CB<9;7;Q6?q znb)H=y%jrch&T471V=?cnTEZV*Y}oW`f1l?M=t_nH#aXa>)7X^5|HK;XZHi!He`wmqm`;NK%M1aV2QevxWYiOEuQ?xlgCI?cK@mN?q zXgFTc-65A{{>eGRHh&Q|7Sw;?H2~a9LwY{gMM= z*Cd&Qvhg+AT1r37r-c(lZQ%;_j3N;o^&A z)^BVtZ*4_r<<_v0EsxP|2 z%XiHzM9_c{z!;XS%V_2f7*QmR6Ib*V(;`-oFD9Qsv4S1WUAQkUxUQ?+(2&M5DcQ9S z!*U400}vT(^Ad}!fPKYE!fCg*%WY^Gt zbqD^>jndyt;BSg*3~=;twp{RTEx^f@>~l)}iihP4^|#BD=F^ei2VuAaCg6iG#K6wI z0OdE;;(RxEIk_%>=U{@*z^K>n%s7Dq1SNlhkp2JYX8j*@vHKM5&Rp_1`QL32l?Pmw zqI2sqAu=&oUaW-R@`^8^c*mcLud>-9N(~1%t+N{l76xjS<}dtGv|@D|A$JuojI0XZ zQNhW78Doc(A!EW6j{XMXPAUq_AHznLfMLaI#y0T`SL9mvrJgP zYpBEUX)&?p@Iix2b=(LRF~md*JZ_$1^g!KoC^eXZ7qI3N^L97?xsO3)jL}e)e$g zm#ly?e)`Bqjes(DclP*)Ng%!+Xs&1z#FI$X8z7gRn!+}eufUW8$Hf|C^xbiK2I*la zO!b;*7>`M_xSn@O-skiqW8P1?+Gv)kS*0T5HxR<`gRnQ)HS-0!MI0{&@xJmTz=Y>A z&Z2E;Z$L9ZXym&1H}{b^qoK^(HGx}oAupQ%y2a%8Z`eAIvY6^IOQaz0z$Gi!XEhZX9 zY!E1@*3P)=rRL~zu((p7HjtI^#^iGekZg8##TO1P{6f3Yp4m`5<~;z~i!})IXv}Tj zvhdnkCpe9u;q{fsaSy~mPIsqC~$UZsn(>PGe}?q#bd1qVH5j z8>BX^(?`igs#F5YMy3jat`SO7#uLZJcbsBp8jY?C|HJgrja{S8EGU%KlDJwE>lTgs zM9MNir%Hm~IH-I`CLAqbz{p2?0nb`MIuD`dFrK$YXw74;Wv83WoZ`sLF>^8bpOs#B%X0 z%^!J;fUo{9LYs@WT2hEKb!t!1C?7QL>=twPegF#F21hHeGZjkfC*~}O4ZvJ6oAX+> zEGY|h-S_t-_%SS^tz&{gp^H&05JWU{g+|($i4d_c6uun_5X@T{FPa%4Dtbvi{s14|5+yKPuEg~Ul7*pq0j$Sp6<6G%0KdS|GL78g_G;=)UaeQ zHH-txZx!WE@JxXK{fDcfm_p{~ALJqdxyAk{l8ziA#W(= zd1f;$-kc`RV|=6>EK;o$Vxyx!4>0B&ucv=vo1q>k`#%jSjr@sRerBH+MC_(Lorwe1xB0YwRlS^ko8|3ux>8E++>)h z@&bJ<`B3k>s4XsTo|2;aVd{qO&*u>g6qqDCRqF9evKD9!<8#Ec(8U=r(OY5PTBM!& zpRj-66UbD3L4Y~#_kiRFkRK){8?{LM5FrO5l7{A`I#9dHki5B#ou76)m=B- zcJ564c|BN-@I=ffr`jXE*lJphRHF94Eb9qFg204PH6@kgY$z~u=o?4h+W?Nqk=YY5 z+w*T-s)*Mlg>{fHgm9ky=8S9uj69D)BF z?I{|zecEn#t;V`KKCyXVR`YHu)!p7frQ_Tq;#R9RH0~~*(6>FlT}TE^Yfx`}sP~gy z=xCb(eOalWruX9)M#mI}FX|{kmEBt2)iDn0?ObR9#91-C!t|+8GsNowohC_CwU8xW zG6|FSR4*zVM<@j(bGW@f?cUxiMDv6)pho@@x4@(u(8)=h`DReDE1*&# zvdfl_FPi@-r-Glr+R!VnPzxQUt}taJf&e-#X&)MjnUXuXe)% z2qoGghta$QwnjS0RdKb(W=A`*ts4$N2Uz;+U$;VSAySj$t|A|=nMAy z1QIH~+#pwqN-$?vV~`oOp1JxJ@QYo<;C%8Vv|F|P5v{~D4?!5hEX@`54pKAN; zgaE*-pE_&Ljo2i~4NM9eYPN;YF<{#^FJz z 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%0A(46d&N$+Dpi0)^y80?;6qn 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Õ=$~(qqdDVhhj1^>{%HJ=-8iOL;a4|f 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

        )-(NdC7lbYrBEGYQr$h&Z91XUr&c{ZG)zva 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�u-D_o>P_?p04;Z*Zo;7ew8gTPy;mXOj8G>6|j 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 z

        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𝔍>6W);?Fxsqt;q;UK>T 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

        domGPDonydwN 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

        GF)H18<$#|l;aSUrs-pC6DE!_ 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

        E(l$Ny+M_sZ*5j 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[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≫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

        %>N8TkSsQ=t> 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%0AXc!Hr5i}D1b0;SI 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�_O%(IIs33l^*#+x&jR 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 h_Ig#@BoE+a!va)1lkNtfH_KE8= zu$7-t(kG42nOauQK&>eqCe~%&y1nE|$)U`{x722?FCEq=Gh2n=Tg;@fjr}*k!&98!Ixuf9G_QIwrAN`Pmf4_W0Tsoq2U79 zrX{P$XdRoT@?oyaW8*a4l%d*g(9?ljXNI1pEVQ~6JH>;GhjHc?_vTwZr_)wKoU_5% zASL`S=Xv40;JhHw^&_X&@}$gHtiXBQd0nhH;{3Z6>-^gJwaA~45wxq6`FSbHwkz#< zR_hyqR!W>@>sfrQO{Ogt+eFXfXqVCAD+VPs58`yY{dC~_KEh2=(c5?YPG4=o@lmY z9?x7jX3&@tIVX)7I;JFLxa3=?aw(fePZfzlqHBsEpafDTx(v)sr{u4Eycs}uxV2yrD9IBk6Z0qBA*8S1E z+|7>6@V;jJHO|t6hJ*u&!|uA8P?wnBeQQEpLS1rM+PuVJiNlocz9}(P(&`H@Cp2`w zKVkPLtec&LBWbe}cI%OtpOu=GitK@eBjK^SU0-5;LS0e6R&AHYuK=baxek~;bu&skcSUszCBTsXe4tZ;JS6v48>=~>f- zQw%+;aIU1yFI-fZpERRzY2ot1m4#~x*9oP^G6j~rFNTLaDG&3!KG1-(ULm)hW$Nlr{QnDoK{@UhdN8Up6Gfgeni(Z zUC*R6#20lvGt$w|)Y!Y~m3LESd}e%k*AsU&q{gNk?|NvYGtyC+u7~tcNtI2Fm2YRl zBSK$FL#sBCIHQ_U8dSDbOG-o6L!_NhZSmzJ%Tg*ut~_PZi1R6xM$1U&hMsGE*g6~( z{_X=Y6MK#`K6y{q{+*BHJy!dZ&Kr5+*0HPwobkz%K9gPnQ)%fuMXQ)hE>pe|ndJU7k0* zF6-qGDa9^D-KVQWQhoOVBZ+KLctq%nz0j^r_ytB!yOui--Z?{#!*?DNiS=D}b;;|J zN2x{fE$_~gcb>lU+?^loDdI=CN(@F>rTK^RkNwv^Eb~n9!+IKL`B$gB_gsfNwDDHV z-+pV2?aY1m)@a;!o{z?DJlcsHYuU|*{-1Efi+5K=vA0_^%dUMf8n@|qRBrGOc%gN0 zTh!de(YTk^N98X5$4dH->S(#I{3sgtuYNS{<+Gi*Qh(PDM2UhwM~#Bis8KK@D!1(a zV-)=7awo>5i^U?_8Ij52H$T1cYzi)e1`fjH|4@PrJ9{sFguLBljtlLe9p8B z9yJn6EAYAzs~UszaL!}T9BL^6I)Pf!)PF)}j)^op$}t=~T|u-|1p8>6!{AKp6noq) z+7`|pMSF#!x1ZM83!S9svzssQz!6{$GDnd)4t)-K7?=TG0LPJf4LzpaYv6aK+{19D znOvetaw$3&k>3tyw?Slhcgr@V^H!Tv4*w7w-UXA07mO(&wHkjdvBh>4=|9pr<-r@4 z{ocF2tYn%q{TNcODJt#kiM?47$xVuGyg}9D_J-a|>MH1S(DVF$Di5wRsHI56Dm_!t z%~iBd!FdHvfAZd`w0EEXRm*Pqi!ZARe3z;DCJ5Il{{67YYk zq&7<{H0#e^;=d^A&bzmI~+R_MbIY9o=u20$PsFO*zg;ktwzJ3;xED zS-|OQ|5QgXJ4NW5>{kWzoKFhJwIxEFTkUhovBhTVEnCOxiTY-bb;*5NY<|FgKvGBA z51~i%-i;-<+P@JTWb2&XtiONbN_Q6es@iP-S%1$;99}0fPdL99{53nl-^Bh0oYw{a z)luK?b$%=Od*>CApXdBS=!cx2>)7IojGLfuGC4os?X8o}Hw5o@pMchPk}BNi*j@fV z)n7;7M%w87Qt(OlvyykABfdCaq6Wt5yF1S3oX5nkv$pn4-+h)E6K&pS-G`;bWA1+l z{kW%NS6`)rQ?9;2c&{sYV+xhF4di&+K35~Q-2D^2OFY7Gc_=dTwhWjy?;>|_p6L5FDc(X>5tN}g&O-l+6E%C7y8S77se}D#rcWebCmuN zqm!UtN zdGmhvd#moBTh+C?_U>n`UDd05@7|4P4XXas@SB*-o*3UW$|89Cw~3plud=Fr{D{tH zedkve&PrRJjo{#Qq%~w_Hfwe;mfS?lmY4&DY(BM9Wo>T?OdHCm38)7wv_&fRTL+lY z!yhfx7b||$J2Yn%-3kL0k;=ryJ%hNgK6Ezvj#SeZQgBdkC|uIoG+q;(gl5ibmib5; z%~>AkixY>A^dk?Hj}q&(UP4T57gUi1klAkSx#ejm2|ZHy-8g-kuw`6?8sx9caeSTG zAJThqwjIR|g}CL*-&hOs(psRMoo%}?^Q-e2G{=`25GL;fCh^LfFJ{+dk1^7%hWrDg z5MK=$yajdCuma;|?q{v{7)UQ)ek&bVpPC+}%;fTJ-%k?haur)wV`?=NjV5O=16JSq z30u>3R3#63aVl8@Ua7?#d00DX46zD)IXHEomImDA&Mk2yX*!a&>WO?&45@xB0M<34 zoBPh_bP!S5j2P~}O=jFYfFF@|;!W98(ZhgpZF{7ODmR|oV698~d2Aa#Qn-_nq2@Fv z&C)6e)e4V8i13ZiyQ1%#r`mYi%$^DEE;ZnYO!qqxrfft8woI!LrW?TDOSUsfIsf8l z&P|yGd&w$#1a7QrUw5Hxm-|Wn)>`yzbYn(GzI++eQZ*Vb^muuA+W8&7^*-yI4vZnb z=PqR%C!pP3?_1a*@MxlV(~44HFZ5s)Z_@dV{$aQ1gQ`1)a-R~EMMP_>kf_>ReQ28O zTl1^VUEr==!{?TMTX)^>QN;M^T&yb_Bi(zDb7>*Z%dW`B;_9sRP~F#pJQc{7Bb>Y4t_!lp!jw@E#* zis1A(x4Ls3Pe?lIE}sdnn3gGwa~(1BADRCclw>wn9ZVz_7HEuzFm+2twdAKaf#G&= znK};ar!CM4<%$e+LP;yRM-(ItkZHffl}yh-X+O%`;pl`Wd9#2ygU(0fHr#(Fz|_JP z3~3sXHRNd|`bJ{Y!m`Ex2-v6@NyCr8={d-B+#aRjBR z?6PYJ%T(pt@*hDSDcWYDVIo}mmWSc_{BX~JBrH6uKiR(G z{#>CG-kaTP^s43=pNMkE=qf zaN0@3(zmcq=REFc>2ZY4qKW-Uc>-79&N_?T-y1(!c2F6mFOXsZVx&+U%O>_2gf3IaoR}@Y= zPlw#XXIg2Q^H=4F+qedI2cH_*&W*oN{>?pE51_~i%)uKz@mSqg7@Um|UQ)i`FC5+( zy2Hdun*+}K`{qOG7jnvr^uUpV7J>?zr5ZC@!Q*%&tr&~;^3T6@@9hkMo#9lKp~_r- zhlugl&x84wbr4@#8tC)mMeIoZsN~S{(Y17eU>+1P%``i9+3OCKDH);i+k>O1ViHes zBS;mmQ74b?DCu%qujaSCmU>LxfmA*;;XwKD0iEbnM6Tuay+)C{Jv5PWqyECR+?`6` zi7^yVa^DMLbbqX_t-FCKz5>~EbG|jc-4rP###iLS(yB@5`694<#YfuGGiYqhzKr5Q zqYTqM`c(y=YpECYiIkWGF)Pu$i_}uZw+*g= zYkg+sKjK*3^JPMk-%?k!bQA5aBbl>3h1M3e&YIY0+EvG85Y?S&T+j@;7&9y-+@G+p zb(aD0CH%)4xk2N}zwD zcB?UpEj`lxmJ_-K*;A6Qjj|QegX)oFG+_(8gR!S_Mt}ObOfbqeZ67#?ZY+rKPF!{w z0P~Mr2qo|Wyenn4Zt}9|XyO|v-UAZP=bJa&DD4sbQP_0haPM`rKgeHXnn#dR{T#+# z{ccMw(tT|{WY&(qEQghoEUM?^VEVHf>UV>?dtLyQ(CgHHq%{XkS`kNw35$HR>8oB+}pe|&^GfQ z+;m?Ar51rIqE|##L1^78J0;)nCM1U!|G{`))Q_cqUPK<>xl>h?jinq2M@F2t8@3^p z;t>CW{4|iHB`E-WS}Qf*#`{#BiYsgS+;LxA_dGD(5V~by!m1fxXWqbXMy}J9j5vFV zU~)P)u^m|6K*R|)q-mHuuoqBFil2fIm&Ia)!JmA#(saCR+ciPHL2eyLQ`Fp=({r)p zs5_gG$8vS{{yl>sS#HqSp1vX=d~Wq$F9na`UmT6e5~+@MvjRn@UZ09rdPBsDGacUqPLT^BMFcleRY(>x|;%sXw z#TX2r2>i^>or2n|1 zvF87E$F4nU=E$`v!4o~VzX~~o5hbxt0IHIuTuk~ST`zzcqnqZ`+95mSgP=_h>N9|8 z?w3~QxDR`e-qYnlyaN;OvFUN5hz1g7O!S}MnROh*l5p$wW( z0%a|96j0sJaXD^K6Ol@q> z-{3b(_(y;}8#**^Zu&v{dyV%h#RHCs4`TcFM&SoK9`5!Xgr(^x`CHAvv%np(19RE% zDLHq{?)c9uO$YEYNoY}dA#^B;!r5ZN`%87deFIuA<;A6KKBRYEKo|T6lzwqwqi4#y zg%8;CuA3YU3*L52pn{$~Vk`ECd90LLqWkYS*hp`LH;OXena}@e)A7svNBI7noeyEM zpN8z8kOJM1^F0!cBb|_42uvR#**p%_0iuB?Fdx|8!vpe>Z|e zM&eIW%}1s=rrG-F!u6p4aHJl_1bxc&iA|#jgMt|SszdaO8u`)J%Z~^-yd3aSEdeyE zLwgL0tGW=rgsF%Zd(k^Ty(uq>ufMjdO<{=Dpsu;x3}$w;PRV|aSgmr@R|RSsGoU}= zQ?bs#5B;3ox)3r8minb5-k}e-x$vM82e48RXk_*>kxW_bjCbYpGV|#?ZWzU&q zn{;wNGFjMu2(30Fnjz&z&IBB}Nq>Da;N9^eW48HhQbS8b%8E9xmih$0C$~nps85k5 zVAWI@yTt#LxHSF_f!6;H_xQyv=w7^ekFi#ZCeLwmZMb2TMJ1wcutw|4SLLL!3*))? z`-0O%UUAH(!Sh$nOhnI#u1M?Jzl=nA`nuO5zDPs*rPl#F#>_zAB}w}W-uvLg?Y4@7D`|b7NiFeSRl_04;Ob@bkLSMwP)Av#5 zK_{Qq@tq7&+`m(@?6LvbMt5`i5C4YLY&=oF^X_{HdnB0(6ORa3M&Icb<{7-jK9DneU}C0z55F`GF&7JXF&Urgubs z%0gBGce2V<(rY}$-g%*<$|5%Ss*`p|nFW1hcNbZSPq4Nx&`+?6FR+*b{cKp`D5UO` zKO;s}g-xn|0SH$Yj~d|Wq*+i#l?@84{$>^98WDIaq2WWgmSy#UpY-Ulga9KA-w-)N zoS&cz2JsSw_0{ekc84sCF2`Syewv#kKRv>EGhj3RN&0B6`E;2k&s<7M zj-yrZ25a%dxoSbJh!O=(9OjolSQ?gTX6d*(I2z z()p0`7TCw48QH4FZh*-cu`E}&R>BBYo6-uTJtkDq8g4WOmNpL=lqVlCNw5aaTxRB{ z8#T#yYVmDE?b*rQGi-d)kd0cEt+6-p73+8> z;tCAA72VL$RN(f20~pj|3X2{bL&;Hmjjyedt13B~m7b?ay&tIFU5Pjp#&_;9-^yWP z^4XA|0Y?dj9hU>Av{mjmS_W}b96QG>W2+M6HX#i$xKrdyW;-X?9JzN^XO;8bF&{tf z)RkWJ#x@|jplc3s(mmDEC@JGKCA`<9A* zR!})pB-{nN^3P;?5i@4@1j%!`w$NW_GLH$aa6cu4E;;y@8o7U{hV3)W>8A@nPlmsA z3LFjmWtX#!h#Kjan)fAqFwf{la}!N3QLMtp>5C?5NYmtwi6c)Y{8hyYPH(<0N#UW+ zszy(;syPC_}Y zZ&au3-Q#CsZ_GotxiQgp$ezD$X|XB9cUJsxqUyWuvar4%U=^`}AkRh?X@n*IvHU#$ zEIb_KbXSi?`OrvU-26|5j1#fISMK+7>%E0RkKLJ~Lpshtli(O^?Br3poVS_sz*w7^ z4Os}C++>C$#w*B@hV|kY8<5%U5Y4lbIfbBf(a`@%R>eHaR6HEC`#}OUTA#c3jbA-; zy~aGfPp`2KlySQzFry|_7FS_#MT_4bv|=dO|Nf$w<*Rbk^|68L+y^1-3z~bkeD}&S z2SLZ2E)ebB!d1ScO*L;~@e>%s)S)fxETJ*nTI(@b_lcbSop$$%`*6){NHAYVPAvu% zuDfNg;``0%^E|k7*YVY*!}NskL(pxXftiPRYJ#i?gzX`2C3PVMu%&6$PNQkeF+4&7 zwEx*aAoK%3qy-uQ&ERs*bLd@T(`HqpVqCt)d`c<;Vo?ij8AEU91bJ<1@ zb<`t7HLGtbTC`-1Y8;u&`vJUl41_Pgt|0e)a6EKVwFVMaMjJhm?rZesgW?MQ*v~1E zEKa*{Xfd){%X;tJ(+p{7kt7SCe!Ze;1U3A;x{PE40YQCW zH<o6%F@s0J)@6{>dA z0GymmaIb%*1*Eg4$1_FG$_6`%{Ka?iSgzY;G%wj;kxsn7J$}|d-aB%tzJBI(E$SUk ztel>S5Qea)lCy*ak%w7E_PI&Mlfy}!NXP3)2@C(sCc*`QZW1ZU3#-XVg2>@WXsV^- zQ->!W8#c{(&9=54A37dAKU*JTUVqlyYUVU-TGuo^nAf~-<}^)dc_MK&OleRGr7PxM z$0|Ch2#5CSFW>Y9l{|-C#m_h^uqE)!Z@rDg)SoPhS_CqhsgBfWU*0Qn!YT_ErX}ZZhphjO@_%zMh?8@=wj-)x9l{Mga zYEEX1yY;iiy78vixSVn9>^hn&}ZbH zs!rrN!2Am4rLb?Dl%|K5VI7rO=QG(KNr}*edM_)TOlgK|)IMxxNa77Rv+CFH=iQ~y z$`Y+WE6wYy$IGk}qBWt?c^8>}9bEOJ8L|sVRz{HUhWExJH=_=Fj#Ute7Hj)D&h1j@ zj)bZ{$B1J2%LnF}dXM!|LmAUdh-PBG-Zzvlaz#gjq=+!2@;D2sL_Nvhh%s3w@Nj%^ z*&Qkbd$`%NzH@-nX_4-xs|3Ynr7p4S`xOAh) z^f+m#T}bG@tAT+JG{&2iM~Y}2`$GgJr9;dwh%|01D(O8R_$KyB4TsgY*8%g@5giWY zYE_sb{pLxwo!EDO9%aiZmS2plN?yqB=l~QG0S|cd-=u=SL{Tac7}aZ$0F+a!%-PXh zht1p8z{el!8(Yy{4^iodDlH`==PS zkZCEOYVnCm1g(-3$`6%9o|B)_#k7Ce7K-sEGgAB|+e3%~q~5#~@^JsqspcyY8Y#0d zR?w^Fmj6Lm$jf-bN20??+(|Fo$$a2c_Q>earp$QsMn~@@rDVTEl!+>70v5H${5f7( zvVvG4tVc890#XsW?~QJ%*#p612Z%?6%tWRF*Ad)dZ%kUUV+75zf;%k=iGh&7{Me!n z!Oe;YY8cHQtWfpPCRrn%{G00Yp|YVi@GJ23=er=j1?4|}XNW5V^;9NAQ{53qC_IP& z{5?eA5PyzGVTlG(8zF#f4--hBAh3GwSci4dL|iG*JtrUhh_4cg|iw&bGQ{U}?1D0k8>_a~Fn zys>8=vSk6LyQ{mG`4Ts_is9iri)ikl6urXCHXiPH)g-tqMnOV&FJ2tz7GQGv~0eY4DrO#p_%e%N~xtd zn?R(|Xpg$oC!8^Qj`{#%@fk;eG=O9sa&;ibjdz>aMZTZonTf~QTj7d-lwe+Z-4+Qm z%Olhjwrgh2FsT`mZuAxX9E}N|t&Hp876~oJ1>przbjV?_dT2{XOb}BmoL#*3+$4av zy=&v&1wGfu#u?!skl2~zv7|Gr=U$j(hh&UKS)3+)+C5oBmqQVjU05)MvhlyB0wY7s zhF!GK{dl7$>Xd_b!tLM)Md7+V2LRyaVJ~5csmDhq*bqZ)tM(;?48wIDyEIXQ=CoLi z3#o>${3b+0w>+{uK8o#!YO>l2_IT4+j9zLCyNmQpB0P<=QvFqh&DcjGo9cPFl@?^Ct<0c=L zaW(tz<6RyhSj~_9hI*~g`x+b`Lq1DxTL_OM{UPSYhO3zxsd~c*9m6*10@x!d@53+V<74*MYaOfVKkgTR!Y-BdUFm! z^zo`|@HfU8H<4ZMC8TqwV>J4X*Tf_6|>Z8z4#RsW^2;kb*Qn*e4r?pd(4@pIEpg7F?zy$N~Ol!tzR zo(4@q8M%3Z0*xurU%~v{L=vWLmtDz0yTkq>R~= zhdiH@oh!ipjaN9Tz$RTJf+lov`n56GWya^HFx3%aRtcYr{J@)AY#u`17Cyp1F$v<% zJ;|W9=*fTfc?i+MPZ?-JZZmMCoqOcO6V6Y1Mv3n+(_->fKRynEe(3$t2};R??bj)R zE$Kc&-`7v!zUP4TbqXixJVKXn8>R7QUZNQ-`#M1QMwgq^>AsMX^^1+ zk#f0XmYr!9hMUKsgGf~k<5WPT3w#kOkMw{B^EljWF*|=TD-X=Fea*sV^Ehq(i1}-J zz}n{ssj>woLq3M@5~(wP#QKG1VYYc3FJHv`mmU@UY;S|4NX<~8dve=&gKWEbnz#iE zPPR9$=fmjT+3aA0j53IHk}tx<9nM+hRd<%?K2Z{W(Yh8uTW^}uWcHAwP;NFTp&mzsNE8ij%8aWMQ5f9~jSV$I{^v&9HQ#D02W z9`9%tRxBA2UekY3;7k-)ux#+Z@*S*{gqr7!@OSW;PR+abH;m`-b==*Z-4vRq=&^LX z&0+GOwMg27NEN>HcQyBLK&0OM5qt;{cenI6<{;AduZu%X6F>8~L&G@#Y%#qndRAZq zFd|zF+7lB8JOc5a{wCf$&hV?`L2JSR#7Z`8B<_*yKGZNl4PvbsrZ-;Rn#c2DXwbY` z+IBbmngAbOHu-i(Ky~xU!*rX}>7+=zah!SWv+jVBia6NS!e%7$GPq!Gbs%U=j-p&43JS22P z2KNV(rAcR@`VK`@c*>nsXQ4%B;f%U8yn>;vyaV(|*TI+Bm1#4_brprz0^F#uB@3HQ z@!cH`T%wwpAh#&WVQY38y@JteT)BuP3y)55wjGXioSGl{R2A*2Sw!pFle`+0{ELKq zC1fURs^=;l>AD0xOle$wUkp7aPNHu-L~Cv1k@yI_lfwdr4>@O4U7Hc^WEr(EtIJVi z7ld0ymDyagDiL!qXLc@J7an|OY6WZWXMzd!Fw0E8r@ywJQrLo;54UyWFnuz1ryN1# zVYaEmu7(mPLyud07ZR0u1(aOy<3{9z_IA9C&jDC-kSymv27D@BiLHCwHP{RuF{HDC zQ(t$>c!`_(GpJ;oQ0hpdd13%QE^DkFh$C;|fT@3}Fgp@09Bmi^tBDj-886o}j~TnN zlY=}?k*(Mjfi%iG%=hSKg6uRtWN#EV1Z>kj-5xQ* z6Bd0wQWYzsf{hrgd3{q}qIC_2`>SlW>gJw|hdV+r!kelLpHe@kJf3gZKdTyV_gDH@ z$;NQH`PiQ4qK&PeZYup1aK9LG_BFG5`cuq%S$D6^5e`RfcQQ@IKTt5H5`5EQ+DNtG z4=r6biZOz33zJMf*mC}jJ7M}R+p*8497=jEQ_hd1973{Q%F$+;Q~5BaW+5RQrVZs} zzjZV-fmWYVAF&f7Mzqn_SmeWH4mPAF@(lq2hk-pi4BH>?=k#X==7#Fj2)qlL*Ih@n z*IWzZ_iFRwS5<9JHG^qnxSwPcZJ^Z07$?CdslhjW(!#0?50)s>VlR@ZzeGj~VD8d- z$!JJU%dh9}>n=U)_VxcNxMEyJ*GyO+rxIFy^)!nCC|#6~GofRK>vTjk5{@9R%*?^A zTg!F9uU>gq1mJm`b=s4@D62W_exbamvQO#Q(`(ZwOqAGjbXUqwHs6c6spO+VILmq< zd}VuedX4oKRcmBg=~+uT2REfDON6Jb3NPI$Pi&V@Qs*koP*HVmC@->8ZmHm%&nnMr zm*G%~Qbk*k*f=3{u4&ijFC|oqDIJ;LJ^9+~>Y>J8qW7DroWv^CLo7;dcfo{1 zbyCG?LAXh@D{oWDzQXy0{~qf;??uv9Ij1!1M7c@AyI4S7zm#b~{lwZ?*1G_p>LUb+ zDqQhLdqciu$?0CWOSC6%Yu5hM`Gx=8|3lKZvgKIeuH=R7J@`Y~x2k7m>$vA6=Z@)x z>%D_UAHOj@nEnBPY`ejDh8Nqj;7Jb$)&b}-lF-`Z zbjYa2M^$9yla$L^Gil6~;CR%hisAuzI+9_4FdgBdJ=V5J>2a<-ygyZ5%H2|?d)hY) z?eg6WTgBvU^3?_PH(ykbNeM(il+w;ONgvTsK*qZG(s&ktN;TGVkFfoh52K*@@Q0F* z6xZ0m4YO+e$R10(ln-4`(b&4Qf+EJV`m?%poFI^>wERu#L$vJ1{FzO47t<@Pe2w>v z;7>!>+NK=GS=WPJ`_QKOWkLFb`h&X4xPT2&@#=&7E8m8dej}3-0q@dO(b^dwZ_LT+ zvx~q+b?Qf1HmdYA!I&E7f;t#RE^kr+zEv(MtuT@*i)!SoO1^YqhYF5r$gC=lYBX*c zd^xyjsdPCihZ+rSFsrJwYF2t_dO0PBshME#Z{M&TwZY^jZ%J5&g-nguY%$sd9T7>mT*$#F*i_Nb0U+a>bsEBUg~c} z?5r9%PwXLzq!w6)w?#E@r1;g&3omHP^Y2n|ONJFuIHctAM^u}~imB!iIRZZl4@!CF zl^K2`97#24Fcj-qwQ0#Kl;J0dbS+plrDv;IFKC?rDq&grvpRZC<|MvdbYR}pIZY4wsvtB3CcvLK3bqQdsxamup(IOVPei z%A;XZHsKz#E4cWm%7d<}xaIUb(RLG2LHS;klf<7gKNQz)YG2uJM!Kl_o4uISq?kXk?4vo|r*^+p5kpk(GSaktGTzy=9V?qw+D7%&( zlgy~KiI7?x*Z3E^z;ii1lYYY7z73ClH>3Kf>t4qV(*!BesKQ>!4cl|@o3sx@Puv!c z-Zq(Uo$Ki3854J?x@rJ?MSgh@ZB@KVeR(Nug^H@kf|{+W=YpcM+Q!p|oAAAow~8Q# z-z{xXNclgjMBD<(QW~rD^rC|@F{?7IJhgHTtFA5?+r*^`hLc!$r>72DSV<1?t(wDQ zF^@96JoOU}k1ij5`&r&QyDkNy>CihxZ(-jW&{4xnXLspsKYH_k;iLPb*dxUwhHEG9 zO4bSEpOjYnR{J)hwzc)F3&KaIN0~>iN7oi&QnJ3k(dc35F^NXiz8Lfh2JQ&-Oud)z zZ-n1^VET6946eSnu7SB)JGf%6p9gf1Z6A?tALVZ!S@+HieWkt`iryKDzL~J?Bc<)5 z*{}P3Gp4;WOa283y)&kLGyA<$`+ZZR+xw?|Lm1n}>)$Y|VMDrpAZo)QdZJ-Bvtl>H zV{<|wYGWW~z=u>phg2blbm1UsLm+x0d~Ls4uEkug*h{I|2PdU*qT zd6@!Sp#xn*{9Ho&5g{%+5jSy=H*vr=ao{%Hp*q>%J8x;-s7~r+p)`e|_nTP7 z7GsGj@jI*YBxLIp(^j zeUJ80{}l5rbv@yKae6NjsEj$bzo&T*{LuU?XF47?q^s<&=AHgJ#O@@~hPF;~!R{K@ zF|Yft`cF&i+J^3ho@gVsXZfUJ7Y(YGH9|8J>eBQh7tror->tkqj7f3fJCT>HL`mH+QNV!+I3! z%4`Kr#R~dA$|3;pyxEHnO1R{t`g`@<0+>5)hBu@Qo*AQkZ!s39n_lxw>m`EtykqCs zG6V?wmiYG}JY!ZuKgxx?EfLO(1OEj06hKUC@p`K0$M7qJpp0&te_dYA?nSQqv=WA*Ob+69>Z(^@NK4~a_Pc2SXpAHJ!Ygx4W z8hsI(yQBKq4?Mi`K+bEVJ@BvDHyJtW$SA2Xqk8NH7aYwH&5ke|`RMnscQ}l?n3b*H zimz0!^cW+5O{JWLy%mb)^%pdym3m5VRetII#wyF7nthy>^GMH@8fH_us^mawt zIQH515j&2%i3^{nR^kBgazwC4vll;p<@M*37ZSmUV8; zo?tC8wPZoY;}U7!!uv7QjM1kGa1Nn+wF|@jksKAEb z9PoU4Qgfd}xk&qqyxzS9A{1LrU<4b}tMR#Y-lIGi>=B7sHvmmm2i7}2tr~AGTbDi3S`xe*L zxu~{m_1TtOUmMUus+(r1GtVp1P&@{3lxPd(tNa;?^OTBisaKgcpttclxC14%A!+{o zST<|a=alKGruNF$`#|60*0-Etc?)A)j>ZUCb2)EYx)Z%*N3xQgXZNu8r6<^vJXn+x;ueg$mNkxGyY2GXM-bhtonP8dwNJOGB%~G_+y! z{pO~o;U*0N2|XR~LyO;|HGBG3#VW+}o@N($Dplhb6;BH}&S{087r`b3Viz&3VU|u$ zSTa~XNuV0O?<|3|3@00wr_|skgj;b1$I^|`Fz(z_BfiI!Xf6_4V}Ek0U*0X8$_-ey zE^M%V-d=8BZVF2(R0JoPHT}b8EAX_%SDY}ktxQ*=7=OApyWg)AmRP96zktd(wN@iS zX85Cm>N}-GXk~i9^LWMFpy1{-lX;mn;{~H()SfE;qa#^2A{^2j##~wPY{dg<3rD65 z`yw4T?j`O;1;Mky=;7DdrVHhqV25Yf_Z6MhB+uy|PP-$?`^JxRayx$9@+}S#@6jir zYN2Y%xPT6Xwj#0?abT5urYn8j_gRf$_`rMFar3sR^+O$n?Nw&U9gOH5KHGy*3bPg( z`L-Zac(WV|rTRW+u7*SQMu}Z5SBw62eDY>HUO7<2y^GH{goDzYwe3K&jHbbzAgc|aWNS$GPS%IO za-xxM{(>lHS<;vA=p?gkr1b$p*b??-%`wL{kyB15Tn=h8cPC7FQgC#*Z!@3iCy@vG zHG6G^m`j+9EM4$0r%uhd%+2c>g7#7Ej{7yo7(^XB57UoE%~~A!gSET1n|-ll<{qGY zRN2=c|ll`V>ROvIY!U@IW??~B#cyZeqT(mn<_-C`t?Q0*` z%##Xe%c0A=P73m^;#NzM%WwT9a{`39dsrl-N!Tj5bL1=+o03fBCClBr zKOwgmT9;=|KJ#$x0o65Y$D1CBdbwLmFn4VZ+&VOwm>1tK@CecL@Hf!~(7U%Wot4)S zTN2i`vbGsrTUsSH*1v`~_mXpxOTb=Wq9n4KmDno}H(1N(Y8;DJ8 z>=$`WV(cFY#kv?83BigCTs1`Bh$#*n_*H0W$>1 zVI+}b@riCQV_W<>_eIpeHQ`K(P&A=TFk)2&OgLf}gw$SRTl_nb_H2pjp@F!>)?Pqf zp-r%xXcSEZ6NcC(0TY5)XQ9RC*n6Qx2+d28O{g2jSXXZ#G%=o^%@xTdm^%v4Q(zB* znCRPcZ>SA;Jsgmd=!PT~#oy~lgcD)~(WC+885SrZBydBb?Pmj4KNRYPxMxgE^cq_w z)C|6IBGL@D0&S9kvVv^F8+$HbLKT}OwzldS{@$X3V!JgrP>H>S;V?~6JpJNAvkRf=^M54d(fbac9dBz1U z33We^NciJJ0p>&TApnR#79s#X(2;n=8^|Tp4R#ZS!UMJk8H*;cr%k*C{=68P2?;<2 zN)g=<#9sP&sbjPFRH1PwWd=l&4KF$Wr`N?gl0*6+_-_dde90kUgSyz5p=|~U0ypYt zkcdAFf%A4Aw*U&1p7Xqa=*|-#y4$KE3}N{0?eA^x|AHh4{|oZ?FX-aGpvnJ&LW%wh z^8H`X9b`T-ANt5)Uasr+|1IMWDUFMiy(PKQ#eZUq2D$zMky??Hv3UVyiP`)o?noN^ zCcs(8Lvw?0eQc59+Mz5bGk7h&(o+P6|62eSWC%qB?F9B2! z0Yw;r_}$yMX}s{CS8@0`F+qe%^Zqe=PhRAA>G{ZBqD^EhLML7T6;pMgemNhW-Jcg_EQrx?zqD_2)Yi`3Z51SlEDa z3|@#3%P3Gt7h5gV{_=fY5ce_WVdFn?_`SgUf28B5#n!v=OS$~Kq$B(dEr2SP*MI$3 z1oxZew?cmuOV~n^*bo77BuU&@b|L^)Y=__azR0Y9A%qkRDfP|gLn2GE3gqsu1?J>G zcrR17)2`iE-iOWDDD5$x)8nNC!-3gif-g`P5+%l}lY9W0G^JLq4Zn0Hyc5ZdGA^WC zLw4u_a~B&(NL=w>xrXFlnMkgo=vO9|YiRP7N#q&^ePvR)hJ}y?g4hboTB-cfw-lp? zZ@6*U6W2fA7)R1vdz^DczsM2FFr148^lXhQmYQeveu`2Z)9()-cCw4n3>S<=M`8Ac zjt$Q_v||~2mDuQ9)3J2?n9Kb=K{&`R8ae971Yln^ceK^ldF87yEUB*^iVx01%51JMXZMXSA%Xyre>UJes8t|9SnbOr3Yb)dT&Ho_ZOw}FPv zRNKER7ekVDv9Iami;fBds3Wo)z&BpwgP%!4cEi4!*h|F*^nb#Sb8c2No@|F1CtKsc zJB#6t{NtBT{5PbEUPk}wX8cdxh>SFD`~sL$*nhnUMVBKp);sb*5=uWO{4>n1dzoR8 zajGQ9f>!H!M_t1j*!(qluP8EqO_ETFQ&_osK!*BReD{I56`Ftasp3j;_1nevQ*W4a zA~#MNm`py-&(@47tf`btTGqInQqP`8&p>G@f>%Tz#SsphG<(ySA}ZxcqXb8C9LBlT z2Kqare0ke>`O3fbwP+3Uy>QCf7no|B`qVk>p7KVFbI%_KOU~5~kv#ux4k@ABcewDq z4a|!5iqY^s7Ta9~$>67#&rfO$@#Ak?1)-2d2Ay|)vvR+Yp9S*$-oS3~feSNGZ)mU3 zdp-Vf;=e{2Tn~S2CXOOTsN|KTW@sSD==N!ax-@MzC?9spd$zv7S z$^3pJJ8myxQv8>r(s}%Q8ReVr7C^+L{&!1tZvVTIQU-i3*P-w3=+9$^F1Q~T=mS6E@g`D>(sV^Rl;T z+qQUzQmo^5ak8L%?BOI$x62Zsx5simxAvX^dkE6m0cEg0Y*2+Y)3i5yT(KVTxRk^- zl>9n-D=8L#{TlI;VW04hTAKVaVcy-agsf!1j@7t};d>WueX{n)d8kLZ!}i=Wz?IY! z@2IMS?N^%NfF%WmTr+sj7reVN&cEyV33^o#u@wUWn%vEjm&?aKG~!d|g(XmHP%l`a zdPYA=6Y^_Y*gnZnn2(*O$U)4IHVUi5&l&=)AeJ+1(x9x~u|7U!2r~`EO3aBYl{3av z28vp9gT?%N&@;q`l?EDZW*Rcsq)07kCG31Tx`0T>w?@>F3x5{6Abv0>ay|;!iT%KA zM(*%j5Ilv#@vbNI%ljC0DNdNH!8ovYWu)5IM&ljJ#|bbv9OxKq5LUPV;bg>2h3uqc zAWxF2jD3I}YD)#S7R@)h_>GyGfHeiVF=9J2^!HJr0#UToEGs(Cw}HZS{4qxX1tB}) zw7*;q!@ZY&73b5CSO0QwtTvcxU;q&8h+fesar$7HHGjlr*qJ%)nqVzOZeM&mxxya9iwZ{u^@8l9J0i6Q#T9H_VRWk_Xhv;zoy0@vF6anq1}`5)RR6Ef_jeM;z*c;t zZ-YXAe|`7WEdkr&JcktSYq+M&Yz%qwY}ABc+mc+R5k;?&aCrOnfv?b;^N&GL`o(oA z?lssM`ermhh4j6w`|c1G7GdvSKVM-|bs+c5Se#+*ynJl+XBW7GGlZAxKt+oiO{?9R zg6Y*|5%}Yq6z$%tUH`VfhXwH>aSeG7;m)rfYVCOa2mP4P$It8PPX7*ElJ3R?;9uY8 zC5Z$E8V4+&7yXujoI)a-xR3VtSfAWvIEW?_lImRaH2ua&qD!jV2(=dk8kp0&x#SG? z+#Za-^m@=nklOy8KLgCcs(dKEpIm?xv|K&FpK;#at~PzM6MCHF{;K`*6!w&^DCzU| zWd{_=!xUBJI$Dr4Ug%#$k}cU^iAuIIMXlS%a~SN0`?LuD0J!FDdtA--CIpN_oc`*D z5^U|cc)f-3!P)eCMEC9ciQTNg7oQnJauLvqW%P3p;=B8IHexg336dYREMcCKZ!r%; z!6bJ?TZuUJ2xuCsJ3sd3Q2)M477D|aT0&O-f776^eavs!ZFzVe6}U>sCLj+^C3?x% zaudW!WPARFK{kr0$TaL9e%y%RybeEtY~;#N5epU%eEujsp_;q}3xXHe3wmpjj%mU> zJn_ELRP;7N=u;RZS(v#2O2gt*3QmNKz_!>5y9pwM;r?3cR%1r6`K)#26aU1EdyCsP)|zhc>2*! zR|`*Ce9&9rm%WeMWp0$&Fn67Zg2A65`h68wT5n)_D8oVsn_-{PzIg`ditt&aB5?)O zit{vD=$J#WcayTqB5(hPx3>VUoCnrKGnp_mGczYAOcQ2iW@g3-pD;5`k_j_2GfbG7 zal*`-|G)Rv?%t|byH)SiD_geIZnaw7pX^gUa%)rSXAAx=0+5HekH6my_Ra!DWSJK0 zuQZ)!O>r$6utuDDxd7|0A|0#|hsbif2E#xQ(k;>94_>fqrU6i32vV#dU7!ZsHPrwL zun=jSh#<%VZx3tkJlYY8+b$_exMwkrxuCDIG^0N+&wE)nU4X+U373|Il# zk?e&!;A=5<@qw;Lm%<&8*Zc#JNQA;ZVAsq8lt{V46=6?syUsv(BwXUIpUYs^ zpnDV}%$!=toA7N+R}{%(QQ#?_N8I6nCU}s|xYAf)RslI`IGGkCpBGLveK$C*W*Uq; zW)zw@IFrdWkV#6YH55x~hYO`1n*Lk3PtmTICzEF!q4xm3W;oclpaodyZ`~C8VG0;j zQ6$d0FPpXE=74osYJZHhlIIJZxBgdh-U|nY-a;L+mM24km^`c@qN!K&ZamCP(dHQ) zMA``oi|>u1A%dN1y;i%<)O~O^RiueR5{cgwAzX9Tr1ZN5bK`yq7NH4IhLFI;bLr)L z6AH+Y5f#o!Qo!!FedpyAq7CZ!kyHfk7#PH9N9;!w#=;yLHH=LPxtIM0+R=djV;wXw z8LucEIfB$ehNIUEyAG-kIH(5_=oQ>67zbo{*R~QP9T@d+gcw}hG(>R5V@@Gdfy+9? z{ChU2m~ml|XR>1f7*)zO{r!i7jcuNTg_X@9hFs;@KmJYrlSG_RE-g0SZ_2?=uO@g8k zFP`SR!%e1Y&HepS+zn;pU*Zgl_C^~V{VPSb-TII4lBH85UK|(WGfzF`Qq0L! z&3q5k6m(XJ6Y-7w4HbHtn53VKKQJ)SztfY5Q2nG({iSR|%>o>^NNi5sg1+P*XXBuv zMbaNQjSA)d{Ywg4a-=F%apBC9bC@OVW%15=`Dhk;5c6J|9Ga4)7b}9EIWeubephoq z?iL;zI_G!!S+8al>Q!g13vVE(OHk@_ywZk&T%37{_=wa-fE}4PvKz_t*XlyS4#*hb z-<2gKz(lF*p>X?NywiG&itn}z7Rpow+5<3;^po&}nMPh>3MG){FGY9r1>hvI=20px zMe#OgYZs6AM@zmZ9@&h1{I*gFOMRUZSiIr2VBN%LTNAKUIvz56rX)!{pA|b&E!P|^ zSvjlb&hYZm*?$my&<}1t-&o_}KPV{e%Q_Bbvi7l69|NL_6ELW(oG_<1ihSNCXDgR+ zAHObULS3>MiAYRvkNf#t*ygPym&{lxMp4c)vNqE|Qv+>RxD*HER;v6wRU8I)+@+xT zM$1$AS5h?gT-~M+B=xK&w3mz(&3FOltaCmc`)sYQkj;~yBVO_MFHSz;QiBZ9kb{mf zYrd5gECjy>FV{o$apLpdjb@!*f067xyj%~?+3TzyIKz~t$i!W=L_4Olq9o3lX;(9- zw3vJ0O>5x(s^$KMLz}{oZ`aQL+@mbfKPWJ(@w6q3Q5MYNKRpgT{yRS^C`@?;FGF@}D%SPj^%hh%hvVNy3Uk_$1G+V1!WuP!ds<2XN z1q;>G-{~%97g2Mo$yNGq^PX>uoT?q~9VmOvOWF8+?2y3znSf+g>Vu~le)j9K#cPc{ zAo#M?N5nd~ z&6@Zq$=RzB+LYbtLCr)PaK)s74g5;9iJbX;_~RRnFhmGehE36j$UC&xrrl<6JF)WG zpG4b|%A>=fMK@Lup&#Gf5ruOH7w4RB@q~W@erM8JkDKUDpM`SUXs#sIKPV3)P5OW~ zP=bKpfPfEay=j9%xnNtcDD0AhrJbd%(gjKi!srkQ2DpI{34McMd$vYKJUgccz2tg zJX64v` zYF)8$e3aNDNkq(3*Z1_Mt88l*FjMZpxvu?jnG)8g=uC+FGU1$fj6a-6fzM`z(=N^C zUJqbe3zqxdHGX)DzYtx?09na?7|YfSRtKqSllqdfp{td1Or?p(#_Np6Yy?!W`K6z> zIsnGcSOS03m-UNC5aCzBTgN-^x^PF*gzyiaAWlExow$jg--gWUG$z7rFo;;y{NqF+ zJ|%PBSs`e5CfxBwJ#v(nyHzAdee~1zoDydq1Iz3>tTi8Ot1ISj%@c(=MzW_5YFA%Q z8PnEEHxGzn?~fFlRR|O_W;RZ=4R~1jk7S-E(5cl(V!L8|Q!v_E52wdY&Mw3S{QQf? ziC){v2NUy!_l|J7ybll#9n`qHapRZoR0ZPu+cBF&9Fqq_qs8i))fmt~X;5>OcZ**w zlAfA%iT7~(U9xk=kZ!%L_BOgVTe=1kP8^)@3PzJkcA`>e6IR~jaZIZ1gfp<^1 zvuoMKS&T^9fm_d$29ZLMbVOv5W(L132t|QCy{RDH?@5vpbxLu+6@Eetq4Wn2zNAw0 zD@GvEVWo9{XNjUaII}I2_8CJgj*w>grt~?Yj}O*qT>BI_vXEu#9_KpYiFMy|AtL4+gw0i2YQ z8wA36bey_M-}{OlT&~V|wJ37--a35FCOmZ|4@)mM-5a`r_yvH%bx;4|f>W_SHdSvI zLn6o_RbuTqEm31;Vv}<1)&7#-)cd-I30VZ-l`(Hwq`2L2 zMbB(r>7<8;^%q<~g^kmn!kd$D_j+O3yOpLb6`tDXht$k2aTXp!j+QjrdtHr3gHXUt&8s-w^QJ0Z5(pP-`v+ z=ra;NhfjtJMbwTQMpGn(>i3It$c$(a*>+*{0KKO+Gpn!ws z17&LB&m@Xg#6X4URl)`PY(4nMt$hrLIuOt0YuYTtZj>=s=}#ZROnv;L=1NuJ$2}`2 zTlfCZyH*eL1B(1aExuh&vfrF6hGWZ>Y$aL2KbX!shIg(>ROE&6<~-a>bv#0PRSq%&O+AxYUA2%m zv%}Cm6xU5A!0m2)I0>ae%d|*Yzj}HQR%&-^<(0`IKIk)|)4vUgpl?$t@Gm?W6ms?i z<<>F2h|Am5380^J?c82nzDmU-&n6U}vDjfzD%B1-G-l}&ckxqN+I@Oa$-7z4Ww02R z*H>As<$S?JQ48+8kn?3n)CRl?1MJMPWTi()D3?lcK04R6X(|zYPs$ z1Gr}8w=y-+KMk{~own97og{N`XU^w8J-1#Q z4(?C-p)bvD4I>Y#3d^asG9JwOG9&E10z0%pR@~RmvsW&p&{;TMj8tx=s&P>t%iOgf z8J;{a9XM03-|l6_5Z(he6Oa$pFw%NQ_}oXzoHeGGDk~1iw{re;VHA69yvk(s6&dEF z)w<2Rogc`KF~*{+dnHx6p_H-CIZ{c`O=|kKBsEj2ToAM; zmJ{Cx_B#np)ybf*V)t-r;RO=|kGFPy49XlO2UL?RZ88{D-nkRPDDsJz016U15V5s0 z9!Uh+QMfPO0O{tN6TsmhGT6MNTK)CF03I3<;bx}={5ACKgQ--Zh02NYoJzOj-EmYM z^`4=a<9g3=K1F)-!ix9)&^Vq8Ges`5lK;#wSwXGeI7Y+j$CdryUXhi$bQ+6OUDL7H zE_pZh^LsI;xM$J48kJI^Se$SIH zLws5PgHFx5UfWt(WsisC@Y&b{ZT}FXTx)F}#ZSpxTRS6z>Za=W8fM*7x5D8LG9AVe zx4D!Ys5#MA=H*Unk^*Thr*@k{sV=R;utVL3c{=X$y28@7Rky;sMW1JN@Ve)XOvEs4 z%s;gzKC7cK0K3dhC-wEJYLbE7(pU24$8nC=V`BbGdaY=UXvA~p0}hSqgt2WS9575} z+`puT6qvXOBC`s#s2|L<+eZY@-?DW?qR><%uZ5;yVC?vjNC%Sk1x$@knc+1UC0CfBp~m!#j{0~?OPQfHGI z{RYs*VH@k$TYdFwnfnoWOI*?z-?iPgnxi561>6?H+LtQa_&P+j%pW_-!K*Gs=}e=x zo>D9FEt=#w^N2Q4YZpI45)UmAjdohGAv?^MRR>$UGu;oHN~hjsshr;%8(DB3L^X>4 zoCl>Za=YtgBrV86<2&nFF*p~GW(}shs<*RsTso^HB5T2>RVrRT;cS9NAe`Kw|f|IzbC68eDj<+B)uhcUG?advSsHMIRV zYj0!)55vmL#l=p>a=^qM*HW3FW`&Z&1;@|)f z0ocFfF|!k~b21YF*w~2x9AE8ovJ$Z~F%fZaaS*WsSco{eScw3Duj_y>+86&nX8_Ar zeOA`5x-3KhRxTnA0Q*}b> z=#4LV|BEO7mHz*iAO5pfUl#fT&zHUa&tCZA`hVqt|J};}H2RD*6pEBncN;tlN&B6W!Xb#T*l*<0U zc>2G$!^X);#LfmFVq^P~&Hkm!SDEz-i)>#=WoKvkLeYOnVfh*koc|!1{fqx=c(Swq z10^=*uffCmr3331^^5y!m;nCKhMkG+za#G-G5^|xmzPn@(#FNqiBZhP(B*4wZ)1BC zQ$`t6J98I{e{Kvc0Kk8in2A`vpw7g}&kqmtU$+^LtiOD)8cD;A<{zJ1x+%KLnC-B1 zvHqGENun4Uf@(;aUD&(eTsn!f)F8u zgKUmD>G$)k4d+12GQkm<*_b{DN1!qzE`Cd|0FN7ty;oK1ygL)13DBPj`0g~kC|4!m z-u7rqR4E-0i8{0>PcL6z4FKu3LhOksNIc7acC7;Vfb26>&Ca^Hp3Opv*=s{Ep}#&C z*e0>qh8?l2t_kn+sx{@5Zgeb5@@E`9fPI2xm?>@_sJw9V&% zGWR!Y1|fg71{57SYp#U}&-`J=h(SL&diDH#%b zZ~^ASY+G%pl0TtNL(Y(;XZ*NS>bWR>@O7h^ImQO+YM{-J-V&!f5yR|uWoExWZtuQ- z_`1N`vv6N6%0~gl1^jwU@ImlR^kyM-LJ|J`Q~H8=TV8nd^Y9HBCLcv9ds~tI{Z?x9mwyP-eSh|#3OhDg)F`=$c4-NO}wGc z=<7WR>Bx3#FC)lE0Z33coc~TlUUhF%?<;6PPx)mto;&R&2M)q-$m0JW0#d3xMf zgV46kp@E3I?RFd*Ez=Hu@sr1pc0J^V&w+6r^07d~-_GKw+4+%X9$Aq>P%MhzqQoDzVqG1570OL|R zE6G|syN`xhDBnhk8M?A^LLyx_^tD+c^W?83OZHl3E7b-TDdJRUUU8z#0qJY>=w#T! z;0O#!+uN0f{NFh)X8FpXor6|$;SA<;z_?^GX9{S>{8S_X3BHPS-imXlh4r1M2Y4m@oa^iM4~Fl`AbQI-)80! zLZGp169F+6ibnMT$|R1tQUgTDdm=8+v*gD$#)IlWp+f(>%GquZ(o_3Zq&e1Jpw^&W zZF`mCk#IbhE-8M_>~cXwRgLOIv=}%O_?<|(LP0)EmXRf*Vk#1a!|9kJAD+md!PDLR zhExPB`Q;D>nhk#x?gJLX-5vaceOn8xgN6nRSm7_!gbraPuxunuiA^Et{+M@pmJ%$WgzD39YgLoDkLchQ_0EbM-nH8s6JB6x%^+`s zNLP9ksNU&eOUGfgPdI2XBQ|i4>MHGwwEMl#X)#}@W&dCxD{z%_<(mLx?99mzDChzca3p{6BCH_7IqGhY|WR}{iqf{xx+}RS=)n!#;EHddr%Bti| z%@B++N|}wzMhoyO^B;{D)9L-E!>oc+I?WGcFGWLZqa^_N|PC~v^8XD<&yLs;0NpTpIwOS{htIJ0rT+4CX#cU93BonoF zflDVnyiL!|6b zg@f}$k)|nF4o$Z_!|q`ABabT7mg(8!szS+b7xr4CB>cKKqYCXNBUD-olYZzW;ww~G zs95P3at`k@!C8&YI^JXS#i;{8kFcB`Fg*+fdBDd}XDAh$YExow#|vb%+YJpJ(u;9G zr$3P8J6T@xPyoAPp%-sdk;Emj6@>3y@oJ?qv*$VnKQ`$ERjzTg++Sy(h4uLDv3py~?l>BpGMam0`QeAqc zsr4XXOik{-P(>eSe!NuAkaqZHxSx2oU~|K$e=io(fmA~RmEKT`Axrl!F5UpH3y8g5 zIa#xQ2oSSkc81IdJyyKE7EN1$Pwmvky3lW$<={kDZ)1^66kZlcv5p zd<9l&luvGo;HyTRRx#EKeXTt+kLHroxEKcKU|acHIF^M0#?%5t46?nfl<}#PK)0|+ ze$KM!PAJ=!JV)r1EmJaJLn*4W4V^J-+XLOoW^kvMQyoothARi&3f<+%>OpvI8qhM; zH0FgIHPW;**BXyOp>c&j3oE;^r6R$4wHx(P#1UHB-d#R)|M&71!fq;QbmiGeQb>(2*hSpCot#=gGv8V7E=H)^^p7+A{w zzG1_iN5h?<8V3@(4nmAgSlHqIzS^2AEe#KLx(*Z!Jp@?BkdS~H2Qs?92(a$KA@qiM zJajftuxI^!wuXjc8Wsq!vW9ugbZo&Pt2Io-bo0R>*M@mibo-&;<{DVY7{A zfEI*d^9>x=NAdSt2o!W1+)0WdGOhL>`-u@6xgZv_V{h~wn~4FK+u~>J#O%!*B4=Eq zszgueu^HX!7IDPv&0N?EoUyX|Ea(gNu;|U%Qj}yhGZi38fpP;%1Eautl0 zhJklrx1bL;GlbbK;Z8w8;wRjN$a*vt@dGJ=C~v3-1T&1e>rMqj)<4DAk5d7dJUGB8nSyndB*~OYkIsv1Vvnlka z23m_)!_OK6@fdJr*M#RuMG}SBOfiIdSDk)abF$X^f+!(p0}FwP$mXPDJG#G%ks(_l zJMQ1whh+|bFKr1r?a5M%M+3+^ZfM4qbYu5V3nei0gG^>n5>00k*q12WDuApMfAoPS zo1kRQYkPFgYwaoI6m)iy*4Mzl1eO z+-aL}l>ctq?bv~0-(P=(5c-wnZazc+-WKPYSb zPTT7FWZ>YiL|puWPTa*ia1`>FJMQ}&(ZkUM7&fT}nHOGg#r-9!$=HhWzhF*?MPhKH-(mi` zlNPt*V%Ih2cLs{BELbzOj>}}R&c~zflE%$}*Zr^+2b%8)rW@O6a(&H|j^iKD!THnr z3t}d=62WRb*;%W}1>1>RncC^}r6jJ4b0AWokEsIJf20IZo z83#fT&yTQLL+oIpvQVm3Qol9)eQN7PufDD=r?U*(g- z6aSI}@>v$>FBmhE9luBH7v(eYWVt{8LH3Mgd_MRXqG!rR(BwyQcX$v2#>?g#^d8Hb zOVc(Jc=>12O+d~gFz;AawjTfYZoo$pnzlxI7M>afIXpFeN(~DGGns1{9Pwy*lvp_F z{?BGNQmNom1)4}P@*We3LYlD|;^WHfG2Wo>9Ju#T1k!Sj-U1C8X_@{K&F#ha@l@3T zZw~;L;bVaH=6**4&Ct6`_e221W_&vwMDyb}^QzYX{DE5Mu!&mZ^6jTbjr{awfF1Ftb6B$?+@52tZDFa{lv~a_S+HNyxukJ-Qly5Em-{?7Hu|! zXvl^QAZM{&V-(wOwJtWuDl+I0=&{ZAAjG{iH*JNCF#yM>eq??nO;1k}a2v=v_B$jE zY*%~e`h)S%#$UI#ap@=0F{PET0qJEDLm(5?>_36!{^{3yz3P{4{Q0$F^wwhL`V^n! z0KG_i$TT$o1HHZ!V8)$B`;6;&A)9F$^JgP)@4+s;0C(?c#d7od#4>#^QEt-Fta+O= zI`2AXg3-ZSe%H$7>4Mr-NRNwSB$CgDd%;fTt-XEJ4o~v_(coSA{VW?RS9=j@_|Nfz zmCi2OuKi*hyY9n0yzW3Pfg^rZ9fqSvYI}KGWbTq^S(}6+=IAj=O8n3hNkQ#&2_uu0 zj+kqgV!C+j~4uxjj5MtuQJb zQmi;)w3$!XV`opf0wT_+M{U z3d|1*%{$E>bCV|tcxZ$8^G{uKT>0fx6r@x(@pfpZG^bK?rubHJ=%$$DLn${B50Uw( z2_h*sjqi^6aAIdkAFl|m=G$<9zpDc>LY+nhq-HTd{${;ZH2b_ z{YITIsCLnULU*Zwd^pY{O!HT;jbPSN|-K-9&!jPvE=QUk_k^VcrlAlxyRGEmFUq9-!C01CL0tqy#^F z;ICExnFcN91MLWM4Yg}Gz=PCGIs1xgfy9+m9Hb5~THUKf8H2@7{2ks$9A~}CO zTuG7Yk&}TiBI)h{pRAw7AM$VJZ^iG$Z_(yav3QX!>#NO-I8hxBh-&JdVeZF};2yUV*g!`cj2uy!3ce=_o%Y_~qFDpt zozhF-LB(c;&>%?Q_btglq`$lWSo8_WPpnI$pGJt(`x(BAw~yC=H_ z-n|x~$v`ginc0VaizR8T8#30gBWGy2VxZ#hpbsyUI||R=pZ7HxB|F|%V56UepRQ%Y z2B?$1)Nd#VM(YH9Z+5*v`r(c@sLty5Lj{&75#tTIU^5ihBZG&}=|tLorHYVb4aeqP z?xo#HTtfo2C7AtlAZ@4*H3@mmxB8DC9cc2uy725m$p<3T4~UlqcXuEfJ_)QY1BN9T zRvE&?N0>MxZ>M^6^&mV5Eq*+Hn|79z@sPW+xjC}P{G{?B45pS0>&M)J91t_A*(3-G zb9^W4kuxIZ^+6aW7R(}pW(DBs3GoIydgJ8`J!OkTdOWeWzL}>p+=7eSB>h1b?o53R zT{-NziiNSkPT1<1dqc=MTHW5dj1~m@Q0<}a^3#7{P^X_88QC80 z>xUs`3i64;N8AbT#yyFCV*ea7e!hJRt9uXfPv9ehzB}X)s+c9 zSC#&$LnrtVXXHXF6Y1Fs3|vUBaqt_}AKRDW}XoiZ!Fg$i-(3xAvU zI2SYTt=Ub9a&cw@swY=N$2XcxM}E;Wy7n_Qm>v^baK482#Q*S;V3`c5V3fvSad7vm^UWC0e@J@ zVGod0r$MGv=Ii!Qk!~0Eph>2I%8k25ixH4x>-JkZOi1FpZUFyAvOUV3?e*S~%H-#V zD(Z!%&Jw?xP3HZ&Ye3J^S@@edtJ_G#cS8BxTwm|)dB$9LpNMFu6~)BG-Ar=oL) zl~jgE%AY~<5AU2zoW8=FH4W*)3Fb3HVMiYkBWf^glnva; z$DSA!kBdJlIMkvx@M#Cfl6)!>_VSaYP^)JOPqW(I+w_l3q_Qo`F_Q*HXzP`dw3AyU zOQ}n}eW^A3A7AS7pGqnwje#3c7!neWH4T?nM{un2v6_LU=$sa=5~aiz=j7Kf&YhP2|{2)gZ4}TIN9k~%px-Pbk;ZBIki47SkX`fmLzUM3f_ z!~G7a`Z5W@cQ^4*luHZx%~^zM?A<3$-fIX`l-veY>Vb-wSoyii6s}L8_RC(#D+i-` zN=m>h)%0EghHmWMzDW5nY6aq^RxMt$>49@5r5$H?_2U%44hL=k@9AV=je_kwZOLbR zUgmt?SH$B^cX#8lvuFI$2hGC@@L1j>_{*PEkjYk3q; z$8rGm=r5>j4L7|LKI`p2fa2m<2~%-^zWYv*=}~Gjw)69ibC!KRBXm>4MBn!Jcz#y2 z{bA;mtPVj}&L(sI7lZXS@zpBqx!S)Ml3dCuDa{ADgu3kO6>V&3kObCS?M&h&gubtJ zmgD6K;1$_U>%Foq-;s;F#4YZ)T{MQRl_cSEGs=`H1VM9u)*iO<`PjHv`FNfZC^m>y z_X4$D^LXxBf-D612%@+yLm*UfRAGOWwp2VHgnOerJnoy=s{!^;FOm(AlwKAd9Gns}s zbsvh$XEI2y*F=8ns2*4JN0ni-5DQeR1n2kn)S!upzm9>#2-?uhLneDrKATr!wt*>2 zcGA;0ySw>HZ9tl!sp3eQ>$cG;#*x#AzQu1gB3$@?BcM0gzOy}J5k#SOq0u={=%}4y z!5DA`jt9y@wu|5+cvJXtjf_yyNi^3lk@!g08D_T}Yom#!4j*SB$N0B25{_Tb{6!B~6RFtn;W&t%ihwRGBe(1{4 zOSU6)Y5g)9P`GQo)48cqsfJsL2@ioQ4y5<04Cx}~fpi!ShyKpikK{uM*NNRFIp;&) zeyqAE z(<^`U-73R$wYDymR+6@|ZL%3}CucNZ8ZwyJtyu#D1M9=6!B0rvH>nYi8l4anMxjg$ zVS--S54PDi86Fsk8^B^p7kN{A_OC9}wqpDgINCndeZT13>U?aM{vNcPgtgggpbaCf zDt2*7GKUc5#3&Y5wqS}n=Q=L*SGe$8_(|+B2w1Fa0M-w zh0y<`@N(`W#-=$<(T(VgKcvE1{Gl`X@;<$Sp!*vR!i`_|q7>ZAhlPMKB{Yxm8yS8SjDs#R0t$}{tToCy;lf3iXW+Sbw4uOW-;3RRZi_Y`wyNv`~C{}y@*X4feonJ zdnKy%-`{?t`ER&t=c$19zP~lT4*R{;TkE%)zZR5pwOlD&H&xPJp0}#Srnuu0zz zXRICQwUNEHaYs@-^TRYmJI1Te@2jK4*lFZc1IxZMCWGkSq_m)@q)Op+qEzfdLue?_ zH&9_@@A4e~ z{E?Z0Y4!42Chk;2F6FpGev+s;Zk!%GP=ha`{%4BVC03(`8s>#G5QHm71TzThKFWqC z22%1zd*08BUzjmRw|@qWHiF=yZGIZ{UrXL8x-`cS-Ju9018D|9!m$F;-cmu$AmVeC zXyveH(IJ%=5k&||&$tGD$7NN?(FcBe8d6`_oJQVAI0|Tf+#gUR5e7qRfUYxD6~U zpvN=xaz~WsYn@%>=Td0pw!)cgw!e_#?XvvSrRo@Tb*hUfR(|Gu_RzHHd*Nc@YT1AK zH?*!it%elt7MKa9kabGrc4G=`lpdM}--ZofjG~4%zFwADz-oT_seKV@mld|EWnN}0 z!t<-hwuuEfYjTk|OVn#hTGh_Et5KD#F1Fr=h57&wvFH^DwG=>i3UiQd=CJe~r$w&G zX75G#EF-5SJ;n{jyWpGJkq$rB9%X`*GcWaelp{mv*DDgL@ATDAc!Rap>M)2Em0;Ll z_660|FlckJa4l8^k~=w8;`3FN1q2TOVcZDK@;L2o`f3v3YB;-3VDgG7t7>~8a;N1@ z1TN999YSKs{y)bM!VZj<85HcUF!`m{LjB~4TU@sNZxHBgvmzIYX) z=s$gjt0G=BvnNudyEg`Z!}e9)oQ^a4d*Ebux`T9#Fz#unDt0R9%wY~h;Ul5DJmc48 zC6C--q$>sFBL=2h7Fkiy^}qlvb>Eq|!$DM1NF-V`&t1_k`?frl`K=Td@1OFXWVy0w zSJkbQP+rV_lMkA4O4|_2U0FBK&;hF6=lNaYcfyeLCEk$!v3glx-yt2HJ~bn{H0y$+ z_)OjN@%;S0jB5nMsfLr_X7O>5Zwe5jm-1>@p@{&MY*}QfQf6#*@q>4;ho~kG@9o z^Kk;}I~KeHymnRz>K*w#Kosh8@YDvPqD1aM2~OxV)lo@7Aw6ryhK-vE8CkbvN74Uc z_B0G2*Oa98NJdBF9Bf@;ygiiHvbK$nKM8{?J z|Hq0#*wZu8B{@<#R}ZRM;dgEXDs0*UaN|X9c7B-Wkf8!`sy7rbF@MH^7EyWO{a8t6 zA#%pD-)A!L<|(kOP?mo8%>ZBjPwVdXkFdU=$IVT^!pU)Kp4%GV#MUOClhfnd+NYNj z;?vb|_hsux_)?bPP=jB^gTOQ4s}Xx1X^Z(lLR}Ah2Ob z?*Ow%u$vA+L6%(~(WT`b3mWb%0&;J2UK(fEmrK7uRV}r3HFI@Sp z`-X4L+qza&Z@c}?wiV-k&(C}KunoajV~G!Rzzwyon8T>XrmM6^n7_Ys<`p-R4=!X0WOW38bw zmXb4Sl`0+u#%WI-*&dwmaJK;!oX3+y5_2}hB@Bf^<;^C}CZe@L(Jl*U6dziruIumM z_Si~XXt39gXohfIlh0dW-&jI1SIQ;E2eQJyZ0z@`FNCWUou?2wHAu1?@icGc92LiM z2mF=;5Dv!SLkM+5+;}&TuNkd14wYL#9-;P9_fuq;DpDjQD2C#xacT=CSIa4P#)9(w z0p4QG$f5i|hH)IR+Y@g;nhn;3ev>pNu&(SuyDV(otvDz z5mQ)^e`7AiN)sAfdKL@TMbJk@VkOosg2r>84e5u$(UN#dM^$t#9RR zyv~I66h8kh`LgVb$cNYPIhKKDpNWrfH4{(KH4}4)wUQcI0Vt?Y@)}~M>eRfWq)leE z+M|?frybmhc5L+5aGN17F?DS9_R7L*$s{UIkVBigVQazSxA+Z>;!=b4z1oT<7jsO|_Vq4E$Pw3<>Ng|a`Otl&gcW*IFbdoXbE5QSmx5k( zXmsP=4qdn#eqDgK+}@q=j11?%N7_4rR--1juzIXoFC;fi)E@gNxP77$#>?XF^Z!SY zLUM+Qmw86dhye#(7<>_%Pi}O_>_Zm=zUakhgf9%fi1Q?aS`S9e489t~tN6Jt+K!&} z;j2Nqn!^xS2qUd=dZ1Xo$#gbXK(3<0A+yWETlWeA@yZj}T^Fh5OH79}l+wG#sTECPIT5@)V@?^N>MR#5M0lcK;)(vnJ2)w<)Z zHLd;YsZhYf75bCHTTXu@3J!4*qfY;Y?;A{92iO};B-|_S{M0htD{&v&cJq4jy`c^d zigj9x-{I_t3R>`btk0cHp=_=45Asqp2XDjg5*8xJ8%^kDrfQ+IGgXS#G4!;&QH|95 zrLC9J@2wYc@7(2SH+fz_%xG8^C45AXxS8(_sO3SqU!xD|9rmC<5QK8QQ||SKZF;j` z12t!P+VAyq{(XL#8v6Y~qg?~cUT82HW~v0Mm%HRff?EU;sx`&g*y&^z*f`vzEw_1=8b_}Z{IvJOB)JzHd8a7Rnhz$8lG?5|$FX6K&kHy-=y zbC2A#w^Y4(&5E&sfz7-6JdRxFIG@vndpgLCot20#cm3@f?~7<$cW#@!zYo4FJdj;i z>l<|od114RZ69yR^|v4)>s`txM2la;mvLW`q)9JHstJ-INjo%>MpCc9^XjwpdG%S3 zhShr%dOWf2HIcoh!+2=@zC%iqZ!mA*rh=hhC|sB-QHI3UpPHP!pf72y&#f&u=#qwd zXY%nWYh@k3{-gbsJ2zI>S6owDpWX8NH};GjWqB4EkktlZaM6H<(_U}HjtzIw$^q9rwqCLl z&f-cG2e473rZKY6&XxqjBwD~j|2+HDig@_3SD)YHjBSn zM3}_1qZ>T1zF<@>#=gZ7tf&>yir{0Pjiy|>wQIGmcw^i`d8jeHtuBud=;Rl9k&F|C@!4QHwnHtE?amdxj3Xp z68kR^E_i_sL_SBVge`U13RBiZN9Xy^g_0h6?OMi@2z}0&D_dxVJIV|uQ_timi4DN=<#}Hs%fuUrZhr}8I@=XGjS%W)fOZA zGj_>*$aLIdZWeFrfNg5?Ae;FOO%Il2K~F3_kZGAzUbwL($q1YwRSV1>6u2W~bgdZnlRop(BV!uWoaZK=2Kn8SwnC@yYDRK-ya z1+a^wGc}C@_CcDbnVBlBJ3>(|#Tj!w=5bAHR!v=E9G&q=F7tZXoeOR{F|l1Z)_hWo^z8&8UxCh-BR25`JHexT+bEO`Ri9rRsnR&VMGADv*lz4E0HOL1GF2&)teJ2#O=ji!lJel3E)tv<3lrukaJC zjKm;#wyx>*zzxcv0|5YonE=(Y) zuRK35+l{2o5WRdTu2rd3GgWm`O&Babx5qtG_0aDT83UBbvSv#X+TRN`ZBuYky;6`0 z7hGF6N|8E5f&lMPTvl2u3m*~10_%{eZdmvWYgJw-W&|AU3j!Jm1vV`Sb?zl-2*k0Z zYcG}bQ`@^56F&!vSq$OE8x(3Mbe`qa8oWtymayvHXIZb|ec93qSn~#jG&is=b$&{X z#!vCl<9llR|8x7(KfmVI-w2bRc=W-?hwq+vyqZTg)!dBeZSK-%>o{SNa{JI?F8-JT{$AK^nxjY`AxVoor;AB$xJ&c$qS`9yH~ z;^;3OR@zewM8&`l4Rtz(0_Rc^0Ka_t*vd@Ab0DN2+baYOX`Biz7B$I3>l8GZai0k+^8=J`GF!|(jIfC+$9Kp?0 z-2sAXhwY1^g`F&GNcaMQvf=$=v7Ad>kn$Qe+>*HUHJyt_h?k0u$~G3s%VNSEL`-}! z^@;3MvRsn_=AQcEGF!4T!h_6Ee3d(yjh#<*E)SJD%Nwye9)EC}zj0!D{h7unuB zCewrEe3Vt2`uY2~f?JjAxc1|fR_jZ3%`CfN&-ms@qubMoP?saN@+}UBCrl7pZI}o% zVUm)EWtOxI%Fgm>s|9CGi^hJ$;Yj$W877yQRw@g`k=!EtIdR$U4W69Y#CcjSYm!o- z*qwoO$TkwC)XIV4kPIp6n`~vv$Q9T7*5AKvd&Swk>+uyMPpsSO>t5cyac6M#&4YWE zC%*T}+Gke)`S7a9npK%zz9Z2)Je(feUGwXWbF~rwM6J+Y&Urcq)|H?Bq|NYGBx`%U z9&r(?_>_U7l!OzArH56iS3>1kUaw}381yWq=%tS6bZ+*H!tH5f7Hrgu)@Yglj&qGP zPDMFi88rAC`-eD$fNHYfP~BYU&f2En_omofrEn9&@i~<}Jy0Zn6kI(H9KzhPHKB## z=unIjN10GO`O( zA700}Fdf3*ncF6xx^nQwwVe?YgAz2(hiX^rYQA+-mjh?)TXF6_GJ0&(<(B|<(bx^rfzAp7kF6o-!o(TX!@V|9PRtaw%6#l{bLSgVE zZjn3>tcQR9Q_7q!fh(mJ$=43Ro^xM=J+-o1-Dr_4{0H1{?g-iKAM!4>NX~s1OJ~Ku zjT0-2EBI1aX|?J>qRyAyK1l0nl!DYoM^LU;TNNRPPai>;GO8#l89Ad!rkXK@f(BsT zz!MF^wkTN>uohWN@xn&X1$_}HG3QxKz6_^YvuQVYG?sQ+|NRSob0`LuM_NjSe>8Z` zufeW0m5?TvlLwr(Qc!pUFolxM5s>9_`Y1mlJo#Ikqt2g~SeN`WWCZBZJq7rcegk3R zwSaKiDK-oo+6aLVk}Tq!F$%Nfi}G(0LBzQq=0iqaZKxTIv{oB}p*bG!a{07S4YgW2 zE{j7DpWtQ30QnV`MfKJk&mIGScLsxgRB6o{jc$`Eqyj`R=$_SvLR@rKRj)GYh~UHp z2i$1D!5}1pry$QFZpI$9eFH%BCJK-Q zM4B+f=V^yQdED>J+EHsi>EI_P{ra0cm z!u~F`s>Jv!%}4;-du8j$?s9hJ^_7mvc&=69YX8ryufKEU#3zHrb~nk%m+{%*$FJJB zZ#-l%$F=0=YdNnfqgdEp842#YZQhhh*@a1D`$=T`=aB7Ph`Frdt+Y>1>PflQq=nj3 zCf*^3@;To0H6)t@$)wPphNs?aGajUeG^P04e^TEk_XK<-nMlXon43W%8OAxJW z^H!3HylxxaS{hlma!qzEm*K`Xv`l||`4dxp+pd-W%ag68`#y5_t?^VLlk+_L>1~Hr z(hH9g(utu)@lC{V3dA*Emdj?U@}tUQ0P=dB&*C;PX$zt_r+5p7sM{Td(K+6YA!?zI z>U7jhRX4Ai_0a}cC=?UN?V=EDp)tl!lmQyP8y?x=a-JL5R+nDVOX|18Of6e6B3TLL^qvWSV!>AWxT-2%NlvlxQ!ZQ5C zRl5!i>*!ymOCc9^??>*wT^|SsEEt*CUhg1#v4n^45+CCe1RqY;2p@7rvrY6z+UB)! zHsr51KE>5+HVq=7(0q!ASRon>qNa1a1}ntuoo9UnL3w zwr!JAB;RayRB7M=r1?hkvK6*>R9d72}%Y<7(bpaM=0=J?1lK=3}5LakEIR8{jfr`PKu5oDZya*=d|oHh08bnzIL@bwe< zA2YweJ-J4IK;#5cENX-%3}%V^fM9byfn(4mTUX#G&*?o$;kB5PS{;kYRH=1So$ZNb z>WJ6wwi-0g$#)2Q(h;*NomLw|S@2jIczm^0-FEF>zfWiK=L;MrI6Y*V{5!HPM|2V+ z#3(Y7CahMblm%Fr6FXmKwZ5k0y}_DN*a<}H5T&|^d2 z8v4nQj2L2uNFzPu9pZ*i+!`86_1b!2@0^V|#qlY`nCDXCHh@I7k+!d+K*j-rNTKgd zkIs9`fpULEEenTHY|FqHAv4eR_b-#pmP*TFl{a0k*ce3xva^BS7*eRA{Z3BIdM6ek z#JnPIVKsGOPX5oy$vsS6x6J9Kus=140hOGZY!{bSlZy--uV2--uNK#@>T~1Bh1*vc zd2B)6sGyp6ukb_kfiU^2JIU}9_jaXN)|!cbe%Cc4pV+qjk>y;*>Pe=f`GMQUT5=15 zt=h-;^mq4E_1?ghTQ^_P)wP4Ffj`TqREkXRjvIA!RPS(6D^`@JT3iF=WW}m2`jdlR z+v={tt(@+q+W1J{(6ZXXd2`NF;iigUq+FNB`Q2cEC3n>=9wyeRFA#W$XXEj zLTPgz948I4DwW+P!sQny7F|%1>kp?J>rzXHZmdhC9vKYVbqWWHt>SqVUw-)Eb1$lm zkrc@0q7F5u5`5z6@Qxcg&vi)aCL;4?1Bw%dqedJwXhnT%YMz+YYAxpa_o!vD_0d}vlo>z zjQA5cv8&m@M7{|WBEM#(#%U9^6)mf+GXCiW5oKP7`$}^JuX0289D&K13X?P6yzaQ&9xxo2$(nvWf(hs8#kmbwq%3%7bMdMX z0FQ3^*yzM#>sQ}0>|g$baDL->x)L*{N3!GV$qLN&KfY_{q0!u$Tl%g&GzOOKdnDGs zF+X`n+XF%kbCW@`1CEPzL;+dnA>N>pE940A3P30r1*wJ#?0PO!gop)VFg6$9bJmPA z12dOXFPz z<|N+gZR}lM&VEfhNYMtpuK(Nt_;o0m{|bA$vv@SGRwN50&Uy1k#~)m?rQbhPTs1K= z?(OKXksKVm6-5Cttp~Ftmrl7*_}NLu!*M}uOpwAGiB=2a)vAlz%5bz|hdc0sJf(EU9U zmCe6$>8jCX}p%!=_ZLo(Y76-z>W7Ff625)n|hNYa#5K&qoZ3iyRQe z_%(=wei})TCNjiL2zOeoU1mhtY>v00;7an^L_!8-bB`lo6W9^GnR%n#Vs}{+giNLc ze?pv7IU5dJ=vkL5YyFdDsRbo&5;YTs4~|bt-19qizG)Db;2R}{v_Yg;+(5XvL1iM_ zMvcAQrEX_y-@rKc!2av@E;9~QI{Te%gOUECFEO;WnA%vqLeAz|(s5hZ?{ww*xXG>F zCp${{v@_!OFu`;wn5(8tYW>1NBzp$Q?ox~sPH}fgEmxROrF@FFVmZ|c2Z84ba|&!d zvuj=^Q#&0hmCo+>gxlCf)4siX#FL5^tMGuAi z1yrK0;VF&N1yw#3RGs2|;*kLp2XT}Zfp}ya4wm+#wt3U6qt~U?Cdt{5RKCBCKqsQ@ zWPXt<*Rzai@z+8U#xAXq#ODWpu4Y_*SMgeuGJY<1mY&Tilr4NE*t0gSawg?32p{LV z{dQ_~4k!@cP^E<;7juXeQ7&%Dtz83DnSfb?@yEdq*&!rR07aUK7a3Ckil;ZJ6m}OB z$-lutK-%n6szj-R^ZtODH-31y7YKoFr|y(`7y{}3-_^Nk$J<`KXUQuWjYP*W;(qUIAwLpdT04=1H-V>P%csi8d`;=GxMKP6H+0s37o?&= z<82SC)QVsnFfOmh@&I&9T$!alZnxP62f*w8hz;pNZnZcw!Z$#{#JaRLmn@x@8RID- zgmC&j*+;=XasNKb+b+9oPs(Ld*cUhJC4LC@9mBiw1Q4cWA3fhCexCjkdNaHN5Zr0N zoycV&df$IbZ^Q4CpE%#8cm};M%-i7=Jb44TpM*3C@M_0$ax*C-(Z`p*Mf$Yj8S&GE zP53M5Bis_LEv*;N_sT1If=fF7n#+cz{{cf3>n{q5`s_8E zN`;JB`PM*n;O3k9yRu{3hDV3--@Oi9TG8J{yqVX)=l?HZ-vJm^neBhSd++q#XEMFd zWO_-Nw7Hq|38@eQ2*g077ZFqhMT#P#=pr_-D;ssyWl1PO5Z%p=sK^%kx_@_d|LT&b zVT(^62)VrPyE6$XxKBtX1k9ZCJLNm)eCM3I83zZ(@tZe{8fhW7Mem$FdluQi8}Q%n zVRgWN&%yju9?tm{#fB(hIPjEU?-ME30XCGyfo!ev-(R4@ekgC`cUj$5pdYoTvODtj zTda;tjl|)Ld(ck>SOwiqyux|}{!}9+Bml0*fQ1;PBbHZwCJKK}GF!MMUKt5Kfq%ey zhf=XIAVoV$xhQ5kK#&JG93FQp)<@aQyjYeREBpX6sHJ(h zD!EL@dV~&u_t6KMvZC8b1M@Q>D%fjK3tq$FCoGhNf{h{BB1%ZZrQbb9#B-EnXR{8n z9>+Y`HB`hz2^94vlhw^(>eoD(9C^EQlv|Q#C9DtUp;0WO375I?JJl(PB;T8>54)K{9@n1QS&%O=QLXQ{1x(+Hr10YBVY@ipj+noGftNAq$!~~cVeFm|^*abcx zQw@MXzt^jf!q>wFLj*&+XZ;u}G!#YE`5|}!4TWNmzpr5;9vzk^qSE2eFwD3Wldrru zDkcLba`DlX-680fWL`eX0rJ5eH{4zI>?^-KsJ?DR*TPhlyP>{2VJh#a=z$S0Uj`E- zZpg0S2Yl00cO>~m_pV|K}sC+iG&NW5oPBtp>(#BbYuGD}*44H=v-Xu&%V(dIDn9t&jyG3H zn7U&*aWj-c9_GfX`a!SW2njfZ@q69Q;|%;`&@0ede5=)q>2ruPfM>xDL9EfoB%Dno z#2I>u?Bb8YT*ZPjFW(>%8uLNbwYMy+N|^ngyXUv=wAllj@2c;8R$+26=|mP>m_4aO zg&jB7-8rYVTP|(J(+}O+`y!4og_PrGA>}S?S-(VLP$If1u1n8FYQ%#+n#7&GI0tdz z!dxImsda{4{e?Vdp312gO2oJr0FR!lLflx8{y>NmXV6X_)E|mWB%0+bnQcFjF*UO* zJwg*&gvLjs_}M14Ef9ETSHK~dHjSq?n|8_UA^Lb$r`Wf>n+z%F4}!(?H$JcQ3!g^? zhl?^}^MC=PJDN7+`E8s6|0Qmc1l*-f^hGNlB2({pa z80C*b%CC~`GgoXN3BjjN=TyAFYZSqppQ(k6qXI?#ksQkBASHT?qJ$g{rcw5)1ijb; zDnyQ$e?g;E@_8IC*QnuR2uTT|B&)1BQjlU~u|qZF$^B#uJ%?N#y-_P@myX;%o~oT( ziMzglKK~PRk?oMKD0T}a3~R7nRU{JV)dhoyF0;Vu=(XEzgPEQ zAb=pTs4Vtg+XbQ3@3%>83}Vm@ zh7tFnu|*%Q@$F-|{uJ31repXcGL4N(aQJ#J;6N6a(%TEQJl;5thsg(Z&P3qT#v4XU zC6M!3xWCoCg{C)8;T3u;=u3$;(3gs#P6kh6I%wYr2U%Rl(;2zg^tF=B`(odk)dh-MW7I(!i!Q>oyR9PyYC`Q`fFM zaog@w3&5*=ug%}vb>!s1oaf|0yp7OvwjRTbAb7-N;z*(6M4o8OWOTgR{2b?%U~3>ux~pXDYuD6UdWQoReJpREQztOG+SQ)H?fXk3K+u)L@Z2k zK_COOcMSAp=_Etxw1NILRpnqcD0f!j7N5282K5q-OP`bVnviOub@C- zE%kBKB|}L+@cS{>kT4^1g@-@}vp|&^hQCq3H=F?I)HoAEY3`KGSGi7a(mJ-M3}OI- z4fR-Sk$q=4t|eI7SO}lB_0^k;cW$|F7yV!KkB+B*k>9$uK~q#zsJ6|H&)qTG@4x20 z1#4qgJUNWOlho+!t&B!eTVN5NXR(D;c z3Ca4t%R}THtfeq#4pT7tQDFcG%mA>5ybhO2B^}Zj28eUnz=QdeV~dG8kStO7mz$u0 z;ED;m1#KP6-HnlV+#rwETvIyz-bIPfoI5+KuB|W7-Vj~1>gH<5%oiQc4L=f}H)n2) zRFuyy(NBB$v)w=Y{LvOoaaTS4fk-9hf@{E>X8`y3VwO-LM!5i#2WvVbj}T^|q-s}) z<7Wh59WMY#V`wVu8YaSn6uQ;XD>&QOoSnhAj?Kx71;95;_HSG2?_5~xU3=ii14X)| zYu8(wN~*WLzENr}GgA_&wX%ZfEUmQ5g(-D@nXBQy5Bzn{?9DSg*W>lO|NP+n@84UE zGjRygn;RjW0W3vXWpcR=;JD5$murT25($qNu;Ms($e#(gOxBDAksXC(N0|ns7>w;k zVU}fa9$Oj4U_5aN&M1fEjcZiyXllv^pFCaO@53w!~y_brbS>cwhBM(JX4Gn^d3QO3BOlPSrr z#!)K<7cVnH+`idY!ah(?pBH8o2a z6L6iGwCD>_2c>6cLtp2@-F6d8HARG0wOmsuFS4>r3t75Yh+Yyd(2^`|JPaP5KQMpEyGy`EmVyEE(u+Bu#d14U2G-W^+quf{9c}#Y z3*hW|ZFLnCrgtKg?LODWffMrH1!YKbM74Y zxFpqSjVcMudm)QBp$-SZZg7H* zzjL;)pnGS>ynE*cH65=2)~|jE1c&B!_tQ`G(f>X?7yl#uG5zMuy?@;B#L&K`rUyUC z`Z@9!j3opy52e(4f@15C-Olk1O|n5IG|15hCJp0TElhae&JLYs?>?9oh0g)kR2rjI zV@He~fJ+^_f4y8EXtmrrZ^tZO?_=RM8-PcBzHYK(IC6aDv&-W+AXZpvSGPR49XdRK z)j@i{f%Mw2IHj{$ty(BUo>n5y$OxI$ipeZm-Vn^V5Xnq9Egdyt8FN5pS9`hbvMU@g zML-InqFkFuewq$1o46Jgg`+7>%(3Qc3Zo;cpZQf$lT=0LeZY%wSmI z-w43~$wPV#1KeZ|;$cW>Cc*hq&Ws zaU3VutWZZsXQ*;%gBz5B5>2Ev(Xt}%!TR+p7Z*0IZE^!#884vU_{$&WwI$|PxtwV` z4)7r5mAh)@C-&`^)~6R!#u?WDs4FTOcr zb(P`tn_!Qtq9q^d*w)MEh~rR-E-cs&qZHl%sX1%_fIMY|v>#T=Wa5)LMr<(Lj3t>f zbeK6Nz-XB&cgX;SgM^1?uTG#BA`a})&S@>_s&X2s>*^Zste4m&vH4w#O3(bcZp-17 zk(teD2mbB6w!$TQ7k2IGi6`rnPDNols07@LH~xC(G`3L2RO=yyA}dS|@sHx`dX|)Y`E~WC zU#(cSFRXRxCHTnnU3YcLUN9hY}ePNhR1R`429k!53LJC{f@9Xq6TGq-+ z!}fqoqLcFghqz^AJB%|GC|E*KC%&N^7wJQeRS#d|;c-tC$8ot-WG!kdp98a$PC7+) zK)frkY1n*hAr+D}Mg64L{Km|gyaRRKgRQN}0|f+DQBflPEajiAi^_B#je#rM9&xKUURT z)s|fS=xkTB8{9R*U9~LU7}c)oTD;N_FMjNaJx_P8cvh4j$R}14EF3DXvnw%U+chD+ zAg?6P?9uXUscS15Hq44>OS>DY7daJeg;mQ6z4t8a+}i0A@acCpY_(N%7Hryd^QF`F z_So#^?zvSB05Fk#Cv>EbK^sqC%_opg#UdCFo+ny6D9jWgJ1!=Irge2SNj&85O^QQ)zCDK^2v`({yNNk4B_7|R%bK_cP+_1isB+xhHc5BjKCe9 zl%R|f0$yM+std(51WA$teKa5N8!neob~y|Y#Y#uAglJ1QYZXR~jFUo*

        E57h2gu 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�P0|HzQVqlthSL>>BPSVClowK+2RDsXV8yUy!w|>~v?Nlv zCsLq5=lq{35lBeyvHp(`Cm(cyzhabw3*UpefmTHS0W$yp139Ia~EJ_`+r(mVJHON$0zq-(HMc#ngOa%PF|3{Ie7==1bv<7KLg z@&rTc%s~2O$K4dUcXr}YZZHppLFTzpO~KDNu6SzJA*BMvPRCH6sSS|xt6;QZjdVeH4gS4Ds^SvF^pK09wGA)>1Bn9OAg z24YWIhm;GrV!#IQNCML}ET{u?x!@`VTmgZI&J=RmvwzSi7SQr+RI+|Td5mFo?$0j4 zZ7!fe+pIFg%nMZte-iCvQ{W*p;x(^h9LEz6o4uKuQ zRP!EbnWyxq=35FSDD3hQ*htqYGprV&IcZ z6-uC}L!k>^(x+ji(ldr?C(K{V}A z|422$$wP#F9>aPw2Od!(z-2O4u$pM1Vr3emkkMb^BT!@-Mi=%@p!;P^8s$;KmSvY@do-bX5yS>$e`89TB?Bp`5%bAt@A zM?`8I!#4S;ryUVIGObq8KD`8GVo_NDkwp-`XHqKI9}`=fz$4HTTFFzTn)M752JJyI z?uYKkv=W~CC>4R0Dj+$TiA}FUXyhE$B0#Nj#X)g^mIsE@O@W#qEIN>ag+;i}H1<=; z^f88-B&0h8E@2@cW&L&(k~=+ulCp@%M?GF-AzNglWad9!L=zX3q!HoLB-7k$~pED)G1e4 z4Wa&?1zi|S^vF7dzHuxQg4rl$Y@NZzVP;b&pdBM(Dm$p|ot|YbAKW@_kmZkls7@}# zlUP9@{Np%D1>f-^5tOhb96(Wp`_=?%i!lG9%E4p}iXxj5Cx-%7&FFHpHf-L8I(N zEhi{2q!^zGWKH6zGunP+r`R}5f#GZ~{m+jWM%ktusw7R0|6y?bWx(yjYidKZVZgK5 zA0XP;sqwhgwcK*2>w?i=h`HHosgllMIjj{#tw*xr^25EwH;`Gk`B+$}3 z_Jt$T?IDd0M&c?9*D%Q%iK?)62O2|kgBG`T1MU79sh2$+B!Qk1Jo%U`qu8kgpM@TK zhB9|j3`(@#a+x8iBxE~nUXeI^=A&~XvQ5C-BS!AY!BsPDB9oiwLP3D++@d19Llj3( zl`-m`t1p|#*4Bc-RUAKyyO^MLvQcBGhxibTkyo*BnB6z8zL=0m+@SXL>112hj6#n% z$LvM&j*!#{%j#rfS8BDQ0fHsCgDjaw0*9TY_6VmAlVOt&QioBGpE$(#1oE#kBR&YI zdB&9p(_hhHsAW?#u$PDk8C{WZdP?{Tpri`RDgo3s;$i3}uoDk}X;K(++0-->kzA1^ z5yG-k*|-O3EhvE6k39H}Cb6)Y2T0@2+st?*i^2~5`;qBzyb~)mp2xlt+9;~(xHBk| z!h@Co?EmbuBg6%AJ*#S~BGTcwC$Q5GfC5+;mf6(Y6Ok2Zu;~X#W6o6b2ZA2nm`73k z2g8A*&ao%V)|nF8L<`!p{J~XNDF>gGVNwnvMo^C}VOxY{zW}h5FZqo;<7zr`5KM&rI;KmYo2zzk8yIGB#XZ&}r09a%9{D02_ zB$y6**comQeySq|Ht`_h4{E+HF(SM*(T)f;5Q|3IzxT+dX`d4e39IWg|^M3#!yAsYxg0 ze~kRrFsN-d+vgw()_6E9_rQpDN#97ai1wOGo1oc-poL{@NB0s3Agm*STgH-=$wycx z0<;NyoYoAZ-en}qrtixJ*idWmK_K%}ePVZHhWS^5(fIhfZ{$o0@sidOMC-9 z{~U4;#o6jbA(1mi-d2QEDQFje7THoG*oJ~)#|lv8m(quUh67N*O+OwinTE5g+gJ+3gx>InR2dKMeVy7;Hqszns=8VS#Q7xT42n3 zNKmXpl65{2WH0gk3}m#zuDA(O>$p_%HCKCYav7KZ^T23~AkeUYKJHGc285b_8Aqie z5@mEo5VAumZC4(2V~7<885$neqeEO6A|=WN}Xvdrx>ewbVY8f?Kk{ zQPfa88G}gV$qqFgOgi;{4WD-b2cdl^)OCi?J^+Ra z4ytE7s6z-)z*{T+cTcUtj3j>j(KJ+j#lq+shMlD#A`u6MqO&J@gu&VYiJ`Lxb(CRS z%@C@Hz$1ZBn&bp^6T;#yhzR!03r?Pbj9K7Iag#q5#5J1@o$D1ykTnH-kbtfLY=&BJ zH|j&z05*SHa8KPTLRAt(%nR*uB5ZmEe(StcdWU@B73cvm{+?Kv+W{_h8u3$Uk_}}AYzMn zV%7p7lrq9W7#9^m%_opibgD}i>Nf%8pX9R)_$K0>IPK}Fb z;rAUqSG2sj#VELHe;u>ZUjug)JL=F~Np+zfaH?%34HWSCyMW9qYTAkLG3=Mayg;!_)B*1 zQS7<o@a$&3@BCDOEO;IMp{k5p4MXT z89IUckQv8MI63y(2VuwWw1HEKp%Bdp)Cd5REw7v}U^2PSJQ!G49aITjvqVvQ3Y(J> zF@Z{D^dsP)u#f$R`Z?tO?gGGCN`m8O$Ic`GdeS4?0;qV|BW6@^COf1o0azAUG~Yc- zYnLcoVG$>j2h4+|L|{`={yw_)-v{i`_FVGnx3&R_bvN6|Xrb+Tps01{8RxDj&40Me9) zG+mH^GZs^!UV|b;pxTtW)b!Ioqab2LME<`lc0IZOQfE-5xSa0&SvuQA^xeaYD6pi& z)D;SZ1MMCz=mx*ZM*0OZUx5D{63{M5+Ai38t7s`0&Yx9zYJ^C~ogw+fND|skd(k#~ z@s%;)45i=Aq_HBPk$H4E60aO)wu-}=e!d(!n@MF^Ks~c9ud0u- zDzwGlP=0f*o+Z5PQ;eyv;t&L_J5FNM5Z@LQ>LOh+jQ7ngl)qi_OMnE#6;ZE2%nqMv zKsl~r*Z%H5p3GRy|3oL)Fl?TpIJ$)o@%(QW+2J<5*^7nh zJxiLzxSl5MP?-jewcm?DXh?0=rWC5P2;bc121K(<(6MdhBMix@=ZPWtHO0|)x&1qE z5>=nG&kzwi+nrKRI7kSQ>KOH;Ch>@eHCbTQ^7{c?FcN>ewJCw>DD~!PS*5P<6#HRW ztfnxhe_(w%ugoRzIl0$9WidNR=k_l^cL}V+%rr2L_Mp=L3>k?xg1$}~av3-GmDmKygpi24Ni(j_*E_(>lB_f)sDTLlh zey%NniTAPq)Qi&A=XN2*RvL8n`SJq~Z=*B5ZE4g(X>Dm|y^+4A)N-svegjk^bI4z# z33Anee~lKXCgzTq4&_W%4e=E`fb4pa+c{J-bI11%<+BZF2knSv;t8q1BcpmihZUXU zfD*K$HWB3MA_BKt#jW+e(I08lV5@M~&YB)Gx4qBi&&n)-OwE1HoLtMA53{D-x*m_Y zF$Zzgpm8ZSd3g% zO5^gZA5)KesJm@rDXC__If}!wwT5>Y)CS&q^IVaeCT{P*&fht~KaN9VY1Ti^CWKS| zm(xE-r&7TDH*CjRT%kA|L0C&YdwA<} zb96)?CMYn9!zo1TNTsGzMC*NRM%9^7w08xEiI@Rw#)1d7XU3xX0@OicES}71sZB0; zc>smlZH{Nt)6O&$`{|hIzN4wOFCxnoJpizxV=ToCgC6qF(6B;}_-E)_p~w6)Os&wr z1Gp+U@*5iv6sife-e0~bqo@8wwm(G^@pqc*7y}#ec>=t~YWgDZ$%*9tB2u`H=q3N6 zVp|Zj{zZ}Uq1XJ260#?<{Ko;iptk^=A8EFNb>aUJmTJCkmR{Gh)O#5A!Bj5qA&i_$!bHeuNKgHKc!{> z+p++em{^up1+Ln30EMYl?rg;Gh|XVzBfu|2i=6`*-5<6?x)D68FG1BYme_@X>o!v7 zgw!ezHa&Ml4sXK|&aXuGoifkaocU832m#fX2sJU5oVkIUHXX1m)I?5J;`c=CJQESO z2t@C@25iQ-@_PdjBC0PVjUT7p~--&Mj+%6NiB^Y^h`q4y&s{#JnM)*+azld(yOt@RMq&1X9FM* zveu_?S6%4Vyy+)E}# z)a!WzUYxr_VUn~2ygXNQoV)USNDmB)P1yKWQ}-~}Y0^#Wp??OD2jIkHbGywlYHB9$ zn6AcYDVJq_5ilOUU^JyyxxgIoY$&td-mL{C)Z)rKA*LlwCG3Q2XE|L1<#)nWBWqJh z>sLsy_fuWYabop)yT9K#c2}-eK=PrETF4F9cm^bTa^Bjn;!D!cJOhI zWFMqQ5Fe{L&t0td$$7dqp>)3pWqu5_ZMd3umiF1%RWQx^tH>z`^iWYZo(4|*RO(`T z-*?^d+4(~!5H!zt476)beAhhIjVmPGI@V%z0q({sz{|_#*ZsJpH6NuWG(y6TRE-o` z!Mb%8&+}q;v5p*mt?$2QMZe;|(Xf{7JeAQcCKnQ2jrByV-Q`) zO?3|5d7d7Mz)Rw4qb*KPv_9mRP7q$Mx1N!86!}@-*fIaK&vXTDJCXx@RnInU%Gzo= z*7r`DPg@)O54uS`HI*MKcIr>&-D6etUT&0gD$vDThZN(LDm$K@&EnA>50V;j?cZLD zW{9V8L5I)Jcn>dLIy3BP$uVLcwpO6;R!^#rcj(S2SG?zXqIQq;cj%(6J6FFG7P`Ie zZ_QH9+rgL?-A*&TV_advPm{%-3wI6Y3G`1 zs79)5Qw&=xUgU)`MCEx67fxF0htG-pFJBLMdEdGxy79ycE?M|6+23+6rlLi=>*^m5 zU)9dV*x4R@23WdY+xiZ|%niNP(=8BQDhJn9iw$`<*U<~yM_+f_wR6aY?}4md3QmUS zVFlTquRpuLvin9Gxa>aODuc;awFPUPucpr3;(V%ifs4TI3DKQ6eT?NPF~37>%mq7^ zm$|$%>#8>|g%k&GVX#8@1pV4P|BnN|?)(`(|15oS5m5PAjEFCV$FZ=+#wdz26&EaLW(c~}gcPH6Z!Z(Qo@vobz1fsP@tG|{EzmWQwJm(C~W1fmMfD*)Rm$mrK zSC&vW%2xeG(znYt$d~=k!$hV4YlbB2Plol?ep|W2#Oy*vPjmh)-bNGjaRMe*$Bh_k z2!@9Z?(55biv-RHT<59^PU$F6UFn^o!c+CD<2{a4P~0H1^Prv<>c<89@7`Q@O+r`?0v4P}dWC^QNN2+W&~|z(DR_cAZx4H$ua3nSe2o=E5P*DVb0XzdR^3NJOLu#^`@JD zxjH4l4rm6aYHkf^&ZEay`FVesMR}`B@wZE9P43G}plYX}pKx)muXnDmdwnZmT5fe@ zK@Gi?tvh1@o4LDUzLOP{8O}L>9F*3Yk$3mGeN4oy60raL`=-EJv=Mb}=8OtkBStGP ze`k)cpYMHNySA_YNlRm~?v9wxEqT_4(rcH;%=AP*b&i+Y z4R}Mz@AdL#rMOVElCaS%>E;qosLHc-=EhzhQwW?G&)dA(w9h{NTNc3c zmM7I;1qL17ysVIS{TS`O?l^l|uO&;$@$bA|xh=$7dgDKh8j)c+bU$tarmwY5S(uMM z_1~KH6O6V#^x9zpSaQ}f=KPM13_;5x+h<(2o#1i1r!KFjy~8!->Ssvf`a4=)R*`L0 z*)B>{i^2Yrl!)V7MS$jQc2ht6jBe4EF*wTSI!aSwTDFqKyH3n! zw&j#$cbxWSQi{PuV!To`fL+vAOPbLx7Wy=!@>VT{K5jv}`8+Ytld;awau_;DPW+T1 zw)#QN{>-&6i0_yjH08XqOzPkLl28l)f%(~6H}e)OFz%bP=PM=ORu-f-n7X@aH(Kh2 z$atQcqQhQp55f7>tcLA3!&qr9ZgqP5jVkA$sOz1ybG+YODVw2G`E);`-}g0d zzj%1l^XHpHcLCM-mRe((154Ij; zM7q(r&gH{+Ur`~sDrvWe_WG>!NM6;$0N}MS<_#`-B^-o z^`lL(_CXGHJ@cc_#g1m8zN*U^-jS{Qm)o7+K1tpZcS8xcMk`BL8@XDMo<}Y-xq+}Y z=_kxYLBbU!@;qp^df#2*F>L>{eyJIaL|_T2vX7*05U!c~dq-%lc~d#N=Q|?Q%nqROsu8*lWl0X?%g=bTmBxa*7YM!gqBY zM!UYw+&S}Ad3SFZzokDO&pnlq2?)G_Htb$4e;;VODrQ|&vx|8b9~Posg}I%+^S+$& zW|lp;N#hZDTWrkP7kTTsA5h&O)mTn?kr4U!K(^Nm|8y|fuk*N4Xw zd!v%q90$ivOq_xzB_-W*TowdEF-zERCn`xg-+CK~RfpD`e(M+8<@nvk@+o`xozJ^2 zp!wgm5_X1nc{Y)VY?TwZWjdaTfxOKPlpl75ngHNG(Z8TPI+xlliRihlP+oZ70_PfG@}+PRI5jt-%%h|Ye1BXqRSiC-8yQ}6T7v`mGX zfOHQp`9`_Ry#wuKI&!0`&aJxLt^GhK1!RcuUSqK|R-bi`kynl_!_fX*rIT+op988~K1j9i zd>YII3ldapSMpm+;dXzpiWqMm75Q2C)}L!)u$#!IE7qifoMHa>QUf2aocOE1HH*oCG9!&bOGM)d|o`oAXUjJkssMw1>{)i9)8bxy$74?0P$oIZ=gkI zwEEudbiRNy;`vsq?~Fg>T;22t$8ofx-PQA9CjCBKu-7nK!okm?O?>Xo8`xjd#Md+& zxx%?!l;q@F9(7evz3Ti?zgxlh#K%WpecVgj{(1yPdDw1zru~5vvu|L1JEIl#=i6CV z@dg!E&C!8Y>3XJnS$(K~CVtEM@LgeP#p3DWY?-tL&f7mBWro25QU6aOl!&pdPW5(Q~dlVwFGUP?p#b%C#tc2>~p2j<0$02~Xiq_hj z5KOSX*}9&}Y8QXZ6JUbZ<|w**fkmv<*EBcZMO4<@fEP?f+uSUm?_`tY)?#4)usYHm z-#K!+dD4~wUt0yHHxP6N*>41fKQ)fecL=nOA6h?+&-{@cWm8}PvA0`@*wnjR3jdBH z)^9=zz4l3SW|*`28Md4m!sd6f(^rZ|);>{f*L1b<{hi~)=ANSB(qLAOy)N(TJFQcB zD>-x1v|B6u#CpF*{lTg?B|Z&*ueJ8yUp{zp*^o`7wYqcT*a(Y8O<;d+F#2I-*ze|& zJ{4DtF&JcbS9RKPM>W=Q7d_n|V8NRd4yR|p?6majd8{VVjJD>x-Y{^;a&l2LpkIa| zST~~d0X|k6O=|P9ve$BG94$s5mr9K(K!%RKo)YuQ8YfU48Eih zk@wrf@>}7jM_P90pUF(FzaJeseB3%ENPggx^+UmS!!w~Ppv9p{qotumq6wg(p!tcn zAt8YYhXaM_FJOX`Laou6_?hQ_3ITb#Cwsv4J)~!5x@qME2zfFvR zX+3c$BNJ({q;EgZDtT&~;SnYMVW#OnXUpK=?kr$29K71Bn$vt$$E@1goNyksgXbQ- z=`SkNe$K^J?e$P4RNsFog6>!=03|0sdxnL zXMfB@KfWvw@N)hk z=H`^AHVKDZxJX0>pu`<85R9;Yh%(y##9#E`&0lY%H(+OKTGoXA#k{j7q26RBa6y0CdUwCl;L4iZT`F!w zgJ4}{T{&v>{I^30o|5IN1!y9zqGNuQ`PaU>{xs_XE_1iP!Xy&FD*x^1qD#6uGv&{D zP0Rz)R;Q-RetA!UOlD%fuNb)Y3qk7pbEdTQTW9(8-`c&^uFlL|7f-1o`W^$|xEUK# z^`<%ncDg26Vr>^7gSMBe+-HW`+qLc`Q!?!Cp$H3=Eu%LL4%~T-P~a;KpQi^d<#RmS|%XjI7B>)5(C+YI&V7cNi}NM~-AcXa!UE51C|Zf3O%F=W;%~_IESw z9K{ywqz+_fXHU!uC#l6J&`b_SV)%NAB%KO38K+fayE1`_7M8Rs&liUV1zvpuGj$77+zU!sRUy8 z9W)f6vmZwmBi^CfHa)86Ec(clnpiF*QZ{gc7`L&O`#)V7&c7wf|1Tl;FMnP5=+NbAAcQ{6ixC@Bi0&0)r2@_H^veHDr-A?U|naXEV2ZU$cIaJj;8J$BhT zNk5vtZDgrJeJ8l6IMRr|DsC>uB!~U>W)v`%JmZWKT^wI#2R%6o$5B35M|2-#1??Auhw1MR+MiG`jd_nP-G3o>1w=Gr}x`qj@jeY zZC0p?LH|&|Hiw^RGfp1LxU!KaI%O#G8{)ib?&Gp_wqF0nfFGJ#oLLDS)S06FcxJro zcvk&Q+D3pfauTTViL7|AScq)-#Bi-v=0`GM)H+p!R#;)-f!;`r{i6DoPwq-Unf{?9 zWCaN~(83b~?K?~g%tf+?ffm9Yr`5;GPpdRVrhW#SLsmu@1Xb?@Vn6mel1vznwIXy( zx8@h)n+x^8W5_1mr~7}HlDDrzZMQk8ZPux+?hV+i<*Ga=>hriq4>_<|B>CJ00u-N|dRA8Um@2Hz~emO7h@) z$TNsffdnh~Jt{^LkkjR3#VUp`1;&F1&`l1C-o)@QcoB0O`$^L9fu$<{kunD^atJek zW;YRgqEGxig@3S3=hs~g?1>(V_Ypt1W4jc<9A=8o-Kjwl*BSr`{MW}Y%xDnCCOrB zNMHpbOeu*u$**=bI4}k%@OyNUVq}HkL%*}X!P52c@6vzxL-RiV#~-x_et5beJ2l`p zCMBs%ghZ_3{;xp72t#pBB?*>5D&UAw*|WeGjG6B_$Xr;8gkq>s>Y~I&BRPS@3g6j- z(}q$c8BO3vWh$gzH7){(9Wh2fW}@yzXh!%CHk!h3`;Dis*kQGHnHD*(&3Sa^f z0Tb0w!C2K&uedtE``>D@&p4^^E${Ft0HHtPH?2#O#lpdaqdaM$ag_VtuYRJPfVaRni^ERf(!S3SoQ&yKt+0HG%T>p?g<|H7NGt zwjp>C<%Cs%Uci-28Q{tm-2;Dx*&-bCp6P`UaOc9i1>TXAJO8W5YE%of7Uep0`QDu| zb%n(LqU;^REDM@N%`V%vx@_CF(Pi7VZQC}xY`dz)3Nou=i^YP5%pS1M>}YXWxInfzSy1P#bzKz*?RJ^z()T1_=y6 z_PgtmZuy3ucYWJn9B>99^ilR*hkE;i>cMV_+Hh{=Vcq%&5Z#D-U=Rj*!#febp>ey_?f-2 z@P&C`<)DLKHXgiW`tgfJslNJWwO1F!Fc;)M zOVjy6haVcgg=Gi`qR+nj(sjoS-$2n9$ia;~aYh~_e_Z>?JpQxz`(S~Y<7Mb6F9V1; z>;1`U&RfU$d32Av07OD(uf;-z?_T`RjJ1m*l28d+N(EXpEwkH*OfVeOf6eLPisPfG z?3S1uoW}3YcILGJM#UOIN2FNwCzZI62>+vO^KX|5Rn*^z!ZRWFhkL>#>sf9JBmFDcq!kv-(Pr$R+ZuLv{0USVfZQNb-PYeHeCxGVy>4mLel?C^g^ zNCt90{ZFTru>2o}YH}cQkmgp2X-~!3b=FkR0{fXoVWK)1v2~o?)4yH`Q<9Cuu(wi* z$~lasAJrnUg_33Ee?sA)gA~me86?mwAkZo0@b0%@chmnpJ;pKmJy;!{sG@Lhg`r9c z$OQ{76)~s-|G0(2*Qf(~B;}J93(0new{lr?_|I>rzkM73tR57``*4^xYtouif{~(k z_ekT(_4{vQ2~Fwt<0=+o#j`-uV$aRf$#m1lPd@(>73r?Amc~ENN-Q4as3<~B)_@D8 za{&b-33jKh6?8!?O-dhyWC4+?DTWbQ{ja%6z-2qmD&WSEoHxo|RECza-rLi$gaK0~ zq;N%UN=ql9G6z@Tk|cNm)@n7AJ&B|H?_L_%p4upk31Zju9;PLrkpl8pC8u<;&a(`p zd-%w!5rT4IwQ^XfgWcO&4x2rv1RqkP*O;SN1iKfP_7aVX#u7Cl-bQMIFmJF#h6=Q zly3i57+OSJDw>|wY86EcabQXQ82nx9Sad)&{4sEVle%K1k*G8WADGINU;#e;ivIeT z1A`v@Pe1>RpC}d(iRUeg805qhp`{Xy3_BKYQE?IXYuuyCo;1;aFR_4lMzKNvcV8G3 zxc_-1BuZ;VQ$H~!hk=I&HqEH2`oE(_wEfZ{ zfmOtqiS+kx0pODS-|U?2(m8?#3eS4{#!qBVSfsqu0>;^tKrw_bPw%hfpWn9g!ryx= zP4T>R&|7Qi(-9F7@e-62lrqv6N@j|f*lo>j$W81`vlLhs;DyLj5$2%%tvj>)Sl@0* z_-_bh6U0C9<7|e4#c97QfcYOoY_@9Y9N|4=$Xhk-Af+GT{O>^vaO+PJh(aW#R4zZ*FBE4tX2A_$i*a-Wuwl07PTbr+nrNUH2t*@At^07zXLlwL8 zY30|r;39cUO2QP1fRmleM!{;Lf9GF3^!52hHuUT;GR$?!*zL7eSX7;W?i5V9`Ln)u z_7}TZijqn8$r~GwpA?-v+R0Y21Y&ASLit zM|dYwFvM{%upz)M#zmkVa2ku);v*G0Nf8WmNk*mdVp6-Xcr;RN3eQ zT8a(`bGVC4{Xpa7Bz>^lTN{QeIA-f%T;ZA(Y>J72gSWds+*h!n8BRo|Vet^?Pu|z4 zZf16i31TynVzdH6m#U`JkfbV_hGkhjm?}Yj_6}1&!o8}t%m$3~N7_CNBzLSXpE}fj z-Z@~VU6^NUUPeEfu4R*&aCU1F=Q~JkU3;gI^mdYY2t@T`o}Q&L_{7hh3t`Q2;vJ-O z9@Q`B=*XJKWWSyg>xzefSSejTINlCYx`zrI4coH_QxUBe-PeC_#)Kj{6ArltEzG^Z z<&$u1^qkUB!bqXshT8czF6zv*17s$nUU@ujlE@pFY zU5U7D50bU7RmpHXm$7Tew5yVI4c)<5$_vCTkgv=Uhu_8|MWRe#t8XB0##l+&o8Q?} zv9TR<;(5eek1*wR6>gp}aNuY`Lt|SxZRN<`jfbgibk(wws)BMaW#ON~)lqh)w>ppl z#WvlN_V#pvXy|TdBG>g#N77I@qRaGDuO@7q!pFKPF!97kc`j$d(#gtVdpyrcK80wJ zts&UM+fx@TeHCtqBQ$Lly-}ZWcf;Efx{5)!Bexi?hnx|X8l}q_Br;06^LHS_rkfgd z04=QNmjqgnfzKYb>((wl6+A7vs=pUMtv{h%$zDxgg{`N6qb~j>u))aR`j;Eofp%3m z@$cI9go!M+BW6JWrPNeLS0;=BZ?w2CbIz}3_qb4zK=xY|*bu#RE!~n~%in^wv?e{) zKq(L}L4XPaEQz6=v8Hb^xB@E)V?j}7lrd+dc;wv{H5EHVJ#wHEbBSPJND$6*6fS+) za6R(pQzIzYcVbEuup7-U^qmCK(v97`L{Tx)Q#pe32YO%ar*ocFqzYrUQqxj5d$H;Q zB<*xE1LS(y0Nm8j(-D;@3otY1HLy+&MQv()RIpA4MGb0P)LU0Soa_5H0+O8>E>+-9FL6wh5el!k9yOor9g*mVOpZx3kVB?4&tt<8YcIY(A;F6Yy zrv6ka%dT0zvWM~C(qNWi0DPnVh#E8qBbe(@WYRJ37rOxiP(4f~9q;B=|7POo36#e^OVLERrDt+i zWJ5{BVjEpbrfzCxi=^y|v@Cu_g^Xn;9jk288^u8~yh(Ip8k44ls%A3Mgnfx1R_P+u zl2nOO0cvtKvKjAf<_mCbzBvo!4SuD6pkvsxb;5%9ViNs*qObJhmoQ5Cjp0uUR(EYxM+>5uLAWIJ^_=J8DY6sl|DTkGSH{ zWJ_10+gXk3jeewSCz2G@6hew9XskY@tc(fGta>tUt|mD9)j z>5@YIq4X9k23GQ+Duz>ibW}DoF|yJ+xgah^@`~G;Qmty7PL9+#9j4zVO`W9uV%C7l zN6{f@_sqcgB0jQj$_}x*y_Tt~vd)0#uBIOK9lg}`R81ahDcm?T)q0V&Imy~4sVh$# zrVf0D&&F?SU5`05OJxvFMD=h`3rnwC4sM4YHEL6Fes|tl^-gqkp5B*ne!1;FzNnE z)Yt%O!q}&X_ou_y;hDcuw~+&CVPC*O zm#%eU)WWH%t9GePe*`Wd5ZYN#Fq_$o(ck@7A%kcXf)C?<*+&Ev^T%b+Xmbl6jMkFPLXPi^eZ@N3%XyMgJ&fji6<%h}^i;?mIz=zzao3 z^2;|FftHYJweYg$t&m=nD)bAzkB%r?+4z?IygcdxrH9@~fH$)Uq~&fyS2rCa9A>=?Bs_k(wjkAL(3j zy98xzp66f&!PEkTVnM~5ihkME9yoi9O$1$Yptp-Kf$Mi#9`({^IKNAx@$T>RpJo*lUOS>3@-%a=lyn_9h=Nfa+Vup;{-QcLV|i0(+; z4)?w<*BEp;ypnVX>4D*;wm-m0&YtL%`tJW8&weB6P3DL7U4lp_gV+LTC&m62_3`|w zmweIi^fzp<9~`UAF#jSr~OZHVfscuYO|g*U?TqpmyV)9wWp z2dv*P{ueG+{mR=ubpq_LI^A+}ybPi8I7>AE_;NDKVfyJ;?8e0*-W?}rR2_hGpn?Mj zV{nZVg54iy`p6MXo5&4|J*w&m-HF{1r!7XC*)5WL&}Z<%gPLFz;ZWxT(>vuB=Ec*S zml6}SNrBQmI3-ZsT^W>7JexRmH}LJRP|ZK8=pWP%@v!Ewx)iymDD!d;j>G*pT_e_v zzMdbvyhB`(AABFW4tPpEvY85m9vIBHXX9coHpUcFD+c_11qVGx0cPSW+@aBB2yqVv zeMH`!$-V`hX7oNgq+NXbX5P>5=~1Gm9RSB08 zB!9M}yMkp0<1!|JRWzP}?GwMq+v^Vco);!D%K}sVaq%yb@NlQn&63(BM3WLBdgM9r zT35JZfdX{FRoRyDWOk`a98v{LR0y;%RB^OXv@*1LP0^--s6Pdgf~am)aAp`f ze=^rh&6%^uMa(D1{Hv>5l!Q0(Rg^6EW6s3juo7*3nLPCNX%P}FbwwRN-oJf zESvG@N*X`T^)aRC#(2R8AU*|!LWhiqA9sRRsYsE|I^`>tlUCy@s?X`bkbmlyJMKk0 z8-3%F?prGf+X}F6M`D4k$tww1ad??njIPbI8M%vr%f_czdohpAP zx=-|Pf6FYE+A(;(F&hJJa*0d1n}tqO9pP0`eQW$&ZI!LxzNH@SLd+^n=LB1z+OSK} z;$OEU;B3$ZfylGVyS4jf(8#J7h=aU$0M1ryQgOHu=#GbL-x47q&$u#%WsYY z)U{du<|4y2CwYLo+d(B*u9iA&we_wpiF)D%8{Wx2}L4vYXdw_g4;Id%%eTx)pf`+ z)#WUoL+~`PkwKNt_?LSErSCaKDkfGw4IAh$mG;qgCcwIFrp?B=Bk>WXHe>o2_EEB61RTjw*is+sYwpD2vOiNu*}+$P zFn%xTz3oS1ky)Eg>f06^clm(ZM{zZDO}Fc8@!(W-K8mXDtC&T5&9jf`@x`$&z@6t2wKLpX?&NE zK&O??2kgZqW2ba60Q%_Iv}Oux$9xL5>G?Lc?K9w*CX4aKwI1sr8p;_Rx>DlV>C%$I zZO&`RYkE|3aCr*c>tx{qG4PZC5>Mb{Yd`zfC)mjAi1?7Hs0bF1VDB>KXJ0N!%(U&` zD{k&wK5qK&#&+vr##YTj(Ub{dk8sSG{Ad-gaAK*OU-fHhdh${Qi!3zYVczEYA0<7d z8csC)EWEV1K7Cke@!gysp%wSn+UiN&EVhqIwwe5{i-9IMad=+VlUl|h2Gf<~1Z`es zf-NEMj$z-G8NRPS-?|ZcgLLB~x><8Py!1Hs8)pwL>?0aOFmUN?yjzq^R_Nm5*hLf6 z&oCWVnGNWg+IXb?(zBnbbknTf_&7YiIedD(N^Fy)e)w(~O=YmL{V?~OlYNb0|K_~9 zYXbPVs)Q(qaZpgzQXp{m9Pp7*<|aXWoE`pt7KROBU*ezIh}nk@hk@f?!o!*=Up$dL zs9L>M9{3nf*fI(Rsix0ETcR-~C)cppNKY@Ny#_X3cDK?lCBBnWcOC)HX z+5Ao{e1ls1?X&REY)7+tz4kt=9#^-%)9@V|iB)Aw>sE&rIZ!JzZDsr5cT{`h*41>q zNX&$8$BvNb5%+a-yiERVyVZCgf9e&&QD(YJCjf#)*9^YSK}_+Rc6(&xa*%;vuB<%G zTf`Iet~m#9cwfM@pnw*!?S(N3XBFtX}nEAT8EkMzxK*!^4}^Bj^UeoxP4sx2|Yxd2EGT zg>g#0r%s&`=`vuRV3Ah~UjlXj*_9RLgo$k~AU6^25R$GO|V{TqD2_4}r$86@R zH}9Z5ruA_{;l59A+uQ!D<4ZEk)~~etbJzt!Qt>hJg8F3p?|v8n=i08PWbfGDImIMz_NsKQy-g| zjbG+pP`|Mz@B>Q28v`cuGNx@JGz~}2jpLwz8 z)G9+a5G`Z0Sls!y_P*5|S~H1S^sd-T8(;0VMUk2m{g5ihywZZU#WhQRmMhPdGj?7o z|LvV>zm}1~=o*`_xP`uFsmMMoZ;;z4jk5r*EJ%u&DN8WeK1xAGU)#Ju3Xku=>1DDs z$pKh1CO=P)dLW6fy-;58;>#4MmA63`6_FNZNP(Ni!{iX(?-_ARS7C2x-i~TS4~qvj zCf%5~xyWoA{mF2TjG@v|1(JQ-WPunKM3)E?92o_4Ymys&UWJOXq3dvGzUN^B_%ad# zPMRF`^fk;d1gxn?hY_f3Mq+IV`3q(m-e^cUaRRRA_u?|By`O{Qc)?%+Gu%|806Yh$ zkw!|iR({n?C!mPj+s_5=<>BtZBZ za|)-?)zP56UYd~Jux$$=wbJ*oLQmE2%4)os-S5iuv8;{lENiQ@@t0>Z=?2P0Y_s#IXBv58 z>T7o|o8RYy4Rc1E?{?R7rt*nfHmctff?1Yc#veN!)9rh`C-41(ua}cSDtRR;`N$Dq zR$bqAUrRlz99!LO?e!MJ;iSntEn8YW+bO+zSyGF+0UJ@06y5aIom+ufUskfQKS$cU zZlc#6n{%7@?IPFdE>hh-M}Z;g={-@lf7b3@?Gc%C838P6Z$XeLbW59$^1U9~T1g95 z1=N7&QDhxoQfNzY-sO$u?R8tyOB0>$knL;IBT_ZPKX%fU2m02!)d%_QZ51c^YguQU zm{#&^1T0E9x33V>q_3h7F(qq95Yy2+)iq$_d57PC4YN-Ym zPih@=!d>mG8 z%(A!XcbpH{cL+AL&2cU}%NzD=aRd`ofsm%P!99zb_YQFTMp7t*X2FTv; zE{{TlpAs$;24J2h*Q^I-OqfG3t_aNhv?W;9qKu-hRy|&0LNJ=>k9B8ywIwjs_$p?` z>sn_bagtDr2bUPRS?7Vv~*%YtQN@O?Di~g*8nT#0HX$V7hGeJ0t zJtUy{-H}-Hhkxv2z+_yyX#={#hHAh8!TxdC#m6W!M zGH>>XiIRFJd1|fV0d39j_-^VdgCv8T`F4ZZ^f;YU!;We_ZKHKV{F40Y<*LQvea8hO z6L?s|#AK-lfBd-oHWZD&*l}K6UJ)VI=hL~ub%h|s`E5XP*@gpC^|3@)9aD?7<=n1} zk7KP4*LUpeYpXNnYYS!Kg_V1=k}1$jN(!XJN|znO(}q0j=-cCa%FH&;gX8N`tM_#@ ziXgoEGpy;#u9x&mef!R;@*CCp9Z5Cw>U_jk<>aDCo<*xlY0bK#;_ObSrCDLDbRnlE z2XAA2T~iAtYSK4`aeX5z6S|U**4)ms*k0x=-=_ad%23&m$3bU+4f#lf*FkhZ4wqT4 zq801ti4bR-!SE}q8A@pzPajCtq0}vmciKA9cq($i_e zl{}B5+AQZazxRRp_t6F$9&>B7e9iZm3o}6sf9Gp^kl$lB7`2*ihmmRPnfKlxxjZ1k z!R+mtj$s!XDdi%l2MAfjm8LdE*Un~E< z;*-y~x2Gx9)6|p*&-W0D-wOuXX9c-0(!2jBzEMQv+tu5|yB5CH+w5eX1y>7??VH!F zsUezau5q3vz@oijST~(Xsw!HB(a0p1Rh~UHqik`Z5^JSK|2o~n^Yg=VwludPm)tA& zBI5bMd1U=sW3!{wMdu<;>uQ-@T8lgB=z6NMros9-z%hfi^5M|%9^+_7a}iK>7Y^7~ zWvpcwQJvRiL>^(BEXP2pfmnyH*=(RRV54l;h%l>8-lL#>!B$`!y*}WluU!Hk#%+&QQL4wyYxfsxuhdE*)oaVfQ#+Zm*cmM~ zuFID+Lz!eL=Wo)!PpqtfHi}ozc}ppL$uABpX}+TMd{N&hC-3#yGB?w?Krk3B&4UbQ zJFBktS&eu_JKBgAJ|hE5-(<;n1f6@w*V>N{F>l@4CWB)bC#Q<;!AKVk8@Nv1Qs3sO z8+9i)zgAfAbfKaQ_!Kku7DnH`|r=uolgRVjdxWWJH>;0uk-6>7y??~_VUov)}iaT;cS(x zIm;G&Iu_P79W7?b19&|~JGQDzOVtdwzHDo5eblJ|#;S{ZSqNu*T8ghHck>sVj`Op< zjrFrFD;G9en>+$~mxt7SSsyX87FpG9XRAC#net1^*^qPSn7ckmcJ4w&7bnWKtBZll zWe`B{(hKcC;)#d6v=jEW4-a4-vXNbraO4b>{Xjp|5mKrCH2nW3S$h_(npNN-mYkWx4kZ zemGS14fu=LcU7+PDB2p=t|eRBA+3EIxWQP_)6uYyj{e5=0ndC(&FG<!#kfvRVGuNiP7_hQ~9nQA}qwx~dVEnJ?pg zXGY%4htN{~F~H}3W9Rjny%+4&)<)r3mkGa?{YpkJrzLd}Wi35J_M7Xm+M_6ebw^A7 z0+<3TuyBL8t|3b~s9rGspS!vFQj^C99Z@WSe}p(_eKs z6DA7ga$7#mj^}ai$Sk+T$ns4zh0kHXSwpGBE`+nrSF**NK1-x?SNSvL3ZX8JEKiCr&ztB~>Mq8Z>g=M|r$4q-_&C5ShCCptw>G*mBc(F80{mT; z6*Aq|Y2SU-GH9t-icp_5;Iq21ThB$Lso32EaJQ5SZWJ{|7`369l2C0aYE@W9b3G-m z;~;vFJpBG;TKTmG0S>RX>RkTVK+Weq@qyFJ)A-cO%XRN^{{VK-Nw?EhTjo^30~o~c zxx8(9j&=2Y3T!T;wa{@{5B13cyhqlxU!(Lg_G0zwEu{)S9y_X+RBbm`San@=)C%i} zcPdpD@TmZ1Fc!kHn4k_;j_}wb#trXW zQ#f1v6y(%YY;C0Y%ABZbIvTt_xK?_#TBq&mXuqD8^qCM!Ut+&69Cjjg4_c>8zZ>E6 z?jNLj1L#yAVFM?AEeZQnJUX8QB0NP$PDf+2nlM@PHd%E1!J@3Ox%#Y03bmb5 z%CP3z&{J8WvYvW?>wT@{e}R(O(Z^=0rk)-)rB>5iwq|9$G^{3Vq;(ELUq!Eytur*TAE);JHj0?j0&6 zGLcgg@SS{H@d6UjndDY_J;txXp)FMsRiUKb&}7WsTy61Z#ZhO{iFU`1b1spm^^Eku zgmuQ3@pW(!;r?4gqIrGzf%HuHsla)&vBp{Xmgc?s0qzOzj9`^tqAU&rW&ExIg;!4k z0_6Q28ffd zUQ>CHs^dS6U<)JXC6?ObTFTxobbFca;;bi?B5v~Ko~!(GHg~D9meMz-PeZArQ=3zE zfZmk4p2wcJYC|`IOpnj6I5&QiXF2|t^U3AY2cMm<+UC!iv}y#uvnxQAqnG)yp;JLF z{k4x+1}nt5sA_6M7;Mp{ynATV^rsa)#elI>)cla}%B*(w#~1*<^2VnjO-A_oIIms`=!xaKEi4 z#oEkRFtR?mb)F)=T&LGD+~RkO5a)eoG&!UD7!QDM0M%8mV7rv>^)*DF(mBScK00^d za8t5>2&-4B)j-5`JSj*tfM`D9QJPV z^(nUZ-CHXSIe&b=QN4UacwGNDS;^D$^Zgw4!Rj}hEn9r|HZk8A$*8>2@!U6f)aAWp zE?P3@btr0B46m?Dt+e|%m|T38jwxGeSUgc#s{8Uf8(KT}sd($LtX>&CIe)&F@2cKr zzc}bY(NhIz$z7@e01KmO73u8QII6HXF=a6!q1dJ6c5jQfXCo$WFBWLu>PzqFE;9?~ z9sJ7A7aCb+>QYi9+Vz&$oWcVQCEze-0}e7Jv>)4ICqqlOWE^tk4a*R_92O5a+`Akm z&e$sh4(q3EJ>a7rO|viUy_Uu|% z0ICZz4z?J%3pkFJXdxPqQO3cX&;K+ZGowL|OCJ5S>h;q;4^Ag)tg;yClOl&4j@ddG z$IPnTM%FHe9d9llL2T4{8pdv0@%6WjPqv`N)Z263XAR#>0RZO9fvzCV2UcgS`QiZG zWiwl=GEQsm)rN~8@WA!KCk_7M{NVMA6Y)gIdB)JWOC_&Ymmse&j{SX<(s`B=)eqh$ zFX-K`dWtGV^L0LF@Car^Y_#+#4k2w8I}4K_3p3p^I;NH`kC91fdvmqH$+EG_!`;!{ z5ODMFoS6(8gyaYYf{bkBslv|f5(_JxBCpbDor#CBVjyMBQgN;f%nXbOJLxFkZgHsZ z-%V{m1VYMaOYeotWX#-M@>`AFUq)6Ql^$bDeM=26d^}BNHbs2pUYTTw(WhuRS(Z?8 zbvyh{r5s-aBm0xpvA)B~yHcRXPkp0&@A1CeIU*O~jghBhH@HiBKnAW_LuKbG9~+ly zE;cm+E7_>{A_CR^-HV8@4`;bAmYN>~+2p|>N+-7R*HPVOot^)x|;> zb`kdk%3zW&@TYeq9pWM8kV~fATx4j+#NrJdzcM-Yd8M$?yO{V0c<8a|fIz%+N=cIk zcZ->&_pFMCxqF>dquzcDwC1(+9?x|T>$3Up zSw)TV24E^Q+<-8%WpJt3`?8Z7qddoJGv^>P@c04vL<69q;>5z}6%_!C1U~cTpLvQ6 z*GpzU?fn z2Xn>0r-i^VEq1Q=TFzyq(>dA~O7^VD?c55kyoj=Gpm^q95YJWWo3GLc>t7_oWF3$t z&Wgjk8%sIBQb~`NDx`5n{QK+qv?}C0{F;hJonQQO_T71tTk+5PN$go$pjFrogb526 zCljPpmiMTKGS!Sh4z+Ivgag6=yO*8-eXuK`!jK58gLrjncAH`FEF7H{~H$oxp(H&t%vOwXrx_ z1yRJE^h!SiIHOH?`$O1>j1uy#dr9}4c)Ob!q6Mv zKs9~PWW{Ap4#*0-Q)HaEljsXi6bc8GFzrwA4%;cq%4*+kY$=np9t^z{uL3%7+L5tK zoy++=;;m2@mWhV;3Y=go?FysSA}0^?SgNp?t)JZPdOoTMGo^Oie>s)y;{+*X&%B^D z1M`PIy$~$lQ2#Os@@9gDh+gU5T+r#@gNy*-@wHj;Zwr1}6*uml3v;!OxO}eiXGPwu z`@Z(Ta0#G1MQa+fT7yQ>vqs}<2@U$s@tzKqc z^MtweqHnD%!8WZxHAy%3@_%XBc}81sa*etz-luhqxu3kQoGurZI)4(~baRFH&iaM6 z1U(6C7c-CeL}`@C|V*ljr5dW^>=d>(L9OHbgeq){J9 zx7w^L@ZCpCvn8`@xAAct;GJ;2X@@z}Eu1jTw`=E3PWoWj@>~=?;*vBBi}qXoZG;crQz`VvrzI>O%7CK?KZpK(P)|W9Yblpc5GD>}(cuK#&XJ%CDoZa% zh)J##oliLe_4}aBPwCzV&1#Ro1zT+ zKQ{k!Q}M4@8Ln8_gyOd>_mTj&YOK)wkTTqmGTM)TcS(R(H9~0qP#Nw}*+o%ee-#fL zpo*GEmTyUzZwVJtOj(XiQGQ+!&jPgs47Eh{VJSt z&SI>B7BbJ5Dfb+J{0r+zaU&EAA$nOB77C1@(aS8SP7|tU6~g#IL3J>ygTtc zh>%9upkf8AS|j4`P`FLdc^IK}F`3w6&v^u4wTOX5rGgJqu#2L`IWLHOwThw!v10Wv zrRqfmjh_Q#l^VAS8iln&QZWpyMk;c6ftJP8a*L{Cl}Od5L+#+?LrdZ6%yOX1L=9qN znMmZ+*@&7Xmeb+P=yGEpxJR=Adxa zq8YJYO|FQ4O&2}D&}RY&bri{&{k6Fvb(qipg7#TK%vp)$$o}%ZBJ`gIRaEz{#~Z50 zO1R+`Xuu0@z;e*+2a3NUOq>o!0fn!(hUm8z%O*9H+XGX!Ew z5N3<8@fA^wrHI;I zxcw8lWK_5suKyN%;Z`&UxRbvdH>CSY<)R#BdTUUAt8nlNyuKZTgI$W&B1}*VC|SD5 z>E5p|SHy4E@C9LbM0;^V8>B2v|6TafT~%T`hhM?m>A~s|gAx$>Z9x|9DIC`>#;5oK z)5Hp>;Crg)**x_>7NSU1h`aU>xAtKY^LT{&@M8Oc*qG&QLG>I5Ls{Sq*KMmk#LHg# z2k?Oh@CmWp{-bypZb6Ingyg|vc>BS*An}`m$=c2Ai&M~ea>N!;#OW^nDcq2$E0roi zAnxr4`xWTKLeBmf+>n{vLlMdl_3c4z?ZVlI4*uEPkU1-39iZ;l`kr#x0uI0OxYP4c z%vf-Lox&5JMoaMH37o_DfUK1wQ0xLUV7l)X8 z#zdR?mvJ|99&_Ke09A0a($H1T0jX>WYUqHGOZ_bt(^f7QrhAbaUe` zqaa`M3Lw^FxZHadi*uQjgQZQT*igF zdkYVIcis{~3q$BJI%tEv^o&;C#SAftLV6rxn*k|-`0lO-#moGI?RldGPB(Mv<6)(F zF`EIp7g>?}bq^clu`dw{ly3Gz@qs{v?c*8z;r)b6{+eR`q4x;0gX`xSFvwq0WBGf8 z_VYAU8UH%Q`auT4#QwL16_JxrncmL}>0i`;3pyo#EQlCpD>{G~W)aiNG&_Hq6xQ#N z%0|@xF$KO?ExaB5X&m&pYDg02zjWno3jfo3ACC*qppd*{XpNU4FLcg0QhFUSxy@=d zKj+=yZ#ndae3^k};XVfqd4g)^I`HfXSHtjVSNgvRRH9P{80+a*3$)4i;Hy{g1E)?xMpU=SkVVe5#H@cWvrlPhsT)xH zJGYSR7%kr;bdJX%2Ni^6mLZdz*b&@3mxyIH{2mkbACItkE|Lf1PYq(GnF!15uW9Ds zV=Ra53;_+=ppBfWb|L2XP;({{2FHtKIB|_1OJb|Cn6Y(-~zcsgtHN~ny~&n!UDM{TQ!(B z?rMWtcnbGe&LJK=4#)vOab~PM#KooT+D_5VqRmi1Jx$mxb>U}VPcuB$dW!1YKX@X~ zlf}8;{%)at+~l4zjD6Rz25xfAb^aa9B3qnGJ;0|kh|VV>b?D$zIUer0VgGSEc$3q` zA9N_kBb^2Dq6dS{OgyS1JV;U(O8swq~bFThxcc2+e#AXbL z(@A*yO8GIg+rTu^ze^VKSS$_&x7czoS!5rA|Hau`0M*fai@vzKySuwXa1R#T-66QU z6I_A>4esvl?he7--SutqegAXMx%KX?SFd(<&6;K1tEYR0s-5W{m%eLsRV$1voyq1o zp1mu2iuxGPIycA#4O4ZIUz;Ojr7lH9-j?4ww=h6u{{pIifmi+TOU8+86KI1w;G&+! z9vcYqc>>wHQl&TwYST6P(z9G#d#G2V2^>->MPf}B6o^j(sAC`58=4ErEgH&eJl7Hz ziBAGb7o5Tp7mH5GByy0Ne>gfQ6`ur}ZvDetS2k17mWsaNcjWVj0Is%U z`Y;OwP5{^k5SQfGGz?2}l}RQib+a6$%Y`8Om6Zyv+D%^R#Ib1$HUMCWesF6#f*m|L z4F49xxB3Xa1u(vp*xdjCKY*P5P@H~3e1J>^*nWHxf&ihxKya6v=tjy2anL_uSDiDUx-aaBl+y=5e4?Zjk#=jo_&}dMnSja$>>zwjYY% zaYqjN00CV*9cq8x4pg9wsl)_mE>jIqXa=vor*1!haD>%$<_-@)FoXa%9k7=%9bVg*(V55Z`wyWhw14svsK^H3e zISp1@95Ipx?8iXhKmwIpYqeplN_bEL5@33O$-qkF6^+!PM(RQBp#O-+?1i3^V(RyZ zCj=1Gnf+Z?xk_UR=I!E11eCx&Tk6`&DJti9GgIMl9daMLFS=3cNaFU8baoUo>Fnkg@T z3!k4&3PL~=m`nbdT$dPrH{dSWl+mr=n_m9-hvA??z-)T@kRIDy3P59jUEt8IBW&nTA| zAdkP!Zj3XVTm3-JCUA<0(1@z@(|gC8wzC0SOv;& z@5%+dq)TKy8E)j*-TSrSDuD3#eKngl8lFCZ~mfUVP@1UA-fTC$0KMuM3783E|32LuBn z;F&cCsST8b`T2-qW$+t;#cYLFy5aUZ22_=|55Tzf14{7vg!@bu8{rXMgS1Yf>Rf>T zg^7^`-~;pN5)m+l>q`JdV?qsn!^Z`ia`QKD%Ui((+5r!^insg@6oDDmFH_PEOr@)j zCSN~ZvIY8eD&QE0yH-#=tgp0dZWY9Y7)7sKu@(UN5hMfL$@T$|AAiX<7}>Hu!EJDo zE5I6V^zVZe-7Y1t=Pm+5VMGd7^DkC|@Sfj4WfrERA-c*5dB7s(se~fB0*QOXna|ak z>lxf9Ql=^Tg!_P87?Fnm;fMZLf~5!hH+>>ytlO5sq;g3)1evbF;49F^usckb4$FaioDf2KLuCFDbD&#RY1&>vFcE@RG`y!3>)3IS@{1IQZzu! zlEZ2}MU#O68r4e&IK!uZG<^lyJX^i(0MIHfljP`cQV)n1G3pe zSZy^5SF33H8mR+3Aev<29Jx8HY44^v>(Gh?jrhT$Y zxe2c43Sayy_PK^o>w(jCCaz*AEkU_j`_8XKA1H=QJOna?4%y zU4u_B96a`+o^(KExrDDtg*y`hS|Yd-ZJ_$>B$B*w1fXg(N4~c(z#qR$_?d^OM4twD zd8eC%t%PsYtN>n+b_k+;e+K~FL*08&XsG5!lAO3js$5OU7bgQieUvOA18_fkr-91V zfpFFDA(Kk|f98~n1~eY|RNCaf23uwXPb&AP4XG9FYdmVJ1g(7D+x_Zg`aT5!-bV)P zPX>&AgDi+mvK!$O%zPW@D#MldHF}9RWSh=*#xAWgD577hXqOInfj}9jmnNes);u5B zE`tu>;o}X!`?RPVD3b!{K7F3UYDKC5x=%P~LZ!kuU)QJT@}&mgr2OeL2XIpUbPCj>Ro1G<5O4%twv?6d8cPxk=W4ewfc&}0(;h=X&?(B15y7f&*wb zC9Qr3YcK$|jH;{uWGgy=tW$jslI=!h{+w5FECD~7tN_Lvu0&(pfW`nQAOT6v67+jR5XUR zAeN^2DOy*FhC=<$+U(ux-RYgR@BaR=(RuK|H}1{%z9yUl);>G6_=MNg-5U z9}zhgV<0D#2MpCS%nuN*Ge?ZIECQAnT+O8m-#tb^0?6LqZ3Pu_j|6OCK<7~`!c-p$ z1;{@A6+fVwUsO;NE5hd(Y3z&`1d!cHIaJ^7pOl3>Unpv==TMz7a%^<4&_Lofz1NMSAaJ53)qe)l>dcLY(KLv)cymK!<$;HSRp4A z#3K^OW*|`n0VtB}CGjpy6;VXAHc})&RK6jKc!xk51BluH5djhj?uvNV7$6crBFO?o zYkqx_V7XpU%?NZuIUB%W zwO(PL!|M5r1b6e-^X#aXjZk>Xi(VBIH%LDnk=U*SBW`{XEagB%GIMfUh7Rn;D@;rP zxEqep5Lrr)sWDVN4+&}Pm>8oQ6l}*GD*V9rodp+16r`hK7L<6iZD6wc#7lKa0m)o< z=OFj`MgxAomZS@yc0co4V7F5Zs$_|%!w4wmyJZaPo|{-Tk0>v%M$ZJ=v_6YGiz>&5 z!yB_HJ0N9;=F-x_^>j3iY_31@B9kQBhAW4&ZcJHP(!l206yo!P?1)e_>qAa8>)ulE zeVfwb*eA#*8eWQ+kf4PEbprQ6I5)X6y&|+Tmy;FH@j=KQoz$N)kHy^F*H_yz>y@m@ z1#(3oKu2K1_`2AaUHx?5#UqH0OsYbKN*g@$QnQ@Rr$9`_LIboHmBaFWn~F;mK?O%! zl0GXASdsAVsRm@tL|g3Ni0_2PcrF zz^i)fVn*1`Ies)i>bl6>A}r)ADRuM7Kh*BEN3=cUP``^^!%>9BdKbBgI53%j zQ-Mm36Si%>pgC0W{uD(3G4byobK*e0`hMhM%!2+MN&1c)GNCBWFA_^m3swI`X8iX{z`r^HhZDL@2JRK8FTdrR4N^2CGaknokty68PrR=(7d6N%O>X4Z}-IJ zZ|SmeZ`zCKW!G(4Zcrjh4lrL2H+xa(%c|hpr9N)(U*nb6oMqVRt)7M(%NOHJTf|kn z2)9{qKZ`Zcxq4c<7c6nkcT=Nitf3pR$ikJXH7I8)%-l&Im5oD0RJ(%zl{LAEIcph!()iiVtiNz7JMfe*Z(p&;qlX%Bc zI=8yc+Aj&6_Rt}NMH*(}r(WZ?+eDRPZ8M?EkB_(9kG_HBl!wbr$MvMdD?0lqPG|Gr z)-B(m|!F8Ve(##1?n+L2nr$QMu*B$5~f3{Mjrjp!J<5+$V zAX$x6O35p$6!ZpU%6hLB+eb-r()Im(31yRT(bgXY+t-fk;60w`;CwM&cCo*b&YIfw zS1ag-V!NJF8945Yt$=LTjAwaUN54)o0A*bgx#rw<=f|tI&!psD7=|ucYE#G|)bU2S zrRg;|a((M9pyO-2xYw$v%W&4flwnsP{O;?;_o}EaaNM#{vVc3aP7J!WgX0tN`ph2k zUCMxvkaM8nyYeDTO?;30+%+1-#;LQqiGzxzH*>z8Iwdhb+r?7U>qg0?7P?Pq&v%u_ zP?{!SCyr5fl}!yr8mA4HiMz>(q)LAHBRz76NS8_N{N!RFun;UiFu!I=7CMMHy=Rq3 zVJ=aolQSV?!7%Jilr4J)#4B=en|u~IQm9K-Qf@J>v$l4SVIf^T+JT$z=n0U<2ecI7 zvJck-e-auXn5Fyw;NZL}qg#@?uC6QFlzFGCL#(H%&M_f=Pt{2GTz30o9y5HSHEi>q zjK6cfw?BnR&Fca*OW9JLsc&xpp017Z@wd}Ap&Q=!Z{=Y|q?EuQWe$0T$am z;Q20ybM@DLtB=vAW1i8EE4H#?^cgqPF_v-{Zq4-}SmOZvw4Wz#l_;E$F*(w^phLqu zAGj^c?cq?V)n^p2ttdthjd*IH@(49007N3IsL*!}%!j8PY0JRNONsl(H&hvl>4Yjk ze9~YUm}3AT)>Qn`2-8rkHLo)GHxag!91gH;E88S2Nv1U1^5uBBfEj!1kBZn*|7XMP4%P`^~%xPOh_ zZOjy>j8q^^JzH*9a&B`+X^P~1Fdj)h$MXJ$rtCy>~8PzBKG>NFYN@0H? zZ~Y5joE>TKi>N#-Or^eWJsYccROfYrW_ca4oc18aM(NjTh{8t^)>PEt-G>nfs8O z-*js5mHH@NK)b)mbISV8{;^{jj!><=zTEj`GrdgPM*L;;$G%Lv^Z~T6RMZ1U@q}PB z3#>BDj2&o>L_i|F5k>_Im5he>3>osG#3RI>-*2zZNIZ%N%`FEBEGBz*Ve!q{`130TQ9uHqQfnH$G3FO1PU z$QO+%YlP|St`~@euo_1b^!(Uck%48>qRT~gs3XETZ8|-kJ9PerV1>w!+`7{kG1MV^ z^c0gHUW__(t!}Sxa2k`=jC|wQzx30OAv>cowGz4VTqa-1X>N`$5L6Y+r#+OGZ`j`w z%@>7LH3~)c9_B7DqzHS370w2n6o%==Lt6ZcDB=`wT}KG8Y#WWXzMI=)49qQpc%tZ= z7U**hM`^~;y_VxuYnb_ap`q2?h~8R$f8-`f@fL?h!S+rOcwWXE!3)fn@AO0NWo@@R z&%B{#HffxWYFYF?B7|SaL|on<-`AKn#>p7of(;)tlV%4Bw54t3R;^gq9h~R2z}vme zDay*?$Z%ivM^mNatAq!JU`bp*CWx+q30i4K>BeQCO0FhhTR5oMIga6*(^vYnDv3={ z&8&FIkD)A)R^Q`w54CyjQV()r7hX-Ss zgV2Wn*1Yn~vy}nre}c@HjU^7>KEaRVG|XZ1w89T4fVOW&j)S6GB>Gk4%OCqybYJfs z+Vf(QDZcPQ9^BH`Ofk`XXxyxEdsb`7WtE)-lA!|`mS2Z!`G?( zVCo%ca5G-*NeY&<4Yjt6P<)tNhu(go9mif{lysP>e}9IxmjQGql+}ClaIM*q>~iF! zsus0|{Uyw>7C&It`D!f<*5gzz)jGC()+Hyd`Q8>9N@uDD5r+1Q<6_&8wS+oDM(Ek^tOcUoxXG#sgzG*z?)$^HQZMH@nxxRCWpH@Fut(GsJGWb24o zKfYjEhrz4a2Qg8+>PXid|1*A)>T+jg20x@spIFHNI~ zQ5GH0UYW%YwG|Qg-)=1*S>}_A@kL*h6e@g+E)l_`nM2dF+qGG)$U?q$8jR6x<`YDB z8tzgb2>HZ#%#vGh+LL!UL?rv1zB`?-r;*g}7W?k<$+vPu4>o|-79=jqC-vv?LeIu(a-rS9?e5T&%T|6Jw1my1yszsu97 z&hqELy_y8+TfB$cZf48ZD;SvM;g;|uP8ai4i+8WX330YK@7BrUxpY_fUT}Pa?;Bb1 zHFcWwTiRwymdm=Psnz?_@jonHRF2g6a?xvfY8eEZXVITJ!H*jS-!O_cK<@NN6aswO zLTxk^e&h?k4McESZ)iTcrarSfL4ni>LFxPSWDhG-+K69bPW|?UI+(oO?=YQ`HF?2_ zu-QIa9J@W!5=i>7P>O;RWOKUW+CHsz!3v2;m9>1qUbn@8s9P^+W zOC^9Te|Eb&J@BYd!JDnfqQSl3bj1 z$6JOWIXANMXuczfNv$5=46T|yn!!gY)3JKmgS1^;jP}fq=AhuF!gYsTMTGZJZ^YbD zB6R#68>!Cwu-->g^_=6Ke$={;e-)~k(?z3nsQDR(627D#dL{Fh0DUS7Q_f@PkaFQ> z#@Z|DZ57htO!rx^jxAp0a_RQGRUwP^HrzJH=>$}XW|`%J*aS1)wI@Mt;_;VCPNzDS zogY-MO~LPKm&8H{wr;B~z`vlq6`<~3e{)H{{uDwB+)LOJTFw<#B%l&W?0z^sB-}iL z1o>$|4wf0yV1p!0Z+9SiL-{T8o45$xFID?m#;j5;vret!sQdR7(&)CpVKXPpyRk(4 zlOq0RITz&Ah`QOVa)pWAuYzCo>$Ee5$D6Lu{2kLhe=n%<>M3wwAK*7lJKGS|n>4vE z&mS)0qX(@A)n;U3W)s*i?^g+}ogRx3H`j!_T3H6+$5T2?cxoBb((W~#p-;8bZQ~m( zOzCvU3>J(S^%7lf2RGd2@*6$WSPz-4d$ z#UECAGWjxcK5cr@=MZFE&!hxxf``cp?JTdVSEIM=WH`C$NI0Gd-8`0FQDPVB%+nYc zB{wV|;ABl8lK0+~Jq<*^g=v_3p})}h`^jqsUGTQ@r92XXdl}0$+8${ZW;1Pg9O9a| z9T=H>}nMq~qyye2p5 zSA;0iM}yvrh7sIST!{2$G9u0GflV|-f4{Srj>?N|glPTdMSA6%z)FW7h4Mtkux@kR z=Uif%5Zm~p&1k3MO#^#>G9vf-ks+N&6Hhh*7=iZ)B8OHImu^&-s^d#H=cTyYSFJ;< z#c8?oM_1h#W@^*Ty3nDO?q%!I)X1`A8(uRPsO*PB+Ne6JoXed7?@S#{D`mpT34=lO zG5m#}8{2Z&W}bXatg|Ow8jEN9HsbugU}$dSV9Tq@Bn$id85?e*L*Md!X1-UM&-HNd z*G&(*9rW1b4?`S?qG-2&XT(I|qog%PopO)LBxpEz7ObhdeXFuO!{SaeJ@Bd$R=snp zw$nBKW2fdn^aF#XF7hxtp8r92#Ke41_t*7V^&q{8n-huaMjYyhVmf(YpzwE$Ddq@Z z9@FVY&mQ0zX0J%93cyytuP>;Ft(Y)!OJp~kz}u3eJ8%1C0jB9Um1r&seplx6Aak9! zx5POM1HM=QcsfINQ}g;<0LJ^hPJHjPO76tG?<`e8_#;6E0Aq;~bpgf8jV;KnWCll% z@B2)oqyu{9f@Vg|cjn0QQWDemj_osNZMR3cd}k3uBXQy%9U2H4AxtkrKKIac!{DH0 zEqYwR?LZO>%FXGAn*&t&d+Yx#FWI`i`~9x_aW0V~Q9;i*Gm z>-FBO!)FkXDw@1_Kl1QH7OuIsl$B;lmA_Lt#CyT9S?<=l_L*0^s_`&hF6Ptw<{IF* zo4v#;c|R*z)Or9bg5Qx0jz#=oxQKYiI%G&xibt+LG1LKtx%(o!r=0MAB)TyFhv=e3 z#H2;U!osCPM8x_ZftmBK^r{>)ztSm(AY@DB8fQB95 z%g)X6DFJNkOw0g@gX_QI0cV`d|8@3n7dSbzh?u!PV>r40BXRvNFMys4kc)+rm52=h zrTMpi04+D5h=1DR{7p|6cH? z-+w>cY!=OFw~&Hw2PFeLvM&;MlpJpQMbfRg@3{B!(IKmKQaz%cw**1rSsKWk?N z82=8077;7!=gI%+^MAMgpQ8T%=s7qz|MueZ$jbFefnxfvzWvjS|9JfO?A&Z@|NC`i z0|fqmz!b5vaj-JVn%J5-nKKh{vNE%A{qL9}SU2VQ`pcCAX2*T+{Zwp<;V~w6AmUVG z5dX^&K@_L}BqBi&QPg-r5MpSl-QW8t`DpMocB7?g?V6SMmflRrv@z=q+U0jq3-`4% zR`UxD4Zd5Ioi-o$FsZLr7mgudk?bRc&GBXYo>}!9R+a7dD^^*{!$815ln@|^81$*U z2MewU(t?jDeu`&~KYo~r{K^LB5+IZzpQP4l+U-py)Qr9o_q+V~Rcm}yme2b10mk(W zVe{F}XE{E8Hw3&AbV#d8XuOB~_a)?jga8E5cZ0W*U-0wvp_qdXz$?Bn7L#+W#?RtN~XER+Td}xWoSc+cZRlP$Vpf%_s1wCdaQPT}VeY&zWh!<4_8yhz`tt$2NdcN- zR#s_cGebB{YV)BPVIt1Xv8eprw{*wA4^&-m#=2;ICdXaqq`%EbePctp{kQGFxmgxO z6XMIw>g>$w!un|MS4lmR@$VMpR@|*e9H*tZXfKaQRNwopBC}KwuE* zd7dzzy`By>-o(nv4-mc;-cpIfm+^snNf&x_An1DtEMQo1I_nN8`pf4~gFq5*c7x;b zU|&g}I>+q`MIvto-@Pshf=Rt%B6A}&(#SiYE!c5L?ZSEZlj03RKY+S&foM(i|6yot zm_kIpbS&&g-IYQ~l(Xkl-HP3KOF$ON2bgy+2I+!^~aKJ=ri4Kf|tY{ zcdmsBpT{%H=CtR%cQ#unOHSc9&D>StbzDfBxCA2k!GK6hC3$&G6?f z#k}$}d1gDbAveIKMDJPXuI{6L5B5H7#=eKX$o*(QDeP*W3x$>M5g12aqU=~p9yn&# z!!u*+V0CM~Ek$^9X9H1#-Mm8W?viUbzFJ@sWbVOxxkV?(+?$0Hd42V=ct;PQmG6dv zLv9L#A7GYE-L(&r&SYecB5xXu4joPI*&-9LodXZ(CNrR_T9iJ9MKtiM;c?PT%AcpT zZ<4ez7b-8Ar;5s94{sW1Wi^RLT>JK`?E3${dL?D`g>%*nL%i(Y|K?!A zG8P+A#?MAB-aX2DloKPrRkFIf32<9h_95>wWX*;_PaRNJ8xthu%$cptk2=Pj+p{?u zmB9bKSXDwYizr)|5*mLg)XkLIw*^I!`!$Y51=XBg`TCZ}xsYW#-}gxF&fOp-EXJA> zK@}1Us}&xDT<+w44_AS4@NYHvqm+N1;tf({x9z|ZhToy_{gfmpfpAJdi-K5CH(6Xr z#?3IBak`G#{Kaz(R1;bZA#j?ZGyLgo*t!K(Di%7tN2kI>u?hX}~v5~T2= z^*MOaslQQb%$Og_<;Q51Dnn{pmiy>pQEVH@GkwGFDl72K2BkZcm4!^PmQG(d1C(R% z;{>RL5I_wL`LAkf(z83R)yjY~lB6?-u{Mei?$H*6v^lw?IPn8l!}gE|n3eKvFIE$>qeG6_^2~ zJLg87E1hE5Ve?KiArrdB!;?uFswVIlTlg8eII(E06!{3T1Fw2N6_Fa_m(no5bva4* zOvUj_VwqEs+Nt>U#^nL}#^x_XxwWO-(C13ia%=Ky>$MI;05>H3(G3(~>c~mfs6>R| zP$?KSBZ}T8P2%q?;;34ND=Uen)-CwPCnEKjy~%PO8rk(>ZPyHPoIE)K4wS1K%9}7w zQ_73ZE}RPePxrF&vSDvM_<1);+SN9V zP%rrP8)q-j%mWvpord3$Szu`cB`;_|J`rGT}s>;%8Yt!?9hHIT19pdj|Zc zUL#YLs4?+a3qw1oBLcj?^KJ9Sqy$qL&8o|?ApSrq>_XY;rE^a6t<4Tw4X#s~iD41Z z)MEpLp)AFpK^1(8ye2<`OZ@NU2#-ynsx2`sa7&fLW_2<~M5%bS*+a%6fr4gSrDNMjmk~Nn~6f{MmWZdF(&B91fU>yW@DU9BEPQd@8QvfZC%(l6xw^^LA-I*9qZS z5E^Bvr4a{6t3V>}=jHjg_@S}%VqGP`+-aPJD2~OsWX|85%!5?C@1Z&Qmi8!Hko7pDW?w4a8u&c3e=x8+tQFntn$OhXhx7ZC3Fm3sJF?~T9#oa*0zpPWQFGH? zau3m>%#6B5cCT}i_fL{JXDDvU*s8Y#!}L0&_X zHthHU0gqVRhCZ8lG!DIMUc_Q;qp zPzg0>n*r%B=-1Ar=sMm7)Q^!(Ys{ztQ~B+4p7{`?VHDJs0N?-ed(U!hvZaD1M1x~X zL~f$dAC4~{Nwd&DP#=gE{FaP=O;#K2NAqjjf-l5UkKrV17P=X~GA| zvHv4WNC%;JsyjMKN{vG;k*) zH}y2{$c~&HH@-`nN<+$5@jzWl3-+8YN3el}qSmUmKe^+V+qMdE#RC#Lcrn+-*Ao6z zOKtwy><_}!7v%LQjNz0zDDoXhdPv|BPA*kdVGXPBwZ53(o{3yJf~~~&R@JoiO7>?h z`t~Ao-_*5Kg4urr)O_K2=|##FvuXX4%?O9FaKt(&(zxzd1k6nLXXdNvBoW+}DW?3< zz95T9bj%7%j2j1^}`1_`l z<~W`CES0L#(k2ddZ7m&MnWJnb9BLy(DlNr{fv{ED5`~00kQCCY^pcz(emxiN5u>ow zHr>Z0l`J=yN+ok>vQ*J#&(z?K)&51D1BAi-dqQ+PsSwTyze`P760!uryEXH@>vIfC z@NQk-&~x%=-0sKvsplHsHv#kRj*IX3w7e19%ph^mgYCX zc+%4kY7TnHpI(cbZ73rDEIl4ZGyZ}eung!#8?coapC(QWh&1|0l0Q6TvtL&8F=#WK z$sX_*7E25FV9Y0Fxhs~wpOinz6W4~h#%cag#T--U>C6BA0Rf^c=!zfFWf>{Ti}{n* z{!7`t0Cb!J#DoO;I5+mBJwrZs##K7(d}+Ya=r>s-?p&pn;21HN<%p9)(eM*O<3;Kx zMNb3ni#-~&$eU}lS+h;UER3&1f?l%Xm~uTQ-9_oh=&+;m9)&88CbX8oJl-+^HyGtq zYLFOvFryK*oS7v zaz^WhZ`@DG-WA=>2bWDqtdmO`$i_W1C-q<^5pzN&HQR1m3!>l;r>2ZO-~o|{>=SKU zQ@3K45fJBTbw;jK%0ZP8MT7aSwX%3OgT5yb={K()hCiO;r+p%NpCk@#ay@b_s1W@u z(SCRqKS>iA;~)cJ=uO7$9zknSOKYDn>KSOI+&VhD?@@kKZ))rM&5U(%yT@NFJ{~7c z2Rb}z9D03!z$QxDsMgFoVYIcwLhGc+89_6L)8cDjZ)#IP_t9E=NSVdu+&pjFdv3l2 zZ;W_MhpY1Kd|b;jKCXm!?d49F(Cvm`C+1tmq3iEX{5QE<-l^{rzOc_WhrCmv^6iGV z?ax2f8ZXe}uVLJ8$sKkUG&gp5dpdk$aJ)lv4fHrYWD@ymSWo{r$}BbFdLJ-5JkW$* zq#YuvYI?s+`x^b6Z^V3ab&b5?Z?{RmnAnT|zIY9`adzmMMEU5Fy%F6}o9n1`K>tcV zTHf*5WT)!8Ew|b?o4ayx!U}DRyK-T@jLf!CgmfLkHIoHft z?rDp(&AMH{mgj{GgT=!x*Tj^@+=FJC112ehk@b1`Y2TFSa|2C%yS7n10Q(G9PNt<8 zJ9vtxrdNO^jGr@U7?)0)v*0>=1S;nKj5OcEo_=N3q|57aXg5jQs}hTKHYTRq#k6$0 zP#!i*C3$-E8iq_D*R!zIfCyjN2d*e8%Gh)qE;F|s;7f1ppSBxlE2?lZapxpuhglC8@)y%+!p>yZg838t|-7R-Nf5O1~ZbYl55BgVa9PNN|G>J z7m}0A*D@$O(Y>?k=N6CTuh0S%Ak0R~)5d(M(iPo4x_%qop(z!;SLAU{vO0p6L-f1w z*9c}?@xwZKfqWA0QLoUm6(S`u@nH_z$cG=Qdq-bXN2?*qih->J{ce2Tcb~$b4!RiA z^C(I2*fD#!QH3B;Nrt<$z(}Be4LWn^PW^tA<`pbtJuOPUZQ)@cB~AQ;iV$4(^rYY? zX(A-oz^}gt$`|6FHXK*8l!d7^HZfn2CXs_tv>!7q7WL|NhKObkwj6-_@+d>u)c|GYhSb% zZfu!921bJ#``x&4TlVV%XPfTGgEW`cWoExO>2QhgHBU7is8nN26dU^Vj4oUx`<5$W z5}{T-9BCV+NF_I8@zaee(=~s!Q2tE*Mp|51cs-6~S6nO=?&&YTV%1nLnFgP}dyW(& z7)rc0HO3v^usnNu(j2KU$#%-dIhUXp&X1X1zaL7&*^pU2HaSf3^Ii}uMo=?qAs7)} zfV~@N7=EXknm)`72c3H;`Tg`w%>C}8#TPJz8oq~2`ikm$*{;QtTj@P+hLoIee#r4% z4Xib)PDo1e`beD2qJm;T`p&LyOAbF>(53P_690ruw7*j0;z1?rS_&JC6xF)_WqpLR zeK_UDHlA*hHf)pAm)Rd9Ou47Hv{%E8pDv6+9y;xa_)vcE;o&>{OlZB-S%2Vht$m}T z^#ehyA2o`x|J`9TraH4%$|$Jd<^p3C_pR5+N!+d<+IMi>+3qVDTmYS2kFJJR$y%-$ z_r!vDU8PmNp~5CR4QKn%(tQmSiD7rjBs7X-Fp0}m5Cjxo zqQ4@`d-0_;*a1ByjTz5iRs&CZi_}4D{!ZO#2**)0!8B1#PY2!QK3{g!>O(z17(_69 zYX{OqIKkcO4$~k-4&9x%=jjwkr^G+;W;7HLr4U$`7jEl%aUOODONiM_$dxf^;pUE6 zl%DCuyV&H)Jalde=wA~|$tj-f&=GIBJmw{J7V6PN{(7reB51hkfC z3%=5(nAVf;UZB;oxVXHUnBe?wizLJ$++DzD2upccdTWyL{R#j!GF5N7i+k(uG_Q`B|S=_yPxS)vX z?;xc8L40E*M&(|4-8|>Zm)7~>g^#k~-w=j<&<8PG#b=mescW%s+&R&Wg^n$O%&h3L z421F!QDfDKjJ}LxQP}6+AmdZ)U#m5YkT$6*ku2rYk#k$LKwGtPeHEBk&7P5*jN720 z2nr!lSeVZX+P9_j^V<9?WV7e<+9E%ym2bU~x7b$Cl8b}+Sx+Igqi`fJt34+YP?~IRJW05-N(A2s3>50ULN)3J=Z`D7 znqC!MPQrB|S3k2xlH(xSa8t(E=g_8&OGk+vr40t5V4`5sM(mz>P2j^vY3}S zaM;V&iec652c$KZ_VrqPaS>37hTI;-aI=&3f%{>&*Ug$Qtv+;4?$(D%Cf>??)03zmX4~;Nw~hOQWnt zOA7OjhfzywBNEP*iytmlWFLD!zEU{#3-}m)6tFLv>cu?cOfGqWuQb>;F~nQeFXi|_(e28eq+*Eo!i4&v z1|Z|1YQ1r#Yg-`=MrpnFL9;fk+65%Zg{bz5Wx7+S`W`B5*SB_by#E|)PEDw}%ZbJC ztd-cDNU&dKy(msSf9f2VV`kX(!ITs7JNvGQg(@W&2+gS(u`q1ma@mxcGfZlcIvl7& z3Jl)x8e5~tJ?$D7SPgNksQS@#w#sOC+o)$Aqbb+L`^AF07y$U3vouU2^G~aqbya{k zW%?LWj3a^+;LBmHa&{vlR@8`*8WKhrgA~K2^Jx9nDRMA3@7UMSdtOB=6I(A(o}E1? zy_ZZcK&j)!Kv^Rdr);%J;V?Tx$wTmDV133Oyjb>w9m*o6QtN3Om;a}>)LDE|J9G5; z@}Jmivp53meSAoN+d>Gj-}#5TeDsjSCQnD|2Jj%h^CFpWVZbq)VKn zJMlkbSomBh*046PyKEj*4&Fms@UySB&t<)UHS-cZLtqOHy z{q%{H4S!SjqP=HLd>mOvWV^BVrV!?ljV7b)0FJ$7HETI3e7;TACdQOr4AwA}E5%M*d+Mva z_hG#sZ=6aqS@`5mLEhmZ2iphpCZk>`v9ly}xU0SR51}Vk!gob^0 z`fFd!@WPq%{AnSecz3!dDuSgJ!zMjny$h%H5yFj_+%SQc4#a6Qe5zh8^oJe=2j3K$ zf)YB3V-2WN)WoJ^?=T+f2VJz%-Y$*Nx8cs1(&j5clbfwH(}4mCS#=hhffcKPFiPF5 zI_qDRc_%+BGZ^>ObZZUd?7a3edFJmI$n_^Rn5g5!+EI)wC4Tfz8QiMV4ODNh8;9y| ze+!SB@e|$6gx|@GD@6);7A6j<_`*s`E~hH|i1@=>BPHI zY3=2^G#7>Ur8zM+Pqt2njf}(=0=7uKtSW1duCz|ChS zIN(V-gmrx)oOaz~B9wHNrMg#Y|3PeoolwOzt8w_foIY)ZvW2eGP=f8fPy(J0;^6}s zNuSfFn?b`#qgE}CFPn$%ebDD&LY0)fcyd#1hW0|;sURpks0Dwb=Hteg!?Szh`@hyX z)GV-bY+@ZC?k8gGdoFBLW2x*lckYczC$s-r(umUS4J|z{K}!PuMMtxj9`Zsk)wDu7 z@R883GCpo`$QecT@N$_RM_%U#N*};R6&Yzyk;RdMpE+H~ZW?&=q@d}zvQ?PZ2%6JTE@5FsGJEfXln-Pda>UEv{S)s7dOtAyeCIqdkFhHOKFI zgje#JS<}ukTYxt^J!ytOUk=89u|I6G!bU`3WT9z#iACKwVvY|nQJk$;nV;k^uU@5} zjwwuXQpjU*0xy#0^FkjLe4tV?8**fE@WgH>N6F2OMmB)7oC}-1#O0=wnr&{2{9YeK zUw;|pC4oh3bM~Bk7zQ0r!2Eg{nOVd1&0ND{vmO_*quvUmGw0w-JZzeDvJKts_LzZh zkL~Fs&<%+OvOm;}MWA>tt6jRB+jP#I#l`G3@tMIHV!fBBr_!iJJyE;0-8EzJ98oTZ zY6FR4v$a~%WXNxp4sxF5hNhSgkxBcBKQ~$x+ig^JeeXUSPZt9|h?X0rRp0R|$g+su zghL0F@sV|5EW-6<4w;i&3LUSl56xhf@&G$^NXwh`cxy49?FDD*#eS={JLNgu@%@7L z0(d9!zI)GrkZ(x-rqKUTK^#_rVzOp7+L_Q@(44!GQtm5d5?VLV?e;?h7Q%iO#T`%DLIcrO04Xf(%hkR9&_8;ZzdBE4y_ zA}AE3+z1(d!W`4V0`8lu+;r;uu1Z7SCucb56OBQ9uEx+w0l>!1(t3u_J4=UQvU!}& zIOks#M=hK%TZYtB2#gSZgP}^_EDkpg+f>t6t5nl3otA2!H}h*39Z+UVYqNTOPlcH! z^*>eKje89d%dK`>EfhL%@1Xfj?k^+hH-{M}S8zH?&m~g0Ei0h4(#(b4;Kg$?q~Hs} zD?o8`dzjL1hJ+YCY6`JDh)@3Or1ZR**3ne1WbbIH&+Ih!+dzvA@6C?^^duT%r|wt@F&{d}iv>9U?Qwcg#LQ^Fjl>Rm0$4zWx zKAQHSnz*QyUFeV5jpnt|ZOtKnKJ?^jWxPg`j^Op6epJR#=PV_AV5Lohkcbq9-aj-9 zU09FEz3g>-$ja$SUwZB6>E#ECxRNMYddZV?OSaj(S$dB;&jiFul+*npXqD^{##U+2 z4-9aU^S6aNSxB0iooOn%Z?#mkVM~W;X&8i3c=NXZAIjc2II}3q9*sISzStexwmP*yy8m3CbJpTc9|Zp0_4>zaui^;) zJtrT7Lm0U5cbB}M>O>ZUqn~;>n3_H~w_9YeD*q_i@#O7BVLL7ilH09Bd(iP*&Y-nU z-_yAJ)-3Zfx|Fk+2g7eHnPSQd1Cwa7?B06VCF_nJ1JfYe8Lc1xW6k~EdVBQno(iMH zx%_X(Yl`~=&6VK?fwJS;)d&1jy`z{)cC7RtmNI=F$&a<02kEB=X?eqo?!w*14?-5+ zq~Z<;jFJ6YOu3~88z@GJYB{GS(`WIxv48kwc@@o&gW2Wv6<<*A0h z;I=3I^S+2*_ugSXnLHrw`r~6>DWf&87f9LsS^?gFfz6~3bhJhBvon2tRx2#EB!X&GHb;F zkK#uiflWY=JT{GjjHczGv6T9R#`g6Th)dx%SnVv zu{C=>C17CFFY~sXlxlNd#jU0azQ#Jw3Paa*O+Pg2qRgs{R(RIZ+l9WhV)RAE@-+?n zNO(oW7i>bR502WcUDPFsl)e|YAw`_+iM48V?;7QC_J-!TuJ3{7^0 z3@&Ys`MFbBriRL&C&fx!BpE3gWl!FZ+(%&4a=s5;S5IHVpL}l{EEm9~HS4O6Z0Bjd zpQpx!t9q9CCrN7kdN2#lsJ4q!(}TGtzV8c6R9Nnl0&|KKhWfE~mQ_DGc(uqSXZiZW zXt8Rn^JGXK-s^l}`I-}KMUd_3t zjhth1e3jhpR^G~%yhfS?IW>}1YcVCjMZMyOT*0NW{O5Gtq7b0Hs~`PE9GSGqsc-4= zY-PIa(K=akORf+>vXti(eU`u^&FacBlseAlOf~hVi^^p5vAic0hJ;KBr&Mo=ijPzw ziqzjGS~tu=%Sb<)f~|J$*SIGo7Io^)bM4DHW7!yGSAl;c3km7i3pI_QJzpdz+N7Gkhr;1M^Tx^t_k7Bmt?LR_*+g1=no73TWYqZh zAERvuFF4nDaEG%hUZZQq>@wBWr;XSeicwoT9TDxk<>;M$G|e^ z>DdNLokg3!4;jAT<0}p3cB-LL3w!i+V+|}+VJ2sae6mktYv-nMVy1NiI8`dcw@n{p z$1M3{ypGBEY-M}*36k^L)uz9FG85F)wWP*Jm%Rp?_|#cy@W$w=hX+nFXj5;cjbhr4 ztZY*rh7F}%t8;uOHGZDb_Vd4vHs)48Wr|%4%tsfnwx%#W&H6G`iH9~kRoqH~X>zv> z$s}q9$GDYob2o%;t4(imG$$w0r>wQSslH-d9LzmW|DCOzDp}O5e;skb%MwqpAdjke zEKxrx995m~P=4qvU)7H)hu;(^zq?A|cOi`_|JXyE`&dh8aAsh;`*{j4J1@THeZyLA zsU9PAsQOrK#}&m{z55g9)h1bFgEDQ=M4f}s*V|i5hWwOwXY6HeYpZFmRI?(pZb&(6 zd8p2Jz^JDFp>aL2d2MX@(cz%dzeqHKJ8E+1+}Pd_@3!0MvbPcn4on0NtORLjF5Hzg z5=m_D*TN|<0>8G1G#1)u6O=F?v)afD?VJvA(X~@6E^~Dy_hfRwInm;4@g`Xan@CN7 zMusnaknO7!@o&|ZGQ^{%Z-bFr&tUG-LN`mYoPVY$S=a9(bbxbv)h@3M?j(fSU} zW!mflGWqSaqPImC-6=~|=Voq-Al{|0>cQd@Ta%Mj*%PkZ`-wU8_!H<}QXf*6hmbR@!=t*qX_>^$)h0Rm=~RpA}VQx<6JjL<*+XeX8qAGE4kOXa-JG zqe~i4?``6%S)$QY)rC*m`D!KrkJhiNY*SJ*z+W9`3cjfsP8w-6yVMEi#w|YNlR}!R z4Y_fb6%njYG0UX#>yPTI42sjFiy5?mBno$t`xTueS)C-QYY%0+KirB_D)l>7KCZPs zj9qbmCWTtQrr5~x{9PX5T4Qtd=8J72xK)_@LjCr=$y8=W{1EM#|g!LExhy%)-#R>A&)Prc28c*mGo49pl@O@wUObA(^;2? zb^OgDKA6I_VpB=%+feWclR+`R&2F?)ion)2uXu%`+2foZotKl*$D7EEX3pH5ymHPu zQ3iQB9?FhimUHS#k*!HsHKv%*@2g=wpFYb!Auz`}C*cbvE>U`=fpeU<=uVFCFnyZa zQt{bF?`&XKspw+^7|K1h`M#cWB_4#!(}v7VOlu`d_2eF;RceaXgdg5m&{*bI^vVTF zUWpdN%J`*Rf1KE~T2^g=l8mgie3h-$FIOyb7!y?fxD&~S(})ZPmR@xB!`rUj{B1tp z5Y)yQ$F^UN`pGj+Gq^nW(|Dh~AFp3HtQawm3p*Q!Yts4AT~DhdY5cTZ@8NK9+7fxq z!M(p9L7u(y`1E*f!S%Owv~{L+vvt>*(=wYK-G)|2Nc%x6o$LB}bIGjP)4?SsZ-HX5 zhlzLR{*BUJ`p`7T=i2;ygLG2FE4NfqnF?*L?m{y;Ah}GIp1o~_v-qT~_$X71Jxb-R z&b)m2TPC8^dBN?YvrO;kWWuKAuH3`T60qvydzYu(D1yDR>m-eoEGO95()~nol~m=U z(5Fpj@euR6-!QvO`0JW)mAdmGh<&RH(5QI}- za^6D7QKZV5@AX_rU zxh_pnRohjWQx)wB1{O%rT%!?B7xiPEwz9<*+h`)?p&=taVXf9e`$v{RL%l3J%ev7x z#?{K$0D%Fag4LT89zWo7Ja(jE zo6?BFcS|h7WI`DVKN$Z9OO0Brd+@jg>jNM%u4JJJOD8?6&UDxsn%13f4*hOJOpA_F zPVxOt06|VWtSC=>O!d3SKp%&3*bF7h_P_|2wl=sDIcQ5{#v9rTN$86Bm=6LNmVbnN zj~A3HGNT>tGpk0g52gnh8K@qh9=IH^*mKr{vxBgstsU`>_)NeFiw7PHP7#pQLp4%B zdjKcxNo346;L&E7MTiU=RaSx{Bgl#z{J=@O7l`g72Y$G7=QGkh=?3qG7fe7lQwZUe zEEtD+tO&*@l`jEvPZ{{%$!6pD3oH{J$kkY(|3wYpE)0Njf<*b1<+SC06&3&dl=s{*h71j{8aZ<3ZCsX1bz&Y>SR!S#lOd_~ zlV~Ukc~5Mn08dNfPYA|;1(YK(bgHmg-slG>Z9LWnVHTSI5jxnN;F~!utV5dB{*NG5 ziAlT^g?uI!{!nlxuBnf=j&zI!4`eeXZ@4)QsQr<+c6;9X zU*HRB>Hli}hCW8`x~944HM8h7@OaWCLnim=2;Z9)N1FF6f&XK8v>iuu7C+8 zTaoH(KojZ%E%oT`u@<_2;9CKNOV(zQ1cH>imZeq5bAb8;TIiQnK3upHSxz^+R7DMO zV=k1fV&+kkv3axT=8SqNobxiLd%#2$b%jm;D`I^e_L^pX&X4~J2KFrHwxPhu+7|3b z_Wmt13){dY!2c7X1F?+_hOp8NLE&f(0)Nof2K)fj_J9F2dcfc`3_#(AhJ3W!{OJz& z{>O=xk7ne+@PDJT8d^^sqJ}1D8Kd_sa>rHdx}C&B7v(!mYS0UJ!@5F^ZW)7-w!*eQ$PgRp?84e3$#gH2>?4bJh~O_C#8Q@Cl&M2F z;|T}d*E5%K{v%1xIvPUWHuDoRbAQX=J7GxAIsqJHnjB2mVk`zkm;Erd>is|IL9=Q176Xe?Qn0?OoEhsI&Q#33+B zDV2$J=e<1qx0Yd#Z+rI&C&?!oAIb<$O)&(3W0io8{f511rGBHTU=*x{A}AeozSxh( z(f|O)OaYjd%6}#uv!X?C`!!64VzBz_!jmzPsY1e&g^m7R)Sg2?fB_k&{&1RMH6uaE zoJxVuqDGjqKFa5F$s1QlYREUlgs9#crub+SAsgHDVP%EaUG~26=c98%`^5ZuB^Wz=pP3#XNMSBVd411C>p@viS)#lamAdna=W zi?ZGV0-1dk*ftd$V{EGlZ)PrnVXtN#N#p$bb7q{LQI5vByj?gm0EotPCtnXNn~ZSj z^1Tw(HDUu#KY7_prH%9i|HElVnV&1JHcdiuY=kjpB@F0cZJP!N#4Z0rl+F-|2nh zGuhEfa2f0M0aQz+L5En2T2wm3q70c1qkxPp3!@-KxKSyb1@2@*I9v0(wLg=A8sjx) zRNIT6E?m$>@*#M6^6|mFV=})Ae)Ik`MLB%!?(*i``C8}Um;IdM`C;g<4_tP7*gEV! zr7!#XTD6u?XAE+>Scjl}TfJRf@1fG>x3{J_x(Iv=fC@AnSpd&J5Hw&!j(jk8l;dlx zP18Dt(^>7)YplhjJ1=TzVtHhiz^i)IiXvU!9cfzW0C+E#+Y=qF^LeM0j>G9l4b&h$mT7NGRsFqYxJjgT+|VT2 zX)JCzYm-)e!p@gT?jzu{2ZRXX4GJun5(?1pdQ42nw_g~hY2gac$_Y_3|FigC6kz^m zP}9N@FqIjixQ&n@2a3^SnUDGm$_Z|F3c?8{7tkJ5UE?38>c-Q+SNUqbeN%U&a}XkS z-B(b4ZW&kbFP*^8;mlZ>9%+Jgxuspw@?rRv+;{Y5WrWSz7<=L9HLxU+O>=viNccrNyNV zY+%-G2R5my+#U}&-*jt^yY zU%a`LZ4w%)?jLGOh$rL3zFdD9!tM{^yWVlsoM6`J`^zsz%B!1$$LizHiGK1xkEZH` zG0+8?NE5B1{%VFu{10l^la?x2PZn=8N_SgCwwV1R(KbXyn^@Me3jQB@vpPsgpwtf3 z4*X5V+TJi|#v+OXiJkLZD@?!RBg%Onj@~D>Tjt0{txntlroUxA|_m*;zo*O~SKR^I$XLLCkE{^9|^K(ch|V1Wktz>gkJkglPf zl1?&Y7*SB=fHII)v~H+$?Y*qRFUUt)4c0s5FTw9gm^tZzu0N1mOhD7^Piu*m;@AxS zxNvBEkXLYZB#G6gx-6@HAR04UPwr~)PN_|Ix&JMZ;$eB{s-(9;lv000`ZlEJ_6D!A z6NNF!S_LfS0AuEofN^tCA8=&h7s4=RZ!0C09P86vCcdjM$;fW7rbO;Lh&IUXyK**+ zHT`F`#GUjtH)`jIm*c*x&|9f3rlg+UTe&g2 z_?{B%neK-3tucd8N5lGqmvsGGCu5ilO)f4?*xF+quVwcyzaE^@q%aH zcYgL<%v)i={s@X1}eRLU)sb&Yxt_0D0l$fsTn^^Y8PNcGMQYmxM8qK+?~RWXUmM`g-Pr?lg|Wlojlt0reM}f{5{L&RgnK1U z10z^>5PF2rX|Uxg_YsZANLwkMAfPPAvVwv=92p#t2bKFGN}`E#nNwT-*?!l_Goi>w z5aptdcHCC)5N&#Je3xhr-TfkfK|~!a>=7#PWaWg0<@^O72MU$ZR}v5`bD-QSwCjP_ z5k+wg!JZ<&H?KjPH&xQW$saszaKjr?QVWqgG_OH&lW#c?oEQ!zd(_68Muvu)DP&_o zUiSyxNTke%KW}<29IXhAVvIDl<5DOGyn*v?42Ap-jV zg{3_#eHPD1+Xx}9+|gD-9?M^)K|!0X1^Te>bk1H=C&TM$0R%k)Mfoe+ z9ySs@D{^-v*SsPf%{v4L8`_a;+rzcK;-r{kN9wx;qWR>sC#4Yl?dW{+SZa`H8`=8uUc(;XG@XM1pB ze%cvw;jLzo=fF!i&hA?LAvAb)XDiyTK^e+oB6F8|94Q-!*~r?b4n+#K(1FxwyujeY ztI4ty+4O?~DM$zOdY|~7JjC&p$u$GlI*9Wo(6@sK7O!U-3VE9lE>wV@pOHpyp>Qq9 zim;qVaWnW76vpzT%!qUGpNfPMU&3jbihNcoHZFrw>C_)Dg2kvZzvxp8D$7F^MVSYj zatpl1wG?W`&9^w+JjCTRPrP?b@kMmdIg){7OPdfl{QIm6LGba zHzQ63%ik3E(oazi8}~heBTg;KOB8YhAK=Sbj+dn)^|?O($Y&Sa4mG_Zq(^QG+(xiG zX_tD&=xe}~pKUj)bt^anW5`Ncn6@hIeCD<07>={QW=gaz^X9KU?9{wB8r3x0W^HNh zx9pYo^Z7?iNz=W~Oz^ULnKcP$45C&^&#Cq=)e{=%Y@pUB`Hi8Ng3r2xjjv9}86FOn zU+Zud%=%k2N24$Gf?E`rBf@P8 zTMU?^Q2R!0qVy?9V`2NuFSYMsKBD~8gh^k?aeLG%9pqxP;eG{#hqYfadHoqR+0@3S z+0kh*%!+dTs@wQZzwxLfMrWCIViSxHa^`-Ln*7D1DBSnJrlS~%a7v6$NIF3GOq1zT zEikxUJCnFS7&#o>UfcxKN%+t{M#>NHe|y@>oMYxiF$|>b22f(?M+6th_|R4E;yV7q z14xLrJ*&MFO@$K<%I^l%N>X*94G&N$Qqf0U9SAyVz0*<;Fzi-7t7c<%M>y{mwEpx< z(}5iwP_#_`v-_Jhe6K#ihQ346TvLL({7aeiOj7-XTzf=qPQ5wR)-%` zW87d>8!=VnZ*b>NzVC;cAbWCJQItzsOi_sqN!FOzoOE;Y)||xas9QbooQOx-e^ul$ z8E6uJPWm>6j7=UkW>}wh&HyzcbW7rB{xGB{4xfn@Y$pfb&c>)ya$6p}9)>)yd==G(T1 zKnULJC)2UwK)wW8Fd_vcUnthS#&-{DF#GIB7xeCI!a(6LN?a@n0bj0%3+v4>%s?Rp zYFw@;FL$WNy~*yZa=65{7_S%g&9TPrtm8o8UW5b%a-7^x0=^gz7u1{MlYzpd2#IMT z0=^^<7ucI)mEBp(fx`I+33KGQTrpnm?=0Zv*k*UuYP7wV%oU~a^25<7mgE48S&S>B}Ig0Dyg#ccL5r8j$i;hApf&Lo~tTcC>b5$?hZ zF8_3q**-T26^-}BMP(u41Q(+B_K?~3UOYr6A^1TRSt8_x7i12TP}nHLGc^dJN+XVL z!ZSs4!%HQ1CBrjKa-&N#M$JjAlsu^m$a6|at;}vT!!v1fLrO>gafN4gyljSN^5%w> zX7nEsS>1Z_7nl*`g_Tn6{0Ptd;R9M=MywxRsyTp3Yz4R*49_g`p(;2e{zNV~H2h>N zI8^+kEI7=2&!d(9kU$ib4Tlz5fJY5RW)m4e7L`qhHhxk%pFrzioS$0u_wP=L|C+HeUb1^Fh;C97s51m%Bip)ZH& zT`vGmv9jORCf86Z28+v$)uNUMac)92XqF-#z84XO`?jnt(={rSO{*-a`VjG>+ecNM zW}(*U`YMySh3D-0zT~{C`7y+e7T&hL%chRj6sZyx!?$_OcS%TMOB0-I-o^>+qhzr59Gjb9mr`oM1#P zLd1>R?K4t1o#RnCRW#u+@?N2s(GYV(i`*+tf1q?*x*wH5%GQxXSI56cr$i)3;Slv3#1qzW!C6&1(|2jl6+Q_1(;Uul+o5fTB3)Tm2YELPFG8OP3`Y_# zl6s@lx6bci-L$_Q(CG^TEq?Nbq+J85#CT>UpQ8k4rSE$;I5prgNJU#2BPf{^Wl$WA zGSi9YM2kmIJW2G?!^MosJT!R8BL|!`Zht(#Sv~KH-;lpw=-zZaLpQARPgoSC4uIk%}JSBh71VgdVDg$ zhO!Y-d7&meKv%An7NseZ4~UuA{gZ1Z6pPIIz0#w?W^Ihvj%uNUCSXZjrMYJVNpPB@85#s z6Iy}n?eApibQOd8Bn8_#wJ8ph<7cr2I67U+A~uiqvT>!8OH4S{%EXrLg>xbLjrP)W zwUVV>S%9?c8>HfOCI+iIIY=Rjj~*c6^SE}_?CIn5&~RyxrCGBE{8vve1=q??s5EpJ ze_dbj<-jeG!mTj+9+My{9yxJ06?xD`qf`8Xu2#G6Gd&%9qXE}!`sJE(Fz|Jk+6aMH zis=vXSQ@w^og$do9oLwGj=axksN(1MH^jGDo)~F3M$BIu?nsSU3nQ_A1Cc|>G&s_g z$8tJ~oWZ@6{H(dl;AoNLjSpl0=V5zs}8Z>hgY$4a_G*bOeM@ z4kd|4Q{cDJfZ2#J<;pPTj_zPbZttUXw}m}V;_Y%cM{Mt-b+@HGPx9_^+(m4oBX_sO zJx_v}ba!YHGi8Yl*boqzHKeCcq8hPFC!D0!Lq+uR%DsHTn2btjqA;bGg!l5w!kck1 zrJINMR_1g4Th-phSkq?i_Oh(|p)Z+<9>Jn?xkyS-=24)bWM16VJuXc;S60V85GMG9Zre9f!5 z5|ZbZL$9jBPEg@2S$~uE;A1b1bVLI>W@W25J36A{CNp!hQKsXen1zFNv6-VR*s`?GSyPhNImNp3y7@SAYuS1pbThwW zh+;_{Bz!ikdx|g>c}FF`?DoIxFY{GD^5N}T-q_RDEmXtI@ieIS?+deUtY8`B>AH#g zXz`}^c1l>W+_=@-EUUsXyL@qycAOT6%k!(Q9-oz<;Bz5%dhr%u>#)8Kj>)yfzP(O; zynJGVqqTUMSAX)q?C9FQ%gPzTyY_Cn?bT=ZasAh_Wvs{V_!t9IoYzfo@50d%?Qu40 zulK>UxV(ci`*HDL%+HBh=clk++nDdHEzf(wbxg?eL4oZK8xf$P+N0e^G8uhYYdYQ> z>LrdTVb0kU9GsLqlxk%R9$eB}*jCmnZyOA%n+`> z*xcOw{$z=cpJh;Bkw5bD=A>+s*^IoRYLl6H9&O@gRdbVZ#6h%`nD?6A*kSn+R2TeT z&?n~z=PW(TQK-WnTf7zI7GiS@^;DJZ|a{cB(qzV_NH<9sdqjhyrxKAoHN7`66z8z?`PLyLqB0Oz%vm92d&`ATX ze5|tTXK%B*T>cw-E(nuAbfCO!ZaxWxVd!L{+$A=LTCUDQby|#HyJKA zQ!%GBRxp?rG>+>D*rFEsK_alK9&^X>&cm$YZLDp($YcAo2(-ew2rxoAR`FT&jr@<*bk3 z#hQoIdY`F*aT9ql?^-2bfJDerqRP(4-yQe{Ra9rAU6I1&i|~Lzh@}S5$3y-1oZWk^ zwkZ)Qs&kE$=Wc&*ef0VCe(kmL+~@zw>rK=(eB1g5$yVF>xdHn`7&Afhi)MA(qr71lJPt!1_N0Mkz}(KN#iFLI0~5-A zv#s#yey(~}&sNUe$u;-5p>bz$K93*e@z=lH9HA%ta(&jL;EyaM0c=IDmOF;+mK)bd zZB9pVrv_>4Zn69HFYEOHGq@}L+soDxdLVbX`JQx=+`IF#HHsMi)#>eSLNfvyKW9fX za5Z=Kw1)(dEphpreK@zG+g2y-M3!d=?8gZrLsXTR+k z&x@&CTpS$ICX)~qQ_*rQ>}H1%TQVBk7924gQ4g}B@?)Gb*oZOCPVw?nck8n9rPK!N z@tvtA(;7n_r$c$z+TyFLr~TE=R zDNt&sDv;bD+Mb^H<{f?PecXF~wF@kBJ^4-@IZwIzPG9Lf5vpG;91nC1P~lT|+ilLx zxqKq{XhgP1woOS;h2_hx#P1IFsr=Fu{Ag0-EarD1Lzk62OGvDyJjSP#3rFYKWS7u! z+j*?cvEb8Vjn_0C*IB@{V_9gYg-ZTU@&~dnfgpH zoZ8jJ`fKKKYIE=-UL>F)d?^8hLqEtH#4$$+B)>ddC0|HVF;JW;grT@E^M!|OYx_^} zZ-d}%FwR9-T~11pf*gRwL6f<4oW1qTy54bA;3jAS7zT8GU)JKM_nO6x1jG!B zsr4@z=fLpU_h{|h3`rk1gxLXs&48Dak_+&(*le3_Hw}(+$AN~nOwE)^^3JWhKA#0R z%NF#&Y@0sA4ehSK|K!IcA)Ms%Kbi}@5){ij@xyGf?c215%+p#)bL|XuCE??-;YAJJ zT0ygrbZ=twv@*{h64JAjY7J%cbBMrG03F?EF(fqkQ@r`5%wqp$ITIUc3xz{QjqgNA zbsdIVyh;-~W%Hk2lcVLsICk-Xn2% z)*{cL*lR)vY-FLC!0sD|As^qBpz5mOO4t@5Vj)}8HM%xPJbK`x&%ozngY9iytP6ck zMGFX}hRC~R_)1fw?tuk*n{ZIgKHd>ov4OU@5GGA}a)MBQAHX*_Z+}6tIVw@rH20^P z>I+vU+J-iOOqjP~gF*%nXogi{RNYMfd#uV5biQDtt_nuz0JRAX;LrbV%D)g+mcYc1 z?n?bt^<50&C#(4k6JJBnx-ti04+zlkp!0MJLtwt|x5ZZ1!`v^GG<3!eCdD4s(By17 z_ksklhF(#bQ5~H7>Z+QLff{zA8Y?W-7)$SoG1EY@w*qLN2n^*oZxBM}%koFuQPYw+ z^F2M4p-hcwa%+7b9u7V>bh^sFdJ!Fr#$*I!Sz@TX9O(nJtUTeL$P$(WA*Oj^9CjB{ zL_f!0y-VPHkhAMf9c?kR2jTeghZcXOAS3;ADFYw@hMAxKz0RH7yP!PY$-}iv!t#%6 zj@JHzc}l2IX2na>3l(mP7lb5@W8`N(Z_7GF>~)=*q>3Ag`FSZ}+_jU2PS zyLBa2@1Q43fVkw#uc|fDJ@AjKpi5-8aX`Vxz$P$t{yNUSv+8;qVwmTi`)kqtmzVEsJoOw)g!Ern~CuqbV8ZoHNh)2ac5_sV)_VPRi zl6jTf9{Dc?smv6ek3GGT>_E?*p16&wi$k|D0N>v+R15h6FnS1D1A7kvlQW%nfZ#Wc zOXYZH(jid|it709C0^i^=@>~Oc&a%`HsxI!@Aq>@MyW8jY@F)T{ax^kj>W3nL~$-R zx}cF!@s0N@O}FP}^3n_4GtV=^IYcrDPF)H{AX|zgT84EoNv+u@|I3^EeV5D)HGzj& zIwkHdRri7Eel0bKEhKwGj!ps95=frv7eVv{=RJ&sm$F)Y6<&&Y9)Y z>)mi4y=uI+b*U=44AWTpdX{xs+yPT<`tO|x`KGc#edH!qLDEt`k0q(_F=Su%L@;ga zltWTlOf$AJ#zTpW!7=5iu+uh@|Aon*3@r@qab-hp(Ec4Crg(y^3SfXXWETs}5BM|@ z>u&W^<-_xCbI^_l+*(+_259YbMS|wCD27ACRFM-Z~@ zo5MQ(JG_99hlYmu@ag8`)Anz${o{;Ytevp2|i1Er=n%S%es zI9^lGunxl#FI@D3sFpqU?T=a^QEi|%a@age9L)>)Oi3S3vipkZlAKCdy%m(ZHi~FT zz+pL&c_&>uQs3n4Lo&}p&Z}&iZ;`{mh>?m*#SgptMEykdE&BP(r-3!=_hCHK;<6KF zDH(|$cv%YTogtDel}`udYpzoIbX_oXgkxg}3e}<<&r!~jkoD!-LoZj$%m1qB>FAi9 zZ96N0ICAI+(>tI#;!SPm5I8IYqC74`ZqcffxXoj(Pt?D&q{eWhR;~z#W%WzoXEvC{qS)G3a+W-X zNJGPi)w4)a;G%sk?<{>$&_qtH)0QSkN>fS3cL65*e1`WV4WQMM8bOC_$nu-4w_Y^u zpX^N*@S&|wWYNoD12sT+-iB&J+1oj~9ack z^aV@==QI|!kd@ApiYv|LT^Nc48Zoq?t#v@N*?sy#2S7FIZCY7JY=EHO22Om+VRtOaM61ff|BvHwT{1o9|0YDC_ zWw2otR);E~V2LAJ7&qeeZXSG`{;HXdc-$)VDwKS4Iy8`g=LI>~CA2Ylju45L}b?`~Dj+@6Lfr zh#;kvNUkXIh%622G>O%U^!XTTr7`8-%?hz8YftyQl?1RkvOzVxq0(o0*H~LOztssu zW$0S*e~nRR?^Lg0qx1S)+uf?5%5alM3m2e){c^!&PlJ&x2%gDIU&>)RZNdK(*xyU< zZY6mE>FJ(D((L}a2AMZ|U+NFv=uD*sPfi&7g&~GvTJ+)XD8k|(yRd+b*5s*iQjdnJ zjRqZZ_C9dP22}<;K;cVE1-Mi9#c*Ee9=IL4_L=^kOT_Na#q@V-);rM>|FvpedzFaR z@f3S{TiXbpAq3bzAI{_nd0h<6>)V$s&SXwOoQ#Gby=4720K+!`>>YHE-H1IKsWkPC zpGm+z$ge5&QEBxZNyv9MN(Kg=SLY7eo!VmR=7?cbx9pz7wKZ#S6rX$&Q>t`|e?|(m z$+EQzIu5(NELq;VRa}PvvG363J)_K8!yL$%JC4eA@q>X{nO-KFL9%XHdY7`Z|0wJZ zaG2iRI((5!{%R9wN>}9nZ8UyM6Q15Hmd?r*h0QiwgkSaQ@X%0MR+1Q5dpx~G!HeW; zAmL&JM(tX|f_=bY1{%`*zbf0a{SOgv6;B6K1`Q=sGX`Z#FH@rb(0*rQQ2$niCt@Y~ z7MW*IvbT5n-eDwCVvw{mvnOI=Vf+s{_wPMXZC-J45oU2APElbdc5x0NRz^-CA!a5q zb|En?w(pIVh5!G%;`iCnu-o*H4zh$ z+}`_W@9q}xn;yQXeEamNKJ(IDF4?}yb{_jYI@e73xQce3dWjpB=>sHrEd8xy`S&Jc z#exM%nDNSx#U7X0oFdy1f5Ny0pKcD>%obc7gkd()aX7m?iKaX;<9L{{W#*yGvg^rm zYjvlCuVEm*7!qQ3Pu5ex)QQ8h6fOPzL2$JA`_iFDrgOBj2P*5nEyD+!mR;G8jiDs7 z3}ce!C_~+zWj-|h#OHCjiNuG6a}Gh=cw2knR7 z_y#Y_6*h|ijCkhLC)<^P9pG9I0M7;&Wss?<0>(1AOPg-N58IE`kStxB{4Ml!rPDQ0 zX#s6LF@`%)9ye(v-g~NQHtBkpBx`m-SG!qhZMgJh!_G*~{%**Q$e0zIKKZfJx;lq} zm{Ik<(X2o5`1bGj>ge^B=fe4}`{n24I{^~u#Ozv6>D!&s9j3@LmOjtWvfOpG{5d;? zc4qfcmNI7MJba5kmd_U+tGQRY|4UoL`-WzBB0)g6Oix8mo)9q-#~@iRC0ZV6m!s4~ za2a_S>N9}Gvqtj7rq4&ZT;eYY{*HH&A3`MuHb<7sHnnL}5Fh!NyZFo0ZA*__QWh*h z-`F170TO!%O1eR$Q(%jV4gzn5N*z5dQ;K(>eYR99FPVSVoV8&vSK5=)mWi`pUE7YK zGFyPTY?E%W7tiz5!v3)JZIhNy6+7XbaF-jgen)uC;y-K5yQZj@H99?QR~q$eb|eJ0 z3aH$lR#QjT-@t}sh_%v%dv0UL41~&CV*_ERv)V@HU33|K=+VFOAa&5?#t2a7-<))9 zTZc>J&a-d#Xj4!h(p;V`&ME=6d!s1CQF_p+Pk$6+avbF%O#suf-t-uOFAYH8V`-c^ z|HA>~y>b43KpqP69{lCH9J|LIafb)$5QNY)-nqC}J}XQvgIEvhq1L>W;2#42ZHMPV zQ~&{w8G*SIAMu?D;f}TZP17Hr3ro8x#?Mzq$O{%d*@wzy6NDpQ#3SEWgX1`pE;gwst~3-wx`=t|$r_Rwu(%%AQLwT3c_yMeU4$WnS-7C+|QzXHnF@&F@TGAv&_# znLfP9@$@n0-_E$Ig$ij2uF+K3w+5)}97TF|40dixed8;AOg=LaLV1vsh7uu|Lehbt zW@>NorR_ShObfp2L#U~|C#*UFA=g7lc6vQO)!a&wC9QRJ#CgYm$4IgJ6vWe{9~KVa|6G^e5V{OgYgq+L&^=~+Z zuEY90NPX^6Gj#XjxRX8qUT;keF~t{g_6GUZr}rMy*vKG$z4&dLicQW%f#Z^NUp7L(luyNQ(EqXRCExBY)njX||_H z_#k|H!i~ORDBLgGc0fKgJgm@Zu1eY4&y#$7Ax}AKtwy;D=Sn%)k*KipM45a#$b^0a zhE<*n(nbGgY+hE<)B+-R;t%zf+HWb}1d)diOA&Q1pHMq1xZLAE#kn+pQVDSWsDaB` zhp{gd7h9g)V4v=A0Zxx!Fx%&cZxkpP0{&DJZ2ck7TM`C#qK3S_#D+jNvIloE|6XYf z;dhV}hPwjY8ZWrr@%?oy@?AV=c#T5Z_`BsTP5sKL$v2UDc{8tc<80I{&Yy^Wc|E-q zASb_Jk$1Sab&nP8z1-2+y2^h!FnN;|=e_;JXP4nGz2VfI)+!R0ZrlaoNZ|v%E9WIT zl(*M85Qbm&9DXF?lZuO+cR_=qzZnx%a|RgJ??YO+>*D=n7AT15UOP&8PTevdYPnU7 z>|T$Fy4vL++}^Bk@IjKFeeQa%hx(Y>g?b)9{=yUB7{g@tiyoGK7u^ncmaNGr>LR+S z;BDILzK4$Z8iSL5r|OoXJR+2b_Wnun_mu~Y+H-;;`8knd;rjpL?mM8GT)KAYNLPAC zK$>(=2wl1gii%PMflw_-RRN74z4sQSsVEkZstCsjgwTVaVgW@+NGJ+If+#^F+zCZM z&-woEyZ?XJz3ZNLEr;1NvuEZ#^XzBuoxE>Q#ZfGJIh=wQ`*)<_qlBL7N}ZcE%JC~Q zcQ^74dl%Kv@E6nkB~&Kix#pOhb4L{4LV>R5e)#y4t181Xtx?&0d9NGjm~>$I7X2UX zvn$(EtvSD4ia!9Eme^5x6dSqTA3yAxe#dfTVW>vN=IfJ#Wn*48@wN+{My|$7 zH(G?A7D{OlkLUKk@zty7J$I zxZ<9Xixph)LW8j_PlK-g^a&fGwt93c7m+0WbgD%9Sps9@!mY1r+9%<6&ac8S+1}vK>FLS@}${ zotgdIK;5aQSCBC?uOwUFIBYT-=_H)V7<~4CDBeC>w_knxg1yyee3ht4XXa&5i^368 zrI33;*`4wvVs>a;8Uh&`i5DsC?$o(#wpSlJw`1w^PnX$KLu7kK?c1azIb!x+fluc3 za>WSG+et*X=UMy6?VX`-<*f7Lvlc{6l@=*eK8m`QDM ztbFkKJh8+mhl|v#kH7V^1)VExjvP{pd|DlAe(48S;lp>9-|mYQj<6X9rvyo1>l@6m z3qA*f3v6QuHWkX)&pwX9cZ!;$gF@Jt#OA^!VXt&>grbIXShqrdta_mvHth0=Ba;ga zcQgoIR!`q49z2WxeBv}t{($_v##iyi+plhjvfe{IeRr#&+4t($LgDwEC8JNmzCVu` z;0?-Wb0o8Y^XLGJ+OIe9;qoVFYT+x%A(Pvp^R=2^Zw`wO?+HL+FawI)eR5?8sb|{{e z7%DegY5TLI!_-s4IS-i!|A;Wj2^KW7Au5(W#hB^)i%Cqvs^h(hSGB6qwsNxqjiZ{% z;N7QWciDhfiF@!5=bxmjr}!P$GPr!e;v1Wlg}+4K&XAA$arREfcl#Rmz5DClsUSly z1LOUZBdwAT^3J5c>E+UR(75FEj&?}*j@|?^SL0RQwTIYH_l$4%HI+_<`Roq6)M;Tg z3*YOEQ#bnV*&92jxLEMBfx!Am0DQxoWG1E`SBsnIh9A*sU_ zV{T3nYGU(RN?-O_C3fFIKs*nA6GrDxA2axJ-hhnG|Hz{dn4%mo=BVs`we+c(XZid{ zdi@JqiNKnf{bL%+R#%;MEUtPLOqOvkSs%9Pf7F}sebznuB8^AET zKTKE@zV81bTbh_kYyTAS$?F5oAn$yU!MQhkeCcW!>aq5zf2r9khsb(9NK(%`QC?=)o_pHPlhNha0r-ixd^>&wSj|nzi|%?%RD1@bugUwt=K1*Bq3-Fi#@wF~jAy?c z4IO74{y4=^P%|avbhg^I?&iRIgh;18P8ELn&EuWdCNfN{$#t@V-`*#i!E|nZYzTXy z8`g00My%PxmLJHImt$q$b);@BK7c4R4T*elf!yxnbhr4!Q)zR?g~4qi+_F#&%Wvz80{Vx9y=rRlz+TrAviy8d^p2_P%AgffzP>E zH~NN{-TSnQOML#gSad+%B|Y@#t<)9v^&)!L1D}MPM}MAfXRAl)z6dn`f^*ZW50I(v zuK$8?K%ba+a`j0UN;)Xn?b?&K#WJ}E9Hy-rW<&fJCqwRqzRSxUEg37A5%F<4R`ESV zQP=Xz@$a9;K74$(&q>C479l!Rg@5)Xuft&~*=vY1>>DEWDKGxPHznDbOUg_k2A4{& z&c|xzhRBeQs?Q|#9$N^RwhIkUB`#zmMtjG_QfBi)42r^@RG5S^rY?|m$S!h?Pr}ZJ zS`B|B4>`4bVY~?K6vNA$UGV+kGuHdXt78}+>$Z@$kjnVe*M7nL!#vsGr|iw`&z_V= zoMXIwJxA;vpC3uCu3H^(J$mM>;idKm*E6kH=`X{M%JO6452-vyDg^h-WJUNp?Phku zj7x|7R1hA2VGS8jzfO=+4v4n?nN{U?jjz7>E%_7+U+`x+GDi3=>!SIG=IH55SP8q) zefD*oe5HPO%uiq+i^8KBKiqFNejH&X9vv%x1q>^CdUmJoG}1QsjjG~)Sq5L;1kR_` zd{XD>D!5ELUpIZJm2FLZl_;Ul$o*mJ?8(DFSX`J$RW^rX(=qM+ra{5|++WMt5}OVy zeEK3AjNtzImG<6ELwy78WP*$GyU&wH9u8B>fA4(UIB_K?)|ByS8jr~AL*?(SMHLga zjSI}J`Z~w%j*m7NSv%vIpCX)W`LS##qCYxq->EPMyIc8Y(j~fr6z;62pNM4TfX7VJ^6;dzMFML98X)lYZARK9^nm}h%O5*jywW;&X}FxFDlN1a_ZRmhR{+P zTr=+3dT?=)=Z7u5b4Nl&aImf8sQob_hrxl;9R|&JkB+n!A2DD0v_CWC5nBDu%fp(8 zfZB>9qu-r4cLsgAd{?(w?DnjnRbp4HaBEjPA|~tAY{T_icV?VBWryc8>>E6#ejqxI z$q}yJ+V94AyX$G_lVd{!r~6&(OJ8@k>y_@8|E^;p6jGqlb(h=_15ebvMVsw}4^^KiJqxK&X*ngcltGV7!G@pZS z&+aOY<-WsXb@s!63 zVa!gl9>7SSWY$C}`UwqEf5u)o$*y=^>S4s2=M3+RbS9{(RA2CDHy1o-nvUovOtYT2 zE;JV#`keNnk#Zg5bo7twnsea|eg?Yism-*6?W|YARkkpoj8*7FW6UwC{PdDoreMy( zi2m*n!5E}EL4h@P8$sAIoDaGyDZEOBy$wYdEGpg1qQWGN%2VNTipYiTM9@?;?}D>e zASYG8L)r8M(e8-Hn6tr*L(u~&jAPBZaE=+28i`;3N_6EG{ixPTI{k>-m7;H&1MH~f zp*-NXO9)J5ktZr?HJZ%&>GH7F{WK0xA@A6NO1_5h4+H@iyK_@6fd|HR3F82vW5no? zM86?92$EB=MVRfvkp@^5GOIa;kHixiIgI6iFoy}WYJXD}j^*;>T#T{y6I={e_selM z>oLKZ2$^oYxJ?U8syE8Asju!?GFdVqnUtC|fpYD#G-WV_nvzUzfzE5Pm6FmzGO0Id z|J8RzZfaT$WYA5$SG1af5yv;kNni<-(HrG!GK#J>`LfLQz0L~*a2-fT_A^+_Sw&er z+)rmYXSH@6J?ehw)-j6o+y*J7wdLroV>>K1_FWls^e9CGx6PV{m2yRI3(&T)Wqr1d zE$h;ic~-`3l%BJ8Kh$!R(z-5PmrUkDxmG;lh(xslTpA7{6@~Q0YSGHzFLgHfS_D0CM8!|_U^GKvIeB7$j<6)$6 zG>Z9=@8cDeq`2=u8qL!EtPU<5F#7i{I#X8)Dp@X|ya-w_YUk#+epKI3ngqqE=o!qVenx|)R03B^ z^SqF7l(8RwXpAI*h0NTDGVo(gF;XZBL#jg9WiUI)Y)70@cd zBX6W2Sf$-s%{_To!K8|&^(EJtg9^$L&n2E$mB;b6pB6u^@avjFoe(I7%IdPAFap86 zF{my4Oua~1ep-MybbGtnx;gK-o|@{hRsY4#Z7Rzq#^CVbbi;HT%HP}c(-mH*t{NW0 zZPvfZ4AQOA4PP9k^jjbOVuLhYAzgh%=gPm^tkZ4M71riiZvis`>0!Hd$?{*%`s0C# zScCrx)aQC*pWosX``WeL{$`lIzBJJ{0fo}n&w0v8w>2VQD~Ej=b$l9KXBrK3Z}gU1 zhT85%^s-SK`BuAxfd+CpXm3g_l2P`^(shpNgYN&rf-f@#zhYx#&qT0ta2Liv39Py-C@5W0)M0`Ig38TBAt{omLR}aeufpUMc}hi~ zq{)JyW*KdZIRn$1V?5_l|m9$)F$psFM8+ilLvb2<1cKu5GgEXLt`~oQgUD*qGxImW9OG z5K#f;fYA;&2NBeTBQ6tY$ytv1L%@N#~^I`uW?%^VMEa%F5Ch94ylp24Vv-b9`sw zIXEah_Dd0LiP{<}=~P>HSi$nO?pgLBB?w^-=r%&DbjVV>pjpC~e)>ia4 z^IUef==>u7Aj$3`<(^HHSoz2;8YC(eym=+_xY{;?s>_h!)@E1w3qg<6#XHd`xJ711i;Cy6qR_L-I4V?mh&!S zF7nayE#+6f`$_G(Qi?f!a?9I26z@555>WLvL1V5urfbd5{8$DVKHpFrWPf&pewCbc zCYTFu&<;|IU=L2v1tC8?r~lq`nSxi238tqQ(K^11z*FAx-N>L$>^o}Jd*&~Ux#O}$ zmo>Gin82^gZq<~j!rj(D4s$+Jq zQ>u$Lf;|wb(H*6UIRK~kMZPDnBUl1mR23pZRK$iN=b_XvDi*A<9c`)0I;GN=0j#ps zHpx`-zCm8>rxJp4dB<2m<-wy(%@_Kqb)bAxF};{T5=}$IPXg^!xG%<`pJf<1U&#>~ zH4OY^CiW&n2wg1J3qn)nUJ!*N=#Z(+#dFFUG5q-|67~t_r+gvwcd%j*3Z;go5aQkA zQx@v zAcOysQTmR6YqM-+giU0Buj5(q#~^9HT|T0{OOy%eo~&IJRj z{I{jw$+^4gB#kEW*>m3Gs0V&RyCUD; z(0X_!=Q;DcJzjMz?+h?GHx3J? z5{;r(*~)B<$Gap{feusTemq zX0(e|*_C4iIqwKcpc{R@Qj`+tvI1&d4Rl2+xh^2R2zpb|$`}h0b3=?Cfei+bx(&km z1H(w#_6=p_N5$SO9w#*kA=5WDRS<;8>|srZK^;znmQKC4hfvF4e}Q$@VaqB>?Jb=s zTD!Isoy^|?@3_-({p9^M*+dcOSpcNh%#oiy0MzTo*Hsu7*TnVz9EgLeZ-l>8mYQ_v9*!JM{+$zMQMS> zAmM^bBhF+Nn7DjOYh#@NL*%LDF@)CpRJ@dy#G6o+hi#NGMmECB+M;_^_^oly7?vaH z^2^$mn!Wgw?k&%=ou{5MCJd|2+V+aX2NYluk5MZuwmwtgx5QCeh{}Z4Ix1dGl#5C- zWo^sLF|wgziA3&N(MDMgTwMMNec!Tz)e2Y+Q2l$QYA4vjdW(S8Y8r2RzuXT90Madx&1O%E^#&r?x-Dn-T4?&HgBF zW~;|OdsCZ?+a3b;HaVH29`yEyZF0_!npfX1lP*OIR+p4XodJ(5Rgo>QeHN+RV=$jFcA^6nO9r9AHoT>CQ1= z{Vn6EhuDB^%=`yu^kTp*vKf0;B;G~KggqOD_tP>un8AgY)jFP%j;#<)&Boz_wGQ`W z^^LkO6y!^wVkhp+GHM;@Nn;tMStus&>&d7Y71pxt$^0_f8;}itKBluZAl`9jZs+JM zU;PoE?7Y#_^=9SSllY7EhCW$&c;0%e>GZ~~vjI;A#e=%Q^UQSFBC^#`_B`V$*|)i~H()!&&@!|4VA4fszH<6VYK8phH{d9sT=-cdp(;M? zIq&yEc&%5ftT9Lxetlzb0v|+h6#@x29q596-p?`T!8|$ zI)T2yWf{#v4PRHVy9Th89>0cfQ2b{L(7HMcrJFxR>xzw72LIZcH&s}UKvg!4VP$C8 zzB}J(Q-jyh^S6eP)O{!SzTAAAm5cyou#0N z?x?QLS5TJk*k7GerdZl>zxrC4(wUBH)j8z7p-MuXe^nQf?cU@Tbud)lARi5tZp=FC z?lxeek^Rg)aKNZG>j9px`jNN%rLO7f0&iuVj+E-mDTOB;<<)sp;*6ct)wxrOKROy_ zJw+!dCNMf>8nXzf1;-gm;k@IY9;y^|OakuNLLX={@_--BtL z>i8(EWpOaOqT}7A@fd>_rvm=U7x(HC8?_3kb(GHSs1GR2SLW*|8a1lltCV9gda>R{ zDHj}_fZL8zw&>jf1%u*`JJ|w?2X|(MGxbdLXH&XD0unCBA67Eak==rgl_A;g!` zHAmeR4h`i5;g|4XYFXfyq@DHCQW@fpv5EXJ(a-M12QC;joTCQE8e5?E(5xK7y9U2y zyje=xLRcO`RhBEDg`DV!Re+nJwg|0sBZAM1YE<}5i=ijk0AyL)8tr(Rnpf~!Vusp7 z=|*O;_g7d}u-0ucx@=`0@cT6?4=K1_0;I(P6u`_-a6yXdq%c5q(V%5*3{c&{)3Z@E z7!$`znUtac@Zm1X7>(sh?8&H=q3d%4rKF@7z^iOFZ}x^NFIyNeQdZl}N7C>NIq_JP z>N+$4mjYtF&c6x(dsg6>S>_85*M;yTaknlzwb~>}TvxDKgXQ+&Os3HvYU$)do;d<*EXREHNJ+*9 zmfJU$8RE_hsBfL+ob316q%C-CW;rJNBRT6VXSz^TCNGcPxryac-9_xJG%^pkUtWm! z-Y(Q-HJrBl*R(4y6Mrlc;R^{Xq$$5V17 zJ;Jp1Y$UmbWMOgh&U*m~!jg^IZle$_r-Nx+qdTLqm_3dU2{Cla%Efzxm^x+OkT(u=%6vP@wvbA;9m;x) zKO17cDC68UK3j-T7VC(eO@}D}=W+HbOm%OIP|`ytCy^1}0wWu;kiz4qK|RHdST9$~ z5k>|GF|py!QVzbF$?_rI$a}XWY}Zcg8bJd7GA-XD#8&LPvBj$+!R^NG6-X>AAS%04 z5V`_a02T&pnlJ;-ZsQn$>SO8hf^F|NbOXo`1P4B98P%JX)7DtYU40We_gf2cZjzC& znr5@&6?e0BvtpHg!aRJ_{Qp&@t?KT&S!#O*?11a(^)X8lz(xU&S&-q~@&?Ehhj;l7 zSQbOqHbCNAzlCp3^7}5|o5)TLqh49pixfM<5KF5h2z&~<$i}zYALxoWa^81*6q-FC zaG*i4xGQK>{+1c!{qU)C0>*7wRqoyb=55(Tci7cE4Kmgp^BzVE;g&nN&>S8|u9`^a zcDnDsdaxwtp8N5uW+k~--Oa8Vdgj=ZpEE+9Db;kAsl|3H26pDFr7Gc*Y=4lHqq@VEc9XRkU>w^c! zfW^1;%O1fVjTuSb$`O%&A$IH{tjB3|A z`J@SrO4r-_q&tjO1mq1W1$7hzj*&qy8RS~#ko z**nUz5Ri5qA{I8 z6Wl_yo=r(v$XzaGU3CK7IL||@@G4aohE}+sT(Pw`E8I}EgrW6{0O)oo>7JpgOIzC& z0dBX`w^+RlRZSRL!2*ok53#0i(=cJc?)|kio9LBwawlh{t0^Be!n@#-qmrrBWn((} z`86X?2`8>puxBbOW`-a_G5i#j$27tFH}s-Q2qQW zZf@R5_o`Hnw6%emP%fawQ1u9&Au*0#M` z{6Ui99xKXYkk{K_H{5eig#*ya4+Oo?kMiOtM(Vnye(}8uwhA( zq#HU|t=w`u4jnbCx6shN123r1kZvi#g?3lFXDObEKB{)xQqmfIPVGVWcJTXy)p6Yt z>S%AZ(r)n@w4>UcZplD2Oszs;`xmrP^>qb>(oWavy9(lo=p)s)6eKOs0o7$?+tKL# z)i=u|JC?%&D|2QB?Sf;&;DFBf#I}RY}zVI|(A}q~%^c;x#vefZbv*v&dGXg=>XH}kS zfTj;fcLcfq)_|*yJHyh^qxXVu8`Z=2qP}n62qCV-=u3@}C@H^A)jLI#)3f|34wbPVD0N4kbR z+)E?FF7?TDksBkCHBX5|a~K3TP)*j*r-N&*(t1A(iwUSie*iw@y05j?EnImkB@ntm zaa`Bb{pv=)Jg;*<+rOT5J#zauCyjid@uDxpl}Rrg1WVtBv|iCS*a?#&Troest0Vci zX`K(T!VFaj^sOiP!$&BUDhQ}FZEOLRVklig80gkI@_P$VkQB2`c9AkBab4SbH$k)O zB#Jf#_LX_oTmG1I{_ABvn4v#p04$FsAzWFOong?#isS7O zZ-yzzwm9-;O1Yo4Kc17}0kSPlIhi~l+hT8%am<6q{)A2DZVxtl3ys|Kc=PJQGWkh# zst4^tJozZdwse|-{EMST_5pYGffKb^iXiaI_Lg)&D|+;$i8f`27HK zIgfgtZ}h{dASP8s@LTQLg@lTRc_uKug2lW|xx3RoMK zghtfOJ()WB(+44ZCUm{m6pBFZpANM%+*&w zwxu%yc%KT1oj0qa6qGDFGpdt7wxzSW8bLO($>0HKv$x4S2GDlmO~!7J>8u54>qzy` zvv;n|X7ivO*c-ajAQx-w$u(dHqCpRq0ms@5MUOKJ(cY4c8K3dF)sYnUGo?Baq+2@6 zt7E5>E_D`Gr-F1#m#>Gx!Xx4BKhTB&*M%h*(a?aqAk&#EIl2YpHZ$DtRss3K@-iL7 zfQ)?E#!QOSnE;&5?7q=mTGl;j23^?!wfR!xU0MMR`7&WSEO?3fLrUq1qiXd>7bSAh zJOR0ming7P0+Jn--*zSkL=Gxwc0LG59Fz{r*1=z>w=T@Ng!ci-&TK|}D0q=%mN_08 zVkw&4*om9Hr7LdLDKyKm@C3ws>En3&5W~XUT)ZiW`2g6QXRnbRoB)^_XT?G+hO&b2 zXBWVWI1w^4U5v90upMGuGP6}MZ2-K6wBE~p6T`U&Hy~<_sQyne(Ek6$?RVSx=!oe+l3@g)j3f!JuE(PeYS)r>7NdjQSr^Kaq};k7Ah#le z>!MR@fLVE_#p8d>8iP3R?;J@>03u7Z;(v4`BdQY=Bv{b@=twFEb)E*f74cH^@#+%t z-ZwetJw!mtMaCfgtB3Kxo`&kv)sqaRF8GJV-U`mtwevlZUK8nkCBU;(%InOjjs`Ae z###3>AkdS4kG@bHDJ-jlJ_uY&i6_9byfY%^k0SC{>)jFx#% zP9TWm_VnbkfX@@E9Cze`4|wYxrENQ$@jL5}l&6=D9&U6Hd_bQL(j3tr=Nl~Oyoz~>433$q&0eIUtVyeQ|3{xX}7kVQG` zH7FQ$c$I5T_Ky`jy1(&o0!p3)y}K*^ee_9*R&vMfWxb$*JAx9mev zDr}O6$U;+f=~t9_8GmmhMU1#KCDWMzN0C#Oz4qN+J7ES!9iJVWEyT*`W&ic^@BXV$ zcY8X4@_8Y}bN8WYw?gErRQLDX{clsRb@`Z|`2s{c-1* z??#=IWZN&fSMGz{cDDVooICH`ymBStyEQjGUf{`?^V`Wl%oOZ#O$~TPWbt;`N9XUk z8;j=LtrTH(9&5=TZJ?(VjOj3?c+%;zJgzu(=w;)a@2&yxukuferI(G^D?$jAh^aC7 z)BW*bhOZQ9jE)cCGxp2Uf!VCfF|1B z((Om#oP92*En`oq>hU&P!nf79cy`Cwt1^1FJHolXxcGF(hE!3FwMW>|C%QltVoa;( zc-xQIaiU#LDa3kI(d4x6x7#M~#s%9}>Uti0!@G*%O>-{zPFdSUJ3b+o%id9JRjL=7 zJ^Q(x+s687oRK#DoX)Lp_z%>ctrV$kW$zc&8F}ANuj8gUm7rIt^R4A=mFBl*O(NS= zq%YK9D)Fa34SNeUgr5<6NH_xJ&!5t=4I*fcwF6%>BZvs6e(~o#*dhlJxPv_k;}~ug zfQWcuE%PI5{6%|O#~)n#+J@D^AwOPpjO(S_ZHLq9>Uu?+FP-_Erhrl zOjLJUhQDkyQN;>P*HJg;%1XoHT{jn};WW3yC_-MDKiWXgk{G!|-znox`EMS#TKj)$ zxaOzBn-_T+zLo9qJF3INK98u6=d-d04N@&1{MGZnTyQo-$pYb#VRw~3+9*iDTEtO` zfddSEYq^%FqL4$&V_P-XOo*aR|B6 zdM71U%4s0S`dOXZru#V^T+Vn$pCuggPON}l@{Sd$qP@^|u%G9Ni>7cyg&W6Iv>pIm zvM)BTpYMlD*i z^V4pKRrhD;X|sp$jl1jud#8tp@r^LnZPCR29oR(QVkuxFsQfM1{KZ6DXoI&Xk9d*f zL|Y|;g;TNnbi?luxeHs>N%Wy9<3wSnruX0(koa7}8AL=bQP8Q?m!KUQJ3KNUOzS(s z5zHcn6(Mh%!JZ%sgf%k;i-on`bzF))T)i0Hh$|v(E%JRdpxleLES`fU^)e3L__6!@ z88UYfMxFe2p2_(%oFJ9JjAky2v=2M=q(O#$TQVhx@aiGQ|%p4KRCa5llX zhmg(VR%`#k@E^l9$4H#5QObuc*Nayw^!t}6LdApY!VO*6tgp{e2D}{EAYAXcHr#ja zZPDh9uh!P~f4g_G0;hse5s`!P^?!DhQm5QMN>8r}i@>#n4Di%6CbN1D-}}63r3GK}7Z; z)E$7hHfI9$Voc-648PQ*F_~8SJ@~&w($sHmCvoTtyp%O5!ZtSW{|DxF#o5_t?EfQc z{qGO=t$RHN5=!d(teQ22{bHwc`9A%3q4f{QBo9ZHt(caL2Yb!z05JUr&>CJUe6X1| zLG6Es_eV}v|FV84YRz%_;zyg|4S9DOC8AkZb@-P4QupVD84jyR<&sUlU<^a{@0=Mrj}`cXyFv#A@-RO8Cqoid;zGuAW+XZhkP z+8xVNwVk)A*=|ds>o$dy*2*0@O)tT>DP08=Qb#LkG+Mgsm`YuF%3_pV*~(Hj)11qt zb(+iAJ?Kwc+rrx~2%aj0@w^{7)6f3H)f_x?RK<0nRjFU(33jrd_7cr;aoJ#)eNj*fO0nUmNfmo4b?_o*1NMr}xyB{EbN`cG_iyN%7bt%8>TcLgfH~m0YYzHH`fe!-oBK8t z51$4iRPk-rvDJtl>+}V;aTN6%`u*F(<@74 ztJK$Mj_Icpa~b7BI9SxgiW-b{3TesTxfC$z$(dzuCy zEaM}>FtKqgO@1m1k=8LO(T~ZeHI-oOn1c3`DsOsS$NY9g&@pw=PtvF9Ssl}3j8~lq zNS`Dv_Tf&{aRuRI>iFg{p@XrEL@LoXW0G8Gv^jB$XuDf5rxoUuZnPJXH8i{k7or=> zN2Cdj4VIr+%(W9H-9hGj|h%iB=--8hkiqFqQa6SO@ryyXT+6I(3!5!n{V9SF@N4B>m7U zEPmURTBPdu4O(v3u^Kdw)^XWl_d7>JI zXddgNd*uglt7wZAQAHHlOW+r6#RcD7Kk`!oNcgxGL{FC z`j#jdnmCMMBeNH~{}lDb9w2Y?#hpNamv88i1&XlBB&uSYpFCmhOIQ%sEj1euePL0l zL@`)`6=7JMl4ul^hJgrS&w7es0|x)iWW+y2OqT!M;am;wnynyDh?rAO2ELqOD#H6t zOs7k8E~_-`S5drpZw9!>{Lxn1j-aBH1uRJ!$UloEPV65-VfH%Yi5IV4fg~iG`Q@cy zl=feJ#lFuQmj!*l7kD-h>O5w064OgtJN~{B3a$3i6(-ZS0JL82uzssoj=B z)~JUdHM~}EweHXYwb)W0!WXkf_IOL~%nlRP-wPq@v5i9WQl-O|60tZRKVq>=`jL`k zIgfYnBhu+i=Ri@CTzo87gWaIOfp7&o?w{DOOE@UfnxEFqRUs)^*+n=hk?1%*U(nW0 z2j9vCb+wGxrz#-b&JBNgws2+_Pf6P@088k_?kfVST%H%)_#n?B>{W$4+lAp=fl#0B z$PiVrv344e-h@IGB226Jd4u*D_#LOQaFtU?_NY|ILCpeWx=NKL9jn~g5cj%L`%Tj| z66c%dcXo`Eu6kvuY=991QkBlVc*lMQDbALI z{Q^&1Y^P#AR53QB=vC!jI+xxzL}F-&_l1gqj~6Np8j@)NDK;Y^bg?5U!YPt|J5rio zKp5IbbRa#)oTtv|9&Cz-Fv;M!^Aq|ACtw_RaIE?9HGUdB$a)Azac4^Yk1Al{M4ROKB_U8B8Foh zjDG^MFv*wvl&4WYgQ+-1#C4O3M!bUQQvbU30yoPq+Rg>25_?KF(u)XwsjwFtg1Ev* zv>-D#wpj!VRA7!F#%RLubK2mII3q#9w2kdz1nHsX_aw<78#~M0_hQCo<#vLb6rC#I)AhQR-=_;HmlUq5n)4pfdCD6`jdO8KiX{T#Z83rK zXSy7*jOkRRFKIan7wmI6ZW;R#5O0emT%g9qCTP_2&VY)}SW`ZnCD2W@J8?n9fVU~a zZVQXsHid-NN=QyqhFw?ohmnW7a*)+_>}WUovbgL@HJgQ{T_4W#@A6ov#LjSXw;CNX zsiLB0F>&PCMtP2O+UM4jCnkTH(BDF}HPbolr`HLsl^s?aC%g^mE}fa~o}LPP#wOez zDOJUt)23#}i-v}jUEwJ}dkH^?%C2IzX+3Qxa>nIAS@feS_BX8;?Zkv!jJ>0htC%!e zJ^O`M%titEK}s#Mwx9jI8{<@5L8bZy;?Bof?|7a-gQmjus`$RO>4Q&3pdfOk_20_= zE%dRD_6Cd54gy$Y6@8ExOc@M(2!BmuEYf^ep3w2a{BNC2D7JhO{s8JH6 zyh#Rl(ao>x7~YO(JEjT&FS_{|=~hhx>P1~gGD{2TjBwZ%oZ{{wE}ZRdr_ZFfGc6|o zuY(UIV}AgLx@DXY0^Xz3l1l)_j{{pux@I9@H8M%DZm~o~n9wjX2n5h#shGoLDub3( zf}5|7)0`E-n#^hdJaAzv%s$;{XG|{t(u+?dL;Ykg!Wl9H$Sx5sk*UL4iU?k0dN+op zghuQPiE%ML3_DEXC~OTQ8t7`Oux9pU&VQA8uny6u}((LcD_5=-PxTYc*N{!IStv^_(+%c{vXHn9mVq6G&pL7aCS@Rlyz@p~Yxd)#iuJ+6 zFOKfwIbdr2XCV^PDF;9b)Xb?pm|7b{nE;5m!5FZq@7L7Qfpy#1__sCoz;YUvjxbJ*bmdr1>2wZT*U{n=I2%4H?E*BN?TMrzDVuA!< zdZH_WP91wYSirLlt-5IaN?GfolvA{=8!v*P##IBsTY;Ji)*EXQBA9i@Yhs@TvkWCX zhAMR@hY&8@`Qc&y#Z|vMH3(A>%r}%g??SB*H}5Kr;9$Z1gkxw)*E2~8#T?LWF#g05 zNjp}t))C;w|DCg7gZgxEUfle@f_oKPZR-W_?E@F{si=Y~mJ6*u{UVp@-c@M7PVUf5yyjvvI$ejB|5Kkc5Ts}L41 zoN#{P7e9Tars%qkkD;g+t#x#{BWjK*sW@gBjqS)z$K*49ish)Ub<~<8(t}C_yU$zX1SCJxHyKL$uEqB>bP73+UTr{Tx4Bf&?K3XQ%4qVD8j%wv*B z=!{4k%MaScI0I}iiKUHoktYl_OynSQEj2e1#dH&wM#6%9wr?bJXhMD=qC#@T9XQV~ z{X2v=1DaCPSfo83WcBjeL+J+qQX7Hyrv>MVY`g@%J@;a6c#I8z;84X>w_taW4Fe0uQ(Lv;1YLoU8VK|!vKZnOKgA-#SMx72n^UiL!JU1 z%Dg4n8f)%}NJ$693Q(vTY{t2-y5R4j2V5L*SN?$BQObJWUf24=LTLBwz|}009_s10 zrlbbp+}@Ggck5RrSuwf!wx=Xlg+K>H-y;1@1;WBo>llzQth{JrHnF*FX@l1U_IGmy z(G(kXw*4*lhFiF7y#TQL_=I{bDXzgexEx=DA6)Kn!C7D^&9SC%YW0!UU?$II3!++g zQZ9}s_@7Z;KT)K8QGF=l@yOX_j{qU^uTah(+gYUbeJd|Awn|n%qLpx1Aw>#&8r1yK zjsfkerI5-~DPhyxWk+A?y1Oi8cV$WDQho8GN{u(jzw9_B-Dthzk}Fj;kR|=Bd2TG; zAJ2*fKI8#E4cgE99(rl&ibxgLg*K&rp5F;whE!MlX9xhX)W=So6pnQB7fxws0^fJQ zy5~n&`wJdy7l3eiVZHMs1N}vN+Ue`I@?l*aBP{#{l-k?<>D!jxecfmNC&;Zvcwx*% zZC-xzKB&(mh3Te(I+h@u=wRXxKLb%eQ!A~DTZ>TRM0(gZ=jL1@k8V`O$QhD$L%8n< z6ucnhcWBEjv6vgQS*esi!7*!;)8l*t$@ED3C`9IMM9mNx z$=g66P%uq;8HVIwu-4aofoY78}U;Pn)nAj{q!sXBt!1JdV}w6hpL5;gr)GG+%7_ zPip_bcLTxs$#LD6uXg?J3j8f6Q>+2YlIP3gxxbkw3catve*@fF&Vkj9pHe;ePwUzB zsOlc?(r;V(yBo3Gh2j$ZC6WD*!r8zwx7&N>Gq;UT5<`Mu_l1k7+GTDLt6W*<_#3Jm zmB}n!20DVdbN&y6_)>|sx{KOv@6VDo+O2|gCyB>)f!ij7TAcYZGd}|ENqA8%V9oyQ#fP`BW|m3 z0?H4P;>U^WCF~WBPR0HM#QXLoB{tbZgvK$B`LSR8sg+tx>-cjqM;v3&M1RL{E6je! z=u&^S^49Yp{RWxzfA-flO{^!3^D)Mnv`atI!C%Oy-OHbGdevW-Q7wnhV?%YXFcP(3 zqRvfxL@AhnGt!u}vmvGeCq$AKy}*gP`19|4b~2qoYcC;CH>RCPSJ+|=z5*5Rj6J1` z!?$;l1sjpRL>;ndSd$o0hAiOrx(z|zz~BWf{dG$idote=Dv;LxWet@lTW1BNv3L+( zzk7BRulB|4H+G?roVT<=)gy9?=WL&afb;Qx5o-T_!tdyW(ydtv;Bj&ZJ+tywG^lz( zZh15N&y~JR{zj^e4#poa01kcp&oP+`@S=X-P}kyx__Na+u>OmjD=r{<{}_9~8lc6s zaUou0Oy*l&Q9m^FUssaHWNPa-cXJvh(Q*cMivzHpA7wnic?qJ zmURoYyz14EgL2cSG!3eLkXu5(a6Rd@0u{Ynf2qHnbal1^6U(zjg?^vL(a8SptE?yn zmXe~=X>M7ksexX+{{qjy*vM-3fMQ-e-L@5mue&Qa-JAsJ2OtKM3nk=0;krIE(44EH z(R@&b?l?Z26r4%96|GX!clkl_Z_Yqc#jJLB%3C*f1hsEVesE?c|I$z%kr%<^i*keu zeZhQ&^L>GaB4}q?o)CNxj4Uow!@+OXtc5C)kzfekEsH_faf=~cNwU1{oZuUf(Er8V zn+G&?rtQNbvTrIo37{e%f{*|SK@nOPTv)790RAy3YdbIx-;_kLenoibwT z&=q`b$bclp)QIwUF2waU^dIZgZ?$d=MLi~Ns>%MfP6glU+heBi4Ib&FnZ~6psQc&2 zz_qwW>`QKPkF|#219WBvRa2i!f*_gTx0VS}4ZrWkX@cH33!h-{P&_p}C!d0KW}Rf} zRxYZP@`olZ6$0Ph%)`=Ez3FR&Hv>fhMU$6`-rq3oJ+D(s-i$33yavgRB#l1qOUZt( z^c7Ooq3J&CVyWSfkq_s()XZwnC2`cy_@yEvQtSb_TG@U3vZ+T#6w1EYo0lmvM@Z2U zTgy&$qfba(hEOA{3o@7C?1$)Gsv zuqIy8tyeUQz7HphJLEj}K1~nOzkAQfzxhu-A=7bCY(IOVtKog|C_gba*+6b(z(n0R z>MQ`|p}MN+f$Ze!?TYUvZWb0)jJYq~Kd1cDRnj+A5f5lL=f}xil;H0G!~Vp8(dPj{ zK{woSS)-1|itm3g!Wa5&G`#Z#?(+cHz;ScF*}6^paCLR9a+ACD`_JML|0cLOm7ai` z%#Ymz0=x}xet|O%2r6xBb>AA`UwRAKEC*ZYHLfVX=$-X3*A?06y8K(iu6{Rcz{a2( z%djwr{FYb#a3uI75W@o+ZP*=a-#mDTXm<==)mzP@krdO5`;zKc$**+}4K51g#~@CQ z{pHyB`FA3#IsI9~ZrzVY@Tw7+l9`QWZlV~PLoC}-va_ooM7*A68_V5}(TT|Jj>31P zb(4344KLE8x!tEXh!%v-Kq>{YUSVAB7ww4}>VL@J2Y}Xj#zi7;;{BnT)-BVX@#n~< zd*>7r*Mbc%J^|5h(kiF4m^$4Go_44eG>%4m{a;;q4$v8{AR#CDa2fOtkgn?}bKT*;{N~k9 z+}`@ZzQ`ad=teX~ImqgIzU&U6AT6lh?W8}Pvds0Zp98YnJ%8Bz;&Rg8BdFsO_|D^I zvvLsGjI2`(BH!iu&nayqi4G6X)1i(Y|>#0uhH8KuY!Dt>Fk@ zkU>xQz499|Z1@Jd!yk2%r`-I4&kC4h*f1ArOO=C0K{tNDuplVeG1pb4)8>PNUb@La zpSbPtcPMS^ho6qgW+mhi?Mk+;mq*jKl8-YWCsQld6$!DeioV0ZSJO`i!Ju7x`{r?j zh2U%WDPU~}Y54Gch8sEV$LC?VXwt|uCS<+;G ziAvIRKWJ`g1maevS{Rt&vll&TlIU)7m-ZSIrr*NFIug7Q2R)cPcq)tS?jl8 z31;Jpdt_!v^i7p746RBPQ^$&Xs*3z5Cf8aS7cPL&%|*%!giFE;9#hPnxqK=DQi}1} zRvgo!TZHdTeM~isZ?&hod1r+|7i)_K(T7PU4dTGwGzBu5)-Q!BNvg;A4<*aNd(Nwr zOotxV;5}cMoRcjL0Jk}NkJK{Bx{q^$HqEESMM56Z^x>|7LLc2?G1e>BUSc$y87Ztp zlA}FjIHd5vK(=@|r&%zfZjm5-DDm*}=?&=4rJj7NFPh>@D_&jA!n zt-x28Z6&WhWV`s=m8j=$kzSW>RE%M1I5A-7O-kFDr zPQqpzL3dBk4}e^l)JTLFb@MA^BcluB^TwygY%G^2`)eQmmj;EHYXOz{51(D)##>$} z+j%lYYsc$Kgk9@PD2gk56nO`*KztOr3MqR8x{~qq>{WmSzs7GC8(!=DC)yrSrSe zJ;-=~r0`qX;#fWkqw$~>CADibOyGuLOz+e8LYV>gF4pG(XOScsY-ILSn!){iHL15# zW>(!a9xgiFK$s!Jn6OsV&hyTLs97*;-K2^;)f)QxI`v@w#!$n@#2q!+yXw5_S-w5f z4-?68^nf}wJU_T+W*FHZE_+9vYCS)&XU1jX<|p(`b&K>_kf!p6nD8WfKXu9r{)dF= z8e$rnzLYvmpTCwcbA^~pFyRXbRfUGsse!yz1mjbJPparhg%5jxVERyyRF$nmRdMDm zXBt%sToGgVRd9ggPqEe};z!o^)0HK4W7*H%5aQmNq}?ELVz$!d$_E(Na_Jt1nSwka!Hx?@PUkF!Ur*;H%|F)U4=)-?b|qh=mi z=6SS5Ow(Q?s+6f6g_;E2VS1m)L$(;C z%~JI6L+&pw1FO|bS)|m%$07T}6%sEpkj?PPaAZ?m{Vxxm-m*<`GI7T&`6(g!(;?)u z&ny%dP+sRB4L%Bef6v#IJ8j`C|B1n9<%O#0oPPYk>Mdk>?dhuEv8=9P+iH0Us%_HP z;NYRr)Yfr>QJ=jV)at{05pc}>Xyh!D=HZdTV~2tjRf_C!6^z>$unHihi=%_EP_0L5 z7Zig>IlMoO;gyc!cI*!a_7v;gwLcXB^N}HKZy9FCTsnh9@sdrfI@oQ3o{% z>q0F%qs*O(2fz#6(h;htNhqwdyVY_hbX=OIZ;#dCC?rj@*0#RoR*&}GC{$ebl{%Z< zE!TRqE=QR@DY{o{|Dq*=fL7*Z&eCsT5j3+!)6w)&%G{zBKE}mW*A3Tab03r5|)?RA%Oe{>< z^!Uhy&Ce2JpY`p#e&O1}$KdJ4RTdy(| zsn;k-acT9T7(NBvSgk>fhtz9|$5Zwdrp8NfSmkI)Fjj03siQ(Pf`5UgeqB*I>l(rS znx=LRa?Er_T2W?dPnw~yVL>A#gyQf2s%KsPShcaZSTft2#XpMqsqfU;XbhAmtV1^F zzf}g%6xmS@K-;?Q-x@5`uNe>8*Of`tv`3Npad2+^hrI%I?CT%4LEaYqGzm6# zXL6%l<=PzbNjdo6-aHCDP6*$nIzHX2wCx-0z-mYggQD?SCGV|#DNsjuQBVInhRth^ z;fjQ&nYBM)aG=_9l$%!fwf^cidG8PY{!d7i`hkveQNm`KBAl38F)PibRUNplfk{cqy`4^od$NJ|wU~tv! zZy4$~$qT!3%rS-!xHSy53m|cGJtYBMSqY^0t_QHe;HWw&f`eQU4`yentw^oBEc)S2#X zdC{Y_2=HETuh#KJ%hMji>?rFeg+Am+BpF)?dciVu5eEVN4T3gbWQHylQ>I?ywG*^X ziHxd>Zc0q6(%hsWRat)0JwtjAMd+&H=akvbEnKE%rNEkrt`x2wt6>L$tKOS&m|_#p zx(Z=rFhz?lQ|zDe44DQmMJm0;*^*gSEDlY#SVV11KP8!aly#G)e_f>JRa_~V6T!O+ zrF!d!49|)CWTw7nK2=Q+HPdvSMRi%At0)Z}je{Id581Z{5^ryIwrra9KK97P*FVVL zC~0TK`;%VRj>y?T_y9^@$Ip;b)-~{v zw|3kN^zDm!IT(#mLB(@akd#RU^b{Mo;HvHNLFBrlv-aHul~WnXxcrjj$_Pd-c$`p` zsEW^A24(SNd9mEqAE8EZIw%K7b?qHx(&`VGGm7fk086O8A6FE-UQv=-t1NXzGG5`< zzL_sC^){^^q2GTtuSh+7 z^q~_r#&gzt2%00VOQ#Q?8#%m}okdTKr{GMyGp-9S$fkN1Q!#iR0C0Ihv5VM`G2M_D z<)66vy-8>V{nn~>?@NwGJ4sAeMI`b49vwsy zXZt`|Qbq=47E&Rhn=R5r7oDKYE#jFI6q2}Dwlj+hu3wRMc+uAs+q1l%nfl!#bx7>Oes$+6R7Z$Rdg<9z`=>4Um^v>-R=ve< z0Fy0CX;#Ie8D2$vz+}r!n)Y>(xmUIaV6vr?rgcta+*s5tae@RGcF6|~n_As{*dPvI3S}%} zG=4E2S}@1jH;m2`1?=7-7XSL^qNkUY-@Y3jhs}R`P>EHLWSI$s85+u}4M>SD2MhFl z3?hSa>-4kF{w3>l^ziqMTlUN5kp-l#+^}C-ZoIkvZb3uuXdL_C={LIOD3-iQix;xz zZw;caU1aHa<`sTpmv=(NBYane!P>Lf6l;&?PL~bja#47}Oy?M9+52*Fn#|R%wTv;% zknHN8cTVIev#{fPNOt+BZNR=K7u{mnP7Le!Zyg zXX9IVJ(|rt@Bu+cvd$dOe*wm)0Q@5LykME(aL$f8y?W05p7He(J%;;;E@=AxI)fLS zV@g9bTR=qTl~NRjC||GzolT}rE#l|OQ16srCG_IL>4}m(RoRJDm23Rv%;}YasPH@# zRn3{do;kByuq`}$I~CltJ`^|J4_l{uYt-Mk{;MkUom^zyV}e{v_R4xE7qz^K?4=g( z%SBcv&G=bVSxvVzVMymh@Rc+VX=GzzgQUoG=MP`Klv;VWYRJs2g+WQ8N9;;K%hvVs zUMsMkjw^u}6C+sx@9HA{!Qg;G;Ee4FphaLR@9{8UFz%D8WmJMdeO?^960ejhwu%-o zN&{-#prQrLHf5RkHbQuO#$i6grzdJ(;p?Md0B!}N@4M<0WCJc4#9NvA{vh~T!63wg zZar?#|KOlQi1O<9kK292X~%ysr<8@X5V&{{Hs=0d(MMwf0`%S=M0~W$@7|)$)F^j! z$KlWm8ss0c7sXS)TXD67C9Fbunem2}_pJdVFBsDzS<&N!-|8;R|4?nC8u+1 z-!)gtH?Ez-o4fs^na!_!&kfxPHFp#~l$i%}=Z9K;O$w+<`?hvQa@sDW>Cj`+rnuB! z>t-hx2h?JdGa|`uad}szVR31FB)=z_XCxp6!^o&1t-GYKC#gTz*$hLDgxhY;*&fx) zWS1wo`)fU3a7%iu-v~cIr)E&6>vLxl(Ah%Gs=O0aqarSrV8s_Mt4b}U&J1K-Bv_sj zx)4-1i_Q^Hn}yG0sB5fpg7rh;lJL}g>I`SDEuxcZ_l|P{Swotm(6_hX4F&3xESZ)_ zU!{!8RF|V{Ri?Fp@I$ZkYzSI%4Iv*{ghL9G&_}sCG%FY3a-_M-{QF!V>B8Z{6rm4T zg#iT}zv7{l(o&1^$NL+z4WugGycIH|W3)?Pttl-(s4)9LJ_$x&yJCVUXU5pz2t8~E zWzFu(*B`CC_T3*}gkPa%DRjQyi%!r{;Q%>g9RS?&rcaurMN#_ z#}O8xlFnmQ5+Br3)UMHgq3Z)ol9=~7a+5{${vIJ1z$k2`C>LMOP z2Z^44mIGF=n)eCA1Dta9N)~j1%V$Sd@iWmPnRipR z8o-ThP>V^sYO_;~8nilk_8Xj`|P?vD`;m^CaVn zbTcF=A<>XJg4wue2*F~7&}>MJFD6vw7*bpV*{2C=r^N16X*yK9;k*k}6JN_WsB2tL z1c6h-^WPy*X%(_8nP3$v5tx1$l9IST)21mAX#JF{L|}obM2SG*DkTD+%M2pe`82f? zsaNPB(lw1mDdI?)sC3DK#c83K!SC6BlDE#l`QTq)++j zFBpWWuMlA1&jPumkYi()`|}1V--wlhGP`pJrP5-(Z%_~?ngZ&B^-SIq=G6rAr%cw5 zp%BZ?zAk#sFcTBw3bLuvcP8H)|12>1n$p`bP)2Z0yqz(%uceHkcaylyKYJ@ywVLm* zXdalCK-TXnx`?rV!1KTwG$Ba=5BNWY8uf7)^YqitGrv}oK&v7hQFf?iK9Mw}*%^f$ zGCQ$m@mF^ahEDY(J2++hSgWke6`lf#$D1$n4CY!4Gfuc%esDl|8y$Wo``bE`QQ;@@ z=$Z1EY!jD*2*1L<@xm`Idz|o#@<4>2;qF#vs0b8YA20kqA1C}+bp&*_a3wko5q_-G z1gm$#?>515O!(=TiV)#93ccKS(9<4L4H3@|&)-g2e3qlfRDD;R`!j9I9?~Z(pN?vt zY40>oYGdj7r8Jfp4#pv6yWo8DEY*VaCQ-KzETGDf&(3Tq_ zHTEysD%DG}42shBFFcLWi{<{p(07Yc?*vBn zGJI41^4cj7Pa}RfG#xSfvcMe*DW<%rP-t|vswOk0*1dv%UhWPZGTJTxcj(uGhoO2% zbI<&7?oeTOsP$vg(zw*Zx*2#@h0^Rx&c0fwR?oGT?29WrBe5TvahDh}&f`LiRK`B; zgU3bi5qMn0A3P~mrC{{gvk4|hzq4E$ihB_oOE7*X@*D^#5P3stn+5(u#+!vphAdM! z7YP~<#a`j5j#R8O`y_K(r5M7HDS~a`S=%8em%odtvPWRon-fNHi|3sA=&W!jiemb- zbupCA2_t%o?IlnWZ$mRH7OwRwGL;w|ZFQqrTo-QeDqj1kT=u?v`^fiLVYG&@2#H{X#Q2eE* zT$zSfCOfe93!YO$=~?p#Ju6+Y2ywLVA7b!LsZ`7iXx0hD=Q&!E82_Aeq?!H&?HC7; zdBmOm`3Zu@jF~|o^Rl*L9LKfp1l_XeHpsjd4=iNCzXX}b8e$mqu^ObCoKn^5GAN5QF3b4cW*+9c=xSgRe( z{R}BxwS>}DsZLz_uM)>`4$r8df`u=j$m6hZ4^qXtC@!l{Y#_6Nk{6j_J@;wP45XB` z;7G0GZdQDc^*)k;+}Il~*k5N|)bb$#vg4+s3pkJ+$Im5LKz1BDpG@&8;%Lbn16ix& zO?9i%Zc0t7iZ4*@uCe>19##2?6sxl>%b8P5MKi+-Iw=m$;9$X>ZC%ea=@xt%o{gdy z#`6|1jT?l!d(#$CO`q}>GfiL06W_6R>pIU#n-hO=vf^@R)7A*EUPY&*bC0s!XnHOJ zPel}h1>TkfVI<8GL|s~n7>NP~Bo*wD;@`=ImdXP18>e1N~ap!az^qL!H z9r^wq{LNdrDqH@~y#@E~&AzvCRpsAuR(~zgPrUl<+`j!U?qBFWguBq(og8~@p}oBI z^+~- zE+!l(R?4I?QxApO9b5&8P5!Y5PDdleepnGZrEs2j?mj8gex&x8&(G&9EdjG5FC79V4(Z_@gd(^W$UA3UY!AgTVNl% zG!%$GxGQ?WhOk?uyJA!~MB>q10-Y^_Zwlk)_>|%>5!v2#g)xb@KgO4yiPpKjuD)VZ z%s$}09iv@|_PM=ucj>(t7a+MUxe^oU8LnUUc3_HUsQ$sF1JgbI0}q@4w#{`#B`1LM zFSw}EZ6F$9919vS^4t_y>efF88qfowt(Rwr^MU8U^S9BtJbz&3#c=0R#{un&tK%!S z4-~&+e3<*PZ3i$u%-_@YGmwlq?CCtQv$@ytWxKNdyv<7^{=lleOO95Y>NhvH zh;nI59Bgcy>(b#kc)oG|vkuhYXN}GY?S}{Jb*~KH2R0WCIk#VX_Fyh>`*j@fOevM~ zXbw9^c1$OZl#R4?4<@`?-Bg~?zwcFGvYG$VqPO!#%116HXf_?IYB5EfAi?WLkYNVo zKME!w{+tMmUPhV=Ufw(&CW}rr!a>QCH=2jNfq7QFsR!vX?_NNj;liM^;5>3BAgYr{ z?IyxbNrvw8H!wxZ8;KU`s*!OB$&dxFF2~d#cx>|vf!oKILoks>1&&>`=K%S=%k*2I zx2mQ+5)7j>^~8}dUFBy3Dj}N)VE04_q2X*mrP7LUO+)i}IGZTay?`c16X0x41R#Be ziyTdWGx-Tb%MmoaH{XGhIv;KUSiN#g5eOqV6LFijm`RT#5C(9|0b>&(hw#61Q9(XU z#qEczOES}+rbd3LlQbiN^2M3@4uNU>x9jN-)+7D)6SjN}mnOJ>f1G579*ViU{f(~o z?Uux%d7PDlIC=kK{Z_!Ja^TH7ewB}pmfH7IUzK{koVN zVN>OZZuM+_^1+ez;-@wW3G?sFp>YfKe{SObRTqs}65Il!`AyTpU#y%gRP@-@r!0ZV5Dm0W|2y0pv>u&^R@9?gdf>J%NhdHhVbDIxDcGS8y>e}11or^XyU*%hI zBl=_WrM{Kem^r|+d9V%`-9zjSNMn{9+Gtmv3j$8bD7HGb_2 z9vFDwLcfvcs=$hy{U3WS4FoY41r+TSiTz2QYn;n~%IMVzggg4=&a80fkoNMO-}cVw zZU+L}-dWw90l*dQ^s?h;;8n5P1B`tQy|ypg$b+fC*w?ufcr)i1be;g>zS+f{#}MAI zqa~*XHtY?ED0?`d2Gr~aLk5grU1+pV=y*IxA6kC@Ag~wh4el?-0st_^XgQR!^pvr4v)d|qy>HL4TBj;E

        |IMep>dC|COeZ_;Ns8^<-GkuB3 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 M=ySRJw}1ct0tQ4BoB#j- literal 0 HcmV?d00001 diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/i18n/ar.po b/odex25_accounting/odex25_account_bank_statement_import_camt/i18n/ar.po new file mode 100644 index 000000000..0bbf433ee --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/i18n/ar.po @@ -0,0 +1,2051 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_bank_statement_import_camt +# +# Translators: +# Mustafa J. Kadhem , 2020 +# Osoul , 2020 +# Osama Ahmaro , 2020 +# Shaima Safar , 2020 +# Mohamed Alansari , 2020 +# Talal Kamal , 2020 +# Mustafa Rawi , 2020 +# Martin Trigaux, 2020 +# hoxhe Aits , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:39+0000\n" +"PO-Revision-Date: 2020-09-07 08:17+0000\n" +"Last-Translator: hoxhe Aits , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "ACH Concentration" +msgstr "تركيز تسوية الحساب أوتوماتيكيا" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "ACH Corporate Trade" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "ACH Credit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "ACH Debit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "ACH Pre-Authorised" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "ACH Return" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "ACH Reversal" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "ACH Settlement" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "ACH Transaction" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "ARP Debit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Account Balancing" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Account Closing" +msgstr "إغلاق الحساب" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Account Management" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Account Opening" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Account Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Additional Miscellaneous Credit Operations" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Additional Miscellaneous Debit Operations" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Address:\n" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Adjustments" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Automatic Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Back Value" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Bank Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Bank Fees" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Blocked Transactions" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Bonus Issue/Capitalisation Issue" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Borrowing fee" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Branch Account Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Branch Deposit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Branch Withdrawal" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Brokerage fee" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Buy Sell Back" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "CSD Blocked Transactions" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Call on intermediate securities" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Capital Gains Distribution" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cash Deposit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cash Dividend" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cash Letter" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cash Letter Adjustment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cash Management" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cash Pooling" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cash Withdrawal" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cash in lieu" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Certified Customer Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Charge/fees" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Charges" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cheque Deposit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cheque Reversal" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cheque Under Reserve" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Circular Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Clean Collection" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Client Owned Collateral" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Collateral Management" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Commission" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Commission excluding taxes" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Commission including taxes" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Commodities" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Compensation/Claims" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Consumer Loans" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Controlled Disbursement" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Conversion" +msgstr "تحويل" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Corporate Action" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Corporate Own Account Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Corporate Rebate" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Corporate mark broker owned" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Corporate mark client owned" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Counter Party: %(partner)s" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Counter Transactions" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Credit Adjustment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Credit Adjustments" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Credit Card Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Credit Transfer with agreed Commercial Information" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cross Trade" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cross-Border" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cross-Border Cash Withdrawal" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cross-Border Credit Card Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cross-Border Credit Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cross-Border Direct Debit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cross-Border Intra Company Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cross-Border Payroll/Salary Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Cross-Border Standing Order" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Crossed Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Custody" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Custody Collection" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Customer Card Transactions" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Debit" +msgstr "المدين" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Debit Adjustments" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Decrease in Value" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Delivery" +msgstr "التسليم" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Deposit" +msgstr "الدفعة المقدّمة" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Deposit/Contribution" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Depositary Receipt Issue" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Derivatives" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Direct Debit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Direct Debit Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Direct Debit under reserve" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Discounted Draft" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Dishonoured/Unpaid Draft" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_camt.field_odex25_account_bank_statement_import__display_name +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_camt.field_account_journal__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Dividend Option" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Dividend Reinvestment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Documentary Collection" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Documentary Credit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Domestic Credit Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Draft Maturity Change" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Drafts/BillOfOrders" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Drawdown" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Drawing" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Dutch Auction" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Equity Premium Reserve" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Equity mark broker owned" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Equity mark client owned" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Exchange" +msgstr "تبادل" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Exchange Rate Adjustment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Exchange Traded" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Exchange Traded CCP" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Exchange Traded Non-CCP" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Extended Domain" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "External Account Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Factor Update" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Fees" +msgstr "رسوم" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Final Maturity" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Final Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Financial Institution Credit Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Financial Institution Direct Debit Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Financial Institution Own Account Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Fixed Deposit Interest Amount" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Fixed Term Deposits" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Fixed Term Loans" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Float adjustment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Foreign Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Foreign Cheque Under Reserve" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Foreign Currency Deposit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Foreign Currency Withdrawal" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Foreign Exchange" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Forwards" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Forwards broker owned collateral" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Forwards client owned collateral" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Freeze of funds" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Full Call / Early Redemption" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Future Variation Margin" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Futures" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Futures Commission" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Futures Residual Amount" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Guarantees" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_camt.field_odex25_account_bank_statement_import__id +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_camt.field_account_journal__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_bank_statement_import_camt +#: model:ir.model,name:odex25_account_bank_statement_import_camt.model_odex25_account_bank_statement_import +msgid "Import Bank Statement" +msgstr "استيراد كشف حساب بنكي" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Inspeci/Share Exchange" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Interest" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Interest Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Interest Payment with Principle" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Internal Account Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Internal Book Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Intra Company Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Invoice Accepted with Differed Due Date" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Issued Cash Concentration Transactions" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Issued Cheques" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Issued Credit Transfers" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Issued Direct Debits" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Issued Real Time Credit Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: model:ir.model,name:odex25_account_bank_statement_import_camt.model_account_journal +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Lack" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_camt.field_odex25_account_bank_statement_import____last_update +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_camt.field_account_journal____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Lending Broker Owned Cash Collateral" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Lending Client Owned Cash Collateral" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Lending income" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Liquidation Dividend / Liquidation Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Listed Derivatives – Futures" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Listed Derivatives – Options" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Loans, Deposits & Syndications" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Lockbox Transactions" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Management Fees" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Margin Payments" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Margin client owned cash collateral" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Merchant Card Transactions" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Merger" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Miscellaneous Credit Operations" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Miscellaneous Debit Operations" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Miscellaneous Deposit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Miscellaneous Securities Operations" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Mixed Deposit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Mortgage Loans" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Netting" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Non Deliverable" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Non Settled" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Non Syndicated" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Non Taxable commissions" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Non-Presented Circular Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Not available" +msgstr "غير متاح" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Notice Deposits" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Notice Loans" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "OTC" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "OTC CCP" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "OTC Derivatives – Bonds" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "OTC Derivatives – Credit Derivatives" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "OTC Derivatives – Equity" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "OTC Derivatives – Interest Rates" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "OTC Derivatives – Structured Exotic Derivatives" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "OTC Derivatives – Swaps" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "OTC Non-CCP" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Odd Lot Sale/Purchase" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "One-Off Direct Debit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Open Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Opening & Closing" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Option broker owned collateral" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Option client owned collateral" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Options" +msgstr "خيارات" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Order Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Other" +msgstr "غير ذلك" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Overdraft" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Overdraft Charge" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Pair-Off" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Partial Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Partial Redemption Without Reduction of Nominal Value" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Partial Redemption with reduction of nominal value" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Payments" +msgstr "المدفوعات" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Payroll/Salary Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Placement" +msgstr "تحديد مستوى" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "" +"Please set the IBAN account on your bank journal.\n" +"\n" +"This CAMT file is targeting several IBAN accounts but none match the current journal." +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Point-of-Sale (POS) Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Point-of-Sale (POS) Payment - Debit Card" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Portfolio Move" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Posting Error" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Pre-Authorised Direct Debit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Precious Metal" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Principal Pay-down/pay-up" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Principal Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Priority Credit Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Priority Issue" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Put Redemption" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Received Cash Concentration Transactions" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Received Cheques" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Received Credit Transfers" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Received Direct Debits" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Received Real Time Credit Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Redemption" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Redemption Asset Allocation" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Redemption Withdrawing Plan" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Reimbursements" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Renewal" +msgstr "تجديد" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Repayment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Repo" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Repurchase offer/Issuer Bid/Reverse Rights." +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Reset Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Reversal due to Payment Cancellation Request" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Reversal due to Payment Return/reimbursement of a Credit Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Reversal due to Payment Reversal" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Reversal due to Return/Unpaid Direct Debit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Reversal due to a Payment Cancellation Request" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Reverse Repo" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Rights Issue/Subscription Rights/Rights Offer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "SEPA B2B Direct Debit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "SEPA Core Direct Debit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "SEPA Credit Transfer" +msgstr "نقل رصيد من خلال SEPA" + +#. module: odex25_account_bank_statement_import_camt +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import_camt.odex25_account_bank_statement_import_camt +msgid "" +"SEPA recommended Cash Management format (CAMT.053) " +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Same Day Value Credit Transfer" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Securities" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Securities Borrowing" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Securities Lending" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Sell Buy Back" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Settlement" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Settlement after collection" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Settlement against bank guarantee" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Settlement at Maturity" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Settlement of Sight Export document" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Settlement of Sight Import document" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Settlement under reserve" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Smart-Card Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Spots" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Stamp duty" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Stand-By Letter Of Credit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Standing Order" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Subscription" +msgstr "الاشتراك" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Subscription Asset Allocation" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Subscription Savings Plan" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Swap Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Swap broker owned collateral" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Swaps" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Sweep" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Sweeping" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Switch" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Syndicated" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Syndications" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "TBA closing" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Tax Reclaim" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Taxes" +msgstr "الضرائب" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Tender" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Topping" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Trade" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Trade Services" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Trade, Clearing and Settlement" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Transaction Fees" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Transfer In" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Transfer Out" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Travellers Cheques Deposit" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Travellers Cheques Withdrawal" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Treasury Tax And Loan Service" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Triparty Repo" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Triparty Reverse Repo" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Turnaround" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Underwriting Commission" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Unpaid Card Transaction" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Unpaid Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Unpaid Foreign Cheque" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Upfront Payment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Value Date" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Warrant Exercise/Warrant Conversion" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Withdrawal/distribution" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Withholding Tax" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "YTD Adjustment" +msgstr "" + +#. module: odex25_account_bank_statement_import_camt +#: code:addons/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py:0 +#, python-format +msgid "Zero Balancing" +msgstr "" diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/models/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_camt/models/__init__.py new file mode 100644 index 000000000..0c5073d1a --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import account_journal \ No newline at end of file diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/models/account_journal.py b/odex25_accounting/odex25_account_bank_statement_import_camt/models/account_journal.py new file mode 100644 index 000000000..ef0d72a78 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/models/account_journal.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- + + +from odoo import models + + +class AccountJournal(models.Model): + _inherit = 'account.journal' + + def _get_bank_statements_available_import_formats(self): + rslt = super(AccountJournal, self)._get_bank_statements_available_import_formats() + rslt.append('CAMT') + return rslt \ No newline at end of file diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/static/description/icon.png b/odex25_accounting/odex25_account_bank_statement_import_camt/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWK + + + + 2514988305.2019-02-13 + 2019-02-13T15:27:15.66+02:00 + + + 2514988305.2019-02-13 + 2019-02-13T15:27:15.66+02:00 + + + + + 112233 + + + + + + + OPBD + + + 1000.00 + CRDT +

        +
        2019-02-12
        + + + + + + CLBD + + + 1500.00 + CRDT +
        +
        2019-02-13
        + +
        + + 500.00 + CRDT + BOOK + + + ABCD + + + + + + \ No newline at end of file diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/camt_053_sample.xml b/odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/camt_053_sample.xml new file mode 100644 index 000000000..4bff9a4ed --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/camt_053_sample.xml @@ -0,0 +1,948 @@ + + + + + + + BANKFILEID00001 + 2009-10-30T03:30:47+02:00 + + + + + BANKSTMTID0972009 + + 120 + + + + 97 + 2009-10-30T02:00:00+02:00 + + + + + 2009-10-29T02:00:00+02:00 + 2009-10-29T21:00:00+02:00 + + + + + + + + FI7433010001222090 + + + + CACC + + + EUR + + + BANK ACCOUNT OWNER + + HELSINGINKATU + 31 + 00100 + HELSINKI + FI + + + + + + 12345678901 + + + BANK + + + + + + + + + ESSEFIHX + + + + + + + + FI1533010001911270 + + EUR + + + + + + + INDY + + + + Business agreement + + + + + + 0.00 + true + + + 1000000.00 + true + + + + CRDT + EUR + + + + + + + + + + + OPBD + + + + + false + 10000.00 + + 10000.00 + CRDT + +
        +
        2009-10-29
        + +
        + + + + + PRCD + + + + false + 10000.00 + + 10000.00 + CRDT + +
        +
        2009-10-28
        + +
        + + + + + CLBD + + + + + false + 10000.00 + + 23644.83 + CRDT + +
        +
        2009-10-29
        + +
        + + + + + + CLAV + + + 33644.83 + CRDT +
        +
        2009-10-29
        + +
        + + + + + 10 + + + + 6 + 23075.00 + + + + 4 + 9430.17 + + + + + + + + + 1000.12 + DBIT + BOOK + +
        2009-10-29
        +
        + +
        2009-10-29
        +
        + + 091029ACCTSTMTARCH01 + + + + PMNT + + ICDT + SALA + + + + + NTRF+701TransactionCodeText + + + + + + + MSGSALA0001 + + CustRefForSalaBatch + + 4 + + + + + SALA + + + +
        + + + + 4000.00 + DBIT + BOOK + +
        2009-10-29
        +
        + +
        2009-10-29
        +
        + + 091029ACCTSTMTARCH02 + + + + PMNT + + ICDT + DMCT + + + + + NTRF+702TransactionCodeText + + + + + + + MSGSCT0099 + CustRefForPmtBatch + + 3 + + +
        + + + 4230.05 + DBIT + BOOK + + +
        2009-10-29
        +
        + + +
        2009-10-29
        +
        + 091029ACCTSTMTARCH03 + + + PMNT + + ICDT + DMCT + + + + + NTRF+702TransactionCodeText + + + + + MSGSCT0100 + CustRefForPmtBatch9 + 3 + + + + + + + + 091029ARCH03001 + + TITOT1106ID01 + + + + 2000.02 + + + + + Creditor Company + + + FI + Mannerheimintie 123 + 00100 Helsinki + + FI + + + + + + 29501800020582 + + BBAN + + + + + + + + + + + SCOR + + + 3900 + + + + + + + + 091029ARCH03002 + TITOT1106ID02 + + + + 1000.01 + + + + + Creditor Company + + FI + Mannerheimintie 123 + 00100 Helsinki + + FI + + + + + 29501800020582 + + BBAN + + + + + + ACWC + + + + + Invoices 123 and 321 + + + + + + + 091029ARCH03003 + TITOT1106ID03 + + + + 1230.02 + + + + + Creditor Company + + FI + Mannerheimintie 123 + 00100 Helsinki + + FI + + + + + 29501800020574 + + BBAN + + + + + + + + + + + CINV + + + 217827182718 + + + + + + 9102910 + + + + + + + + +
        + + + + 2000.00 + CRDT + BOOK + +
        2009-10-29
        +
        + +
        2009-10-29
        +
        + + 091029ACCTSTMTARCH04 + + + PMNT + + RCDT + DMCT + + + + NTRF+705TransactionCodeText + + + + + BANKFILEID998765 + + 2 + + + + + 2000.00 + + + + +
        + + + 500.00 + CRDT + BOOK + +
        2009-10-29
        +
        + +
        2009-10-29
        +
        + + 091029ACCTSTMTARCH21 + + + PMNT + + RDDT + PMDD + + + + NTRF+705TransactionCodeText + + + + + BANKFILEID998799 + + 2 + + + + + 500.00 + + + + +
        + + + 3000.00 + CRDT + BOOK + +
        2009-10-29
        +
        + +
        2009-10-29
        +
        + 091029ACCTSTMTARCH05 + + + PMNT + + RCDT + ESCT + + + + + + BANKFILEID998765 + + 2 + + + + + 3000.00 + + + + +
        + + + 2120.00 + CRDT + BOOK + +
        2009-10-29
        +
        + + +
        2009-10-30
        +
        + 091029ACCTSTMTARCH06 + + + PMNT + + RCDT + XBCT + + + + + + + + ISSRBKREF12345678 + ISSRBKREF12345678 + + + + + + 3200.00 + + EUR + EUR + + EUR + 0.666667 + FX12345 + 2009-10-29T10:00:00+02:00 + + + + 2120.00 + + + + 2120.00 + + EUR + EUR + EUR + 0.666667 + FX12345 + 2009-10-29T10:00:00+02:00 + + + + + + 20.00 + + COMM + + + + + DEBTOR NAME + + + + + 123456789 + + DUNS + + + + + + + + + + BOFAUS6H + + + + + INVOICE US20291092 + + + +
        + + + + 5455.00 + CRDT + BOOK + +
        2009-10-29
        +
        + +
        2009-10-29
        +
        + 091029ACCTSTMTARCH07 + + + PMNT + + RCDT + + PRCT + + + + + + + + BKREFDBT0101010 + BKREFDBT0101010 + + + + + 5500.00 + + + 5455.00 + + + + 45.00 + + COMM + + + + + PAYERS NAME2 + + GOVERN STREET + 22 + 291092 + LONDON + UK + + + + + 123456789 + + EANG + + + + + + + + + + BOFSGB22 + + + + + + + 5500.00 + + + + + SCOR + + ISO + + RF98123456789012 + + + + + +
        + + + 10000.00 + CRDT + BOOK + +
        2009-10-29
        +
        + +
        2009-10-29
        +
        + 091029ACCTSTMTARCH08 + + + PMNT + + RCDT + ESCT + + + + + + + EndToEndIdSCT01 + + + + + 10000.00 + + + + + DEBTOR + + + ULTIMATE DEBTOR + + + + 987654321 + + TXID + + + + + + + + + + NDEAFIHH + + + + + TREA + + + + + + + SCOR + + ISO + + RF98123456789012 + + + + + 2009-10-28T03:00:00+02:00 + + + +
        + + + + 200.00 + DBIT + BOOK + +
        2009-10-29
        +
        + +
        2009-10-29
        +
        + 091029ACCTSTMTARCH09 + + + + PMNT + + RCDT + CHRG + + + + + + + + + 091029ARCH09001 + + + + 100.00 + + + + + PMNT + + RCDT + DMCT + + + + + + SEB Merchant Banking Finland + + + + + 10000 + + + + + + + 091029ARCH09001 + + + + 100.00 + + + + + PMNT + + RCDT + ESCT + + + + + + SEB Merchant Banking Finland + + + + + 150000 + + + + +
        +
        +
        +
        diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/camt_053_several_ibans.xml b/odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/camt_053_several_ibans.xml new file mode 100644 index 000000000..a2ce288e9 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/camt_053_several_ibans.xml @@ -0,0 +1,96 @@ + + + + + 2514988305.2019-05-23 + 2019-05-23T15:27:15.66+02:00 + + + 2514988305.2019-05-23 + 2019-05-23T15:27:15.66+02:00 + + + BE86 6635 9439 7150 + + + + + + OPBD + + + 1000.00 + CRDT +
        +
        2019-05-22
        + +
        + + + + CLBD + + + 1600.00 + CRDT +
        +
        2019-05-23
        + +
        + + 600.00 + CRDT + BOOK + + + ABCD + + + +
        + + + 2514988305.2019-05-23 + 2019-05-23T15:27:15.66+02:00 + + + BE79 5390 0754 6933 + + + + + + OPBD + + + 100.00 + CRDT +
        +
        2019-05-22
        + +
        + + + + CLBD + + + 150.00 + CRDT +
        +
        2019-05-23
        + +
        + + 50.00 + CRDT + BOOK + + + ABCD + + + +
        +
        +
        \ No newline at end of file diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/test_camt.xml b/odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/test_camt.xml new file mode 100644 index 000000000..fe767d282 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/test_camt_file/test_camt.xml @@ -0,0 +1,249 @@ + + + + + 0574908765.2015-12-05 + 2015-12-05T10:55:08.66+02:00 + + 1 + true + + + + 0574908765.2015-12-05 + 0070 + 2015-12-05T10:55:08.66+02:00 + + + + + 123456 + + + Norbert Brant + + + ABNANL2A + + + + + + + OPBD + + + 8998.20 + CRDT +
        +
        2015-12-05
        + +
        + + + + CLAV + + + 2661.49 + CRDT +
        +
        2015-12-05
        + +
        + + 7379.54 + DBIT + BOOK + +
        2015-12-01
        +
        + +
        2015-12-01
        +
        + + + PMNT + + RDDT + ESDD + + + + EI + + + + + + INNDNL2U20141231000142300002844 + 435005714488-ABNO33052620 + 1880000341866 + + + + 7379.54 + + + + + ASUSTeK + + TEST STREET 20 + 1234 AB TESTCITY + NL + + + + + NL46ABNA0499998748 + + + + + + + ABNANL2A + + + + + BILL 2015 0002 + + MKB 859239PERIOD 31.12.2015 + + +
        + + 594.05 + DBIT + true + BOOK + +
        2015-11-29
        +
        + +
        2015-11-29
        +
        + + + PMNT + + IDDT + UPDD + + + + EIST + + + + + + TESTBANK/NL/20151129/01206408 + TESTBANK/NL/20151129/01206408 + NL22ZZZ524885430000-C0125.1 + + + + 564.05 + + + + + China Export + + NL + + + + + + 10987654322 + > + + + + + + + ABNANL2A + + + + + Direct Debit S14 0410 + + + + AC06 + + + Direct debit S14 0410 AC07 Rek.nummer blokkade TESTBANK/NL/20141229/01206408 + + +
        + + 1636.88 + CRDT + BOOK + +
        2015-01-05
        +
        + +
        2015-01-05
        +
        + + + PMNT + + RCDT + ESCT + + + + ET + + + + + + INNDNL2U20150105000217200000708 + 115 + + + + 1636.88 + + + + + Norbert Brant + + SOMESTREET 570-A + 1276 ML HOUSCITY + NL + + + + + + BE93999574162167 + + + + + + + + ABNANL2A + + + + #RD INV/2015/0002 INV/2015/0003 + + +
        +
        +
        +
        diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/tests/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_camt/tests/__init__.py new file mode 100644 index 000000000..2403680e7 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import test_odex25_account_bank_statement_import_camt diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/tests/test_odex25_account_bank_statement_import_camt.py b/odex25_accounting/odex25_account_bank_statement_import_camt/tests/test_odex25_account_bank_statement_import_camt.py new file mode 100644 index 000000000..ff40b6c05 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/tests/test_odex25_account_bank_statement_import_camt.py @@ -0,0 +1,189 @@ +# -*- coding: utf-8 -*- + +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo.tests import tagged +from odoo.exceptions import UserError +from odoo.modules.module import get_module_resource +from odoo.addons.odex25_account_bank_statement_import_camt.wizard.odex25_account_bank_statement_import_camt import _logger as camt_wizard_logger + +import base64 + + +@tagged('post_install', '-at_install') +class TestAccountBankStatementImportCamt(AccountTestInvoicingCommon): + + def test_camt_file_import(self): + bank_journal = self.env['account.journal'].create({ + 'name': 'Bank 123456', + 'code': 'BNK67', + 'type': 'bank', + 'bank_acc_number': '123456', + 'currency_id': self.env.ref('base.USD').id, + }) + + partner_norbert = self.env['res.partner'].create({ + 'name': 'Norbert Brant', + 'is_company': True, + }) + bank_norbert = self.env['res.bank'].create({'name': 'test'}) + + self.env['res.partner.bank'].create({ + 'acc_number': 'BE93999574162167', + 'partner_id': partner_norbert.id, + 'bank_id': bank_norbert.id, + }) + + # Get CAMT file content + camt_file_path = get_module_resource( + 'odex25_account_bank_statement_import_camt', + 'test_camt_file', + 'test_camt.xml', + ) + camt_file = base64.b64encode(open(camt_file_path, 'rb').read()) + + # Use an import wizard to process the file + self.env['account.bank.statement.import']\ + .with_context(journal_id=bank_journal.id)\ + .create({'attachment_ids': [(0, 0, {'name': 'test file', 'datas': camt_file})]})\ + .import_file() + + # Check the imported bank statement + imported_statement = self.env['account.bank.statement'].search([('company_id', '=', self.env.company.id)]) + self.assertRecordValues(imported_statement, [{ + 'name': '0574908765.2015-12-05', + 'balance_start': 8998.20, + 'balance_end_real': 2661.49, + }]) + self.assertRecordValues(imported_statement.line_ids.sorted('ref'), [ + { + 'ref': 'INNDNL2U20141231000142300002844', + 'partner_name': 'ASUSTeK', + 'amount': -7379.54, + 'partner_id': False, + }, + { + 'ref': 'INNDNL2U20150105000217200000708', + 'partner_name': partner_norbert.name, + 'amount': 1636.88, + 'partner_id': partner_norbert.id, + }, + { + 'ref': 'TESTBANK/NL/20151129/01206408', + 'partner_name': 'China Export', + 'amount': -564.05, + 'partner_id': False, + }, + ]) + + def test_minimal_camt_file_import(self): + # Create a bank account and journal corresponding to the CAMT + # file (same currency and account number) + bank_journal = self.env['account.journal'].create({ + 'name': "Bank 112233", + 'code': 'BNK68', + 'type': 'bank', + 'bank_acc_number': '112233', + 'currency_id': self.env.ref('base.USD').id, + }) + + # Use an import wizard to process the file + camt_file_path = get_module_resource( + 'odex25_account_bank_statement_import_camt', + 'test_camt_file', + 'camt_053_minimal.xml', + ) + camt_file = base64.b64encode(open(camt_file_path, 'rb').read()) + + self.env['account.bank.statement.import']\ + .with_context(journal_id=bank_journal.id)\ + .create({'attachment_ids': [(0, 0, {'name': 'test file', 'datas': camt_file})]})\ + .import_file() + + # Check the imported bank statement + imported_statement = self.env['account.bank.statement'].search([('company_id', '=', self.env.company.id)]) + self.assertRecordValues(imported_statement, [{ + 'name': '2514988305.2019-02-13', + 'balance_start': 1000.00, + 'balance_end_real': 1500.00, + }]) + self.assertRecordValues(imported_statement.line_ids.sorted('ref'), [{'amount': 500.00}]) + + def test_several_ibans_match_journal_camt_file_import(self): + # Create a bank account and journal corresponding to the CAMT + # file (same currency and account number) + bank_journal = self.env['account.journal'].create({ + 'name': "Bank BE86 6635 9439 7150", + 'code': 'BNK69', + 'type': 'bank', + 'bank_acc_number': 'BE86 6635 9439 7150', + 'currency_id': self.env.ref('base.USD').id, + }) + + # Use an import wizard to process the file + camt_file_path = get_module_resource( + 'odex25_account_bank_statement_import_camt', + 'test_camt_file', + 'camt_053_several_ibans.xml', + ) + camt_file = base64.b64encode(open(camt_file_path, 'rb').read()) + + wizard = self.env['account.bank.statement.import']\ + .with_context(journal_id=bank_journal.id)\ + .create({'attachment_ids': [(0, 0, {'name': 'test file', 'datas': camt_file})]}) + + with self.assertLogs(level="WARNING") as log_catcher: + wizard.import_file() + self.assertEqual(len(log_catcher.output), 1, "Exactly one warning should be logged") + self.assertIn( + "The following statements will not be imported", + log_catcher.output[0], + "The logged warning warns about non-imported statements", + ) + + # Check the imported bank statement + imported_statement = self.env['account.bank.statement'].search([('company_id', '=', self.env.company.id)]) + self.assertRecordValues(imported_statement, [{ + 'name': '2514988305.2019-05-23', + 'balance_start': 1000.00, + 'balance_end_real': 1600.00, + }]) + self.assertRecordValues(imported_statement.line_ids.sorted('ref'), [{'amount': 600.00}]) + + def test_several_ibans_missing_journal_id_camt_file_import(self): + # Create a bank account and journal corresponding to the CAMT + # file (same currency and account number) + bank_journal = self.env['account.journal'].create({ + 'name': "Bank BE43 9787 8497 9701", + 'code': 'BNK69', + 'type': 'bank', + 'currency_id': self.env.ref('base.USD').id, + # missing bank account number + }) + + # Use an import wizard to process the file + camt_file_path = get_module_resource( + 'odex25_account_bank_statement_import_camt', + 'test_camt_file', + 'camt_053_several_ibans.xml', + ) + camt_file = base64.b64encode(open(camt_file_path, 'rb').read()) + + wizard = self.env['account.bank.statement.import']\ + .with_context(journal_id=bank_journal.id)\ + .create({'attachment_ids': [(0, 0, {'name': 'test file', 'datas': camt_file})]}) + + with self.assertLogs(camt_wizard_logger, level="WARNING") as log_catcher: + with self.assertRaises(UserError) as error_catcher: + wizard.import_file() + + self.assertEqual(len(log_catcher.output), 1, "Exactly one warning should be logged") + self.assertIn( + "The following statements will not be imported", + log_catcher.output[0], + "The logged warning warns about non-imported statements", + ) + + self.assertEqual(error_catcher.exception.args[0], ( + "Please set the IBAN account on your bank journal.\n\n" + "This CAMT file is targeting several IBAN accounts but none match the current journal." + )) diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/wizard/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_camt/wizard/__init__.py new file mode 100644 index 000000000..77e6a8855 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/wizard/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + + + +from . import odex25_account_bank_statement_import_camt diff --git a/odex25_accounting/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py b/odex25_accounting/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py new file mode 100644 index 000000000..f988a8723 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_camt/wizard/odex25_account_bank_statement_import_camt.py @@ -0,0 +1,743 @@ +# -*- coding: utf-8 -*- + + +import io +import logging +import math +import re +from functools import partial + +from lxml import etree + +from odoo import models, _ +from odoo.exceptions import UserError + +_logger = logging.getLogger(__name__) + +# Codes from the updated document of 30 june 2017 +codes = { + # ExternalBankTransactionDomain1Code ####################################### + 'PMNT': _('Payments'), + 'CAMT': _('Cash Management'), + 'DERV': _('Derivatives'), + 'LDAS': _('Loans, Deposits & Syndications'), + 'FORX': _('Foreign Exchange'), + 'PMET': _('Precious Metal'), + 'CMDT': _('Commodities'), + 'TRAD': _('Trade Services'), + 'SECU': _('Securities'), + 'ACMT': _('Account Management'), + 'XTND': _('Extended Domain'), + # ExternalBankTransactionFamily1Code ####################################### + 'RCDT': _('Received Credit Transfers'), # Payments + 'ICDT': _('Issued Credit Transfers'), + 'RCCN': _('Received Cash Concentration Transactions'), + 'ICCN': _('Issued Cash Concentration Transactions'), + 'RDDT': _('Received Direct Debits'), + 'IDDT': _('Issued Direct Debits'), + 'RCHQ': _('Received Cheques'), + 'ICHQ': _('Issued Cheques'), + 'CCRD': _('Customer Card Transactions'), + 'MCRD': _('Merchant Card Transactions'), + 'LBOX': _('Lockbox Transactions'), + 'CNTR': _('Counter Transactions'), + 'DRFT': _('Drafts/BillOfOrders'), + 'RRCT': _('Received Real Time Credit Transfer'), + 'IRCT': _('Issued Real Time Credit Transfer'), + 'CAPL': _('Cash Pooling'), # Cash Management + 'ACCB': _('Account Balancing'), + 'OCRD': _('OTC Derivatives – Credit Derivatives'), # Derivatives + 'OIRT': _('OTC Derivatives – Interest Rates'), + 'OEQT': _('OTC Derivatives – Equity'), + 'OBND': _('OTC Derivatives – Bonds'), + 'OSED': _('OTC Derivatives – Structured Exotic Derivatives'), + 'OSWP': _('OTC Derivatives – Swaps'), + 'LFUT': _('Listed Derivatives – Futures'), + 'LOPT': _('Listed Derivatives – Options'), + 'FTLN': _('Fixed Term Loans'), # Loans, Deposits & Syndications + 'NTLN': _('Notice Loans'), + 'FTDP': _('Fixed Term Deposits'), + 'NTDP': _('Notice Deposits'), + 'MGLN': _('Mortgage Loans'), + 'CSLN': _('Consumer Loans'), + 'SYDN': _('Syndications'), + 'SPOT': _('Spots'), # Foreign Exchange + 'FWRD': _('Forwards'), + 'SWAP': _('Swaps'), + 'FTUR': _('Futures'), + 'NDFX': _('Non Deliverable'), + 'SPOT': _('Spots'), # Precious Metal + 'FTUR': _('Futures'), + 'OPTN': _('Options'), + 'DLVR': _('Delivery'), + 'SPOT': _('Spots'), # Commodities + 'FTUR': _('Futures'), + 'OPTN': _('Options'), + 'DLVR': _('Delivery'), + 'LOCT': _('Stand-By Letter Of Credit'), # Trade Services + 'DCCT': _('Documentary Credit'), + 'CLNC': _('Clean Collection'), + 'DOCC': _('Documentary Collection'), + 'GUAR': _('Guarantees'), + 'SETT': _('Trade, Clearing and Settlement'), # Securities + 'NSET': _('Non Settled'), + 'BLOC': _('Blocked Transactions'), + 'OTHB': _('CSD Blocked Transactions'), + 'COLL': _('Collateral Management'), + 'CORP': _('Corporate Action'), + 'CUST': _('Custody'), + 'COLC': _('Custody Collection'), + 'LACK': _('Lack'), + 'CASH': _('Miscellaneous Securities Operations'), + 'OPCL': _('Opening & Closing'), # Account Management + 'ACOP': _('Additional Miscellaneous Credit Operations'), + 'ADOP': _('Additional Miscellaneous Debit Operations'), + # ExternalBankTransactionSubFamily1Code #################################### + # Generic Sub-Families + 'FEES': _('Fees'), # Miscellaneous Credit Operations + 'COMM': _('Commission'), + 'COME': _('Commission excluding taxes'), + 'COMI': _('Commission including taxes'), + 'COMT': _('Non Taxable commissions'), + 'TAXE': _('Taxes'), + 'CHRG': _('Charges'), + 'INTR': _('Interest'), + 'RIMB': _('Reimbursements'), + 'ADJT': _('Adjustments'), + 'FEES': _('Fees'), # Miscellaneous Debit Operations + 'COMM': _('Commission'), + 'COME': _('Commission excluding taxes'), + 'COMI': _('Commission including taxes'), + 'COMT': _('Non Taxable commissions'), + 'TAXE': _('Taxes'), + 'CHRG': _('Charges'), + 'INTR': _('Interest'), + 'RIMB': _('Reimbursements'), + 'ADJT': _('Adjustments'), + 'IADD': _('Invoice Accepted with Differed Due Date'), + 'FEES': _('Fees'), # Generic Sub-Families + 'COMM': _('Commission'), + 'COME': _('Commission excluding taxes'), + 'COMI': _('Commission including taxes'), + 'COMT': _('Non Taxable commissions'), + 'TAXE': _('Taxes'), + 'CHRG': _('Charges'), + 'INTR': _('Interest'), + 'RIMB': _('Reimbursements'), + 'DAJT': _('Credit Adjustments'), + 'CAJT': _('Debit Adjustments'), + # Payments Sub-Families + 'BOOK': _('Internal Book Transfer'), # Received Credit Transfer + 'STDO': _('Standing Order'), + 'XBST': _('Cross-Border Standing Order'), + 'ESCT': _('SEPA Credit Transfer'), + 'DMCT': _('Domestic Credit Transfer'), + 'XBCT': _('Cross-Border Credit Transfer'), + 'VCOM': _('Credit Transfer with agreed Commercial Information'), + 'FICT': _('Financial Institution Credit Transfer'), + 'PRCT': _('Priority Credit Transfer'), + 'SALA': _('Payroll/Salary Payment'), + 'XBSA': _('Cross-Border Payroll/Salary Payment'), + 'SDVA': _('Same Day Value Credit Transfer'), + 'RPCR': _('Reversal due to Payment Cancellation Request'), + 'RRTN': _('Reversal due to Payment Return/reimbursement of a Credit Transfer'), + 'AUTT': _('Automatic Transfer'), + 'ATXN': _('ACH Transaction'), + 'ACOR': _('ACH Corporate Trade'), + 'APAC': _('ACH Pre-Authorised'), + 'ASET': _('ACH Settlement'), + 'ARET': _('ACH Return'), + 'AREV': _('ACH Reversal'), + 'ACDT': _('ACH Credit'), + 'ADBT': _('ACH Debit'), + 'TTLS': _('Treasury Tax And Loan Service'), + 'BOOK': _('Internal Book Transfer'), # Issued Credit Transfer + 'STDO': _('Standing Order'), + 'XBST': _('Cross-Border Standing Order'), + 'ESCT': _('SEPA Credit Transfer'), + 'DMCT': _('Domestic Credit Transfer'), + 'XBCT': _('Cross-Border Credit Transfer'), + 'FICT': _('Financial Institution Credit Transfer'), + 'PRCT': _('Priority Credit Transfer'), + 'VCOM': _('Credit Transfer with agreed Commercial Information'), + 'SALA': _('Payroll/Salary Payment'), + 'XBSA': _('Cross-Border Payroll/Salary Payment'), + 'RPCR': _('Reversal due to Payment Cancellation Request'), + 'RRTN': _('Reversal due to Payment Return/reimbursement of a Credit Transfer'), + 'SDVA': _('Same Day Value Credit Transfer'), + 'AUTT': _('Automatic Transfer'), + 'ATXN': _('ACH Transaction'), + 'ACOR': _('ACH Corporate Trade'), + 'APAC': _('ACH Pre-Authorised'), + 'ASET': _('ACH Settlement'), + 'ARET': _('ACH Return'), + 'AREV': _('ACH Reversal'), + 'ACDT': _('ACH Credit'), + 'ADBT': _('ACH Debit'), + 'TTLS': _('Treasury Tax And Loan Service'), + 'COAT': _('Corporate Own Account Transfer'), # Received Cash Concentration + 'ICCT': _('Intra Company Transfer'), + 'XICT': _('Cross-Border Intra Company Transfer'), + 'FIOA': _('Financial Institution Own Account Transfer'), + 'BACT': _('Branch Account Transfer'), + 'ACON': _('ACH Concentration'), + 'COAT': _('Corporate Own Account Transfer'), # Issued Cash Concentration + 'ICCT': _('Intra Company Transfer'), + 'XICT': _('Cross-Border Intra Company Transfer'), + 'FIOA': _('Financial Institution Own Account Transfer'), + 'BACT': _('Branch Account Transfer'), + 'ACON': _('ACH Concentration'), + 'PMDD': _('Direct Debit'), # Received Direct Debit + 'URDD': _('Direct Debit under reserve'), + 'ESDD': _('SEPA Core Direct Debit'), + 'BBDD': _('SEPA B2B Direct Debit'), + 'XBDD': _('Cross-Border Direct Debit'), + 'OODD': _('One-Off Direct Debit'), + 'PADD': _('Pre-Authorised Direct Debit'), + 'FIDD': _('Financial Institution Direct Debit Payment'), + 'RCDD': _('Reversal due to a Payment Cancellation Request'), + 'UPDD': _('Reversal due to Return/Unpaid Direct Debit'), + 'PRDD': _('Reversal due to Payment Reversal'), + 'PMDD': _('Direct Debit Payment'), # Issued Direct Debit + 'URDD': _('Direct Debit under reserve'), + 'ESDD': _('SEPA Core Direct Debit'), + 'BBDD': _('SEPA B2B Direct Debit'), + 'OODD': _('One-Off Direct Debit'), + 'XBDD': _('Cross-Border Direct Debit'), + 'PADD': _('Pre-Authorised Direct Debit'), + 'FIDD': _('Financial Institution Direct Debit Payment'), + 'RCDD': _('Reversal due to a Payment Cancellation Request'), + 'UPDD': _('Reversal due to Return/Unpaid Direct Debit'), + 'PRDD': _('Reversal due to Payment Reversal'), + 'CCHQ': _('Cheque'), # Received Cheque + 'URCQ': _('Cheque Under Reserve'), + 'UPCQ': _('Unpaid Cheque'), + 'CQRV': _('Cheque Reversal'), + 'CCCH': _('Certified Customer Cheque'), + 'CLCQ': _('Circular Cheque'), + 'NPCC': _('Non-Presented Circular Cheque'), + 'CRCQ': _('Crossed Cheque'), + 'ORCQ': _('Order Cheque'), + 'OPCQ': _('Open Cheque'), + 'BCHQ': _('Bank Cheque'), + 'XBCQ': _('Foreign Cheque'), + 'XRCQ': _('Foreign Cheque Under Reserve'), + 'XPCQ': _('Unpaid Foreign Cheque'), + 'CDIS': _('Controlled Disbursement'), + 'ARPD': _('ARP Debit'), + 'CASH': _('Cash Letter'), + 'CSHA': _('Cash Letter Adjustment'), + 'CCHQ': _('Cheque'), # Issued Cheque + 'URCQ': _('Cheque Under Reserve'), + 'UPCQ': _('Unpaid Cheque'), + 'CQRV': _('Cheque Reversal'), + 'CCCH': _('Certified Customer Cheque'), + 'CLCQ': _('Circular Cheque'), + 'NPCC': _('Non-Presented Circular Cheque'), + 'CRCQ': _('Crossed Cheque'), + 'ORCQ': _('Order Cheque'), + 'OPCQ': _('Open Cheque'), + 'BCHQ': _('Bank Cheque'), + 'XBCQ': _('Foreign Cheque'), + 'XRCQ': _('Foreign Cheque Under Reserve'), + 'XPCQ': _('Unpaid Foreign Cheque'), + 'CDIS': _('Controlled Disbursement'), + 'ARPD': _('ARP Debit'), + 'CASH': _('Cash Letter'), + 'CSHA': _('Cash Letter Adjustment'), + 'CWDL': _('Cash Withdrawal'), # Customer Card Transaction + 'CDPT': _('Cash Deposit'), + 'XBCW': _('Cross-Border Cash Withdrawal'), + 'POSD': _('Point-of-Sale (POS) Payment - Debit Card'), + 'POSC': _('Credit Card Payment'), + 'XBCP': _('Cross-Border Credit Card Payment'), + 'SMRT': _('Smart-Card Payment'), + 'POSP': _('Point-of-Sale (POS) Payment'), # Merchant Card Transaction + 'POSC': _('Credit Card Payment'), + 'SMCD': _('Smart-Card Payment'), + 'UPCT': _('Unpaid Card Transaction'), + 'CDPT': _('Cash Deposit'), # Counter Transaction + 'CWDL': _('Cash Withdrawal'), + 'BCDP': _('Branch Deposit'), + 'BCWD': _('Branch Withdrawal'), + 'CHKD': _('Cheque Deposit'), + 'MIXD': _('Mixed Deposit'), + 'MSCD': _('Miscellaneous Deposit'), + 'FCDP': _('Foreign Currency Deposit'), + 'FCWD': _('Foreign Currency Withdrawal'), + 'TCDP': _('Travellers Cheques Deposit'), + 'TCWD': _('Travellers Cheques Withdrawal'), + 'LBCA': _('Credit Adjustment'), # Lockbox + 'LBDB': _('Debit'), + 'LBDP': _('Deposit'), + 'STAM': _('Settlement at Maturity'), # Drafts / Bill to Order + 'STLR': _('Settlement under reserve'), + 'DDFT': _('Discounted Draft'), + 'UDFT': _('Dishonoured/Unpaid Draft'), + 'DMCG': _('Draft Maturity Change'), + 'BOOK': _('Internal Book Transfer'), # Received Real-Time Credit Transfer + 'STDO': _('Standing Order'), + 'XBST': _('Cross-Border Standing Order'), + 'ESCT': _('SEPA Credit Transfer'), + 'DMCT': _('Domestic Credit Transfer'), + 'XBCT': _('Cross-Border Credit Transfer'), + 'VCOM': _('Credit Transfer with agreed Commercial Information'), + 'FICT': _('Financial Institution Credit Transfer'), + 'PRCT': _('Priority Credit Transfer'), + 'SALA': _('Payroll/Salary Payment'), + 'XBSA': _('Cross-Border Payroll/Salary Payment'), + 'SDVA': _('Same Day Value Credit Transfer'), + 'RPCR': _('Reversal due to Payment Cancellation Request'), + 'RRTN': _('Reversal due to Payment Return/reimbursement of a Credit Transfer'), + 'AUTT': _('Automatic Transfer'), + 'ATXN': _('ACH Transaction'), + 'ACOR': _('ACH Corporate Trade'), + 'APAC': _('ACH Pre-Authorised'), + 'ASET': _('ACH Settlement'), + 'ARET': _('ACH Return'), + 'AREV': _('ACH Reversal'), + 'ACDT': _('ACH Credit'), + 'ADBT': _('ACH Debit'), + 'TTLS': _('Treasury Tax And Loan Service'), + 'BOOK': _('Internal Book Transfer'), # Issued Real-Time Credit Transfer + 'STDO': _('Standing Order'), + 'XBST': _('Cross-Border Standing Order'), + 'ESCT': _('SEPA Credit Transfer'), + 'DMCT': _('Domestic Credit Transfer'), + 'XBCT': _('Cross-Border Credit Transfer'), + 'FICT': _('Financial Institution Credit Transfer'), + 'PRCT': _('Priority Credit Transfer'), + 'VCOM': _('Credit Transfer with agreed Commercial Information'), + 'SALA': _('Payroll/Salary Payment'), + 'XBSA': _('Cross-Border Payroll/Salary Payment'), + 'RPCR': _('Reversal due to Payment Cancellation Request'), + 'RRTN': _('Reversal due to Payment Return/reimbursement of a Credit Transfer'), + 'SDVA': _('Same Day Value Credit Transfer'), + 'AUTT': _('Automatic Transfer'), + 'ATXN': _('ACH Transaction'), + 'ACOR': _('ACH Corporate Trade'), + 'APAC': _('ACH Pre-Authorised'), + 'ASET': _('ACH Settlement'), + 'ARET': _('ACH Return'), + 'AREV': _('ACH Reversal'), + 'ACDT': _('ACH Credit'), + 'ADBT': _('ACH Debit'), + 'TTLS': _('Treasury Tax And Loan Service'), + # Cash Management Sub-Families + 'XBRD': _('Cross-Border'), # Cash Pooling + 'ZABA': _('Zero Balancing'), # Account Balancing + 'SWEP': _('Sweeping'), + 'TOPG': _('Topping'), + 'DSBR': _('Controlled Disbursement'), + 'ODFT': _('Overdraft'), + 'XBRD': _('Cross-Border'), + # Derivatives Sub-Families + 'SWUF': _('Upfront Payment'), + 'SWRS': _('Reset Payment'), + 'SWPP': _('Partial Payment'), + 'SWFP': _('Final Payment'), + 'SWCC': _('Client Owned Collateral'), + # Loans, Deposits & Syndications Sub-Families + 'DDWN': _('Drawdown'), + 'RNEW': _('Renewal'), + 'PPAY': _('Principal Payment'), + 'DPST': _('Deposit'), + 'RPMT': _('Repayment'), + # Trade Services Sub-Families + 'FRZF': _('Freeze of funds'), + 'SOSI': _('Settlement of Sight Import document'), + 'SOSE': _('Settlement of Sight Export document'), + 'SABG': _('Settlement against bank guarantee'), + 'STLR': _('Settlement under reserve'), + 'STLR': _('Settlement under reserve'), + 'STAC': _('Settlement after collection'), + 'STLM': _('Settlement'), + # Securities Sub-Families + 'PAIR': _('Pair-Off'), # Trade, Clearing and Settlement & Non Settled + 'TRAD': _('Trade'), + 'NETT': _('Netting'), + 'TRPO': _('Triparty Repo'), + 'TRVO': _('Triparty Reverse Repo'), + 'RVPO': _('Reverse Repo'), + 'REPU': _('Repo'), + 'SECB': _('Securities Borrowing'), + 'SECL': _('Securities Lending'), + 'BSBO': _('Buy Sell Back'), + 'BSBC': _('Sell Buy Back'), + 'FCTA': _('Factor Update'), + 'ISSU': _('Depositary Receipt Issue'), + 'INSP': _('Inspeci/Share Exchange'), + 'OWNE': _('External Account Transfer'), + 'OWNI': _('Internal Account Transfer'), + 'NSYN': _('Non Syndicated'), + 'PLAC': _('Placement'), + 'PORT': _('Portfolio Move'), + 'SYND': _('Syndicated'), + 'TBAC': _('TBA closing'), + 'TURN': _('Turnaround'), + 'REDM': _('Redemption'), + 'SUBS': _('Subscription'), + 'CROS': _('Cross Trade'), + 'SWIC': _('Switch'), + 'REAA': _('Redemption Asset Allocation'), + 'SUAA': _('Subscription Asset Allocation'), + 'PRUD': _('Principal Pay-down/pay-up'), + 'TOUT': _('Transfer Out'), + 'TRIN': _('Transfer In'), + 'XCHC': _('Exchange Traded CCP'), + 'XCHG': _('Exchange Traded'), + 'XCHN': _('Exchange Traded Non-CCP'), + 'OTCC': _('OTC CCP'), + 'OTCG': _('OTC'), + 'OTCN': _('OTC Non-CCP'), + 'XCHC': _('Exchange Traded CCP'), # Blocked Transactions & CSD Blocked Transactions + 'XCHG': _('Exchange Traded'), + 'XCHN': _('Exchange Traded Non-CCP'), + 'OTCC': _('OTC CCP'), + 'OTCG': _('OTC'), + 'OTCN': _('OTC Non-CCP'), + 'MARG': _('Margin Payments'), # Collateral Management + 'TRPO': _('Triparty Repo'), + 'REPU': _('Repo'), + 'SECB': _('Securities Borrowing'), + 'SECL': _('Securities Lending'), + 'OPBC': _('Option broker owned collateral'), + 'OPCC': _('Option client owned collateral'), + 'FWBC': _('Forwards broker owned collateral'), + 'FWCC': _('Forwards client owned collateral'), + 'MGCC': _('Margin client owned cash collateral'), + 'SWBC': _('Swap broker owned collateral'), + 'EQCO': _('Equity mark client owned'), + 'EQBO': _('Equity mark broker owned'), + 'CMCO': _('Corporate mark client owned'), + 'CMBO': _('Corporate mark broker owned'), + 'SLBC': _('Lending Broker Owned Cash Collateral'), + 'SLCC': _('Lending Client Owned Cash Collateral'), + 'CPRB': _('Corporate Rebate'), + 'BIDS': _('Repurchase offer/Issuer Bid/Reverse Rights.'), # Corporate Action & Custody + 'BONU': _('Bonus Issue/Capitalisation Issue'), + 'BPUT': _('Put Redemption'), + 'CAPG': _('Capital Gains Distribution'), + 'CONV': _('Conversion'), + 'DECR': _('Decrease in Value'), + 'DRAW': _('Drawing'), + 'DRIP': _('Dividend Reinvestment'), + 'DTCH': _('Dutch Auction'), + 'DVCA': _('Cash Dividend'), + 'DVOP': _('Dividend Option'), + 'EXOF': _('Exchange'), + 'EXRI': _('Call on intermediate securities'), + 'EXWA': _('Warrant Exercise/Warrant Conversion'), + 'INTR': _('Interest Payment'), + 'LIQU': _('Liquidation Dividend / Liquidation Payment'), + 'MCAL': _('Full Call / Early Redemption'), + 'MRGR': _('Merger'), + 'ODLT': _('Odd Lot Sale/Purchase'), + 'PCAL': _('Partial Redemption with reduction of nominal value'), + 'PRED': _('Partial Redemption Without Reduction of Nominal Value'), + 'PRII': _('Interest Payment with Principle'), + 'PRIO': _('Priority Issue'), + 'REDM': _('Final Maturity'), + 'RHTS': _('Rights Issue/Subscription Rights/Rights Offer'), + 'SHPR': _('Equity Premium Reserve'), + 'TEND': _('Tender'), + 'TREC': _('Tax Reclaim'), + 'RWPL': _('Redemption Withdrawing Plan'), + 'SSPL': _('Subscription Savings Plan'), + 'CSLI': _('Cash in lieu'), + 'CHAR': _('Charge/fees'), # Miscellaneous Securities Operations + 'BKFE': _('Bank Fees'), + 'CLAI': _('Compensation/Claims'), + 'MNFE': _('Management Fees'), + 'OVCH': _('Overdraft Charge'), + 'TRFE': _('Transaction Fees'), + 'UNCO': _('Underwriting Commission'), + 'STAM': _('Stamp duty'), + 'WITH': _('Withholding Tax'), + 'BROK': _('Brokerage fee'), + 'PRIN': _('Interest Payment with Principle'), + 'TREC': _('Tax Reclaim'), + 'GEN1': _('Withdrawal/distribution'), + 'GEN2': _('Deposit/Contribution'), + 'ERWI': _('Borrowing fee'), + 'ERWA': _('Lending income'), + 'SWEP': _('Sweep'), + 'SWAP': _('Swap Payment'), + 'FUTU': _('Future Variation Margin'), + 'RESI': _('Futures Residual Amount'), + 'FUCO': _('Futures Commission'), + 'INFD': _('Fixed Deposit Interest Amount'), + # Account Management Sub-Families + 'ACCO': _('Account Opening'), + 'ACCC': _('Account Closing'), + 'ACCT': _('Account Transfer'), + 'VALD': _('Value Date'), + 'BCKV': _('Back Value'), + 'YTDA': _('YTD Adjustment'), + 'FLTA': _('Float adjustment'), + 'ERTA': _('Exchange Rate Adjustment'), + 'PSTE': _('Posting Error'), + # General + 'NTAV': _('Not available'), + 'OTHR': _('Other'), + 'MCOP': _('Miscellaneous Credit Operations'), + 'MDOP': _('Miscellaneous Debit Operations'), +} + + +def _generic_get(*nodes, xpath, namespaces, placeholder=None): + if placeholder is not None: + xpath = xpath.format(placeholder=placeholder) + for node in nodes: + item = node.xpath(xpath, namespaces=namespaces) + if item: + return item[0] + return False + +_get_amount = partial(_generic_get, + xpath='ns:Amt/text() | ns:AmtDtls/ns:TxAmt/ns:Amt/text()') + +_get_rate = partial(_generic_get, + xpath='ns:XchgRate/text() | ns:AmtDtls/ns:TxAmt/ns:CcyXchg/ns:XchgRate/text()') + +_get_credit_debit_indicator = partial(_generic_get, + xpath='ns:CdtDbtInd/text()') + +_get_transaction_date = partial(_generic_get, + xpath=('ns:ValDt/ns:Dt/text()' + '| ns:BookgDt/ns:Dt/text()' + '| ns:BookgDt/ns:DtTm/text()')) + +_get_partner_name = partial(_generic_get, + xpath='.//ns:RltdPties/ns:{placeholder}/ns:Nm/text()') + +_get_account_number = partial(_generic_get, + xpath=('.//ns:RltdPties/ns:{placeholder}Acct/ns:Id/ns:IBAN/text()' + '| (.//ns:{placeholder}Acct/ns:Id/ns:Othr/ns:Id)[1]/text()')) + +_get_main_ref = partial(_generic_get, + xpath='.//ns:RmtInf/ns:Strd/ns:{placeholder}RefInf/ns:Ref/text()') + +_get_other_ref = partial(_generic_get, + xpath=('ns:AcctSvcrRef/text()' + '| {placeholder}ns:Refs/ns:TxId/text()' + '| {placeholder}ns:Refs/ns:InstrId/text()' + '| {placeholder}ns:Refs/ns:EndToEndId/text()' + '| {placeholder}ns:Refs/ns:MndtId/text()' + '| {placeholder}ns:Refs/ns:ChqNb/text()')) + +_get_additional_entry_info = partial(_generic_get, + xpath='ns:AddtlNtryInf/text()') + +def _get_signed_amount(*nodes, namespaces): + amount = float(_get_amount(*nodes, namespaces=namespaces)) + rate = float(_get_rate(*nodes, namespaces=namespaces)) or 1.0 + sign = _get_credit_debit_indicator(*nodes, namespaces=namespaces) + return amount * rate if sign == 'CRDT' else -amount * rate + +def _get_counter_party(*nodes, namespaces): + ind = _get_credit_debit_indicator(*nodes, namespaces=namespaces) + return 'Dbtr' if ind == 'CRDT' else 'Cdtr' + +def _set_amount_currency_and_currency_id(node, path, entry_vals, currency, curr_cache, has_multi_currency, namespaces): + instruc_amount = node.xpath('%s/text()' % path, namespaces=namespaces) + instruc_curr = node.xpath('%s/@Ccy' % path, namespaces=namespaces) + if (has_multi_currency and instruc_amount and instruc_curr and + instruc_curr[0] != currency and instruc_curr[0] in curr_cache): + entry_vals['amount_currency'] = math.copysign(abs(sum(map(float, instruc_amount))), entry_vals['amount']) + entry_vals['currency_id'] = curr_cache[instruc_curr[0]] + +def _get_transaction_name(node, namespaces): + xpaths = ('.//ns:RmtInf/ns:Ustrd/text()', + './/ns:RmtInf/ns:Strd/ns:CdtrRefInf/ns:Ref/text()', + 'ns:AddtlNtryInf/text()') + for xpath in xpaths: + transaction_name = node.xpath(xpath, namespaces=namespaces) + if transaction_name: + return ' '.join(transaction_name) + return '/' + +def _get_ref(node, counter_party, prefix, namespaces): + ref = _get_main_ref(node, placeholder=counter_party, namespaces=namespaces) + if ref is False: # Explicitely match False, not a falsy value + ref = _get_other_ref(node, placeholder=prefix, namespaces=namespaces) + return ref + +def _get_unique_import_id(entry, sequence, name, date, unique_import_set, namespaces): + unique_import_ref = entry.xpath('ns:AcctSvcrRef/text()', namespaces=namespaces) + if unique_import_ref and not _is_full_of_zeros(unique_import_ref[0]) and unique_import_ref[0] != 'NOTPROVIDED': + entry_ref = entry.xpath('ns:NtryRef/text()', namespaces=namespaces) + if entry_ref: + return '{}-{}'.format(unique_import_ref[0], entry_ref[0]) + elif not entry_ref and unique_import_ref[0] not in unique_import_set: + return unique_import_ref[0] + else: + return '{}-{}'.format(unique_import_ref[0], sequence) + else: + return '{}-{}-{}'.format(name, date, sequence) + +def _get_transaction_type(node, namespaces): + code = node.xpath('ns:Domn/ns:Cd/text()', namespaces=namespaces) + family = node.xpath('ns:Domn/ns:Fmly/ns:Cd/text()', namespaces=namespaces) + subfamily = node.xpath('ns:Domn/ns:Fmly/ns:SubFmlyCd/text()', namespaces=namespaces) + if code: + return {'transaction_type': "{code}: {family} ({subfamily})".format( + code=codes[code[0]], + family=family and codes[family[0]] or '', + subfamily=subfamily and codes[subfamily[0]] or '', + )} + return {} + +def _get_partner_address(node, ns, ph): + StrtNm = node.xpath('ns:RltdPties/ns:{}/ns:PstlAdr/ns:StrtNm/text()'.format(ph), namespaces=ns) + BldgNb = node.xpath('ns:RltdPties/ns:{}/ns:PstlAdr/ns:BldgNb/text()'.format(ph), namespaces=ns) + PstCd = node.xpath('ns:RltdPties/ns:{}/ns:PstlAdr/ns:PstCd/text()'.format(ph), namespaces=ns) + TwnNm = node.xpath('ns:RltdPties/ns:{}/ns:PstlAdr/ns:TwnNm/text()'.format(ph), namespaces=ns) + Ctry = node.xpath('ns:RltdPties/ns:{}/ns:PstlAdr/ns:Ctry/text()'.format(ph), namespaces=ns) + AdrLine = node.xpath('ns:RltdPties/ns:{}/ns:PstlAdr/ns:AdrLine/text()'.format(ph), namespaces=ns) + address = "\n".join(AdrLine) + if StrtNm: + address = "\n".join([address, ", ".join(StrtNm + BldgNb)]) + if PstCd or TwnNm: + address = "\n".join([address, " ".join(PstCd + TwnNm)]) + if Ctry: + address = "\n".join([address, Ctry[0]]) + return address + +def _is_full_of_zeros(strg): + pattern_zero = re.compile('^0+$') + return bool(pattern_zero.match(strg)) + +class AccountBankStatementImport(models.TransientModel): + _inherit = 'account.bank.statement.import' + + def _check_camt(self, data_file): + try: + root = etree.parse(io.BytesIO(data_file)).getroot() + except: + return None + if root.tag.find('camt.053') != -1: + return root + return None + + def _parse_file(self, data_file): + root = self._check_camt(data_file) + if root is not None: + return self._parse_file_camt(root) + return super(AccountBankStatementImport, self)._parse_file(data_file) + + def _parse_file_camt(self, root): + ns = {k or 'ns': v for k, v in root.nsmap.items()} + + curr_cache = {c['name']: c['id'] for c in self.env['res.currency'].search_read([], ['id', 'name'])} + statements_per_iban = {} + currency_per_iban = {} + unique_import_set = set([]) + currency = account_no = False + has_multi_currency = self.env.user.user_has_groups('base.group_multi_currency') + for statement in root[0].findall('ns:Stmt', ns): + statement_vals = {} + statement_vals['name'] = statement.xpath('ns:Id/text()', namespaces=ns)[0] + statement_vals['date'] = (statement.xpath("ns:Bal/ns:Tp/ns:CdOrPrtry[ns:Cd='CLBD']/../../ns:Dt/ns:Dt/text()", namespaces=ns) or statement.xpath("ns:Bal/ns:Tp/ns:CdOrPrtry[ns:Cd='CLAV']/../../ns:Dt/ns:Dt/text()", namespaces=ns))[0] + + # Transaction Entries 0..n + transactions = [] + sequence = 0 + + # Currency 0..1 + currency = statement.xpath('ns:Acct/ns:Ccy/text() | ns:Bal/ns:Amt/@Ccy', namespaces=ns)[0] + + for entry in statement.findall('ns:Ntry', ns): + # Date 0..1 + date = _get_transaction_date(entry, namespaces=ns) or statement_vals['date'] + + transaction_details = entry.xpath('.//ns:TxDtls', namespaces=ns) + for entry_details in transaction_details or [entry]: + sequence += 1 + counter_party = _get_counter_party(entry_details, entry, namespaces=ns) + partner_name = _get_partner_name(entry_details, placeholder=counter_party, namespaces=ns) + entry_vals = { + 'sequence': sequence, + 'date': date, + 'amount': _get_signed_amount(entry_details, entry, namespaces=ns), + 'payment_ref': _get_transaction_name(entry_details, namespaces=ns), + 'partner_name': partner_name, + 'account_number': _get_account_number(entry_details, placeholder=counter_party, namespaces=ns), + 'ref': _get_ref(entry_details, counter_party=counter_party, prefix='', namespaces=ns), + } + + entry_vals['unique_import_id'] = _get_unique_import_id( + entry=entry_details, + sequence=sequence, + name=statement_vals['name'], + date=entry_vals['date'], + unique_import_set=unique_import_set, + namespaces=ns) + + _set_amount_currency_and_currency_id( + node=entry_details, + path=transaction_details and 'ns:AmtDtls/ns:InstdAmt/ns:Amt' or 'ns:NtryDtls/ns:TxDtls/ns:AmtDtls/ns:InstdAmt/ns:Amt', + entry_vals=entry_vals, + currency=currency, + curr_cache=curr_cache, + has_multi_currency=has_multi_currency, + namespaces=ns) + + BkTxCd = entry.xpath('ns:BkTxCd', namespaces=ns)[0] + entry_vals.update(_get_transaction_type(BkTxCd, namespaces=ns)) + notes = [_get_additional_entry_info(entry, namespaces=ns) or ""] + partner_address = _get_partner_address(entry_details, ns, counter_party) + if partner_name: + notes.append(_('Counter Party: %(partner)s', partner=partner_name)) + if partner_address: + notes.append(_('Address:\n') + partner_address) + entry_vals['narration'] = "\n".join(notes) + + unique_import_set.add(entry_vals['unique_import_id']) + transactions.append(entry_vals) + + statement_vals['transactions'] = transactions + + # Start Balance + # any (OPBD, PRCD, ITBD): + # OPBD : Opening Balance + # PRCD : Previous Closing Balance + # ITBD : Interim Balance (in the case of preceeding pagination) + start_amount = float(statement.xpath("ns:Bal/ns:Tp/ns:CdOrPrtry[ns:Cd='OPBD' or ns:Cd='PRCD' or ns:Cd='ITBD' or ns:Cd='OPAV']/../../ns:Amt/text()", + namespaces=ns)[0]) + # Credit Or Debit Indicator 1..1 + sign = statement.xpath('ns:Bal/ns:CdtDbtInd/text()', namespaces=ns)[0] + if sign == 'DBIT': + start_amount *= -1 + statement_vals['balance_start'] = start_amount + # Ending Balance + # Statement Date + # 'CLBD', otherwise 'CLAV' + # CLBD : Closing Balance + # CLAV : Closing Available + end_amount = float((statement.xpath("ns:Bal/ns:Tp/ns:CdOrPrtry[ns:Cd='CLBD']/../../ns:Amt/text()", namespaces=ns) or statement.xpath("ns:Bal/ns:Tp/ns:CdOrPrtry[ns:Cd='CLAV']/../../ns:Amt/text()", namespaces=ns))[0]) + sign = (statement.xpath("ns:Bal/ns:Tp/ns:CdOrPrtry[ns:Cd='CLBD']/../../ns:CdtDbtInd/text()", namespaces=ns) or statement.xpath("ns:Bal/ns:Tp/ns:CdOrPrtry[ns:Cd='CLAV']/../../ns:CdtDbtInd/text()", namespaces=ns))[0] + if sign == 'DBIT': + end_amount *= -1 + statement_vals['balance_end_real'] = end_amount + + # Account Number 1..1 + # if not IBAN value then... would have. + account_no = statement.xpath('ns:Acct/ns:Id/ns:IBAN/text() | ns:Acct/ns:Id/ns:Othr/ns:Id/text()', namespaces=ns)[0] + + # Save statements and currency + statements_per_iban.setdefault(account_no, []).append(statement_vals) + currency_per_iban[account_no] = currency + + # If statements target multiple journals, returns thoses targeting the current journal + if len(statements_per_iban) > 1: + account_no = self.env['account.journal'].browse(self.env.context.get('journal_id')).bank_acc_number + _logger.warning("The following statements will not be imported because they are targeting another journal (current journal id: %s):\n- %s", + account_no, "\n- ".join("{}: {} statement(s)".format(iban, len(statements)) for iban, statements in statements_per_iban.items() if iban != account_no)) + if not account_no: + raise UserError(_("Please set the IBAN account on your bank journal.\n\nThis CAMT file is targeting several IBAN accounts but none match the current journal.")) + + # Otherwise, returns those from only account_no + statement_list = statements_per_iban.get(account_no, []) + currency = currency_per_iban.get(account_no) + return currency, account_no, statement_list diff --git a/odex25_accounting/odex25_account_bank_statement_import_csv/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_csv/__init__.py new file mode 100644 index 000000000..f17d5cfc4 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_csv/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + + +from . import models +from . import wizard diff --git a/odex25_accounting/odex25_account_bank_statement_import_csv/__manifest__.py b/odex25_accounting/odex25_account_bank_statement_import_csv/__manifest__.py new file mode 100644 index 000000000..083a61a15 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_csv/__manifest__.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + + +{ + 'name': 'Import CSV Bank Statement', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'version': '1.0', + 'description': ''' +Module to import CSV bank statements. +====================================== + +This module allows you to import CSV Files in Odoo: they are parsed and stored in human readable format in +Accounting \ Bank and Cash \ Bank Statements. + +Important Note +--------------------------------------------- +Because of the CSV format limitation, we cannot ensure the same transactions aren't imported several times or handle multicurrency. +Whenever possible, you should use a more appropriate file format like OFX. +''', + 'depends': ['odex25_account_bank_statement_import', 'base_import'], + 'data': [ + 'wizard/odex25_account_bank_statement_import_views.xml', + 'views/odex25_account_bank_statement_import_templates.xml', + ], + 'installable': True, + 'auto_install': True, + +} diff --git a/odex25_accounting/odex25_account_bank_statement_import_csv/i18n/ar.po b/odex25_accounting/odex25_account_bank_statement_import_csv/i18n/ar.po new file mode 100644 index 000000000..0d7a965f8 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_csv/i18n/ar.po @@ -0,0 +1,84 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_bank_statement_import_csv +# +# Translators: +# Mustafa Rawi , 2020 +# Osama Ahmaro , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:39+0000\n" +"PO-Revision-Date: 2020-09-07 08:17+0000\n" +"Last-Translator: Osama Ahmaro , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_bank_statement_import_csv +#: model:ir.model,name:odex25_account_bank_statement_import_csv.model_base_import_import +msgid "Base Import" +msgstr "الاستيراد الأساسي" + +#. module: odex25_account_bank_statement_import_csv +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import_csv.odex25_account_bank_statement_import_csv +msgid "Comma-Separated values (CSV)" +msgstr "" + +#. module: odex25_account_bank_statement_import_csv +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_csv.field_odex25_account_bank_statement_import__display_name +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_csv.field_account_journal__display_name +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_csv.field_base_import_import__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_bank_statement_import_csv +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_csv.field_odex25_account_bank_statement_import__id +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_csv.field_account_journal__id +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_csv.field_base_import_import__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_bank_statement_import_csv +#. openerp-web +#: code:addons/odex25_account_bank_statement_import_csv/static/src/js/import_bank_stmt.js:0 +#: model:ir.model,name:odex25_account_bank_statement_import_csv.model_odex25_account_bank_statement_import +#, python-format +msgid "Import Bank Statement" +msgstr "استيراد كشف حساب بنكي" + +#. module: odex25_account_bank_statement_import_csv +#: model:ir.model,name:odex25_account_bank_statement_import_csv.model_account_journal +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: odex25_account_bank_statement_import_csv +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_csv.field_odex25_account_bank_statement_import____last_update +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_csv.field_account_journal____last_update +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_csv.field_base_import_import____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_bank_statement_import_csv +#: code:addons/odex25_account_bank_statement_import_csv/wizard/odex25_account_bank_statement_import_csv.py:0 +#, python-format +msgid "Mixing CSV files with other file types is not allowed." +msgstr "" + +#. module: odex25_account_bank_statement_import_csv +#: code:addons/odex25_account_bank_statement_import_csv/wizard/odex25_account_bank_statement_import_csv.py:0 +#, python-format +msgid "Only one CSV file can be selected." +msgstr "" + +#. module: odex25_account_bank_statement_import_csv +#. openerp-web +#: code:addons/odex25_account_bank_statement_import_csv/static/src/js/import_bank_stmt.js:0 +#, python-format +msgid "Reconciliation on Bank Statements" +msgstr "التسوية على كشوفات الحسابات البنكية" diff --git a/odex25_accounting/odex25_account_bank_statement_import_csv/models/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_csv/models/__init__.py new file mode 100644 index 000000000..0c5073d1a --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_csv/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import account_journal \ No newline at end of file diff --git a/odex25_accounting/odex25_account_bank_statement_import_csv/models/account_journal.py b/odex25_accounting/odex25_account_bank_statement_import_csv/models/account_journal.py new file mode 100644 index 000000000..501dcc396 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_csv/models/account_journal.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- + + +from odoo import models + + +class AccountJournal(models.Model): + _inherit = 'account.journal' + + def _get_bank_statements_available_import_formats(self): + rslt = super(AccountJournal, self)._get_bank_statements_available_import_formats() + rslt.append('CSV') + return rslt diff --git a/odex25_accounting/odex25_account_bank_statement_import_csv/static/csv/account.bank.statement.csv b/odex25_accounting/odex25_account_bank_statement_import_csv/static/csv/account.bank.statement.csv new file mode 100644 index 000000000..b27f72166 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_csv/static/csv/account.bank.statement.csv @@ -0,0 +1,6 @@ +Date,Reference,Partner,Label,Amount,Amount Currency,Currency,Cumulative Balance +2017-05-10,INV/2017/0001,,#01,4610,,,4710 +2017-05-11,Payment bill 20170521,,#02,-100,,,4610 +2017-05-15,INV/2017/0003 discount 2% early payment,,#03,514.5,,,5124.5 +2017-05-30,INV/2017/0002 + INV/2017/0004,,#04,5260,,,10384.5 +2017-05-31,Payment bill EUR 001234565,,#05,-537.15,-500,EUR,9847.35 diff --git a/odex25_accounting/odex25_account_bank_statement_import_csv/static/description/icon.png b/odex25_accounting/odex25_account_bank_statement_import_csv/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWK + + + diff --git a/odex25_accounting/odex25_account_bank_statement_import_csv/wizard/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_csv/wizard/__init__.py new file mode 100644 index 000000000..ef9a9a457 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_csv/wizard/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import odex25_account_bank_statement_import_csv diff --git a/odex25_accounting/odex25_account_bank_statement_import_csv/wizard/odex25_account_bank_statement_import_csv.py b/odex25_accounting/odex25_account_bank_statement_import_csv/wizard/odex25_account_bank_statement_import_csv.py new file mode 100644 index 000000000..3cdd5b4e0 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_csv/wizard/odex25_account_bank_statement_import_csv.py @@ -0,0 +1,177 @@ +# -*- coding: utf-8 -*- + + +import base64 +import psycopg2 + +from odoo import _, api, models +from odoo.exceptions import UserError + + +class AccountBankStatementImport(models.TransientModel): + _inherit = "account.bank.statement.import" + + def _check_csv(self, filename): + return filename and filename.lower().strip().endswith('.csv') + + def import_file(self): + # In case of CSV files, only one file can be imported at a time. + if len(self.attachment_ids) > 1: + csv = [bool(self._check_csv(att.name)) for att in self.attachment_ids] + if True in csv and False in csv: + raise UserError(_('Mixing CSV files with other file types is not allowed.')) + if csv.count(True) > 1: + raise UserError(_('Only one CSV file can be selected.')) + return super(AccountBankStatementImport, self).import_file() + + if not self._check_csv(self.attachment_ids.name): + return super(AccountBankStatementImport, self).import_file() + ctx = dict(self.env.context) + import_wizard = self.env['base_import.import'].create({ + 'res_model': 'account.bank.statement.line', + 'file': base64.b64decode(self.attachment_ids.datas), + 'file_name': self.attachment_ids.name, + 'file_type': 'text/csv' + }) + ctx['wizard_id'] = import_wizard.id + return { + 'type': 'ir.actions.client', + 'tag': 'import_bank_stmt', + 'params': { + 'model': 'account.bank.statement.line', + 'context': ctx, + 'filename': self.attachment_ids.name, + } + } + + +class AccountBankStmtImportCSV(models.TransientModel): + + _inherit = 'base_import.import' + + @api.model + def get_fields(self, model, depth=2): + fields_list = super(AccountBankStmtImportCSV, self).get_fields(model, depth=depth) + if self._context.get('bank_stmt_import', False): + add_fields = [{ + 'id': 'balance', + 'name': 'balance', + 'string': 'Cumulative Balance', + 'required': False, + 'fields': [], + 'type': 'monetary', + }, { + 'id': 'debit', + 'name': 'debit', + 'string': 'Debit', + 'required': False, + 'fields': [], + 'type': 'monetary', + }, { + 'id': 'credit', + 'name': 'credit', + 'string': 'Credit', + 'required': False, + 'fields': [], + 'type': 'monetary', + }] + fields_list.extend(add_fields) + return fields_list + + def _convert_to_float(self, value): + return float(value) if value else 0.0 + + def _parse_import_data(self, data, import_fields, options): + data = super(AccountBankStmtImportCSV, self)._parse_import_data(data, import_fields, options) + statement_id = self._context.get('bank_statement_id', False) + if not statement_id: + return data + statement = self.env['account.bank.statement'].browse(statement_id) + company_currency_name = statement.company_id.currency_id.name + ret_data = [] + + vals = {} + import_fields.append('statement_id/.id') + import_fields.append('sequence') + index_balance = False + convert_to_amount = False + if 'debit' in import_fields and 'credit' in import_fields: + index_debit = import_fields.index('debit') + index_credit = import_fields.index('credit') + self._parse_float_from_data(data, index_debit, 'debit', options) + self._parse_float_from_data(data, index_credit, 'credit', options) + import_fields.append('amount') + convert_to_amount = True + # add starting balance and ending balance to context + if 'balance' in import_fields: + index_balance = import_fields.index('balance') + self._parse_float_from_data(data, index_balance, 'balance', options) + vals['balance_start'] = self._convert_to_float(data[0][index_balance]) + vals['balance_start'] -= self._convert_to_float(data[0][import_fields.index('amount')]) \ + if not convert_to_amount \ + else abs(self._convert_to_float(data[0][index_credit]))-abs(self._convert_to_float(data[0][index_debit])) + vals['balance_end_real'] = data[len(data)-1][index_balance] + import_fields.remove('balance') + # Remove debit/credit field from import_fields + if convert_to_amount: + import_fields.remove('debit') + import_fields.remove('credit') + + currency_index = 'currency_id' in import_fields and import_fields.index('currency_id') or False + for index, line in enumerate(data): + line.append(statement_id) + line.append(index) + remove_index = [] + if convert_to_amount: + line.append( + abs(self._convert_to_float(line[index_credit])) + - abs(self._convert_to_float(line[index_debit])) + ) + remove_index.extend([index_debit, index_credit]) + if index_balance: + remove_index.append(index_balance) + # Remove added field debit/credit/balance + for index in sorted(remove_index, reverse=True): + line.remove(line[index]) + if line[import_fields.index('amount')]: + ret_data.append(line) + # Don't set the currency_id on statement line if the currency is the same as the company one. + if currency_index is not False and line[currency_index] == company_currency_name: + line[currency_index] = False + if 'date' in import_fields: + vals['date'] = data[len(data)-1][import_fields.index('date')] + + # add starting balance and date if there is one set in fields + if vals: + statement.write(vals) + return ret_data + + def parse_preview(self, options, count=10): + if options.get('bank_stmt_import', False): + self = self.with_context(bank_stmt_import=True) + return super(AccountBankStmtImportCSV, self).parse_preview(options, count=count) + + def do(self, fields, columns, options, dryrun=False): + if options.get('bank_stmt_import', False): + self._cr.execute('SAVEPOINT import_bank_stmt') + vals = { + 'journal_id': self._context.get('journal_id', False), + 'reference': self.file_name + } + statement = self.env['account.bank.statement'].create(vals) + res = super(AccountBankStmtImportCSV, self.with_context(bank_statement_id=statement.id)).do(fields, columns, options, dryrun=dryrun) + + try: + if dryrun: + self._cr.execute('ROLLBACK TO SAVEPOINT import_bank_stmt') + else: + self._cr.execute('RELEASE SAVEPOINT import_bank_stmt') + res['messages'].append({ + 'statement_id': statement.id, + 'type': 'bank_statement' + }) + except psycopg2.InternalError: + pass + return res + else: + return super(AccountBankStmtImportCSV, self).do(fields, columns, options, dryrun=dryrun) diff --git a/odex25_accounting/odex25_account_bank_statement_import_csv/wizard/odex25_account_bank_statement_import_views.xml b/odex25_accounting/odex25_account_bank_statement_import_csv/wizard/odex25_account_bank_statement_import_views.xml new file mode 100644 index 000000000..50586e0c5 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_csv/wizard/odex25_account_bank_statement_import_views.xml @@ -0,0 +1,13 @@ + + + + Upload Bank Statements CSV + account.bank.statement.import + + + +
      1. Comma-Separated values (CSV)
      2. +
        +
        +
        +
        diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_ofx/__init__.py new file mode 100644 index 000000000..f17d5cfc4 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_ofx/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + + +from . import models +from . import wizard diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/__manifest__.py b/odex25_accounting/odex25_account_bank_statement_import_ofx/__manifest__.py new file mode 100644 index 000000000..ed40181a8 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_ofx/__manifest__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- + + +{ + 'name': 'Import OFX Bank Statement', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'version': '1.0', + 'depends': ['odex25_account_bank_statement_import'], + 'description': """ +Module to import OFX bank statements. +====================================== + +This module allows you to import the machine readable OFX Files in Odoo: they are parsed and stored in human readable format in +Accounting \ Bank and Cash \ Bank Statements. + +Bank Statements may be generated containing a subset of the OFX information (only those transaction lines that are required for the +creation of the Financial Accounting records). + """, + 'data': [ + 'wizard/odex25_account_bank_statement_import_views.xml', + ], + 'installable': True, + 'auto_install': True, + +} diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/i18n/ar.po b/odex25_accounting/odex25_account_bank_statement_import_ofx/i18n/ar.po new file mode 100644 index 000000000..0034df52b --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_ofx/i18n/ar.po @@ -0,0 +1,60 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_bank_statement_import_ofx +# +# Translators: +# Mustafa Rawi , 2020 +# Osama Ahmaro , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:39+0000\n" +"PO-Revision-Date: 2020-09-07 08:17+0000\n" +"Last-Translator: Osama Ahmaro , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_bank_statement_import_ofx +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_ofx.field_odex25_account_bank_statement_import__display_name +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_ofx.field_account_journal__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_bank_statement_import_ofx +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_ofx.field_odex25_account_bank_statement_import__id +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_ofx.field_account_journal__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_bank_statement_import_ofx +#: model:ir.model,name:odex25_account_bank_statement_import_ofx.model_odex25_account_bank_statement_import +msgid "Import Bank Statement" +msgstr "استيراد كشف حساب بنكي" + +#. module: odex25_account_bank_statement_import_ofx +#: model:ir.model,name:odex25_account_bank_statement_import_ofx.model_account_journal +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: odex25_account_bank_statement_import_ofx +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_ofx.field_odex25_account_bank_statement_import____last_update +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_ofx.field_account_journal____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_bank_statement_import_ofx +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import_ofx.odex25_account_bank_statement_import_ofx +msgid "Open Financial Exchange (OFX)" +msgstr "" + +#. module: odex25_account_bank_statement_import_ofx +#: code:addons/odex25_account_bank_statement_import_ofx/wizard/odex25_account_bank_statement_import_ofx.py:0 +#, python-format +msgid "The library 'ofxparse' is missing, OFX import cannot proceed." +msgstr "المكتبة 'ofxparse' غير مثبتة، لن يمكن استيراد ملفات OFX بدونها." diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/models/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_ofx/models/__init__.py new file mode 100644 index 000000000..0c5073d1a --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_ofx/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import account_journal \ No newline at end of file diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/models/account_journal.py b/odex25_accounting/odex25_account_bank_statement_import_ofx/models/account_journal.py new file mode 100644 index 000000000..0421065a9 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_ofx/models/account_journal.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- + + +from odoo import models + + +class AccountJournal(models.Model): + _inherit = 'account.journal' + + def _get_bank_statements_available_import_formats(self): + rslt = super(AccountJournal, self)._get_bank_statements_available_import_formats() + rslt.append('OFX') + return rslt diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/static/description/icon.png b/odex25_accounting/odex25_account_bank_statement_import_ofx/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ab61e2f37d7bfe383f5a336e323952ae919b5a76 GIT binary patch literal 3310 zcmeH}=Q|q;8^#m6QAf<85u^5ArR}k6#1^wgg;Z=+1T|ZuXoVUjf{LxQv}mm!V$`Tv zd(|o$f*O?wE#97g)KyhGcRj>9l6|(W|-D=^sCT znP%i|WJY{UO8KW1`{o&LswekTQ0#1X*UQGH(V6m=!SMoW+(}gN*0!)xYUYK*zct%YKZX-o9%rz+0zK$YS|)F zmJoYwBZU1#c-Au7`LjhBN}l`j&gw@BE}BBz2?ngBw$%xI%+??39q^cxmUx-*xNe+~pv{=Y_4Q3v{>>daxAg7D z>yY%@GyusS(9u`R*{r?|LuA=ow4OC7lxX+v3Pue9y&f7lQBO>DS$^QN-I-xFWAPi) zICar{VfMRC*30)~dMZTnLqjr{y*hsje4wRqXNtVC)+}t(mhJPkfk?Q3jJUuw!Z_35 zj~b_fJbqqQG-W`puTY-Hh!5wQ^sJR6O%l%X+u~{LFDL^IDaYy{!3q!O{B^ICg$|GY zrKtS+S)Vg$vcIID=Gkg>VGh?Mfi91{;CD8CvA8%#UP(GVSxnRnXxz;=)JjEh2pJ3V zOukELWdiVxe(g0GCs;>9`5&I*yHq==V0{fZ3{_;=&x)y(a~k&OZ#FL1Q6UlF$3Q`& zMZIWHK+y={sum|b3H3?tSp-vSy85U0oVri12Q=^onFKzYo6f7p-s)WeKQV8uZSb_LZr{T z8R?vMZk~TN@YOeoiC$aI%iDQ$KK-)!F7~j2z3~Sh8JOn3u`CafCU`k19VIz=&iqPA zJ(h=rC!MEEI4eXaAmxOT+~C4-*vulw;_)uJ%`|#Yfe#eU;>2{#e*My+tfkdH#Wn(Z zNQ7)j=ElrF23s%*J7a1SWvbHNa%n5gXK|{`nP3NGxKOp0dU_%bjfx^=()vnCC9M=& zQ#E%~MyK4*xy;pmth8+3wfy`wYZWav+uYlx?mZ`ETmCx&? zM3bnsge8}IJMTH1T3qWCTbyu(>3qy9pJk^~24vlyZ_a+JK9r3?8#=b?;N}1lcBVa^ z1>R<{oO~>azGU?M#bGdO;P)pQ{JJOaXgGZr=z=Wj;XU|qCnAmw0a1tJ^@ZJq0SPwh zT=MY2jBH?e(ew+{vktg}$Vy5y+w!e7%!fD5M}F$pt}nFaK$WHu$X7pW{c4(M56@3C zhw|30J1GgCp0o`L3&`(tLBz>WH|5K;k6CkIRNYE_HefEMo295vavWCgqDeT$)cNf{ z$rQwXqDSZ44l=cjW%l;&sCXC}n0-mmDWnn3#4>_YxgRlMNqJ001lpzjh=#N$*Q*$^0E>2Mb7li3!tz+78t_Fj8qJgyUqvgU(F#Z{sFjWWVwZ&rKy zNfEAam)q1kS_|3?#g+?K{L(Gpu@H9`b|$Upu-`WuDqE^uqd_j+w2M<|hrx=F`{kWw zu5vWOZb*~h_rxtaT!Ds=-&sq&~grH|=Cp$3)y;e#S|+fBRF4fiN}%>`^u z#1T^dwOv9d*0N(IMf`!AQr(NE3c1mgwyKDq#+;<1>?b>pYz&Cx$DPQk zkzCWlCr|9ggX3%*yniKSdC>u>BJh43dNj9pap!!_9>Jf7ci`$Dd1G;2_WcxS=OC7> zDp$PH+C}}QBXz05x^&g}=GccHyRx83CBG_zsVSE2kF>J(0`;VJ*T4p6i9ghuHg}`~ zt!7K>_}9Ag(#A=8h{)LIOV_{W)P1#+ke6@wRt;04W`oI~KL0F1X79tRo_d_bB!w-BruF$nUu*9&X=RNq0pluJj=A57r zSN5|Y-}ZoS-xfP0?xR%G*zUKTQ#kYZ?GgE%I+oFx3IY~SwB2f-gjkuk>S+4pHIuUs zrnFooMhdVw$c>RuLsm(bmDh2-SHzNp7!ZQ7+X^npuW{u?&@rMAP2rHvXpRSuf7sUI zkoshBaE2a!!MonR*<``NexR+m)8xt!t*tFVwm#5Z?bj(ypE;vDQ=H62Pv#&VIs~~m z(KfzoY%8^WFUR_M + + + + + + 0 + INFO + + 20130831165153.000[-8:PST] + ENG + + + + + 0 + + 0 + INFO + + + USD + + 000000123 + 123456 + CHECKING + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -80 + 219378 + Norbert Brant + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -90 + 219379 + China Export + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -100 + 219380 + Axelor Scuba + + + + 20130801 + 20130831165153.000[-8:PST] + + POS + 20130824080000 + -90 + 219381 + China Scuba + + + + 2156.56 + 20130831165153 + + + + + + + 0 + + 0 + INFO + + + USD + + 123456 + + + + + -562.00 + 20130831165153 + + + + + diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/tests/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_ofx/tests/__init__.py new file mode 100644 index 000000000..a1f586b56 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_ofx/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import test_import_bank_statement diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/tests/test_import_bank_statement.py b/odex25_accounting/odex25_account_bank_statement_import_ofx/tests/test_import_bank_statement.py new file mode 100644 index 000000000..a261d9b40 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_ofx/tests/test_import_bank_statement.py @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- + +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo.tests import tagged +from odoo.modules.module import get_module_resource + +import base64 + + +@tagged('post_install', '-at_install') +class TestAccountBankStatementImportOFX(AccountTestInvoicingCommon): + + def test_ofx_file_import(self): + bank_journal = self.env['account.journal'].create({ + 'name': 'Bank 123456', + 'code': 'BNK67', + 'type': 'bank', + 'bank_acc_number': '123456', + 'currency_id': self.env.ref('base.USD').id, + }) + + partner_norbert = self.env['res.partner'].create({ + 'name': 'Norbert Brant', + 'is_company': True, + }) + bank_norbert = self.env['res.bank'].create({'name': 'test'}) + partner_bank_norbert = self.env['res.partner.bank'].create({ + 'acc_number': 'BE93999574162167', + 'partner_id': partner_norbert.id, + 'bank_id': bank_norbert.id, + }) + + # Get OFX file content + ofx_file_path = get_module_resource('odex25_account_bank_statement_import_ofx', 'static/ofx', 'test_ofx.ofx') + ofx_file = base64.b64encode(open(ofx_file_path, 'rb').read()) + + # Use an import wizard to process the file + self.env['account.bank.statement.import']\ + .with_context(journal_id=bank_journal.id)\ + .create({'attachment_ids': [(0, 0, {'name': 'test_ofx.ofx', 'datas': ofx_file})]})\ + .import_file() + + # Check the imported bank statement + imported_statement = self.env['account.bank.statement'].search([('company_id', '=', self.env.company.id)]) + self.assertRecordValues(imported_statement, [{ + 'reference': 'test_ofx.ofx', + 'balance_start': 2516.56, + 'balance_end_real': 2156.56, + }]) + self.assertRecordValues(imported_statement.line_ids.sorted('payment_ref'), [ + { + 'payment_ref': 'Axelor Scuba', + 'amount': -100.0, + 'partner_id': False, + 'partner_bank_id': False, + }, + { + 'payment_ref': 'China Export', + 'amount': -90.0, + 'partner_id': False, + 'partner_bank_id': False, + }, + { + 'payment_ref': 'China Scuba', + 'amount': -90.0, + 'partner_id': False, + 'partner_bank_id': False, + }, + { + 'payment_ref': partner_norbert.name, + 'amount': -80.0, + 'partner_id': partner_norbert.id, + 'partner_bank_id': partner_bank_norbert.id, + }, + ]) diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/__init__.py new file mode 100644 index 000000000..1965e9921 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import odex25_account_bank_statement_import_ofx diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/odex25_account_bank_statement_import_ofx.py b/odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/odex25_account_bank_statement_import_ofx.py new file mode 100644 index 000000000..141beccc0 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/odex25_account_bank_statement_import_ofx.py @@ -0,0 +1,164 @@ +# -*- coding: utf-8 -*- + + +import datetime +import io +import logging +import re +import unicodedata +from xml.etree import ElementTree + +try: + from ofxparse import OfxParser + from ofxparse.ofxparse import OfxParserException + OfxParserClass = OfxParser +except ImportError: + logging.getLogger(__name__).warning("The ofxparse python library is not installed, ofx import will not work.") + OfxParser = OfxParserException = None + OfxParserClass = object + +from odoo import models, _ +from odoo.exceptions import UserError + + +class PatchedOfxParser(OfxParserClass): + """ This class monkey-patches the ofxparse library in order to fix the following known bug: ',' is a valid + decimal separator for amounts, as we can encounter in ofx files made by european banks. + """ + + @classmethod + def decimal_separator_cleanup(cls_, tag): + if hasattr(tag, "contents"): + tag.string = tag.contents[0].replace(',', '.') + + @classmethod + def parseStatement(cls_, stmt_ofx): + ledger_bal_tag = stmt_ofx.find('ledgerbal') + if hasattr(ledger_bal_tag, "contents"): + balamt_tag = ledger_bal_tag.find('balamt') + cls_.decimal_separator_cleanup(balamt_tag) + avail_bal_tag = stmt_ofx.find('availbal') + if hasattr(avail_bal_tag, "contents"): + balamt_tag = avail_bal_tag.find('balamt') + cls_.decimal_separator_cleanup(balamt_tag) + return super(PatchedOfxParser, cls_).parseStatement(stmt_ofx) + + @classmethod + def parseTransaction(cls_, txn_ofx): + amt_tag = txn_ofx.find('trnamt') + cls_.decimal_separator_cleanup(amt_tag) + return super(PatchedOfxParser, cls_).parseTransaction(txn_ofx) + + @classmethod + def parseInvestmentPosition(cls_, ofx): + tag = ofx.find('units') + cls_.decimal_separator_cleanup(tag) + tag = ofx.find('unitprice') + cls_.decimal_separator_cleanup(tag) + return super(PatchedOfxParser, cls_).parseInvestmentPosition(ofx) + + @classmethod + def parseInvestmentTransaction(cls_, ofx): + tag = ofx.find('units') + cls_.decimal_separator_cleanup(tag) + tag = ofx.find('unitprice') + cls_.decimal_separator_cleanup(tag) + return super(PatchedOfxParser, cls_).parseInvestmentTransaction(ofx) + + @classmethod + def parseOfxDateTime(cls_, ofxDateTime): + res = re.search("^[0-9]*\.([0-9]{0,5})", ofxDateTime) + if res: + msec = datetime.timedelta(seconds=float("0." + res.group(1))) + else: + msec = datetime.timedelta(seconds=0) + + # Some banks seem to return some OFX dates as YYYY-MM-DD; so we remove + # the '-' characters to support them as well + ofxDateTime = ofxDateTime.replace('-', '') + + try: + local_date = datetime.datetime.strptime( + ofxDateTime[:14], '%Y%m%d%H%M%S' + ) + return local_date + msec + except: + if ofxDateTime[:8] == "00000000": + return None + + return datetime.datetime.strptime( + ofxDateTime[:8], '%Y%m%d') + msec + + +class AccountBankStatementImport(models.TransientModel): + _inherit = 'account.bank.statement.import' + + def _check_ofx(self, data_file): + if data_file.startswith(b"OFXHEADER"): + #v1 OFX + return True + try: + #v2 OFX + return b"" in data_file.lower() + except ElementTree.ParseError: + return False + + def _parse_file(self, data_file): + if not self._check_ofx(data_file): + return super(AccountBankStatementImport, self)._parse_file(data_file) + if OfxParser is None: + raise UserError(_("The library 'ofxparse' is missing, OFX import cannot proceed.")) + + try: + ofx = PatchedOfxParser.parse(io.BytesIO(data_file)) + except UnicodeDecodeError: + # Replacing utf-8 chars with ascii equivalent + encoding = re.findall(b'encoding="(.*?)"', data_file) + encoding = encoding[0] if len(encoding) > 1 else 'utf-8' + data_file = unicodedata.normalize('NFKD', data_file.decode(encoding)).encode('ascii', 'ignore') + ofx = PatchedOfxParser.parse(io.BytesIO(data_file)) + vals_bank_statement = [] + account_lst = set() + currency_lst = set() + for account in ofx.accounts: + account_lst.add(account.number) + currency_lst.add(account.statement.currency) + transactions = [] + total_amt = 0.00 + for transaction in account.statement.transactions: + # Since ofxparse doesn't provide account numbers, we'll have to find res.partner and res.partner.bank here + # (normal behaviour is to provide 'account_number', which the generic module uses to find partner/bank) + bank_account_id = partner_id = False + partner_bank = self.env['res.partner.bank'].search([('partner_id.name', '=', transaction.payee)], limit=1) + if partner_bank: + bank_account_id = partner_bank.id + partner_id = partner_bank.partner_id.id + vals_line = { + 'date': transaction.date, + 'payment_ref': transaction.payee + (transaction.memo and ': ' + transaction.memo or ''), + 'ref': transaction.id, + 'amount': float(transaction.amount), + 'unique_import_id': transaction.id, + 'partner_bank_id': bank_account_id, + 'partner_id': partner_id, + 'sequence': len(transactions) + 1, + } + total_amt += float(transaction.amount) + transactions.append(vals_line) + + vals_bank_statement.append({ + 'transactions': transactions, + # WARNING: the provided ledger balance is not necessarily the ending balance of the statement + # see https://github.com/odoo/odoo/issues/3003 + 'balance_start': float(account.statement.balance) - total_amt, + 'balance_end_real': account.statement.balance, + }) + + if account_lst and len(account_lst) == 1: + account_lst = account_lst.pop() + currency_lst = currency_lst.pop() + else: + account_lst = None + currency_lst = None + + return currency_lst, account_lst, vals_bank_statement diff --git a/odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/odex25_account_bank_statement_import_views.xml b/odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/odex25_account_bank_statement_import_views.xml new file mode 100644 index 000000000..a926e1806 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_ofx/wizard/odex25_account_bank_statement_import_views.xml @@ -0,0 +1,13 @@ + + + + Upload Bank Statements OFX + account.bank.statement.import + + + +
      3. Open Financial Exchange (OFX)
      4. +
        +
        +
        +
        diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_qif/__init__.py new file mode 100644 index 000000000..f17d5cfc4 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + + +from . import models +from . import wizard diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/__manifest__.py b/odex25_accounting/odex25_account_bank_statement_import_qif/__manifest__.py new file mode 100644 index 000000000..6d76f1e97 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/__manifest__.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + + +{ + 'name': 'Import QIF Bank Statement', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'version': '1.0', + 'description': ''' +Module to import QIF bank statements. +====================================== + +This module allows you to import the machine readable QIF Files in Odoo: they are parsed and stored in human readable format in +Accounting \ Bank and Cash \ Bank Statements. + +Important Note +--------------------------------------------- +Because of the QIF format limitation, we cannot ensure the same transactions aren't imported several times or handle multicurrency. +Whenever possible, you should use a more appropriate file format like OFX. +''', + 'depends': ['odex25_account_bank_statement_import'], + 'data': [ + 'wizard/odex25_account_bank_statement_import_views.xml', + ], + 'installable': True, + 'auto_install': False, + +} diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/i18n/ar.po b/odex25_accounting/odex25_account_bank_statement_import_qif/i18n/ar.po new file mode 100644 index 000000000..77929225c --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/i18n/ar.po @@ -0,0 +1,157 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_bank_statement_import_qif +# +# Translators: +# Mustafa Rawi , 2020 +# Martin Trigaux, 2020 +# Osama Ahmaro , 2020 +# Islam Eldeeb , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:39+0000\n" +"PO-Revision-Date: 2020-09-07 08:17+0000\n" +"Last-Translator: Islam Eldeeb , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,help:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__journal_id +msgid "" +"Accounting journal related to the bank statement you're importing. It has to" +" be manually chosen for statement formats which doesn't allow automatic " +"journal detection (QIF for example)." +msgstr "" +"دفتر اليومية المحاسبية المقترن بكشف الحساب البنكي الذي تقوم باستيراده. يجب " +"أن يتم اختياره يدويًا لأن بعض صيغ كشوفات الحساب لا تسمح بالكشف عن دفتر " +"اليومية آلياً (ملفات QIF مثلًا)." + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,help:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__qif_date_format +msgid "" +"Although the historic QIF date format is month-first (mm/dd/yy), many " +"financial institutions use the local format.Therefore, it is frequent " +"outside the US to have QIF date formated day-first (dd/mm/yy)." +msgstr "" +"بالرغم من أن نظام تنسيق التواريخ المعتاد بملفات QIF هو البدء بالشهر " +"(شهر/يوم/سنة)، إلا أن مؤسسات مالية عديدة تستخدم التنسيق المتعارف عليه " +"محلياً. لذا، كثيرًا ما يُضبط تنسيق التواريخ بملفات QIF خارج الولايات المتحدة" +" الأمريكية ليكون بنظام البدء باليوم (يوم/شهر/سنة)." + +#. module: odex25_account_bank_statement_import_qif +#: code:addons/odex25_account_bank_statement_import_qif/wizard/odex25_account_bank_statement_import_qif.py:0 +#, python-format +msgid "Could not decipher the QIF file." +msgstr "لم يمكن فهم محتويات ملف QIF." + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__qif_date_format +msgid "Dates format" +msgstr "تنسيق التواريخ" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__qif_decimal_point +msgid "Decimal Separator" +msgstr "فاصل الخانات العشرية" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__display_name +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_account_journal__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,help:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__qif_decimal_point +msgid "Field used to avoid conversion issues." +msgstr "" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__hide_journal_field +msgid "Hide the journal field in the view" +msgstr "إخفاء حقل دفتر اليومية من الواجهة" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__id +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_account_journal__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model,name:odex25_account_bank_statement_import_qif.model_odex25_account_bank_statement_import +msgid "Import Bank Statement" +msgstr "استيراد كشف حساب بنكي" + +#. module: odex25_account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import_qif.odex25_account_bank_statement_import_view_inherited +msgid "" +"In order to avoid conversion errors, please specify the decimal separator " +"you wish to use." +msgstr "" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model,name:odex25_account_bank_statement_import_qif.model_account_journal +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__journal_id +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import____last_update +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_account_journal____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import_qif.odex25_account_bank_statement_import_qif +msgid "Quicken Interchange Format (QIF)" +msgstr "" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,field_description:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__show_qif_date_format +msgid "Show Qif Date Format" +msgstr "إظهار تنسيق تواريخ QIF" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields,help:odex25_account_bank_statement_import_qif.field_odex25_account_bank_statement_import__show_qif_date_format +msgid "" +"Technical field used to ask the user for the date format used in the QIF " +"file, as this format is ambiguous." +msgstr "" +"حقل تقني يُستخدم لسؤال المستخدم عن تنسيق التاريخ المستخدم فى ملفات QIF، لأن " +"هذه الصيغة مبهمة." + +#. module: odex25_account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import_qif.odex25_account_bank_statement_import_view_inherited +msgid "" +"The QIF format is ambiguous about dates: please check with your financial " +"institution whether they format it with month or day first.
        " +msgstr "" +"صيغة QIF مبهمة فيما يتعلق بالتواريخ: برجاء مراجعة مؤسستك المالية لمعرفة ما " +"إن كان تنسيق التواريخ يبدأ بالشهر أم باليوم.
        " + +#. module: odex25_account_bank_statement_import_qif +#: code:addons/odex25_account_bank_statement_import_qif/wizard/odex25_account_bank_statement_import_qif.py:0 +#, python-format +msgid "This file is either not a bank statement or is not correctly formed." +msgstr "إما أن هذا الملف ليس كشف حساب أو لم يتم تكوينه بشكل صحيح." + +#. module: odex25_account_bank_statement_import_qif +#: model_terms:ir.ui.view,arch_db:odex25_account_bank_statement_import_qif.odex25_account_bank_statement_import_view_inherited +msgid "Upload" +msgstr "رفع" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields.selection,name:odex25_account_bank_statement_import_qif.selection__odex25_account_bank_statement_import__qif_date_format__day_first +msgid "dd/mm/yy" +msgstr "يوم/شهر/سنة" + +#. module: odex25_account_bank_statement_import_qif +#: model:ir.model.fields.selection,name:odex25_account_bank_statement_import_qif.selection__odex25_account_bank_statement_import__qif_date_format__month_first +msgid "mm/dd/yy" +msgstr "شهر/يوم/ سنة" diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/models/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_qif/models/__init__.py new file mode 100644 index 000000000..0c5073d1a --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import account_journal \ No newline at end of file diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/models/account_journal.py b/odex25_accounting/odex25_account_bank_statement_import_qif/models/account_journal.py new file mode 100644 index 000000000..e252ac089 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/models/account_journal.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- + + +from odoo import models + + +class AccountJournal(models.Model): + _inherit = 'account.journal' + + def _get_bank_statements_available_import_formats(self): + rslt = super(AccountJournal, self)._get_bank_statements_available_import_formats() + rslt.append('QIF') + return rslt diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/static/description/icon.png b/odex25_accounting/odex25_account_bank_statement_import_qif/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d581214729c4f2041a2c906bce94b5e986bb044d GIT binary patch literal 3297 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 literal 0 HcmV?d00001 diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/static/qif/test_qif.qif b/odex25_accounting/odex25_account_bank_statement_import_qif/static/qif/test_qif.qif new file mode 100644 index 000000000..5388e6dae --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/static/qif/test_qif.qif @@ -0,0 +1,21 @@ +!Type:Bank +D8/12/13 +T-1,000.00 +PDelta PC +^ +D8/15/13 +T-75.46 +PWalts Drugs +^ +D3/3/13 +T-379.00 +PEpic Technologies +^ +D3/4/13 +T-20.28 +PYOUR LOCAL SUPERMARKET +^ +D3/3/13 +T-421.35 +PSPRINGFIELD WATER UTILITY +^ diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/tests/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_qif/tests/__init__.py new file mode 100644 index 000000000..a1f586b56 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/tests/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import test_import_bank_statement diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/tests/test_import_bank_statement.py b/odex25_accounting/odex25_account_bank_statement_import_qif/tests/test_import_bank_statement.py new file mode 100644 index 000000000..4bf24e6b7 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/tests/test_import_bank_statement.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- + +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo.tests import tagged +from odoo.modules.module import get_module_resource + +import base64 + + +@tagged('post_install', '-at_install') +class TestAccountBankStatementImportQIF(AccountTestInvoicingCommon): + + def test_qif_file_import(self): + bank_journal = self.env['account.journal'].create({ + 'name': 'bank QIF', + 'code': 'BNK67', + 'type': 'bank', + 'bank_acc_number': '123456', + 'currency_id': self.env.ref('base.USD').id, + }) + + qif_file_path = get_module_resource('odex25_account_bank_statement_import_qif', 'static/qif', 'test_qif.qif') + qif_file = base64.b64encode(open(qif_file_path, 'rb').read()) + + self.env['account.bank.statement.import']\ + .with_context(journal_id=bank_journal.id)\ + .create({'attachment_ids': [(0, 0, {'name': 'test file', 'datas': qif_file})]})\ + .import_file() + + imported_statement = self.env['account.bank.statement'].search([('company_id', '=', self.env.company.id)]) + self.assertRecordValues(imported_statement, [{ + 'balance_start': 0.0, + 'balance_end_real': -1896.09, + }]) + self.assertRecordValues(imported_statement.line_ids.sorted('payment_ref'), [ + {'amount': -1000.00, 'payment_ref': 'Delta PC'}, + {'amount': -379.00, 'payment_ref': 'Epic Technologies'}, + {'amount': -421.35, 'payment_ref': 'SPRINGFIELD WATER UTILITY'}, + {'amount': -75.46, 'payment_ref': 'Walts Drugs'}, + {'amount': -20.28, 'payment_ref': 'YOUR LOCAL SUPERMARKET'}, + ]) diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/wizard/__init__.py b/odex25_accounting/odex25_account_bank_statement_import_qif/wizard/__init__.py new file mode 100644 index 000000000..f435e270f --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/wizard/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import odex25_account_bank_statement_import_qif diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/wizard/odex25_account_bank_statement_import_qif.py b/odex25_accounting/odex25_account_bank_statement_import_qif/wizard/odex25_account_bank_statement_import_qif.py new file mode 100644 index 000000000..73788102f --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/wizard/odex25_account_bank_statement_import_qif.py @@ -0,0 +1,119 @@ +# -*- coding: utf-8 -*- + + +import base64 +import io +import logging + +import dateutil.parser + +from odoo import api, fields, models, _ +from odoo.exceptions import UserError + + +logger = logging.getLogger(__name__) +class AccountBankStatementImport(models.TransientModel): + _inherit = "account.bank.statement.import" + + def _get_hide_journal_field(self): + return self.env.context and 'journal_id' in self.env.context or False + + journal_id = fields.Many2one('account.journal', string='Journal', + help="Accounting journal related to the bank statement you're importing. It has to be manually chosen " + "for statement formats which doesn't allow automatic journal detection (QIF for example).") + hide_journal_field = fields.Boolean(string='Hide the journal field in the view', default=_get_hide_journal_field) + qif_decimal_point = fields.Char(string="Decimal Separator", default='.', + help="Field used to avoid conversion issues.") + + show_qif_date_format = fields.Boolean(default=False, store=False, + help="Technical field used to ask the user for the date format used in the QIF file, as this format is ambiguous.") + qif_date_format = fields.Selection([('month_first', "mm/dd/yy"), ('day_first', "dd/mm/yy")], string='Dates format', required=True, store=False, + help="Although the historic QIF date format is month-first (mm/dd/yy), many financial institutions use the local format." + "Therefore, it is frequent outside the US to have QIF date formated day-first (dd/mm/yy).") + + @api.onchange('attachment_ids') + def _onchange_data_file(self): + file_contents = self.attachment_ids.mapped('datas') + self.show_qif_date_format = any(self._check_qif(base64.b64decode(content)) for content in file_contents) + + def _find_additional_data(self, *args): + """ As .QIF format does not allow us to detect the journal, we need to let the user choose it. + We set it in context in the same way it's done when calling the import action from a journal. + """ + if self.journal_id: + self.env.context = dict(self.env.context, journal_id=self.journal_id.id) + return super(AccountBankStatementImport, self)._find_additional_data(*args) + + def _check_qif(self, data_file): + return data_file.strip().startswith(b'!Type:') + + def _parse_file(self, data_file): + if not self._check_qif(data_file): + return super(AccountBankStatementImport, self)._parse_file(data_file) + + data_list = [ + line.rstrip(b'\r\n') + for line in io.BytesIO(data_file) + ] + try: + header = data_list[0].strip().split(b':')[1] + except: + raise UserError(_('Could not decipher the QIF file.')) + + transactions = [] + vals_line = {'payment_ref': []} + total = 0.0 + # Identified header types of the QIF format that we support. + # Other types might need to be added. Here are the possible values + # according to the QIF spec: Cash, Bank, CCard, Invst, Oth A, Oth L, Invoice. + if header in [b'Bank', b'Cash', b'CCard']: + vals_bank_statement = {} + for line in data_list: + line = line.strip() + if not line: + continue + vals_line['sequence'] = len(transactions) + 1 + data = line[1:] + if line[:1] == DATE_OF_TRANSACTION: + dayfirst = self.env.context.get('qif_date_format') == 'day_first' + vals_line['date'] = dateutil.parser.parse(data, fuzzy=True, dayfirst=dayfirst).date() + elif line[:1] == TOTAL_AMOUNT: + amount = float(data.replace(b',', b'.' if self.qif_decimal_point == ',' else b'')) + total += amount + vals_line['amount'] = amount + elif line[:1] == CHECK_NUMBER: + vals_line['ref'] = data.decode('utf-8') + elif line[:1] == PAYEE: + name = data.decode('utf-8') + vals_line['payment_ref'].append(name) + # Since QIF doesn't provide account numbers, we'll have to find res.partner and res.partner.bank here + # (normal behavious is to provide 'account_number', which the generic module uses to find partner/bank) + partner_bank = self.env['res.partner.bank'].search([('partner_id.name', '=', name)], limit=1) + if partner_bank: + vals_line['partner_bank_id'] = partner_bank.id + vals_line['partner_id'] = partner_bank.partner_id.id + elif line[:1] == MEMO: + vals_line['payment_ref'].append(data.decode('utf-8')) + elif line[:1] == END_OF_ITEM: + if vals_line['payment_ref']: + vals_line['payment_ref'] = u': '.join(vals_line['payment_ref']) + else: + del vals_line['payment_ref'] + transactions.append(vals_line) + vals_line = {'payment_ref': []} + elif line[:1] == b'\n': + transactions = [] + else: + raise UserError(_('This file is either not a bank statement or is not correctly formed.')) + + vals_bank_statement.update({ + 'balance_end_real': total, + 'transactions': transactions + }) + return None, None, [vals_bank_statement] +DATE_OF_TRANSACTION = b'D' +TOTAL_AMOUNT = b'T' +CHECK_NUMBER = b'N' +PAYEE = b'P' +MEMO = b'M' +END_OF_ITEM = b'^' diff --git a/odex25_accounting/odex25_account_bank_statement_import_qif/wizard/odex25_account_bank_statement_import_views.xml b/odex25_accounting/odex25_account_bank_statement_import_qif/wizard/odex25_account_bank_statement_import_views.xml new file mode 100644 index 000000000..fbb86e289 --- /dev/null +++ b/odex25_accounting/odex25_account_bank_statement_import_qif/wizard/odex25_account_bank_statement_import_views.xml @@ -0,0 +1,45 @@ + + + + Upload Bank Statements QIF + account.bank.statement.import + + + +
      5. Quicken Interchange Format (QIF)
      6. +
        +
        +
        + + + Upload Bank Statements Inherited + account.bank.statement.import + + + + + + + + + + +

        + The QIF format is ambiguous about dates: please check with your financial institution whether they format it with month or day first.
        +

        + +
        + +

        + In order to avoid conversion errors, please specify the decimal separator you wish to use. +

        + +
        +
        + +
        +

        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

    {62W!5Lz}(am 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

    + + + + + + + + + + + + +
    + + + + + + + + () + + + + + + + () + + +
    + + + diff --git a/odex25_accounting/odex25_account_batch_payment/static/test/reconciliation_tests.js b/odex25_accounting/odex25_account_batch_payment/static/test/reconciliation_tests.js new file mode 100644 index 000000000..436eb4f43 --- /dev/null +++ b/odex25_accounting/odex25_account_batch_payment/static/test/reconciliation_tests.js @@ -0,0 +1,70 @@ +odoo.define('odex25_account_batch_payment.reconciliation_tests.data', function (require) { +"use strict"; + +var data = require('account.reconciliation_tests.data'); + +data.params.data["account.reconciliation.widget"].get_batch_payments_data = function (args) { + return Promise.resolve(); +}; + +data.params.data["account.reconciliation.widget"].get_move_lines_by_batch_payment = function (args) { + return Promise.resolve(data.params.mv_lines['[5,"b",0]']); +}; + +data.params.data_preprocess.batch_payments = [{ + 'amount_currency_str': false, + 'journal_id': 84, + 'id': 1, + 'amount_str': "$ 10,980.00", + 'name': "BATCH/IN/2017/0001" +}]; + +}); + +odoo.define('odex25_account_batch_payment.reconciliation_tests', function (require) { +"use strict"; + +var ReconciliationClientAction = require('account.ReconciliationClientAction'); +var demoData = require('account.reconciliation_tests.data'); +var testUtils = require('web.test_utils'); + +QUnit.module('account', { + beforeEach: function () { + this.params = demoData.getParams(); + } +}, function () { + QUnit.module('Reconciliation'); + + QUnit.test('Reconciliation basic rendering with odex25_account_batch_payment', async function (assert) { + assert.expect(4); + + var clientAction = new ReconciliationClientAction.StatementAction(null, this.params.options); + await testUtils.mock.addMockEnvironment(clientAction, { + data: this.params.data, + archs: { + 'account.bank.statement.line,false,search': '', + }, + }); + await clientAction.appendTo($('#qunit-fixture')); + + assert.containsNone(clientAction.widgets[0], '.batch_payment', + "should not have 'Select a Batch Payment' button"); + + var widget = clientAction.widgets[1]; + await testUtils.dom.click(widget.$('.accounting_view thead td:first')); + assert.containsOnce(widget, '.batch_payment', + "should display 'Select a Batch Payment' button"); + + assert.containsNone(widget, '.accounting_view tbody tr', + "should have not reconciliation propositions"); + await testUtils.dom.click(widget.$('.nav-item.batch_payments_selector a:first')); + await testUtils.dom.click(widget.$('.batch_payment')); + + assert.containsN(widget, '.accounting_view tbody tr', 2, + "should have 2 reconciliation propositions"); + + clientAction.destroy(); + }); + +}); +}); diff --git a/odex25_accounting/odex25_account_batch_payment/tests/__init__.py b/odex25_accounting/odex25_account_batch_payment/tests/__init__.py new file mode 100644 index 000000000..ad2e27b8c --- /dev/null +++ b/odex25_accounting/odex25_account_batch_payment/tests/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import test_batch_payment diff --git a/odex25_accounting/odex25_account_batch_payment/tests/test_batch_payment.py b/odex25_accounting/odex25_account_batch_payment/tests/test_batch_payment.py new file mode 100644 index 000000000..8a231464b --- /dev/null +++ b/odex25_accounting/odex25_account_batch_payment/tests/test_batch_payment.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- + +import time + +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo.tests import tagged +from odoo.exceptions import ValidationError + + +@tagged('post_install', '-at_install') +class TestBatchPayment(AccountTestInvoicingCommon): + + @classmethod + def setUpClass(cls, chart_template_ref=None): + super().setUpClass(chart_template_ref=chart_template_ref) + + # Get some records + cls.customers = cls.env['res.partner'].create([ + {'name': 'alpha'}, + {'name': 'beta'}, + {'name': 'gamma'}, + ]) + cls.batch_deposit = cls.env.ref('odex25_account_batch_payment.account_payment_method_batch_deposit') + + # Create a bank journal + cls.journal = cls.company_data['default_journal_bank'] + + # Create some payments + cls.payments = [ + cls.createPayment(cls.customers[0], 100), + cls.createPayment(cls.customers[1], 200), + cls.createPayment(cls.customers[2], 500), + ] + + @classmethod + def createPayment(cls, partner, amount): + """ Create a batch deposit payment """ + return cls.env['account.payment'].create({ + 'journal_id': cls.journal.id, + 'payment_method_id': cls.batch_deposit.id, + 'payment_type': 'inbound', + 'date': time.strftime('%Y') + '-07-15', + 'amount': amount, + 'partner_id': partner.id, + 'partner_type': 'customer', + }) + + def test_BatchLifeCycle(self): + # Create and "print" a batch payment + batch = self.env['account.batch.payment'].create({ + 'journal_id': self.journal.id, + 'payment_ids': [(4, payment.id, None) for payment in self.payments], + 'payment_method_id': self.batch_deposit.id, + }) + batch.validate_batch() + error_action = batch.print_batch_payment() + self.assertTrue(all(payment.is_move_sent for payment in self.payments)) + self.assertTrue(batch.state == 'sent') + # Create a bank statement + bank_statement = self.env['account.bank.statement'].create({ + 'name': 'test deposit life cycle', + 'balance_start': 0.0, + 'balance_end_real': 800.0, + 'date': time.strftime('%Y') + '-08-01', + 'journal_id': self.journal.id, + 'company_id': self.env.user.company_id.id, + }) + bank_statement_line = self.env['account.bank.statement.line'].create({ + 'amount': 800, + 'date': time.strftime('%Y') + '-07-18', + 'payment_ref': 'DEPOSIT', + 'statement_id': bank_statement.id, + }) + bank_statement.button_post() + # Simulate the process of reconciling the statement line using the batch deposit + deposits_reconciliation_data = self.env['account.reconciliation.widget'].get_batch_payments_data(bank_statement.ids) + self.assertTrue(len(deposits_reconciliation_data), 1) + self.assertTrue(deposits_reconciliation_data[0]['id'], batch.id) + deposit_reconciliation_lines = self.env['account.reconciliation.widget'].get_move_lines_by_batch_payment(bank_statement_line.id, batch.id) + self.assertTrue(len(deposit_reconciliation_lines), 3) + lines_vals_list = [{'id': line['id']} for line in deposit_reconciliation_lines] + self.env['account.reconciliation.widget'].process_bank_statement_line(bank_statement_line.ids, [{'lines_vals_list': lines_vals_list}]) + self.assertTrue(all(payment.state == 'posted' for payment in self.payments)) + self.assertTrue(batch.state == 'reconciled') + + def test_zero_amount_payment(self): + zero_payment = self.createPayment(self.customers[0], 0) + batch_vals = { + 'journal_id': self.journal.id, + 'payment_ids': [(4, zero_payment.id, None)], + 'payment_method_id': self.batch_deposit.id, + } + self.assertRaises(ValidationError, self.env['account.batch.payment'].create, batch_vals) diff --git a/odex25_accounting/odex25_account_batch_payment/views/account_journal_views.xml b/odex25_accounting/odex25_account_batch_payment/views/account_journal_views.xml new file mode 100644 index 000000000..20bf16112 --- /dev/null +++ b/odex25_accounting/odex25_account_batch_payment/views/account_journal_views.xml @@ -0,0 +1,16 @@ + + + + + account.journal.dashboard.kanban.inherited + account.journal + + + + + + + + \ No newline at end of file diff --git a/odex25_accounting/odex25_account_batch_payment/views/account_payment_views.xml b/odex25_accounting/odex25_account_batch_payment/views/account_payment_views.xml new file mode 100644 index 000000000..27d136ab5 --- /dev/null +++ b/odex25_accounting/odex25_account_batch_payment/views/account_payment_views.xml @@ -0,0 +1,61 @@ + + + + + + + + account.payment.search.inherit.odex25_account_batch_payment + account.payment + + + + + + + + + + + + + + + + + + account.payment.tree.inherit.odex25_account_batch_payment + account.payment + + + + + + + + + + account.payment.form.inherit.odex25_account_batch_payment + account.payment + + + +
    + + + +
    + +
    +
    + +
    +
    diff --git a/odex25_accounting/odex25_account_batch_payment/views/odex25_account_batch_payment_templates.xml b/odex25_accounting/odex25_account_batch_payment/views/odex25_account_batch_payment_templates.xml new file mode 100644 index 000000000..7d6c2e39a --- /dev/null +++ b/odex25_accounting/odex25_account_batch_payment/views/odex25_account_batch_payment_templates.xml @@ -0,0 +1,16 @@ + + + + + + diff --git a/odex25_accounting/odex25_account_batch_payment/views/odex25_account_batch_payment_views.xml b/odex25_accounting/odex25_account_batch_payment/views/odex25_account_batch_payment_views.xml new file mode 100644 index 000000000..86f63976b --- /dev/null +++ b/odex25_accounting/odex25_account_batch_payment/views/odex25_account_batch_payment_views.xml @@ -0,0 +1,176 @@ + + + + + Create batch payment + + + list + code + +if records: + action = records.create_batch_payment() + + + + + account.batch.payment.form + account.batch.payment + +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ++ + + + + + + + + + + + + + + + + +
    + +
    +
    + + + account.batch.payment.search + account.batch.payment + + + + + + + + + + + + + + + account.batch.payment.tree + account.batch.payment + + + + + + + + + + + + + + Batch Payments + account.batch.payment + tree,form + + + + {'search_default_open': 1, 'default_batch_type': 'inbound'} + +

    + Create a new customer batch payment +

    +

    + Batch payments allow you grouping different payments to ease + reconciliation. They are also useful when depositing checks + to the bank. +

    +
    +
    + + + Batch Payments + account.batch.payment + tree,form + + + + {'search_default_open': 1, 'default_batch_type': 'outbound'} + +

    + Create a new vendor batch payment +

    +

    + Batch payments allow you grouping different payments to ease + reconciliation. They are also useful when depositing checks + to the bank. +

    +
    +
    + + + + +
    diff --git a/odex25_accounting/odex25_account_batch_payment/wizard/__init__.py b/odex25_accounting/odex25_account_batch_payment/wizard/__init__.py new file mode 100644 index 000000000..6d3c87104 --- /dev/null +++ b/odex25_accounting/odex25_account_batch_payment/wizard/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import download_wizard +from . import batch_error \ No newline at end of file diff --git a/odex25_accounting/odex25_account_batch_payment/wizard/batch_error.py b/odex25_accounting/odex25_account_batch_payment/wizard/batch_error.py new file mode 100644 index 000000000..eb41e3b4f --- /dev/null +++ b/odex25_accounting/odex25_account_batch_payment/wizard/batch_error.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- + +from odoo import api, models, fields, _ + + +class BatchErrorWizard(models.TransientModel): + _name = 'account.batch.error.wizard' + _description = "Batch payments error reporting wizard" + + batch_payment_id = fields.Many2one(comodel_name='account.batch.payment', required=True, help="The batch payment generating the errors and warnings displayed in this wizard.") + error_line_ids = fields.One2many(comodel_name='account.batch.error.wizard.line', inverse_name='error_wizard_id') + warning_line_ids = fields.One2many(comodel_name='account.batch.error.wizard.line', inverse_name='warning_wizard_id') + show_remove_options = fields.Boolean(required=True, help="True if and only if the options to remove the payments causing the errors or warnings from the batch should be shown") + + @api.model + def create_from_errors_list(self, batch, errors_list, warnings_list): + rslt = self.create({'batch_payment_id': batch.id, 'show_remove_options': batch.export_file}) + self._create_error_wizard_lines(rslt.id, 'error_wizard_id', errors_list) + self._create_error_wizard_lines(rslt.id, 'warning_wizard_id', warnings_list) + return rslt + + @api.model + def _create_error_wizard_lines(self, wizard_id, wizard_link_field, entries): + wizard_line = self.env['account.batch.error.wizard.line'] + for entry in entries: + wizard_line.create({ + wizard_link_field: wizard_id, + 'description': entry['title'], + 'help_message': entry.get('help', None), + 'payment_ids': [(6, False, entry['records'].ids)], + }) + + def proceed_with_validation(self): + self.ensure_one() + return self.batch_payment_id._send_after_validation() + +class BatchErrorWizardLine(models.TransientModel): + _name = 'account.batch.error.wizard.line' + _description = "Batch payments error reporting wizard line" + + description = fields.Char(string="Description", required=True, help="Description of the error") + help_message = fields.Char(string="Help", help="Additional help message about the error") + payment_ids = fields.Many2many(string='Payments', comodel_name='account.payment', required=True, help="Payments causing this error") + error_wizard_id = fields.Many2one(comodel_name='account.batch.error.wizard') + warning_wizard_id = fields.Many2one(comodel_name='account.batch.error.wizard') + show_remove_button = fields.Boolean(compute="_compute_show_remove_button", help="Whether or not this line should display a button allowing to remove its related payments from the batch") + + def _compute_show_remove_button(self): + for record in self: + record.show_remove_button = record.error_wizard_id.show_remove_options or record.warning_wizard_id.show_remove_options + + def open_payments(self): + return { + 'name': _('Payments in Error'), + 'type': 'ir.actions.act_window', + 'view_mode': 'tree,form', + 'res_model': 'account.payment', + 'domain': [('id', 'in', self.payment_ids.ids)], + } + + def remove_payments_from_batch(self): + for payment in self.payment_ids: + payment.batch_payment_id = None + + # We try revalidating the batch if we still have payments for it (we hence do nothing for empty batches) + batch = (self.error_wizard_id or self.warning_wizard_id).batch_payment_id + if batch.payment_ids: + return batch.validate_batch() diff --git a/odex25_accounting/odex25_account_batch_payment/wizard/batch_error_views.xml b/odex25_accounting/odex25_account_batch_payment/wizard/batch_error_views.xml new file mode 100644 index 000000000..64d65c406 --- /dev/null +++ b/odex25_accounting/odex25_account_batch_payment/wizard/batch_error_views.xml @@ -0,0 +1,56 @@ + + + + + + account.batch.error.wizard.form + account.batch.error.wizard + +
    + +
    + + + The following errors occured + + + + The following warnings were also raised; they do not impeach validation +
    + +
    + + + Please first consider the following warnings +
    + + +
    +
    +
    +
    +
    +
    + + + account.batch.error.wizard.line.tree + account.batch.error.wizard.line + + + + + +
    + + +
    +
    + +
    diff --git a/odex25_accounting/odex25_account_budget/wizard/__init__.py b/odex25_accounting/odex25_account_budget/wizard/__init__.py new file mode 100644 index 000000000..252f46961 --- /dev/null +++ b/odex25_accounting/odex25_account_budget/wizard/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import crossovered_budget_percentage_wizard diff --git a/odex25_accounting/odex25_account_budget/wizard/crossovered_budget_percentage_wizard.py b/odex25_accounting/odex25_account_budget/wizard/crossovered_budget_percentage_wizard.py new file mode 100644 index 000000000..843b384a5 --- /dev/null +++ b/odex25_accounting/odex25_account_budget/wizard/crossovered_budget_percentage_wizard.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api, tools, _ +from datetime import datetime +from odoo.exceptions import UserError, ValidationError +from datetime import datetime +from num2words import num2words + + +class CrossOveredBudgetPercentageWizard(models.TransientModel): + _name = "crossovered.budget.percentage.wizard" + _description = 'CrossOvered Budget Percentage Wizard' + + @api.model + def default_get(self, fields): + rec = super(CrossOveredBudgetPercentageWizard, self).default_get(fields) + active_id = self._context.get('active_id') + update = [] + if active_id: + analytic_id = self.env['account.analytic.account'].browse(active_id) + for line in analytic_id.crossovered_budget_line: + update.append((0, 0, { + 'budget_post_id': line.general_budget_id.id, + })) + rec.update({ + 'line_ids': update + }) + return rec + + analytic_account_id = fields.Many2one(comodel_name="account.analytic.account", string="Analytic Account", + required=False, ) + + line_ids = fields.One2many(comodel_name="crossovered.budget.percentage.line.wizard", inverse_name="wizard_id", + string="Lines", required=False, ) + + def copy_lines(self): + active_id = self._context.get('active_id') + if active_id: + analytic_id = self.env['account.analytic.account'].browse(active_id) + new_analytic = analytic_id.copy() + for line in analytic_id.crossovered_budget_line: + planned_percentage = self.line_ids.filtered( + lambda row: row.budget_post_id.id == line.general_budget_id.id).percentage + line.copy({ + 'analytic_account_id': new_analytic.id, + 'planned_amount': line.practical_amount + ((planned_percentage / 100) * line.practical_amount), + }) + return { + 'name': _('Analytic Accounts'), + 'type': 'ir.actions.act_window', + 'view_mode': 'form', + 'res_model': 'account.analytic.account', + 'target': 'current', + 'res_id': new_analytic.id, + } + + +class CrossOveredBudgetPercentageLineWizard(models.TransientModel): + _name = "crossovered.budget.percentage.line.wizard" + _description = 'CrossOvered Budget Percentage Lines Wizard' + + wizard_id = fields.Many2one(comodel_name="crossovered.budget.percentage.wizard", string="Wizard", + ondelete='cascade') + + budget_post_id = fields.Many2one(comodel_name="account.budget.post", string="Budgetary Position", required=False, ) + percentage = fields.Float(string="Percentage", required=False, ) diff --git a/odex25_accounting/odex25_account_budget/wizard/crossovered_budget_percentage_wizard_views.xml b/odex25_accounting/odex25_account_budget/wizard/crossovered_budget_percentage_wizard_views.xml new file mode 100644 index 000000000..0e14a7fca --- /dev/null +++ b/odex25_accounting/odex25_account_budget/wizard/crossovered_budget_percentage_wizard_views.xml @@ -0,0 +1,41 @@ + + + + crossovered.budget.percentage.wizard.form + crossovered.budget.percentage.wizard + +
    + +

    Please Select Budgetary Positions Percentage

    + + + + + + + + +
    +
    +
    +
    +
    +
    + + + Copy Budgetary Positions + crossovered.budget.percentage.wizard + form + + new + + + + + + +
    +
    \ No newline at end of file diff --git a/odex25_accounting/odex25_account_consolidation/__init__.py b/odex25_accounting/odex25_account_consolidation/__init__.py new file mode 100644 index 000000000..29fd41cc7 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + +from . import controllers +from . import models +from . import report diff --git a/odex25_accounting/odex25_account_consolidation/__manifest__.py b/odex25_accounting/odex25_account_consolidation/__manifest__.py new file mode 100644 index 000000000..ba18cd122 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/__manifest__.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +{ + 'name': "Consolidation", + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'sequence': 205, + 'summary': """All you need to make financial consolidation""", + 'description': """All you need to make financial consolidation""", + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'depends': ['odex25_account_reports','odex25_web_grid'], + 'data': [ + 'security/odex25_account_consolidation_security.xml', + 'security/ir.model.access.csv', + 'report/trial_balance.xml', + 'views/assets.xml', + 'views/account_account_views.xml', + 'views/account_move_views.xml', + 'views/consolidation_account_views.xml', + 'views/consolidation_journal_views.xml', + 'views/consolidation_period_views.xml', + 'views/consolidation_account_group_views.xml', + 'views/consolidation_chart_views.xml', + 'views/consolidation_rate_views.xml', + 'views/menuitems.xml', + 'views/onboarding_templates.xml', + ], + 'qweb': [ + 'static/src/xml/fields_templates.xml', + ], + 'installable': True, + 'auto_install': False, + 'application': True +} diff --git a/odex25_accounting/odex25_account_consolidation/controllers/__init__.py b/odex25_accounting/odex25_account_consolidation/controllers/__init__.py new file mode 100644 index 000000000..755dd7c64 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/controllers/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import onboarding diff --git a/odex25_accounting/odex25_account_consolidation/controllers/onboarding.py b/odex25_accounting/odex25_account_consolidation/controllers/onboarding.py new file mode 100644 index 000000000..1bdd74e91 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/controllers/onboarding.py @@ -0,0 +1,22 @@ +from odoo import http +from odoo.http import request + + +class OnboardingController(http.Controller): + + @http.route('/odex25_account_consolidation/dashboard_onboarding', auth='user', type='json') + def account_dashboard_onboarding(self): + """ Returns the `banner` for the account consolidation dashboard onboarding panel. + It can be empty if the user has closed it or if he doesn't have + the permission to see it. """ + company = request.env.company + + if not request.env.is_admin() or company.account_dashboard_onboarding_state == 'closed': + return {} + + return { + 'html': request.env.ref('odex25_account_consolidation.odex25_account_consolidation_dashboard_onboarding_panel')._render({ + 'company': company, + 'state': company.get_and_update_consolidation_dashboard_onboarding_state() + }) + } diff --git a/odex25_accounting/odex25_account_consolidation/i18n/ar.po b/odex25_accounting/odex25_account_consolidation/i18n/ar.po new file mode 100644 index 000000000..e129999ac --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/i18n/ar.po @@ -0,0 +1,1589 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_consolidation +# +# Translators: +# Sherif Abd Ekmoniem , 2020 +# Sadig Adam , 2020 +# amrnegm , 2020 +# hoxhe Aits , 2020 +# nle_odoo, 2020 +# Osoul , 2020 +# Ghaith Gammar , 2020 +# Osama Ahmaro , 2020 +# Zuhair Hammadi , 2020 +# Yihya Hugirat , 2020 +# Amer Hazaa , 2020 +# Nisrine Tagri , 2020 +# Talal Kamal , 2020 +# MOHAMMAD IBRAHIM , 2020 +# Mustafa Rawi , 2020 +# Akram Alfusayal , 2020 +# Martin Trigaux, 2020 +# Mohammed Ibrahim , 2020 +# amal ahmed , 2020 +# Shaima Safar , 2020 +# Mostafa Hanafy , 2020 +# Mohamed Alansari , 2020 +# Rachid Al Assir , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 14:04+0000\n" +"PO-Revision-Date: 2020-09-07 08:17+0000\n" +"Last-Translator: Rachid Al Assir , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__account_ids_count +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__chart_account_ids_count +msgid "# Accounts" +msgstr "الحسابات" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__group_ids_count +msgid "# Groups" +msgstr "المجموعات" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__journal_ids_count +msgid "# Journals" +msgstr "اليوميات" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__period_ids_count +msgid "# Periods" +msgstr "الفترات" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "% Control" +msgstr "التحكم" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "% Ownership" +msgstr "الملكية" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/report/builder/abstract.py:0 +#, python-format +msgid "%s (%s Currency Conversion Method)" +msgstr "%s)%sطريقة تحويل العملة(" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_period.py:0 +#, python-format +msgid "%s Consolidated Accounting" +msgstr "%sالحساب الموحد" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_composition_form +msgid "&nbsp;" +msgstr "&nbsp;" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "(Re)Compute" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_kanban +msgid "(Re)compute" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.header_cell_template +msgid "/ End Rate: 1" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_kanban +msgid "" +"" +msgstr "" +"" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.search_template_consolidation_period_comparisons +msgid "" +"\n" +" Comparison" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.search_template_consolidation_journals +msgid "" +"\n" +" Journals:" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_kanban +msgid "Actions" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_kanban +msgid "View" +msgstr "عرض" + +#. module: odex25_account_consolidation +#: model:ir.model.constraint,message:odex25_account_consolidation.constraint_consolidation_account_code_uniq +msgid "" +"A consolidation account with the same code already exists in this " +"consolidation." +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_journal.py:0 +#, python-format +msgid "" +"A journal entry should only be linked to a company period OR to a analysis " +"period of another consolidation !" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_account_account +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__line_ids +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_group_form +msgid "Account" +msgstr "حساب" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_res_company__odex25_account_consolidation_currency_is_different +msgid "Account Consolidation Currency Is Different" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_group_tree +msgid "Account Group" +msgstr "مجموعة الحساب" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.consolidation_group_action +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__group_ids +#: model:ir.ui.menu,name:odex25_account_consolidation.menu_consolidation_configuration_account_sections +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_group_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_group_tree +msgid "Account Groups" +msgstr "مجموعة الحساب" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.account_mapping_action +#: model:ir.actions.act_window,name:odex25_account_consolidation.account_mapping_from_period_action +msgid "Account Mapping" +msgstr "ربط الحسابات" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_coa.py:0 +#, python-format +msgid "Account Mapping: %(chart)s" +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/res_company.py:0 +#, python-format +msgid "Account Mapping: %(company)s" +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_period.py:0 +#, python-format +msgid "Account Mapping: %s (for %s)" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_odex25_account_consolidation_trial_balance_report +msgid "Account consolidation trial balance report" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.account_mapping_search +msgid "Account with Entries" +msgstr "حساب مع القيود" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__account_ids +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "Accounts" +msgstr "الحسابات" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_res_company__consolidation_color +msgid "Accounts color" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_needaction +msgid "Action Needed" +msgstr "إجراء مطلوب" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "Active" +msgstr "نشط" + +#. module: odex25_account_consolidation +#. openerp-web +#: code:addons/odex25_account_consolidation/static/src/js/trial_balance_grid/controller.js:0 +#, python-format +msgid "Add a column" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_form +msgid "Additional Information" +msgstr "معلومات إضافية" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +msgid "Advanced Consolidation" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.search_template_consolidation_journals +msgid "All" +msgstr "الكل" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.account_mapping_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_search_mapping +msgid "Already Mapped" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__amount +msgid "Amount" +msgstr "مبلغ" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_coa.py:0 +#, python-format +msgid "" +"An account group can only have accounts or other groups children but not " +"both !" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__period_id +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "Analysis Period" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__using_period_id +msgid "Analysis Period Using This" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.analysis_period_config_action +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__period_ids +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_tree +msgid "Analysis Periods" +msgstr "فترات التحليل" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.create_period_step +msgid "Analysis period" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.create_period_step +msgid "Analysis period created !" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form_onboarding +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form_onboarding +msgid "Apply" +msgstr "تطبيق" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_attachment_count +msgid "Attachment Count" +msgstr "عدد المرفقات" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.line_template +msgid "Audit" +msgstr "تدقيق" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_search +msgid "Auto-generated" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__auto_generated +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__auto_generated +msgid "Automatically Generated" +msgstr "أنشأت تلقائيًا" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__currency_rate_avg +msgid "Average Currency Rate" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__consolidation_account__currency_mode__avg +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_form +msgid "Average Rate" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.header_cell_template +msgid "Avg Rate: 1" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__balance +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_form +msgid "Balance" +msgstr "الرصيد" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form_onboarding +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form_onboarding +msgid "Cancel" +msgstr "الغاء" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__chart_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__chart_id +msgid "Chart" +msgstr "رسم البياني" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.chart_of_account_step +msgid "Chart of Accounts" +msgstr "الدليل المحاسبي" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.chart_of_account_step +msgid "Chart of account set !" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_kanban +msgid "Chart of accounts" +msgstr "الدليل المحاسبي" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_tree +msgid "Charts" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__child_ids +msgid "Children" +msgstr "الفروع" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "Close" +msgstr "اغلاق" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_kanban +msgid "Close period" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__consolidation_period__state__closed +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_dashboard_onboarding_state__closed +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "Closed" +msgstr "مغلق" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__consolidation_account__currency_mode__end +msgid "Closing Rate" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__code +msgid "Code" +msgstr "الكود" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_account_account__consolidation_color +msgid "Color" +msgstr "اللون" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__color +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__color +msgid "Color Index" +msgstr "معرف اللون" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_res_company +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__company_ids +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__company_ids +msgid "Companies" +msgstr "شركات" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__company_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__company_id +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_line_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.trial_balance_grid_search +msgid "Company" +msgstr "شركة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__currency_company_id +msgid "Company Currency" +msgstr "عملة المؤسسة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__company_name +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +msgid "Company Name" +msgstr "اسم المؤسسة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__company_period_id +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_form +msgid "Company Period" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.consolidation_company_period_action +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__company_period_ids +#: model:ir.ui.menu,name:odex25_account_consolidation.menu_consolidation_configuration_company_periods +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "Company Periods" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__company_unmapped_accounts_counts +msgid "Company Unmapped Accounts Counts" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__composed_period_id +msgid "Composed Analysis Period" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__composed_chart_currency_id +msgid "Composed Consolidation Currency" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.ui.menu,name:odex25_account_consolidation.menu_consolidation_configuration +msgid "Configuration" +msgstr "إعدادات التكوين" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.header_cell_template +msgid "Conso Rate:" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__account_id +msgid "Consolidated Account" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.account_mapping_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_form +msgid "Consolidated Accounts" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.actions.client,name:odex25_account_consolidation.trial_balance_report_action +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_kanban +msgid "Consolidated Balance" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +msgid "Consolidated Companies" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__parents_ids +msgid "Consolidated In" +msgstr "" + +#. module: odex25_account_consolidation +#. openerp-web +#: code:addons/odex25_account_consolidation/static/src/js/trial_balance_grid/controller.js:0 +#, python-format +msgid "Consolidated balance" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__used_in_ids +msgid "Consolidated in" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.consolidation_chart_action +#: model:ir.actions.act_window,name:odex25_account_consolidation.consolidation_chart_action_onboarding +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__chart_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__chart_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__chart_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__chart_id +#: model:ir.ui.menu,name:odex25_account_consolidation.menu_consolidation +#: model:ir.ui.menu,name:odex25_account_consolidation.menu_consolidation_configuration_charts +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_group_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "Consolidation" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_account_account__consolidation_account_ids +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__account_ids +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_group_form +msgid "Consolidation Account" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_account_account__consolidation_account_chart_filtered_ids +msgid "Consolidation Account Chart Filtered" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.consolidation_account_action +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__using_ids +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__account_ids +#: model:ir.ui.menu,name:odex25_account_consolidation.menu_consolidation_configuration_accounts +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_group_form +msgid "Consolidation Accounts" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "Consolidation Chart" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_consolidation_company_period +msgid "Consolidation Company Period" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__currency_chart_id +msgid "Consolidation Currency" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.Consolidation_journal_line_action +msgid "Consolidation Entries" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.ui.menu,name:odex25_account_consolidation.menu_consolidation_operations_consolidation_entries +msgid "Consolidation Entry" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_consolidation_group +msgid "Consolidation Group" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_line_tree +msgid "Consolidation Items" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_consolidation_journal +msgid "Consolidation Journal" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_account_move_line__consolidation_journal_line_ids +msgid "Consolidation Journal Line" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__consolidation_method +msgid "Consolidation Method" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__chart_name +msgid "Consolidation Name" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_consolidation_period +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__composition_id +msgid "Consolidation Period" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_consolidation_period_composition +msgid "Consolidation Period Composition" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_consolidation_rate +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__rate_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__rate_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__rate_consolidation +msgid "Consolidation Rate" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "Consolidation Rate (%)" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_consolidation_account +msgid "Consolidation account" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_consolidation_chart +msgid "Consolidation chart" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__line_ids +msgid "Consolidation items" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_consolidation_journal_line +msgid "Consolidation journal line" +msgstr "" + +#. module: odex25_account_consolidation +#: model:res.groups,name:odex25_account_consolidation.group_consolidation_user +msgid "Consolidation user" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.create_period_step +msgid "Create" +msgstr "إنشاء" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.consolidation_period_action_onboarding +msgid "Create First Period" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.create_period_step +msgid "Create your first analysis period & set the currency rates." +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__create_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__create_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__create_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__create_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__create_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__create_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__create_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__create_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__create_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__create_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__create_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__create_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__create_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__create_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__create_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__create_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__currencies_are_different +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__currencies_are_different +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__currencies_are_different +msgid "Currencies Are Different" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_composition_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "Currency" +msgstr "العملة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__currency_amount +msgid "Currency Amount" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__currency_mode +msgid "Currency Conversion Method" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__currency_rate +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_composition_form +msgid "Currency Rate" +msgstr "سعر صرف العملة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period_composition__currency_rate +msgid "Currency rate from composed chart currency to using chart currency" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.consolidation_period_action +#: model:ir.ui.menu,name:odex25_account_consolidation.menu_consolidation_home +msgid "Dashboard" +msgstr "لوحة المعلومات" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__dashboard_sections +msgid "Dashboard Sections" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_line_tree +msgid "Date" +msgstr "التاريخ" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_step +msgid "Define" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_step +msgid "" +"Define the companies that should be consolidated & the target currency" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__note +msgid "Description" +msgstr "الوصف" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__display_dates +msgid "Display Dates" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_account_account__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_odex25_account_consolidation_trial_balance_report__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_account_move_line__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__display_name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_res_company__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_create_period_state__done +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_dashboard_onboarding_state__done +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_setup_ccoa_state__done +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_setup_consolidation_state__done +msgid "Done" +msgstr "المنتهية" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__consolidation_period__state__draft +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "Draft" +msgstr "مسودة" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/report/trial_balance.py:0 +#: code:addons/odex25_account_consolidation/report/trial_balance.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +#, python-format +msgid "Edit" +msgstr "تحرير" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__currency_rate_end +msgid "End Currency Rate" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__date_company_end +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__date_analysis_end +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__date_end +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "End Date" +msgstr "تاريخ الانتهاء" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_form +msgid "End Rate" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__consolidation_company_period__consolidation_method__equity +msgid "Equity" +msgstr "الملكية" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__exclude_journal_ids +msgid "Exclude Journals" +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/report/trial_balance.py:0 +#, python-format +msgid "Export (XLSX)" +msgstr "تصدير (XLSX)" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__filtered_used_in_ids +msgid "Filtered Used In" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.line_template +msgid "Folded" +msgstr "مطوي" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_follower_ids +msgid "Followers" +msgstr "المتابعون" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_channel_ids +msgid "Followers (Channels)" +msgstr "المتابعون (القنوات)" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_partner_ids +msgid "Followers (Partners)" +msgstr "المتابعون (الشركاء)" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__full_name +msgid "Full Name" +msgstr "الاسم الكامل" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__consolidation_company_period__consolidation_method__full +msgid "Full consolidation" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__group_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__group_id +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_line_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.trial_balance_grid_search +msgid "Group" +msgstr "المجموعة" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +msgid "Groups" +msgstr "المجموعات" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__consolidation_account__currency_mode__hist +msgid "Historical Rate" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +msgid "Historical Rates" +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/res_company.py:0 +#, python-format +msgid "Historical Rates: %(company)s" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_company_period__currency_rate_avg +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_company_period__currency_rate_end +msgid "" +"How many units of company currency is needed to get 1 unit of chart currency" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_account_account__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_odex25_account_consolidation_trial_balance_report__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_account_move_line__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_res_company__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period__message_needaction +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period__message_unread +msgid "If checked, new messages require your attention." +msgstr "إذا كان محددًا، فهناك رسائل جديدة تحتاج لرؤيتها." + +#. module: odex25_account_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period__message_has_error +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "إذا كان محددًا، فقد حدث خطأ في تسليم بعض الرسائل." + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "In The Future" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "In The Past" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_is_follower +msgid "Is Follower" +msgstr "متابع" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__journal_id +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_line_form +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: odex25_account_consolidation +#: model:ir.model,name:odex25_account_consolidation.model_account_move_line +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_line_form +msgid "Journal Item" +msgstr "عنصر اليومية" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.view_account_move_line_filter +msgid "Journal Items" +msgstr "عناصر اليومية" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_form +msgid "Journal Label" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__line_ids +msgid "Journal lines" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.consolidation_journal_action +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__journal_ids +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_kanban +msgid "Journals" +msgstr "دفاتر اليومية" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_create_period_state__just_done +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_dashboard_onboarding_state__just_done +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_setup_ccoa_state__just_done +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_setup_consolidation_state__just_done +msgid "Just done" +msgstr "انتهت للتو" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_account_account____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_odex25_account_consolidation_trial_balance_report____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_account_move_line____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate____last_update +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_res_company____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__write_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__write_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__write_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__write_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__write_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__write_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__write_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__write_uid +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__write_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__write_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__write_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__write_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__write_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__write_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__write_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__write_date +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_main_attachment_id +msgid "Main Attachment" +msgstr "المرفق الرئيسي" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_search +msgid "Manually Created" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +msgid "Map Accounts" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_tree +msgid "Mapped Accounts" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_search_mapping +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_tree_mapping +msgid "Mapped In" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_has_error +msgid "Message Delivery error" +msgstr "خطأ في تسليم الرسائل" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_ids +msgid "Messages" +msgstr "الرسائل" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__move_line_ids +msgid "Move Line" +msgstr "بند الحركة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__name +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__name +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_tree +msgid "Name" +msgstr "الاسم" + +#. module: odex25_account_consolidation +#: model_terms:ir.actions.act_window,help:odex25_account_consolidation.account_mapping_action +msgid "" +"No accounts have been found. Make sure you have installed a chart of account" +" for this company or that you have access right to see the accounts of this " +"company." +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.account_mapping_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_account_search_mapping +msgid "Not Mapped" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__consolidation_company_period__consolidation_method__none +msgid "Not consolidated" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_create_period_state__not_done +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_dashboard_onboarding_state__not_done +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_setup_ccoa_state__not_done +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__res_company__consolidation_setup_consolidation_state__not_done +msgid "Not done" +msgstr "غير منتهية" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_needaction_counter +msgid "Number of Actions" +msgstr "عدد الإجراءات" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_has_error_counter +msgid "Number of errors" +msgstr "عدد الاخطاء" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "عدد الرسائل التي تتطلب إجراء" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "عدد الرسائل الحادث بها خطأ في التسليم" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period__message_unread_counter +msgid "Number of unread messages" +msgstr "عدد الرسائل الجديدة" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "Only the periods containing today" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "Only the periods in the future" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "Only the periods in the past" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.ui.menu,name:odex25_account_consolidation.menu_consolidation_operations +msgid "Operations" +msgstr "العمليات" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__originating_currency_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__journal_originating_currency_id +msgid "Originating Currency" +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/report/trial_balance.py:0 +#, python-format +msgid "PDF" +msgstr "بي دي إف PDF" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__parent_id +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_group_search +msgid "Parent" +msgstr "الأصل" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__parent_path +msgid "Parent Path" +msgstr "المسار الأصلي" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__period_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__period_id +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_composition_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "Period" +msgstr "الفترة" + +#. module: odex25_account_consolidation +#: model:ir.ui.menu,name:odex25_account_consolidation.menu_consolidation_configuration_analysis_periods +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +msgid "Periods" +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/report/trial_balance.py:0 +#, python-format +msgid "Print Preview" +msgstr "طباعة المعاينة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields.selection,name:odex25_account_consolidation.selection__consolidation_company_period__consolidation_method__proportional +msgid "Proportional consolidation" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__rate +msgid "Rate" +msgstr "السعر" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__rate_control +msgid "Rate Control" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__rate_ownership +msgid "Rate Ownership" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.actions.act_window,name:odex25_account_consolidation.consolidation_rate_action +msgid "Rate Ranges" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_kanban +msgid "Reopen period" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "Reset To Draft" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +msgid "Review Chart Of Accounts" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_has_sms_error +msgid "SMS Delivery error" +msgstr "خطأ في تسليم الرسائل القصيرة" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_step +msgid "Scope of Consolidation defined !" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__sequence +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__sequence +msgid "Sequence" +msgstr "المسلسل" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_form +msgid "Settings" +msgstr "الإعدادات" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.chart_of_account_step +msgid "Setup" +msgstr "الإعداد" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.chart_of_account_step +msgid "" +"Setup your consolidated accounts and their currency conversion method.\n" +" Then map them with the companies accounts." +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_company_period__rate_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_company_period__rate_control +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_company_period__rate_ownership +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period_composition__rate_consolidation +msgid "Should be between 0 and 100 %" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_group__show_on_dashboard +msgid "Show On Dashboard" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.search_template_conso_extra_options +msgid "Show Zero Balance Accounts" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_company_period__date_company_begin +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__date_analysis_begin +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_rate__date_start +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "Start Date" +msgstr "تاريخ البداية" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__state +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__state +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_search +msgid "State" +msgstr "المحافظة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_res_company__consolidation_dashboard_onboarding_state +msgid "State Of The Account Consolidation Dashboard Onboarding Panel" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_res_company__consolidation_setup_ccoa_state +msgid "State Of The Onboarding Consolidated Chart Of Account Step" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_res_company__consolidation_setup_consolidation_state +msgid "State Of The Onboarding Consolidation Step" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_res_company__consolidation_create_period_state +msgid "State Of The Onboarding Create Period Step" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +msgid "Sub-consolidated Chart" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_account__linked_chart_ids +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__children_ids +msgid "Sub-consolidations" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "Sub-consolidations Periods" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_form +msgid "Sub-consolidations periods" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_group_form +msgid "Subgroups" +msgstr "" + +#. module: odex25_account_consolidation +#. openerp-web +#: code:addons/odex25_account_consolidation/static/src/js/move_line_list/renderer.js:0 +#, python-format +msgid "" +"Take into account that the consolidation (%s) and the consolidated company " +"(%s) have different currencies and the company is consolidated at %s%%." +msgstr "" + +#. module: odex25_account_consolidation +#. openerp-web +#: code:addons/odex25_account_consolidation/static/src/js/move_line_list/renderer.js:0 +#, python-format +msgid "" +"Take into account that the consolidation (%s) and the consolidated company " +"(%s) have different currencies." +msgstr "" + +#. module: odex25_account_consolidation +#. openerp-web +#: code:addons/odex25_account_consolidation/static/src/js/move_line_list/renderer.js:0 +#, python-format +msgid "Take into account that this company is consolidated at %s%%." +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_chart__currency_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal__currency_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_journal_line__chart_currency_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__chart_currency_id +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period_composition__using_chart_currency_id +msgid "Target Currency" +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_period.py:0 +#, python-format +msgid "" +"The Composed Analysis Period must be different from the Analysis Period" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_step +msgid "The Scope of Consolidation" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_company_period_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_period_composition_form +msgid "" +"The rate used for the consolidation (basically this rate will multiply the " +"sum of everything" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_form +msgid "This journal has been automatically generated on" +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/report/builder/abstract.py:0 +#: code:addons/odex25_account_consolidation/report/trial_balance.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_form +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_line_tree +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_tree +#, python-format +msgid "Total" +msgstr "الإجمالي" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/report/trial_balance.py:0 +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_line_search +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.view_trial_balance_report_graph +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.view_trial_balance_report_grid +#, python-format +msgid "Trial Balance" +msgstr "ميزان المراجعة" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_period.py:0 +#, python-format +msgid "Trial Balance: %s" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.trial_balance_grid_search +msgid "Trial balance" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.constraint,message:odex25_account_consolidation.constraint_consolidation_period_composition__unique_composition +msgid "" +"Two compositions of the same analysis period by the same analysis period " +"cannot be created" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.line_template +msgid "Unfolded" +msgstr "مكشوف" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_unread +msgid "Unread Messages" +msgstr "الرسائل الجديدة" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__message_unread_counter +msgid "Unread Messages Counter" +msgstr "عدد الرسائل الجديدة" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_journal_form +msgid "Update" +msgstr "تحديث" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__used_in_composition_ids +msgid "Used In Composition" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_chart__color +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period__color +msgid "Used in the kanban view" +msgstr "يستخدم في عرض كانبان" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__using_composition_ids +msgid "Using Composition" +msgstr "" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,field_description:odex25_account_consolidation.field_consolidation_period__website_message_ids +msgid "Website Messages" +msgstr "رسائل الموقع" + +#. module: odex25_account_consolidation +#: model:ir.model.fields,help:odex25_account_consolidation.field_consolidation_period__website_message_ids +msgid "Website communication history" +msgstr "سجل تواصل الموقع" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_journal.py:0 +#, python-format +msgid "" +"When setting a period on a consolidation journal, the selected consolidation" +" chart for the journal cannot be different from the one of the chosen " +"period." +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/report/trial_balance.py:0 +#, python-format +msgid "XLSX" +msgstr "" + +#. module: odex25_account_consolidation +#: model_terms:ir.ui.view,arch_db:odex25_account_consolidation.consolidation_chart_form +msgid "" +"You can here define complex consolidations based on other sub-" +"consolidations, as part of a whole scheme" +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_journal.py:0 +#, python-format +msgid "You can't delete an auto-generated journal entry." +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_journal.py:0 +#: code:addons/odex25_account_consolidation/models/consolidation_journal.py:0 +#, python-format +msgid "You can't edit an auto-generated journal entry." +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/models/consolidation_journal.py:0 +#, python-format +msgid "You cannot add journals to a closed period !" +msgstr "" + +#. module: odex25_account_consolidation +#: code:addons/odex25_account_consolidation/report/builder/comparison.py:0 +#, python-format +msgid "n/a" +msgstr "غير محدد" + +#. module: odex25_account_consolidation +#. openerp-web +#: code:addons/odex25_account_consolidation/static/src/xml/fields_templates.xml:0 +#, python-format +msgid "unmapped accounts" +msgstr "" diff --git a/odex25_accounting/odex25_account_consolidation/models/__init__.py b/odex25_accounting/odex25_account_consolidation/models/__init__.py new file mode 100644 index 000000000..569f60ba9 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/models/__init__.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +from . import account_account +from . import res_company +from . import account_move +from . import consolidation_coa +from . import consolidation_period +from . import consolidation_journal +from . import consolidation_rate diff --git a/odex25_accounting/odex25_account_consolidation/models/account_account.py b/odex25_accounting/odex25_account_consolidation/models/account_account.py new file mode 100644 index 000000000..113025d7e --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/models/account_account.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api +from odoo.osv import expression + + +class Account(models.Model): + _inherit = 'account.account' + + consolidation_account_ids = fields.Many2many('consolidation.account') + consolidation_account_chart_filtered_ids = fields.Many2many('consolidation.account', + readonly=False, + compute="_compute_filtered_consolidation_account_ids", + search="_search_filtered_consolidation_account_ids", + inverse='_inverse_filtered_consolidation_account_ids', + ) + consolidation_color = fields.Integer('Color', related="company_id.consolidation_color", readonly=True) + + @api.depends('consolidation_account_ids') + @api.depends_context('chart_id') + def _compute_filtered_consolidation_account_ids(self): + """ + Compute filtered_consolidation_account_ids field which is the list of consolidation account ids linked to this + account filtered to only contains the ones linked to the chart contained in the context + """ + chart_id = self.env.context.get('chart_id') + for record in self: + consolidation_account_ids = record.consolidation_account_ids + if chart_id: + consolidation_account_ids = consolidation_account_ids.filtered( + lambda x: x.chart_id.id == chart_id) + record.consolidation_account_chart_filtered_ids = consolidation_account_ids + + def _inverse_filtered_consolidation_account_ids(self): + """ + Allow the write back of filtered field to the not filtered one. This method makes sure to not erase the + consolidation accounts from other charts. + """ + chart_id = self.env.context.get('chart_id', False) + for record in self: + from_other_charts = record.consolidation_account_ids + if chart_id: + from_other_charts = from_other_charts.filtered(lambda x: x.chart_id.id != chart_id) + record.consolidation_account_ids = record.consolidation_account_chart_filtered_ids.union(from_other_charts) + + def _search_filtered_consolidation_account_ids(self, operator, operand): + """ + Allow the "mapped" and "not mapped" filters in the account list views. + """ + if operator in ('!=', '=') and operand is False: + chart_id = self.env.context.get('chart_id', False) + domain = [('consolidation_account_ids', '!=', False)] + if chart_id: + domain = expression.AND([domain, [('consolidation_account_ids.chart_id', '=', chart_id)]]) + if operator == '=': + result = self.search_read(domain, ['id']) + domain = [('id', 'not in', [r['id'] for r in result])] + return domain + else: + return [('consolidation_account_ids', operator, operand)] diff --git a/odex25_accounting/odex25_account_consolidation/models/account_move.py b/odex25_accounting/odex25_account_consolidation/models/account_move.py new file mode 100644 index 000000000..182db580c --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/models/account_move.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields + + +class AccountMoveLine(models.Model): + _inherit = 'account.move.line' + + consolidation_journal_line_ids = fields.Many2many('consolidation.journal.line', string="Consolidation Journal Line") diff --git a/odex25_accounting/odex25_account_consolidation/models/consolidation_coa.py b/odex25_accounting/odex25_account_consolidation/models/consolidation_coa.py new file mode 100644 index 000000000..67d3d7479 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/models/consolidation_coa.py @@ -0,0 +1,280 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api, _ +from odoo.osv import expression +from odoo.exceptions import ValidationError + + +class ConsolidationChart(models.Model): + _name = "consolidation.chart" + _description = "Consolidation chart" + + name = fields.Char(string='Consolidation Name', required=True) + currency_id = fields.Many2one('res.currency', string="Target Currency", required=True) + period_ids = fields.One2many('consolidation.period', 'chart_id', string="Analysis Periods") + period_ids_count = fields.Integer(compute='_compute_period_ids_count', string='# Periods') + account_ids = fields.One2many('consolidation.account', 'chart_id', 'Consolidation Accounts', copy=True) + account_ids_count = fields.Integer(compute='_compute_account_ids_count', string='# Accounts') + group_ids = fields.One2many('consolidation.group', 'chart_id', 'Account Groups') + group_ids_count = fields.Integer(compute='_compute_group_ids_count', string='# Groups') + + color = fields.Integer('Color Index', help='Used in the kanban view', default=0) + company_ids = fields.Many2many('res.company', string="Companies") + children_ids = fields.Many2many('consolidation.chart', 'odex25_account_consolidation_inner_rel', 'children_ids', + 'parent_ids', string="Sub-consolidations") + parents_ids = fields.Many2many('consolidation.chart', 'odex25_account_consolidation_inner_rel', 'parent_ids', + 'children_ids', string="Consolidated In") + + # COMPUTEDS + @api.depends('account_ids') + def _compute_account_ids_count(self): + """ + Compute the amount of consolidation accounts are linked to this chart. + """ + for record in self: + record.account_ids_count = len(record.account_ids) + + @api.depends('group_ids') + def _compute_group_ids_count(self): + """ + Compute the amount of consolidation account sections are linked to this chart. + """ + for record in self: + record.group_ids_count = len(record.group_ids) + + @api.depends('period_ids') + def _compute_period_ids_count(self): + """ + Compute the amount of analysis periods are linked to this chart. + """ + for record in self: + record.period_ids_count = len(record.period_ids) + + def copy(self, default=None): + default = dict(default or {}) + default['name'] = self.name + ' (copy)' + default['color'] = ((self.color if self.color else 0) + 1) % 12 + return super().copy(default) + + # ACTIONS + + def action_open_mapping(self): + """ + Open mapping view for this chart. + :return: the action to execute + """ + self.ensure_one() + return { + 'type': 'ir.actions.act_window', + 'res_model': 'consolidation.account', + 'view_mode': 'tree', + 'views': [[self.env.ref('odex25_account_consolidation.consolidation_account_tree_mapping').id, 'list']], + 'domain': [('chart_id', '=', self.id)], + 'context': {}, + 'name': _('Account Mapping: %(chart)s', chart=self.name), + 'search_view_id': [self.env.ref('odex25_account_consolidation.consolidation_account_search_mapping').id, 'search'] + } + + # ONBOARDING + @api.model + # Onboarding requires an object method + def setting_consolidation_action(self): + """ + Called by the 'Create' button of the setup bar in "first consolidation" step. + :return: the action to execute + """ + action = self.env["ir.actions.actions"]._for_xml_id("odex25_account_consolidation.consolidation_chart_action_onboarding") + last_chart = self.search([], order="id desc", limit=1) + if last_chart.id: + action.update({ + 'res_id': last_chart.id, + }) + return action + + def action_save_onboarding_consolidation_step(self): + self.env.company.sudo().set_onboarding_step_done('consolidation_setup_consolidation_state') + + @api.model + def setting_consolidated_chart_of_accounts_action(self): + """ + Called by the 'Setup' button of the setup bar in "Consolidated Chart of Accounts" step. + :return: the action to execute + """ + action = self.env["ir.actions.actions"]._for_xml_id("odex25_account_consolidation.consolidation_account_action") + last_chart = self.search([], order="id desc", limit=1) + action.update({ + 'context': {'default_chart_id': last_chart.id, 'search_default_chart_id': last_chart.id}, + 'views': [ + (self.env.ref('odex25_account_consolidation.consolidation_account_tree_onboarding').id, 'list'), + (False, 'form') + ] + }) + self.env.company.sudo().set_onboarding_step_done('consolidation_setup_ccoa_state') + return action + + @api.model + def setting_create_period_action(self): + """ + Called by the 'Create' button of the setup bar in "first period" step. + :return: the action to execute + """ + action = self.env["ir.actions.actions"]._for_xml_id("odex25_account_consolidation.consolidation_period_action_onboarding") + last_chart = self.search([], order="id desc", limit=1) + action.update({'context': {'default_chart_id': last_chart.id}}) + return action + + +class ConsolidationAccount(models.Model): + _name = "consolidation.account" + _description = "Consolidation account" + _order = 'sequence asc, id' + _rec_name = 'name' + + def get_default_chart_id(self): + return self.env['consolidation.chart'].search([], order="id desc", limit=1) + + chart_id = fields.Many2one('consolidation.chart', string="Consolidation", ondelete="cascade", required=True, + default=get_default_chart_id) + name = fields.Char(string='Name', required=True) + code = fields.Char(size=64, required=False, index=True, copy=False) + full_name = fields.Char(string='Full Name', compute='_compute_full_name') + sequence = fields.Integer() + + group_id = fields.Many2one('consolidation.group', string='Group') + account_ids = fields.Many2many('account.account', string="Accounts") + currency_mode = fields.Selection([('end', 'Closing Rate'), ('avg', 'Average Rate'), ('hist', 'Historical Rate')], + required=True, default='end', string='Currency Conversion Method') + line_ids = fields.One2many('consolidation.journal.line', 'account_id', string="Account") + + linked_chart_ids = fields.Many2many('consolidation.chart', store=False, related="chart_id.children_ids") + company_ids = fields.Many2many('res.company', store=False, related="chart_id.company_ids") + + # HIERARCHY + #TODO I've no idea what this is for... + using_ids = fields.Many2many('consolidation.account', 'consolidation_accounts_rel', 'used_in_ids', + 'using_ids', string="Consolidation Accounts") + used_in_ids = fields.Many2many('consolidation.account', 'consolidation_accounts_rel', 'using_ids', + 'used_in_ids', string='Consolidated in') + filtered_used_in_ids = fields.Many2many('consolidation.account', readonly=False, + compute="_compute_filtered_used_in_ids", + search="_search_filtered_used_in_ids", + inverse='_inverse_filtered_used_in_ids', + ) + + _sql_constraints = [ + ('code_uniq', 'unique (code, chart_id)', + "A consolidation account with the same code already exists in this consolidation."), + ] + + # COMPUTEDS + + @api.depends('group_id', 'name') + def _compute_full_name(self): + for record in self: + if record.group_id: + record.full_name = '%s / %s' % (record.group_id.name_get()[0][1], record.name) + else: + record.full_name = record.name + + @api.depends('used_in_ids') + @api.depends_context('chart_id') + def _compute_filtered_used_in_ids(self): + """ + Compute filtered_used_in_ids field which is the list of consolidation account ids linked to this + consolidation account filtered to only contains the ones linked to the chart contained in the context + """ + chart_id = self.env.context.get('chart_id', False) + for record in self: + if chart_id: + record.filtered_used_in_ids = record.used_in_ids.filtered(lambda x: x.chart_id.id == chart_id) + else: + record.filtered_used_in_ids = record.used_in_ids.ids + + def _inverse_filtered_used_in_ids(self): + """ + Allow the write back of filtered field to the not filtered one. This method makes sure to not erase the + consolidation accounts from other charts. + """ + chart_id = self.env.context.get('chart_id', False) + for record in self: + record.used_in_ids = record.filtered_used_in_ids + record.used_in_ids.filtered(lambda x: x.chart_id.id != (chart_id or False)) + + def _search_filtered_used_in_ids(self, operator, operand): + """ + Allow the "mapped" and "not mapped" filters in the account list views. + :rtype: list + """ + if operator in ('!=', '=') and operand == False: + chart_id = self.env.context.get('chart_id', False) + domain = [('used_in_ids', '!=', False)] + if chart_id: + domain = expression.AND([domain, [('used_in_ids.chart_id', '=', chart_id)]]) + if operator == '=': + result = self.search_read(domain, ['id']) + domain = [('id', 'not in', [r['id'] for r in result])] + return domain + else: + return [('used_in_ids', operator, operand)] + + # ORM OVERRIDES + + def name_get(self): + ret_list = [] + for record in self: + if record.code: + name = '%s %s' % (record.code, record.name) + else: + name = record.name + ret_list.append((record.id, name)) + return ret_list + + # HELPERS + + def get_display_currency_mode(self): + """ + Get the display name of the currency mode of this consolidation account + :return: the repr string of the currency mode + :rtype: str + """ + self.ensure_one() + return dict(self._fields['currency_mode'].selection).get(self.currency_mode) + + +class ConsolidationGroup(models.Model): + _name = "consolidation.group" + _description = "Consolidation Group" + _order = 'parent_id asc, sequence asc, name asc' + _parent_name = "parent_id" + _parent_store = True + + chart_id = fields.Many2one('consolidation.chart', string="Consolidation", required=True, ondelete='cascade') + name = fields.Char(string='Name', required=True) + sequence = fields.Integer() + show_on_dashboard = fields.Boolean(default=False) + parent_id = fields.Many2one('consolidation.group', string='Parent') + child_ids = fields.One2many('consolidation.group', 'parent_id', 'Children') + parent_path = fields.Char(index=True) + account_ids = fields.One2many('consolidation.account', 'group_id', 'Consolidation Account') + line_ids = fields.One2many('consolidation.journal.line', 'group_id', 'Journal lines', + related="account_ids.line_ids") + + # CONSTRAINTS + @api.constrains('child_ids', 'account_ids') + def _check_unique_type_of_descendant(self): + """ + Check that the section only have account children or section children but not both. + """ + for record in self: + if record.child_ids and len(record.child_ids) > 0 and record.account_ids and len(record.account_ids) > 0: + raise models.ValidationError(_("An account group can only have accounts or other groups children but not both !")) + + def name_get(self): + ret_list = [] + for section in self: + orig_section = section + name = section.name + while section.parent_id: + section = section.parent_id + name = section.name + " / " + name + ret_list.append((orig_section.id, name)) + return ret_list diff --git a/odex25_accounting/odex25_account_consolidation/models/consolidation_journal.py b/odex25_accounting/odex25_account_consolidation/models/consolidation_journal.py new file mode 100644 index 000000000..224e65643 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/models/consolidation_journal.py @@ -0,0 +1,277 @@ +# -*- coding: utf-8 -*- + +import collections + +from odoo import models, fields, api, _ +from odoo.exceptions import UserError, ValidationError + +ColumnMetadata = collections.namedtuple('ColumnMetadata', 'grouping domain prev next initial values format') + + +class ConsolidationJournal(models.Model): + _name = "consolidation.journal" + _description = "Consolidation Journal" + _order = 'company_period_id asc, id asc' + + name = fields.Char(string='Name', required=True) + period_id = fields.Many2one('consolidation.period', string="Analysis Period", ondelete="cascade") + chart_id = fields.Many2one('consolidation.chart', string="Chart", required=True) + company_period_id = fields.Many2one('consolidation.company_period', string="Company Period", required=False, + copy=False) + state = fields.Selection(related="period_id.state", readonly=True) + # CHART currency id + currency_id = fields.Many2one('res.currency', related="period_id.chart_id.currency_id", readonly=True) + composition_id = fields.Many2one('consolidation.period.composition', string="Consolidation Period", + required=False, copy=False) + line_ids = fields.One2many('consolidation.journal.line', 'journal_id', 'Consolidation items') + + auto_generated = fields.Boolean(default=False, string="Automatically Generated", readonly=True, copy=False) + balance = fields.Monetary(compute="_compute_balance", string="Balance", readonly=True) + + # Originating company period or composition fields + originating_currency_id = fields.Many2one('res.currency', compute="_compute_originating_fields", readonly=True) + rate_consolidation = fields.Float(compute="_compute_originating_fields", string='Consolidation Rate', readonly=True) + currencies_are_different = fields.Boolean(compute="_compute_currencies_are_different", readonly=True) + + # CONSTRAINTS + @api.constrains('company_period_id', 'composition_id') + def _check_unique_origin(self): + """ + Check that the journal have only been generated by a company period OR a composition OR neither. + """ + for record in self: + if record.company_period_id and record.composition_id: + raise ValidationError(_('A journal entry should only be linked to a company period OR to a analysis period of another consolidation !')) + + @api.constrains('period_id') + def _check_not_locked_period(self): + """ + Prevent the addition of journals to a already closed analysis period. + """ + for record in self: + if record.period_id and record.period_id.state == 'closed': + raise ValidationError(_('You cannot add journals to a closed period !')) + + @api.constrains('period_id', 'chart_id') + def _check_chart_id(self): + for record in self: + if record.period_id and record.chart_id != record.period_id.chart_id: + raise ValidationError(_("When setting a period on a consolidation journal, the selected consolidation chart for the journal cannot be different from the one of the chosen period.")) + + # COMPUTEDS + @api.depends('line_ids') + def _compute_balance(self): + """ + Compute the total balance of the journal + """ + JournalLine = self.env['consolidation.journal.line'] + journal_lines = JournalLine.read_group([('journal_id', 'in', self.ids)], ['amount:sum', 'journal_id'], + ['journal_id']) + amounts = {a['journal_id'][0]: a['amount'] for a in journal_lines} + for record in self: + record.balance = amounts.get(record.id, 0) + + @api.depends('company_period_id', 'composition_id') + def _compute_originating_fields(self): + """ + Compute the fields which are base on the origin of the journal (composition_id or company_period_id) : + rate_consolidation and originating_currency_id. + :return: + """ + for record in self: + if record.company_period_id: + record.originating_currency_id = record.company_period_id.currency_company_id + record.rate_consolidation = record.company_period_id.rate_consolidation + else: + record.originating_currency_id = record.composition_id.using_chart_currency_id + record.rate_consolidation = record.composition_id.rate_consolidation + + @api.depends('originating_currency_id', 'currency_id') + def _compute_currencies_are_different(self): + """ + Compute if the currencies (the one from the origin and the one from the record itself) are different. + """ + for record in self: + record.currencies_are_different = record.currency_id != record.originating_currency_id + + @api.onchange('period_id') + def _onchange_period_id(self): + if self.period_id: + self.chart_id = self.period_id.chart_id + + # ACTIONS + def action_generate_journal_lines(self): + """ + Re(generate) all the journals of the recordset. It won't affect journals linked to closed analysis periods. + """ + self.check_access_rule('write') + for record in self: + if record.state == 'closed': + continue + # Since he has the rights to be here, we can go sudo from here + record = record.sudo() + record.line_ids.with_context(allow_unlink=True).unlink() + origin = record.company_period_id or record.composition_id + journal_line_values = origin.get_journal_lines_values() + record.write({'line_ids': [(0, 0, value) for value in journal_line_values]}) + + +class ConsolidationJournalLine(models.Model): + _name = "consolidation.journal.line" + _description = "Consolidation journal line" + + note = fields.Text(string='Description', required=False) + journal_id = fields.Many2one('consolidation.journal', string="Journal", ondelete='cascade', required=True) + account_id = fields.Many2one('consolidation.account', string="Consolidated Account", required=True) + group_id = fields.Many2one('consolidation.group', related="account_id.group_id", + string="Group", store=True) + period_id = fields.Many2one('consolidation.period', related="journal_id.period_id", + string="Period", store=True) + auto_generated = fields.Boolean(related="journal_id.auto_generated") + currency_amount = fields.Monetary(string="Currency Amount", currency_field='chart_currency_id') + journal_originating_currency_id = fields.Many2one('res.currency', related="journal_id.originating_currency_id", + readonly=True) + amount = fields.Monetary(string="Amount", currency_field='chart_currency_id') + chart_currency_id = fields.Many2one('res.currency', related="account_id.chart_id.currency_id", readonly=True) + + # GENERATED FROM when the journal is generated by a company period (AUDIT) + move_line_ids = fields.Many2many('account.move.line') + + @api.constrains('account_id', 'journal_id') + def _check_conditional_unicity(self): + """ + Check that the journal line is unique by account and autogenerated journal + EXCEPT if the account is in historical currency mode. + """ + existings = {} + for record in self: + if record.journal_id and record.account_id and record.journal_id.auto_generated and record.account_id.currency_mode != 'hist': + domain = [('account_id', '=', record.account_id.id), ('journal_id', '=', record.journal_id.id)] + if record.id: + domain.append(('id', '!=', record.id)) + if existings.get((record.journal_id, record.account_id), False) or record.search(domain).exists(): + raise models.ValidationError( + 'Only one entry by account should be created for a generated journal entry !') + existings[(record.journal_id, record.account_id)] = True + + # ORM OVERRIDES + def write(self, vals): + if self.journal_id and self.journal_id.auto_generated: + raise UserError(_("You can't edit an auto-generated journal entry.")) + return super().write(vals) + + def unlink(self): + if not self.env.context.get('allow_unlink', False) and self.journal_id and self.journal_id.auto_generated: + raise UserError(_("You can't delete an auto-generated journal entry.")) + return super().unlink() + + # GRID OVERRIDES + + def adjust_grid(self, row_domain, column_field, column_value, cell_field, change): + """ + Called by the grid view when editing a cell value. If journal is editable, it creates a new journal line linked + to the journal (column) and the account (row) with the difference and a auto generated text as description. + :param row_domain: the domain corresponding to the row + :param column_field: the column field + :param column_value: the column value + :param cell_field: the cell field + :param change: the change applied to the cell (ex: was -10 and now is 10 : change contains 20) + :return: created lines + :rtype: account.consolidation.journal.line + """ + if not self._journal_is_editable(row_domain, column_field, column_value): + raise UserError(_("You can't edit an auto-generated journal entry.")) + + row = self.search(row_domain)[0] + return self.create([{ + column_field: column_value, + 'account_id': row.account_id.id, + 'note': 'Trial balance adjustment', + cell_field: change + }]) + + def _grid_column_info(self, name, range): + """ + Get the information of a given column. + :param name: the field name linked to that column + :param range: the range of the column + :type name: str + :type range: None | dict + :return: a ColumnMetadata object representing the information of that column. + :rtype: ColumnMetadata + """ + period_id = self.env.context.get('default_period_id', False) + if name == 'journal_id' and period_id: + # filter journals displayed in columns on period id + domain = [('period_id', '=', period_id)] + journals = self.env['consolidation.journal'].search(domain).name_get() + return ColumnMetadata( + grouping=name, + domain=[], + prev=False, + next=False, + initial=False, + values=[{ + 'values': {name: v}, + 'domain': [(name, '=', v[0])], + 'is_current': False + } for v in journals], + format=lambda a: a and a[0], + ) + return super()._grid_column_info(name, range) + + def _grid_format_cell(self, group, cell_field, readonly_field): + """ + Format a cell in the grid. + :param group: group of models linked to the cell + :param cell_field: the model field used as measure in the cell + :param readonly_field: readonly field associated to the cell (if any) + :return: a dict containing the size of the cell, the domain, the value and a boolean which is True if the model + is readonly, False otherwise. + :rtype: dict + """ + res = self.search(group['__domain']) + return { + 'size': group['__count'], + 'domain': group['__domain'], + 'value': group[cell_field], + 'readonly': any(res.mapped('auto_generated')) + } + + def _grid_make_empty_cell(self, row_domain, column_domain, view_domain): + """ + Format a cell when no model found to display data. In this grid, we just need to set the readonly flag to False + if the generated journal is not editable. + :param row_domain: the domain of the row where the empty cell needs to be created + :param column_domain: the domain of the column where the empty cell needs to be created + :param view_domain: the domain of the view where the empty cell needs to be created + :return: a dict containing the size of the cell, the domain, the value and a boolean which is True if the model + is readonly, False otherwise. + :rtype: dict + """ + cell = super()._grid_make_empty_cell(row_domain, column_domain, view_domain) + cell['readonly'] = False + if len(column_domain) == 1: + domain_clause = column_domain[0] + if domain_clause[0] == 'journal_id': + journal_domain = [('id', domain_clause[1], domain_clause[2])] + cell['readonly'] = self.env['consolidation.journal'].search(journal_domain, limit=1).auto_generated + return cell + + # PROTECTEDS + + def _journal_is_editable(self, row_domain, column_field, column_value): + """ + Determine if a journal is editable based on a cell, even if no journal line object is linked to it. + :param row_domain: the row's domain + :type row_domain: list + :param column_field: the column field + :type column_field: str + :param column_value: the value for column_field determining the column + :return: True if editable, False otherwise + :rtype: bool + """ + if column_field == 'journal_id': + res = self.env['consolidation.journal'].search([('id', '=', column_value)]) + return len(res) == 1 and not res[0].auto_generated + return True diff --git a/odex25_accounting/odex25_account_consolidation/models/consolidation_period.py b/odex25_accounting/odex25_account_consolidation/models/consolidation_period.py new file mode 100644 index 000000000..a6119331f --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/models/consolidation_period.py @@ -0,0 +1,764 @@ +# -*- coding: utf-8 -*- + +import datetime + +from odoo import models, fields, api, _ +from odoo.exceptions import ValidationError +from odoo.osv import expression +from odoo.tools.misc import formatLang + + +class ConsolidationPeriod(models.Model): + _name = "consolidation.period" + _description = "Consolidation Period" + _order = 'date_analysis_end desc, date_analysis_begin desc, id desc' + _inherit = ['mail.thread'] + + def _get_default_date_analysis_begin(self): + company = self.env.company + return company.compute_fiscalyear_dates(datetime.date.today())['date_from'] if company else None + + chart_id = fields.Many2one('consolidation.chart', string="Consolidation", required=True, ondelete='cascade') + chart_currency_id = fields.Many2one('res.currency', related="chart_id.currency_id") + chart_name = fields.Char(related='chart_id.name', readonly=True) + chart_account_ids_count = fields.Integer(related="chart_id.account_ids_count", string='# Accounts') + display_dates = fields.Char(compute="_compute_display_dates") + date_analysis_begin = fields.Date(string="Start Date", required=True, default=_get_default_date_analysis_begin) + date_analysis_end = fields.Date(string="End Date") + state = fields.Selection([('draft', 'Draft'), ('closed', 'Closed')], default='draft', required=True, tracking=True, copy=False) + + using_composition_ids = fields.One2many('consolidation.period.composition', + 'using_period_id') + used_in_composition_ids = fields.One2many('consolidation.period.composition', + 'composed_period_id') + + company_period_ids = fields.One2many('consolidation.company_period', 'period_id', string="Company Periods", copy=False) + journal_ids = fields.One2many('consolidation.journal', 'period_id', string="Journals") + journal_ids_count = fields.Integer(compute="_compute_journal_ids_count", string="# Journals") + color = fields.Integer('Color Index', readonly=False, related="chart_id.color", help='Used in the kanban view') + dashboard_sections = fields.Text(compute="_compute_dashboard_sections") + company_unmapped_accounts_counts = fields.Text(compute="_compute_company_unmapped_accounts_counts") + + # COMPUTEDS + @api.depends('journal_ids') + def _compute_dashboard_sections(self): + """ + Compute the dashboard sections + :return: + """ + Section = self.env['consolidation.group'] + for record in self: + domain = [('period_id.id', '=', record.id), ('group_id.show_on_dashboard', '=', True)] + rfields = ['group_id.id', 'total:sum(amount)'] + group_by = ['group_id'] + grouped_res = self.env['consolidation.journal.line'].read_group(domain, rfields, group_by) + results = [ + '["%s","%s"]' % (Section.browse(value['group_id'][0]).name, record._format_value(value['total'])) + for value in grouped_res + ] + record.dashboard_sections = '[%s]' % ','.join(results) + + @api.depends('journal_ids') + def _compute_journal_ids_count(self): + """ + Compute the amount of journal ids + """ + for record in self: + record.journal_ids_count = len(record.journal_ids) + + @api.depends('date_analysis_begin', 'date_analysis_end') + def _compute_display_dates(self): + """ + Compute the display dates + """ + for record in self: + begin = record.date_analysis_begin + end = record.date_analysis_end if record.date_analysis_end else None + if end is None or (begin.month == end.month and begin.year == end.year): + record.display_dates = begin.strftime('%b %Y') + else: + if begin.year == end.year: + vals = (begin.strftime('%b'), end.strftime('%b %Y')) + else: + vals = (begin.strftime('%b %Y'), end.strftime('%b %Y')) + record.display_dates = '%s-%s' % vals + + @api.depends('company_period_ids') + def _compute_company_unmapped_accounts_counts(self): + """ Compute the number of company unmapped accounts + """ + Account = self.env['account.account'].sudo() + Company = self.env['res.company'] + for record in self: + context = {'chart_id': record.chart_id.id} + record_companies = set(record.company_period_ids.mapped('company_id.id')) + user_companies = set(self.env.user.company_ids.ids) + company_ids = tuple(record_companies.intersection(user_companies)) + + domain = [ + ('company_id.id', 'in', company_ids), + ('consolidation_account_chart_filtered_ids', '=', False), + ('used', '=', True) + ] + values = Account.with_context(context).read_group(domain, ['amount:count(id)', 'company_id.id'], + ['company_id']) + + results = [ + '["%s","%s","%s"]' % (val['company_id'][0], Company.browse(val['company_id'][0]).name, val['amount']) + for val in values] + + record.company_unmapped_accounts_counts = '[%s]' % ','.join(results) + + @api.onchange('date_analysis_end') + def generate_guessed_company_periods(self): + """ + Guess and generate company periods that user has a big chance to want to generate. + """ + self.ensure_one() + # once generated we don't do anything anymore as the user may have modified something + if not self.company_period_ids: + if self.date_analysis_begin and self.date_analysis_end and self.chart_id: + company_period_values = self._get_company_periods_default_values() + self.company_period_ids = [(0, 0, value) for value in company_period_values] + + # ORM OVERRIDES + def name_get(self): + result = [] + for record in self: + result.append((record.id, '%s (%s)' % (record.chart_name, record.display_dates))) + return result + + def copy(self, default=None): + default = dict(default or {}) + default['date_analysis_begin'] = self.date_analysis_end + datetime.timedelta(days=1) + default['date_analysis_end'] = None + return super().copy(default) + + @api.model + def _name_search(self, name='', args=None, operator='ilike', limit=100, name_get_uid=None): + args = args or [] + domain = [] + if name: + domain = [('chart_name', operator, name)] + return self._search(expression.AND([domain, args]), limit=limit, access_rights_uid=name_get_uid) + + # ACTIONS + + def action_toggle_state(self): + """ + Toggle the state of this analysis period + """ + for record in self: + record.write({'state': 'draft' if record.state == 'closed' else 'closed'}) + + def action_close(self): + """ + Put this analysis period in "closed" state + """ + self.write({'state': 'closed'}) + return True + + def action_draft(self): + """ + Put this analysis period in "draft" state + """ + self.write({'state': 'draft'}) + return True + + def action_generate_journals(self): + """ + (re)Generate all the journals linked to this analysis period + :return: the action to execute + """ + for record in self: + if record.state == 'closed': + continue + + record.check_access_rights('write') + record.journal_ids.check_access_rights('unlink') + record.journal_ids.check_access_rights('create') + # Since he has the rights to be here, we can go sudo from here + record = record.sudo() + # unlink everything (only the ones auto-generated) + record.journal_ids.search([ + ('auto_generated', '=', True), + ('period_id', '=', record.id) + ]).unlink() + + # (re)generate + # 1 journal = 1 company + record._generate_company_periods_journals() + # 1 journal = 1 sub-consolidation + record._generate_consolidations_journals() + + def action_open_mapping(self): + """ + Open the mapping view for this analysis period and the company designated by the company_id value in context. + The mapping view is the view allowing the user to map company accounts to consolidated accounts. + :return: the action to execute + """ + self.ensure_one() + company_id = self.env.context.get('company_id') + company = self.env['res.company'].browse(company_id) + action = self.env["ir.actions.actions"]._for_xml_id("odex25_account_consolidation.account_mapping_action") + action.update({ + 'domain': [('company_id', '=', company_id)], + # dont know why but it's needed otherwise "cannot read type of undefined" js error + 'views': [[self.env.ref('odex25_account_consolidation.account_mapping_tree').id, 'list']], + 'context': { + 'chart_id': self.chart_id.id, + 'company_id': company_id, + 'search_default_not_mapped': True, + 'search_default_used': True, + }, + 'display_name': _('Account Mapping: %s (for %s)') % (company.name, self.chart_id.name) + }) + return action + + def action_open_form(self): + """ + Open the form view this analysis period + :return: the action to execute + """ + self.ensure_one() + action = self.env["ir.actions.actions"]._for_xml_id("odex25_account_consolidation.consolidation_period_action") + action.update({ + 'views': [[False, 'form']], + 'res_id': self.id + }) + return action + + def action_open_trial_balance_grid(self): + """ + Open the trial balance grid for this analysis period + :return: the action to execute + """ + self.ensure_one() + return { + 'type': 'ir.actions.act_window', + 'res_model': 'consolidation.journal.line', + 'view_mode': 'grid,graph,form', + 'views': [[False, 'grid'], [False, 'graph'], [False, 'form']], + 'domain': [('period_id', '=', self.id)], + 'context': { + 'default_period_id': self.id + }, + 'name': _('Trial Balance: %s', self.display_name), + 'search_view_id': [self.env.ref('odex25_account_consolidation.trial_balance_grid_search').id, 'search'] + } + + def action_open_chart_of_accounts(self): + """ + Open the consolidated chart of accounts for this analysis period + :return: the action to execute + """ + self.ensure_one() + action = self.env["ir.actions.actions"]._for_xml_id("odex25_account_consolidation.consolidation_account_action") + action['context'] = { + 'search_default_chart_id': self.chart_id.id, + 'default_chart_id': self.chart_id.id + } + return action + + def action_save_onboarding_create_step(self): + """ + Save the "done" state of onboarding step of create first analysis period + """ + self.env.user.company_id.sudo().set_onboarding_step_done('consolidation_create_period_state') + + # PROTECTEDS + + def _get_company_periods_default_values(self): + """ + Get company periods default values based on previous period or chart + :return: a list of dict containing default values to use for newly creating company periods (one entry for each + company period) + :rtype: list + """ + self.ensure_one() + previous_analysis_period = self._get_previous_similiar_period() + # Generate from companies linked to chart + if not previous_analysis_period: + company_period_values = self._get_company_periods_default_values_from_chart() + # Generate from analysis periods linked to chart + else: + company_period_values = self._get_company_periods_default_values_from_period(previous_analysis_period) + return company_period_values + + def _get_previous_similiar_period(self): + """ + Get previous similar period of this analysis period + :return: a recordset containing the previous similar period + """ + self.ensure_one() + if self.date_analysis_end: + extra_domain = [('date_analysis_end', '<', self.date_analysis_end)] + else: + extra_domain = [('date_analysis_end', '<', self.date_analysis_begin)] + + previous_analysis_periods = self._get_similar_periods(extra_domain, limit=1) + if not previous_analysis_periods or len(previous_analysis_periods) == 0: + extra_domain = [('date_analysis_end', '!=', False)] + previous_analysis_periods = self._get_similar_periods(extra_domain, limit=1) + + return previous_analysis_periods[0] if len(previous_analysis_periods) > 0 else False + + def _get_similar_periods(self, extra_domain= None, limit= None, order= "date_analysis_end desc"): + """ + Get similar periods of this analysis period + :param extra_domain: the extra domain to apply to the query made + :type extra_domain: list + :param limit: the limit amount of similar periods to retrieve + :type limit: int + :param order: the order in which the periods should be retrieved ('date_analysis_end desc' by default) + :type order: str + :return: a recordset containing the similar periods + """ + self.ensure_one() + domain = [('chart_id', '=', self.chart_id.id)] + + # Avoid to get current period in the results + if self.id: + domain.append(('id', '!=', self.id)) + + # Allow extra filtering + if extra_domain is not None: + domain += extra_domain + + similar_analysis_periods = self.search(domain, order=order, limit=limit) + return similar_analysis_periods + + def _get_company_periods_default_values_from_period(self, other_period): + """ + Compute the company periods default values based on another period. + :param other_period: the period to base on + :return: a list of dict containing default values to use for newly creating company periods (one entry for each + company period) + :rtype: list + """ + self.ensure_one() + company_period_values = [] + for previous_company_period in other_period.company_period_ids: + company_period_value = previous_company_period.copy_data()[0] + del company_period_value['period_id'] + company_period_value.update({ + 'date_company_begin': self.date_analysis_begin, + 'date_company_end': self.date_analysis_end, + }) + company_period_values.append(company_period_value) + return company_period_values + + def _get_company_periods_default_values_from_chart(self): + """ + Compute the company periods default values based on chart + :return: a list of dict containing default values to use for newly creating company periods (one entry for each + company period) + :rtype: list + """ + self.ensure_one() + company_period_values = [] + cp_fields = self.env['consolidation.company_period']._fields + for company_id in self.chart_id.mapped('company_ids.id'): + values = self.env['consolidation.company_period'].default_get(cp_fields) + values.update({ + 'chart_id': self.chart_id, + 'date_company_begin': self.date_analysis_begin, + 'date_company_end': self.date_analysis_end, + 'company_id': company_id, + }) + company_period_values.append(values) + return company_period_values + + def _generate_company_periods_journals(self): + """ + (re)Generate the journals linked to this analysis period and coming from a linked company periods + """ + self.ensure_one() + for company_period in self.company_period_ids: + company_period.generate_journal() + + def _generate_consolidations_journals(self): + """ + (re)Generate the journals linked to this analysis period and coming from another analysis period (consolidation + of consolidation) + """ + self.ensure_one() + for consolidation_composition in self.using_composition_ids: + consolidation_composition.generate_journal() + + def _format_value(self, value, currency=False): + """ + Format the value of a currency amount based on this analysis period. If no currency is given, this uses the + chart currency to properly format the given value. + :param value: the value to format + :param currency: the currency to use + :return: the formatted value + """ + currency_id = currency or self.chart_id.currency_id + if self.env.context.get('no_format'): + return currency_id.round(value) + if currency_id.is_zero(value): + value = abs(value) + res = formatLang(self.env, value, currency_obj=currency_id) + return res + + +class ConsolidationPeriodComposition(models.Model): + _name = "consolidation.period.composition" + _description = "Consolidation Period Composition" + + composed_chart_currency_id = fields.Many2one('res.currency', string='Composed Consolidation Currency', + related="composed_period_id.chart_id.currency_id") + composed_period_id = fields.Many2one('consolidation.period', ondelete="cascade", + string="Composed Analysis Period", required=True) + using_period_id = fields.Many2one('consolidation.period', string="Analysis Period Using This", ondelete="cascade", required=True) + using_chart_currency_id = fields.Many2one('res.currency', + related="using_period_id.chart_id.currency_id") + rate_consolidation = fields.Float(string="Consolidation Rate", help="Should be between 0 and 100 %", default=100, + required=True) + currency_rate = fields.Float(string="Currency Rate", default=1.0, digits=0, + help="Currency rate from composed chart currency to using chart currency") + currencies_are_different = fields.Boolean(compute='_compute_currencies_are_different', readonly=True) + + _sql_constraints = [ + ('_unique_composition', 'unique (composed_period_id, using_period_id)', + "Two compositions of the same analysis period by the same analysis period cannot be created"), + ] + + @api.constrains('composed_period_id', 'using_period_id') + def _check_composed_period_id(self): + for comp in self: + if comp.composed_period_id == comp.using_period_id: + raise ValidationError(_("The Composed Analysis Period must be different from the Analysis Period")) + + def name_get(self): + result = [] + for record in self: + result.append((record.id, record.composed_period_id.display_name)) + return result + + def generate_journal(self): + """ + (Re)generate the journal representing this analysis period composition. Also (re)generate subsequent non-locked + period journals. + """ + self.ensure_one() + # Delete previous journal + journals = self.env['consolidation.journal'].search([ + ('composition_id', '=', self.id), + ('period_id', '=', self.using_period_id.id) + ]) + journals.unlink() + # update composed analysis period journals (recursive) + self.composed_period_id.action_generate_journals() + journal_lines_values = self.get_journal_lines_values() + self.env['consolidation.journal'].create({ + 'name': self.composed_period_id.chart_name, + 'auto_generated': True, + 'composition_id': self.id, + 'period_id': self.using_period_id.id, + 'chart_id': self.using_period_id.chart_id.id, + 'line_ids': [(0, 0, value) for value in journal_lines_values] + }) + + def get_journal_lines_values(self): + """ + Get all the journal line values in order to create them. + :return: a list of dict containing values for journal lines creation + """ + self.ensure_one() + journal_lines_values = [] + for consolidation_account in self.using_period_id.chart_id.account_ids: + amount = self._get_total_amount(consolidation_account) + journal_lines_values.append({ + "account_id": consolidation_account.id, + "amount": amount + }) + return journal_lines_values + + # PROTECTEDS + + def _get_total_amount(self, consolidation_account): + """ + Get the total amount for a given consolidation account for this composition. It : + - sums the lines of composed period written in consolidation accounts related to consolidation account + - apply the consolidation rate + - apply the currency rate + :param consolidation_account: the consolidation account + :return: the total amount, with all rates applied + :rtype: float + """ + self.ensure_one() + domain = [ + ('account_id.used_in_ids', '=', consolidation_account.id), + ('period_id.id', '=', self.composed_period_id.id) + ] + amounts = self.env['consolidation.journal.line'].sudo().read_group(domain, ['amount:sum(amount)'], []) + amount = amounts[0]['amount'] or 0.0 + return (self.rate_consolidation / 100.0) * (amount * self.currency_rate) + + # COMPUTEDS + + @api.depends('composed_chart_currency_id', 'using_chart_currency_id') + def _compute_currencies_are_different(self): + """ + Compute if the currencies (the one from the chart and the one from the company) are different. + """ + for record in self: + record.currencies_are_different = record.composed_chart_currency_id != record.using_chart_currency_id + + @api.onchange('composed_chart_currency_id') + def _onchange_composed_chart_currency_id(self): + """ + Set the default rate to the current one between the two given currencies (composed chart and using chart one). + """ + for record in self: + if not record.currencies_are_different: + record.currency_rate = 1.0 + elif record.composed_chart_currency_id and record.using_chart_currency_id: + record.currency_rate = record._get_default_currency_rate() + + def _get_default_currency_rate(self): + """ + Get the current currency rate between the two given currencies (composed chart and using chart one). + :return: the current rate in the current company + :rtype: float + """ + self.ensure_one() + from_currency = self.composed_chart_currency_id + to_currency = self.using_chart_currency_id + company = self.env.company + return self.env['res.currency']._get_conversion_rate(from_currency, to_currency, company, datetime.datetime.now()) + + +class ConsolidationCompanyPeriod(models.Model): + _name = "consolidation.company_period" + _description = "Consolidation Company Period" + + chart_id = fields.Many2one('consolidation.chart', related="period_id.chart_id", string="Chart") + period_id = fields.Many2one('consolidation.period', string="Period", required=True, + ondelete="cascade") + company_id = fields.Many2one('res.company', string="Company", required=True) + company_name = fields.Char(related="company_id.name") + date_company_begin = fields.Date(string="Start Date", required=True) + date_company_end = fields.Date(string="End Date", required=True) + + currency_chart_id = fields.Many2one('res.currency', related="period_id.chart_id.currency_id", + string="Consolidation Currency") + currency_company_id = fields.Many2one('res.currency', related="company_id.currency_id", string="Company Currency") + currency_rate_avg = fields.Float(string="Average Currency Rate", default=1.0, digits=[12,12], + help="How many units of company currency is needed to get 1 unit of chart currency") + currency_rate_end = fields.Float(string="End Currency Rate", default=1.0, digits=[12,12], + help="How many units of company currency is needed to get 1 unit of chart currency") + currencies_are_different = fields.Boolean(compute='_compute_currencies_are_different', readonly=True) + + rate_control = fields.Float(string="Rate Control", help="Should be between 0 and 100 %", default=100, required=True) + rate_ownership = fields.Float(string="Rate Ownership", help="Should be between 0 and 100 %", default=100, + required=True) + rate_consolidation = fields.Float(string="Consolidation Rate", help="Should be between 0 and 100 %", default=100, + required=True) + consolidation_method = fields.Selection([ + ('full', 'Full consolidation'), + ('proportional', 'Proportional consolidation'), + ('equity', 'Equity'), + ('none', 'Not consolidated')], default='full', required=True) + exclude_journal_ids = fields.Many2many('account.journal', string="Exclude Journals") + + # COMPUTEDS + @api.depends('currency_chart_id', 'currency_company_id') + def _compute_currencies_are_different(self): + """ + Compute if the currencies (the one from the chart and the one from the company) are different. + """ + for record in self: + record.currencies_are_different = record.currency_chart_id != record.currency_company_id + + # ORM OVERRIDES + def name_get(self): + result = [] + for record in self: + result.append((record.id, record._get_display_name())) + return result + + def generate_journal(self): + """ + Generate the journal representing this company_period. + """ + self.ensure_one() + journal_lines_values = self.get_journal_lines_values() + self.env['consolidation.journal'].create({ + 'name': _("%s Consolidated Accounting", self.company_name), + 'auto_generated': True, + 'company_period_id': self.id, + 'period_id': self.period_id.id, + 'line_ids': [(0, 0, value) for value in journal_lines_values], + 'chart_id': self.chart_id.id, + }) + + def get_journal_lines_values(self): + """ + Get all the journal line values in order to create them. + :return: a list of dict containing values for journal lines creation + :rtype: list + """ + self.ensure_one() + journal_lines_values = [] + historical_account_ids = self.period_id.chart_id.account_ids.filtered(lambda x: x.currency_mode == 'hist') + non_hist_account_ids = self.period_id.chart_id.account_ids - historical_account_ids + for consolidation_account in historical_account_ids: + journal_lines_values += self._get_historical_journal_lines_values(consolidation_account) + + for consolidation_account in non_hist_account_ids: + # Maybe there is a better way to group all move line ids and total balance by consolidation account + currency_amount, move_lines_ids = self._get_total_balance_and_audit_lines(consolidation_account) + amount = self._apply_rates(currency_amount, consolidation_account) + journal_lines_values.append({ + "account_id": consolidation_account.id, + "currency_amount": currency_amount, + "amount": amount, + 'move_line_ids': [(6, 0, move_lines_ids)] + }) + return journal_lines_values + + # PROTECTEDS + + def _get_total_balance_and_audit_lines(self, consolidation_account): + """ + Get the total balance of all the move lines "linked" to this company and a given consolidation account + :param consolidation_account: the consolidation account + :return: the total balance as a float and the + :rtype: tuple + """ + self.ensure_one() + domain = self._get_move_lines_domain(consolidation_account) + res = self.env['account.move.line'].read_group(domain, ['balance:sum', 'id:array_agg'], []) + return res[0]['balance'] or 0.0, res[0]['id'] or [] + + def _apply_rates(self, amount, consolidation_account): + """ + Apply all the needed rates to an amount. Needed rates are : + - consolidation rate, which is only based on this company period, + - currency rate, which is computed based on given consolidation account currency mode and this company periods + currency rates (only applied if currencies are different). + :param amount: the amount to convert + :type amount: float + :param consolidation_account: the consolidation account + :return: a float representing the appliance of all needed rate to given amount + :rtype: float + """ + self.ensure_one() + if self.currency_chart_id != self.currency_company_id: + amount = self._convert(amount, consolidation_account.currency_mode) + return self._apply_consolidation_rate(amount) + + def _apply_historical_rates(self, move_line): + """ + Apply all the needed rates to a move line using its historical rate. Needed rates are : + - consolidation rate, which is only based on this company period, + - currency rate, which is computed based on move line date + :param move_line: the move line + :return: a float representing the appliance of all needed rate to move line balance + :rtype: float + """ + self.ensure_one() + rate = self.env['consolidation.rate'].get_rate_for(move_line.date, self.company_id.id, + self.chart_id.id) + if rate: + amount = move_line.balance * rate + else: + amount = move_line.balance + currency = move_line.company_currency_id + if currency != self.currency_chart_id: + amount = currency._convert(amount, self.currency_chart_id, self.company_id, move_line.date) + return self._apply_consolidation_rate(amount) + + def _get_historical_journal_lines_values(self, consolidation_account): + """ + Get all the journal line values for a given consolidation account when using historical currency mode. + :param consolidation_account: the consolidation account + :return: a list of dict containing values for journal lines creation + :rtype: list + """ + self.ensure_one() + domain = self._get_move_lines_domain(consolidation_account) + move_lines = self.env['account.move.line'].search(domain) + return [{"account_id": consolidation_account.id, + "currency_amount": move_line.balance, + "amount": self._apply_historical_rates(move_line), + 'move_line_ids': [(6, 0, [move_line.id])]} for move_line in move_lines] + + def _get_move_lines_domain(self, consolidation_account): + """ + Get the domain definition to get all the move lines "linked" to this company period and a given consolidation + account. That means all the move lines that : + - are in the right company, + - are not in excluded journals, + - are linked to a account.account which is mapped in the given consolidation account + - have a date contained in the company period start and company period end. + :param consolidation_account: the consolidation account + :return: a domain definition to be use in search ORM method. + """ + self.ensure_one() + return [ + ('move_id.state', '=', 'posted'), + ('company_id', '=', self.company_id.id), + ('journal_id', 'not in', self.mapped('exclude_journal_ids.id')), + ('account_id.consolidation_account_ids', '=', consolidation_account.id), + ('date', '<=', self.date_company_end), + '|', + ('date', '>=', self.date_company_begin), + ('account_id.user_type_id.include_initial_balance', '=', True) + ] + + def _convert(self, amount, mode): + """ + Convert a given amount by using the right currency rate of the company period based on a given mode. + :param amount: the amount to convert + :type amount: float + :param mode: the mode to use (should be "avg" or "end', all other values makes the method return amount + unchanged. + :type mode: str + :return: the converted amount or amount if no currency_rate with the given mode has been found. + :rtype: float + """ + self.ensure_one() + currency_rate = getattr(self, ('currency_rate_%s' % mode), False) + # The stored $rate value is like this : 1 chart currency = $rate company currency + # As we do the reversed operation, we need to divide by $rate + if currency_rate: + return amount / currency_rate + return amount + + def _apply_consolidation_rate(self, amount): + """ + Apply the consolidation rate of the company period to a given amount. + :param amount: the amount + :type amount: float + :return: the computed amount + """ + self.ensure_one() + return (self.rate_consolidation / 100.0) * amount + + def _get_display_name(self): + """ + Get the display name of the company period. It's based on the dates and the analysis period dates to avoid too + much information to be uselessly shown. + :return: The computed display name + :rtype: str + """ + self.ensure_one() + generic_name = self.company_name if self.company_name else '?' + date_begin = self.date_company_begin if self.date_company_begin else '?' + date_end = self.date_company_end if self.date_company_end else '?' + ap = self.period_id + date_analysis_begin = ap.date_analysis_begin if ap.date_analysis_begin else '?' + date_analysis_end = ap.date_analysis_end if ap.date_analysis_end else '?' + + if date_analysis_begin == date_begin and date_analysis_end == date_end: + return generic_name + if date_begin.month == date_end.month and date_begin.year == date_end.year: + return '%s (%s)' % (generic_name, date_begin.strftime('%b %Y')) + elif date_begin.year == date_end.year: + return '%s (%s-%s)' % (generic_name, date_begin.strftime('%b'), date_end.strftime('%b %Y')) + else: + return '%s (%s-%s)' % (generic_name, date_begin.strftime('%b %Y'), date_end.strftime('%b %Y')) diff --git a/odex25_accounting/odex25_account_consolidation/models/consolidation_rate.py b/odex25_accounting/odex25_account_consolidation/models/consolidation_rate.py new file mode 100644 index 000000000..e410872dc --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/models/consolidation_rate.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields + + +class ConsolidationRate(models.Model): + _name = "consolidation.rate" + _description = "Consolidation Rate" + + chart_id = fields.Many2one('consolidation.chart', required=True, string="Consolidation") + company_id = fields.Many2one('res.company', required=True, string="Company") + rate = fields.Float(required=True, default=1.0) + date_start = fields.Date(string="Start Date", required=True) + date_end = fields.Date(string="End Date", required=True) + + def get_rate_for(self, date, company_id=False, chart_id=False): + """ + Get the potential rate for a given company and a given chart at a given date + :param date: the date + :param company_id: the company on which this rate should be applied + :type company_id: int + :param chart_id: the consolidation chart on which this rate should be applied + :type chart_id: int + :return: the found rate or False + :rtype: float|bool + """ + domain = [ + ('date_start', '<=', date), + ('date_end', '>=', date), + ] + if company_id: + domain.append(('company_id', '=', company_id)) + if chart_id: + domain.append(('chart_id', '=', chart_id)) + res = self.search_read(domain, ['rate'], limit=1, order='date_end desc') + return res[0]['rate'] if len(res) > 0 else False diff --git a/odex25_accounting/odex25_account_consolidation/models/res_company.py b/odex25_accounting/odex25_account_consolidation/models/res_company.py new file mode 100644 index 000000000..fb149561c --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/models/res_company.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api, _ + + +class Company(models.Model): + _inherit = 'res.company' + + def _default_consolidation_color(self): + return self.search_count([]) % 12 + + """The color used to color mapped accounts in consolidation account tree view""" + consolidation_color = fields.Integer('Accounts color', required=False, store=True, default=_default_consolidation_color) + + odex25_account_consolidation_currency_is_different = fields.Boolean( + compute='_compute_odex25_account_consolidation_currency_is_different') + + # ONBOARDING + # Global onboarding state + consolidation_dashboard_onboarding_state = fields.Selection( + [('not_done', "Not done"), ('just_done', "Just done"), ('done', "Done"), ('closed', "Closed")], + string="State Of The Account Consolidation Dashboard Onboarding Panel", default='not_done') + + # Onboarding steps states + consolidation_setup_consolidation_state = fields.Selection( + [('not_done', "Not done"), ('just_done', "Just done"), ('done', "Done")], + string="State Of The Onboarding Consolidation Step", default='not_done') + consolidation_setup_ccoa_state = fields.Selection( + [('not_done', "Not done"), ('just_done', "Just done"), ('done', "Done")], + string="State Of The Onboarding Consolidated Chart Of Account Step", default='not_done') + consolidation_create_period_state = fields.Selection( + [('not_done', "Not done"), ('just_done', "Just done"), ('done', "Done")], + string="State Of The Onboarding Create Period Step", default='not_done') + + @api.depends('currency_id') + @api.depends_context('consolidation_currency_id') + def _compute_odex25_account_consolidation_currency_is_different(self): + for record in self: + record.odex25_account_consolidation_currency_is_different = self._context.get('consolidation_currency_id') != record.currency_id.id + + def action_open_mapping(self): + # Only needed because the action is called via a button and we need to set a domain and button does not allow it + """ + Open mapping view for this company. + :return: the action to execute + """ + self.ensure_one() + action = self.env["ir.actions.actions"]._for_xml_id("odex25_account_consolidation.account_mapping_action") + action.update({ + 'domain': [('company_id', '=', self.id)], + 'display_name': _('Account Mapping: %(company)s', company=self.name), + }) + return action + + def action_open_rate_ranges(self): + # Only needed because the action is called via a button and we need to set a domain and button does not allow it + """ + Open historical rate ranges tree view for this company. + :return: the action to execute + """ + self.ensure_one() + action = self.env["ir.actions.actions"]._for_xml_id("odex25_account_consolidation.consolidation_rate_action") + action.update({ + 'context': { + 'default_chart_id': self.env.context.get('chart_id', False), + 'search_default_chart_id': self.env.context.get('chart_id', False), + 'default_company_id': self.id, + 'search_default_company_id': self.id + }, + 'domain': [('company_id', '=', self.id)], + 'display_name': _('Historical Rates: %(company)s', company=self.name), + }) + return action + + def get_and_update_consolidation_dashboard_onboarding_state(self): + """ + This method is called on the controller rendering method and ensures that the animations + are displayed only one time. + :return: the state of the onboarding. + """ + return self.get_and_update_onbarding_state('consolidation_dashboard_onboarding_state', [ + 'consolidation_setup_consolidation_state', + 'consolidation_setup_ccoa_state', + 'consolidation_create_period_state', + ]) diff --git a/odex25_accounting/odex25_account_consolidation/report/__init__.py b/odex25_accounting/odex25_account_consolidation/report/__init__.py new file mode 100644 index 000000000..3dffe7e1b --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import trial_balance diff --git a/odex25_accounting/odex25_account_consolidation/report/builder/__init__.py b/odex25_accounting/odex25_account_consolidation/report/builder/__init__.py new file mode 100644 index 000000000..40a96afc6 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/builder/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/odex25_accounting/odex25_account_consolidation/report/builder/abstract.py b/odex25_accounting/odex25_account_consolidation/report/builder/abstract.py new file mode 100644 index 000000000..2558be938 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/builder/abstract.py @@ -0,0 +1,375 @@ +from abc import ABC + +from odoo import _ +from odoo.tools.float_utils import float_is_zero +from ..handler.show_zero import ShowZeroHandler + + +class AbstractBuilder(ABC): + def __init__(self, env, value_formatter): + """ + Instantiate a builder that will be responsible to create the report lines. + :param env: the env object in which this builder is used + :param value_formatter: a function that will be used to format float values in report + """ + self.env = env + self.value_formatter = value_formatter + + def get_lines(self, period_ids: list, options: dict, line_id: str = None) -> list: + """ + Return the report lines based on selected period ids, the report options and the line from which the report is + print. + :param period_ids: list containing the ids of the selected periods + :type period_ids: list + :param options: options of the report + :type options: dict + :param line_id: the id of the line from which the report is print (or None if whole report is print) + :type line_id: str + :return: list of dict representing the report lines + :rtype:list + """ + if self._output_will_be_empty(period_ids, options, line_id): + return [] + params = self._get_params(period_ids, options, line_id) + + if options.get('hierarchy', True): + return self._get_hierarchy(options, line_id, **params) + else: + return self._get_plain(options, **params) + + def _output_will_be_empty(self, period_ids: list, options: dict, line_id: str = None) -> bool: + """ + Determine with the initial parameters given to the builder if the output would be empty. + :param period_ids: the period ids used to generate the report + :type period_ids: list + :param options: options of the report + :type options: dict + :param line_id: the line id from which this method is called (when you unfold a line) + :type line_id: str + :return: True if the result will be empty in any case, False otherwise + :type: bool + """ + return False + + def _get_params(self, period_ids: list, options: dict, line_id: str = None) -> dict: + """ + Get the parameters to give to call stack for the builder. It's mainly useful for children overriding so that + needed parameters are propagated to all other methods called. + :param period_ids: the period ids used to generate the report + :type period_ids: list + :param options: options of the report + :type options: dict + :param line_id: the line id from which this method is called (when you unfold a line) + :type line_id: str + :return: a dict of parameters useful for all other methods of the builder to work correctly + :type: dict + """ + return { + 'period_ids': period_ids + } + + def _get_plain(self, options: dict, **kwargs) -> list: + """ + Return the report lines without any hierarchy. It loads all the accounts of the chart and process them all. + :param options: options of the report + :type options: dict + :return: list of dict representing the report lines + :rtype: list + """ + accounts = self._get_all_accounts(options, **kwargs) + totals, lines = self._handle_accounts(accounts, options, 3, **kwargs) + lines.append(self._build_total_line(totals, options, **kwargs)) + return lines + + def _get_hierarchy(self, options: dict, line_id: str = None, **kwargs) -> list: + """ + Return the report lines with the proper hierarchy. These are the main steps of the algorithm : + 1) - If no line_id is given, it starts by getting all accounts without parent ("orphans") and process them to + get their totals and the lines to add in the output. Then it fetches all the sections without parents + ("root sections"), these will be used later in the algorithm. + - If a line_id is given, then the line_id corresponds to a line of a section and is formatted like this + "section-[ID]". It parses this ID and get the section with is used lated in the algorithm. + 2) It process recursively the children accounts/sections of the computed sections in step 1. + 3) It computes and add the final total line if line_id is not given + :param options: options of the report + :type options: dict + :param line_id: the line id from which this method is called (when you unfold a line) + :type line_id: str + :return: list of dict representing the report lines + :rtype: list + """ + super_totals = None + lines = [] + + if line_id is None: + # HANDLE ORPHAN ACCOUNTS + level = 1 + orphan_totals, orphan_lines = self._handle_orphan_accounts(options, level, **kwargs) + super_totals = [x + y for x, y in + zip(super_totals, orphan_totals)] if super_totals is not None else orphan_totals + lines += orphan_lines + + # FETCH ALL ROOT SECTIONS + sections = self._get_root_sections(options, **kwargs) + else: + from_section = self.env['consolidation.group'].browse(int(line_id.split('-')[1])) + level = len(from_section.parent_path.split('/')) + # For convenience in the following + sections = [from_section] + + # PROCESS COMPUTED SECTIONS + if len(sections) > 0: + section_totals, section_lines = self._handle_sections(sections, options, level, **kwargs) + super_totals = [x + y for x, y in + zip(super_totals, section_totals)] if super_totals is not None else section_totals + lines += section_lines + + if line_id is None: + lines.append(self._build_total_line(super_totals, options, **kwargs)) + return lines + + def _handle_sections(self, sections, options: dict, level: int, **kwargs) -> tuple: + """ + Handle the creation of given sections lines + :param sections: a list or recordset of section objects + :param options: options of the report + :type options: dict + :param level: the level of the line (to allow indentation to be kept) + :type level: int + :return: A couple (totals, lines) where : + - totals the list of the column totals + - lines the list of generated report line corresponding to given sections + :rtype: tuple + """ + all_totals = None + lines = [] + for section in sections: + section_totals, section_lines = self._build_section_line(section, level, options, **kwargs) + # Handle TOTALS + all_totals = [x + y for x, y in + zip(all_totals, section_totals)] if all_totals is not None else section_totals + # Handle LINES + if ShowZeroHandler.section_line_should_be_added(section_lines, options): + lines += section_lines + return all_totals, lines + + def _handle_orphan_accounts(self, options: dict, level: int = 1, **kwargs) -> tuple: + """ + Handle the creation of all orphan account lines for given charts + :param options: options of the report + :type options: dict + :param level: the level of the line (to allow indentation to be kept) + :type level: int + :return: A couple (totals, lines) where : + - totals the list of the column totals + - lines the list of generated report line corresponding to orphan accounts + :rtype: tuple + """ + orphan_accounts = self._get_orphan_accounts(options, **kwargs) + return self._handle_accounts(orphan_accounts, options, level, **kwargs) + + def _handle_accounts(self, accounts, options: dict, level: int, **kwargs) -> tuple: + """ + Handle the creation of report lines for given accounts + :param accounts: a recordset containing all the accounts to handle + :param options: options of the report + :type options: dict + :param level: the level of the line (to allow indentation to be kept) + :type level: int + :return: A couple (totals, lines) where : + - totals the list of the column totals + - lines the list of generated report line corresponding to given accounts + :rtype: tuple + """ + all_totals = None + lines = [] + if accounts and len(accounts) > 0: + for account in accounts: + totals = self._compute_account_totals(account.id, **kwargs) + if len(totals) > 0: + # Handle TOTALS + all_totals = [x + y for x, y in zip(all_totals, totals)] if all_totals is not None else totals + # Handle LINES + account_line = self._format_account_line(account, level, totals, options, **kwargs) + if self._account_line_is_shown(account_line, options): + lines.append(account_line) + return all_totals, lines + + def _account_line_is_shown(self, account_line: dict, options: dict) -> bool: + """ + Determine if an account line should be shown + :param account_line: the account line + :type account_line: dict + :param options: options of the report + :type options: dict + :return: True if the account line should be shown, False otherwise + :rtype: bool + """ + return ShowZeroHandler.account_line_should_be_added(account_line, options) + + def _get_all_accounts(self, options: dict, **kwargs): + """ + Get all consolidation accounts, filtered on given chart_ids if given in kwargs + :param options: options of the report + :type options: dict + :return: a recordset of all accounts found + """ + domain = [] + if kwargs.get('chart_ids', False): + domain.append(('chart_id', 'in', kwargs['chart_ids'])) + return self.env['consolidation.account'].search(domain) + + def _get_root_sections(self, options: dict, **kwargs): + """ + Get all root sections (= without parent), filtered on given chart_ids if given in kwargs + :param options: options of the report + :type options: dict + :return: a recordset of all root sections found + """ + domain = [('parent_id', '=', False)] + if kwargs.get('chart_ids', False): + domain.append(('chart_id', 'in', kwargs['chart_ids'])) + return self.env['consolidation.group'].search(domain) + + def _get_orphan_accounts(self, options: dict, **kwargs): + """ + Get all orphan accounts (= not attached to a section) for given consolidation charts + :param options: options of the report + :type options: dict + :return: a recordset of all orphan accounts found + """ + domain = [('group_id', '=', False)] + if kwargs.get('chart_ids', False): + domain.append(('chart_id', 'in', kwargs['chart_ids'])) + return self.env['consolidation.account'].search(domain) + + def _compute_account_totals(self, account_id: int, **kwargs) -> list: + """ + Compute the totals for a given consolidation account and given periods + :param account_id: the id of the consolidation account + :param periods: a recordset containing the periods + :return: a list of float representing the totals for the account, first cell is for first column, second cell + for second column, ... + """ + return [] + + def _format_account_line(self, account, level: int, totals: list, options: dict, **kwargs) -> dict: + """ + Build an account line. + :param account: the account object + :param level: the level of the line (to allow indentation to be kept) + :type level: int + :param totals: the already computed totals for the account + :param options: options of the report + :type options: dict + :return: a formatted dict representing the account line + :rtype: dict + """ + # Columns + cols = [{ + 'name': self.value_formatter(total), + 'no_format_name': total, + 'class': 'number' + (' text-muted' if float_is_zero(total, 6) else '')} + for total in totals] + + # Line + name = account.name_get()[0][1] + account_line = { + 'id': account.id, + 'name': len(name) > 40 and not self.env.context.get('print_mode') and name[:40] + '...' or name, + 'title_hover': _("%s (%s Currency Conversion Method)") % (account.name, account.get_display_currency_mode()), + 'columns': cols, + 'level': level + } + if account.group_id: + parent_id = 'section-%s' % account.group_id.id + account_line['parent_id'] = parent_id + if options is not None: + account_line['unfolded'] = options.get('unfold_all', parent_id in options.get('unfolded_lines', [])) + return account_line + + def _build_section_line(self, section, level: int, options: dict, **kwargs) -> tuple: + """ + Build a section line and all its descendants lines (if any). + :param section: the section object + :param level: the level of the line (to allow indentation to be kept) + :type level: int + :param options: options of the report + :type options: dict + :return: a tuple with : + - a list of formatted dict containing the section line itself and all the descendant lines of this + (so that the section line is the first dict of the list) + - the totals of the section line + :rtype: tuple + """ + section_id = 'section-%s' % section.id + section_line = { + 'id': section_id, + 'name': section.name, + 'level': level, + 'unfoldable': True, + 'unfolded': options.get('unfold_all', False) or section_id in options.get('unfolded_lines', []) + } + if section.parent_id: + section_line['parent_id'] = 'section-%s' % section.parent_id.id + lines = [section_line] + + # HANDLE CHILDREN + section_totals = None + if len(section.child_ids) > 0: + for child_section in section.child_ids: + # This will return the section line THEN all subsequent lines + child_totals, descendant_lines = self._build_section_line(child_section, level + 1, options, **kwargs) + section_totals = [x + y for x, y in + zip(section_totals, child_totals)] if section_totals is not None else child_totals + if section_line['unfolded'] and ShowZeroHandler.section_line_should_be_added(descendant_lines, options): + lines += descendant_lines + + # HANDLE ACCOUNTS + if len(section.account_ids) > 0: + for child_account in section.account_ids: + account_totals = self._compute_account_totals(child_account.id, **kwargs) + account_line = self._format_account_line(child_account, level + 1, account_totals, options, **kwargs) + section_totals = [x + y for x, y in + zip(section_totals, account_totals)] if section_totals is not None else account_totals + if section_line['unfolded'] and ShowZeroHandler.account_line_should_be_added(account_line, options): + lines.append(account_line) + + if section_totals is None: + section_totals = self._get_default_line_totals(options, **kwargs) + section_line['columns'] = [{'name': self.value_formatter(total), 'no_format_name': total} + for total in section_totals] + return section_totals, lines + + def _build_total_line(self, totals: list, options: dict, **kwargs) -> dict: + """ + Build the total line, based on given totals list. Values are formatted using self value formatter. + :param totals: the list of totals amounts + :type totals: list + :param options: options of the report + :type options: dict + :return: a formatted dict representing the total line to be displayed on report + :rtype: dict + """ + cols = [{ + 'name': self.value_formatter(total), 'no_format_name': total, + 'class': 'number' + (' text-danger' if not float_is_zero(total, 6) else '') + } for total in totals] + + return { + 'id': 'grouped_accounts_total', + 'name': _('Total'), + 'class': 'total', + 'columns': cols, + 'level': 1, + } + + def _get_default_line_totals(self, options: dict, **kwargs) -> list: + """ + Create a line with default values, this is called when no values have been found to create a line. + :param options: options of the report + :type options: dict + :return: a list of float representing the default values of a line + :rtype: list + """ + return [] diff --git a/odex25_accounting/odex25_account_consolidation/report/builder/comparison.py b/odex25_accounting/odex25_account_consolidation/report/builder/comparison.py new file mode 100644 index 000000000..9025772a4 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/builder/comparison.py @@ -0,0 +1,99 @@ +from math import copysign + +from odoo import _ +from odoo.tools.float_utils import float_is_zero +from .abstract import AbstractBuilder + + +class ComparisonBuilder(AbstractBuilder): + # OVERRIDES + def _get_params(self, period_ids: list, options: dict, line_id: str = None) -> dict: + chart_ids = self.env['consolidation.chart'].search([('period_ids', 'in', period_ids)]).ids + cols_amount = len(period_ids) + include_percentage = cols_amount == 2 + params = super()._get_params(period_ids, options, line_id) + params.update({ + 'chart_ids': chart_ids, + 'cols_amount': cols_amount, + 'include_percentage': include_percentage, + }) + return params + + def _output_will_be_empty(self, period_ids: list, options: dict, line_id: str = None) -> bool: + return len(period_ids) == 0 + + def _compute_account_totals(self, account_id: int, **kwargs) -> list: + domain = [ + ('account_id', '=', account_id), + ('period_id', 'in', kwargs.get('period_ids', [])) + ] + groupby = ('period_id',) + total_lines = self.env['consolidation.journal.line'].read_group(domain, ('total:sum(amount)',), groupby) + if len(total_lines) == 0: + return [] + totals = [] + total_dict = {line['period_id'][0]: line['total'] for line in total_lines} + # Need to keep the order of periods as nothing in DB can order them + for period_id in kwargs.get('period_ids', []): + totals.append(total_dict[period_id]) + return totals + + def _get_default_line_totals(self, options: dict, **kwargs) -> list: + return kwargs.get('cols_amount', len(kwargs.get('period_ids', []))) * [0.0] + + def _format_account_line(self, account, level: int, totals: list, options: dict, **kwargs) -> dict: + account_line = super()._format_account_line(account, level, totals, options, **kwargs) + if kwargs.get('include_percentage', False): + account_line['columns'].append(self._build_percentage_column(*totals)) + return account_line + + def _build_section_line(self, section, level: int, options: dict, **kwargs): + section_totals, section_lines = super()._build_section_line(section, level, options, **kwargs) + if kwargs.get('include_percentage', False): + section_lines[0]['columns'].append(self._build_percentage_column(*section_totals)) + return section_totals, section_lines + + def _build_total_line(self, totals: list, options: dict, **kwargs) -> dict: + total_line = super()._build_total_line(totals, options, **kwargs) + if kwargs.get('include_percentage', False): + total_line['columns'].append(self._build_percentage_column(*totals)) + return total_line + + @staticmethod + def _build_percentage_column(orig_value: float, now_value: float) -> dict: + """ + Build the percentage column based on the two given values + :param orig_value: the original value + :type orig_value: float + :param now_value: the value of now + :type now_value: float + :return: a formatted dict containing the percentage increase between the two given values and ready to be added + as a column inside a report line + :rtype: dict + """ + if not float_is_zero(orig_value, 6): + res = round((now_value - orig_value) / orig_value * 100, 1) + classes = ['number'] + + if float_is_zero(res, precision_rounding=0.1): + val = 0.0 + elif (res > 0) == (orig_value > 0): + classes.append('color-green') + val = copysign(res, 1) + else: + classes.append('color-red') + val = copysign(res, -1) + return { + 'name': ('%s%%' % val), + 'no_format_name': val, + 'class': ' '.join(classes) + } + # res > 0 + # orig > 0 :: GREEN + # orig < 0 :: RED + # res < 0 + # orig < 0 :: GREEN + # orig > 0 :: RED + + else: + return {'name': _('n/a')} diff --git a/odex25_accounting/odex25_account_consolidation/report/builder/default.py b/odex25_accounting/odex25_account_consolidation/report/builder/default.py new file mode 100644 index 000000000..4292117f3 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/builder/default.py @@ -0,0 +1,56 @@ +from .abstract import AbstractBuilder + + +class DefaultBuilder(AbstractBuilder): + def __init__(self, env, value_formatter, journals): + """ + Instantiate the default builder which is used when only one period is selected. It handles the filtering based + on this section journals. + :param env: the env object in which this builder is used + :param value_formatter: a function that will be used to format float values in report + :param journals: a recordset containing the journals to use in this builder + """ + super().__init__(env, value_formatter) + self.journals = journals + + def _get_params(self, period_ids: list, options: dict, line_id: str = None) -> dict: + chart_ids = self.env['consolidation.chart'].search([('period_ids', 'in', period_ids)]).ids + + cols_amount = len(self.journals) + 1 + params = super()._get_params(period_ids, options, line_id) + params.update({ + 'chart_ids': chart_ids, + 'cols_amount': cols_amount + }) + return params + + def _compute_account_totals(self, account_id: int, **kwargs) -> list: + totals = [] + line_total = 0 + JournalLine = self.env['consolidation.journal.line'] + + # Computing columns + for journal in self.journals: + # Check if a journal line exists + domain = [('account_id', '=', account_id), ('journal_id', '=', journal.id)] + groupby_res = JournalLine.read_group(domain, ['amount:sum', 'journal_id'], ['journal_id']) + journal_total_balance = groupby_res[0]['amount'] if len(groupby_res) > 0 else 0 + + # Update totals + totals.append(journal_total_balance) + line_total += journal_total_balance + + totals.append(line_total) + return totals + + def _format_account_line(self, account, level: int, totals: list, options: dict, **kwargs) -> dict: + line = super()._format_account_line(account, level, totals, options, **kwargs) + for col, journal in zip(line['columns'], self.journals): + domain = [('account_id', '=', account.id), ('journal_id', '=', journal.id)] + journal_lines_amount = self.env['consolidation.journal.line'].search_count(domain) + if journal_lines_amount > 0: + col['journal_id'] = journal.id if journal.company_period_id else False + return line + + def _get_default_line_totals(self, options: dict, **kwargs) -> list: + return kwargs.get('cols_amount', len(self.journals) if self.journals else 0) * [0.0] diff --git a/odex25_accounting/odex25_account_consolidation/report/handler/__init__.py b/odex25_accounting/odex25_account_consolidation/report/handler/__init__.py new file mode 100644 index 000000000..40a96afc6 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/handler/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/odex25_accounting/odex25_account_consolidation/report/handler/abstract.py b/odex25_accounting/odex25_account_consolidation/report/handler/abstract.py new file mode 100644 index 000000000..0eb542026 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/handler/abstract.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +from abc import ABC + + +class AbstractHandler(ABC): + key = None + + def __init__(self, env): + """ + Create a DefautltHandler which handles a filter in trial balance report. + :param env: the env + """ + self.env = env + + def handle(self, client_state: dict, base_period, current_options) -> list: + """ + Handle the filter values. + :param client_state: the filter state sent by the client app + :type client_state: dict + :param base_period: the base period used to display trial balance report + :param current_options: the current options + :type current_options: dict + :return: a list of dict representing the new state of the filter + :rtype: list + """ + return [] + + @classmethod + def get_selected_values(cls, options: dict) -> list: + """ + Get selected filter value ids based on given options dict + :param options: the options dict + :type options: dict + :return: a list containing all selected value ids. + :rtype list: + """ + return [] + + # STATICS + @classmethod + def is_set(cls, options: dict) -> bool: + """ + Determine if the filter is set or not in the given options + :param options: the options + :type options: dict + :return: True if filter is set, False otherwise + :rtype: bool + """ + return len(cls.get_selected_values(options)) > 0 diff --git a/odex25_accounting/odex25_account_consolidation/report/handler/journals.py b/odex25_accounting/odex25_account_consolidation/report/handler/journals.py new file mode 100644 index 000000000..1b8e88ac4 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/handler/journals.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- + +from .abstract import AbstractHandler +from .periods import PeriodsHandler + + +class JournalsHandler(AbstractHandler): + key = 'consolidation_journals' + + # OVERRIDES + def handle(self, client_state: dict, base_period, current_options) -> list: + if PeriodsHandler.is_set(current_options): + return self.get_option_values(base_period, {}) + else: + return self.get_option_values(base_period, client_state) + + @classmethod + def get_selected_values(cls, options: dict) -> list: + if options: + options_journals = options.get('consolidation_journals', []) + at_least_one_selected = any(opt_journal['selected'] for opt_journal in options_journals) + if options_journals is not None and len(options_journals) > 0: + return [journal['id'] for journal in options_journals if + not at_least_one_selected or journal['selected']] + return [] + + def get_all_available_values(self, base_period): + """ + Get all available values for given base period + :param base_period: the base period object + :return: a recordset containing all found journals + """ + domain = [('period_id', '=', base_period.id)] + return self.env['consolidation.journal'].search(domain) + + def get_option_values(self, base_period, client_state: dict) -> list: + """ + Get all option values with the right state + :param base_period: the base period + :param client_state: the filter state sent by the client app + :type client_state: dict + :return: a list of all journals formatted as a dict to be shown in filter on client. + """ + client_state_dict = {j['id']: j['selected'] for j in client_state} if client_state is not None else {} + all_journals = self.get_all_available_values(base_period) + return [ + self.to_option_dict(journal, client_state_dict.get(journal.id, False)) + for journal in all_journals + ] + + @staticmethod + def to_option_dict(journal, selected) -> dict: + """ + Transform a journal in a option dict + :param journal: the journal object + :param selected: a boolean representing the fact that the journal is selected or not + :type selected: bool + :return: the formatted dict corresponding to the given journal + :rtype: dict + """ + return {'id': journal.id, 'name': journal.name, 'selected': selected} diff --git a/odex25_accounting/odex25_account_consolidation/report/handler/periods.py b/odex25_accounting/odex25_account_consolidation/report/handler/periods.py new file mode 100644 index 000000000..29c49527f --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/handler/periods.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- + +from .abstract import AbstractHandler + + +class PeriodsHandler(AbstractHandler): + key = 'periods' + + def __init__(self, env, max_amount_of_periods: int = 5): + """ + Create a PeriodsHandler which handles the "Comparison" filter consolidation in trial balance report. + :param env: the env + :param max_amount_of_periods: the maximum amount of periods to show in the filter. + :type max_amount_of_periods: int + """ + super().__init__(env) + self.max_amount_of_periods = max_amount_of_periods + + # OVERRIDES + def handle(self, client_state: dict, base_period, current_options) -> list: + if client_state is None: + selected_period_ids = [] + else: + selected_period_ids = [cs['id'] for cs in client_state if cs['selected']] + return [self._to_option_dict(period, selected_period_ids) + for period in self.get_all_available_values(base_period)] + + @classmethod + def get_selected_values(cls, options: dict) -> list: + periods_dict = options.get(cls.key, []) + return [p['id'] for p in periods_dict if p['selected']] + + def get_all_available_values(self, base_period): + """ + Get all available periods for filter based on a given period + :param base_period: the period + :return: a recordset containing similar periods based on the given period + """ + return base_period._get_similar_periods(limit=self.max_amount_of_periods) + + @staticmethod + def _to_option_dict(period, selected_period_ids: list) -> dict: + """ + Transform a period in a option dict + :param period: the period + :param selected_period_ids: the list containing all selected period ids + :type selected_period_ids: list + :return: a dict containing the id, the name and the selected boolean for the given period. + :rtype: dict + """ + return { + 'id': period.id, + 'name': period.display_name, + 'selected': period.id in selected_period_ids + } diff --git a/odex25_accounting/odex25_account_consolidation/report/handler/show_zero.py b/odex25_accounting/odex25_account_consolidation/report/handler/show_zero.py new file mode 100644 index 000000000..462a633b7 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/handler/show_zero.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +from odoo.tools.float_utils import float_is_zero + + +class ShowZeroHandler: + @classmethod + def account_line_should_be_added(cls, line: dict, options: dict = None, + key: str = 'show_zero_balance_accounts') -> bool: + """ + Determine if a account line should be added or not to the list of report lines. + A account should be shown no matter what if options key ("show_zero_balance_accounts" by default) is True, + else it has to be shown if its total is not zero. + :param line: the account line to check + :type line: dict + :param options: options of the report + :type options: dict + :param key: the options key of the show zero parameter, "show_zero_balance_accounts" by default + :type key: str + :return: True if the section's lines should be added, False otherwise + """ + if options is not None and options.get(key): + return True + else: + return cls._line_is_not_zero(line) + + @classmethod + def section_line_should_be_added(cls, section_lines: list, options: dict = None, + key: str = 'show_zero_balance_accounts') -> bool: + """ + Determine if a section's lines should be added or not to the list of report lines. + A section should be shown no matter what if options "show_zero_balance_accounts" is True, else it has to be + shown if it has children or if its total is not zero. + :param section_lines: the section lines corresponding to the generation of lines for a given section + :type section_lines: list + :param options: options of the report + :type options: list + :param key: the options key of the show zero parameter, "show_zero_balance_accounts" by default + :type key: str + :return: True if the section's lines should be added, False otherwise + """ + if options is None or options.get(key, False): + return True + return cls._section_line_has_children(section_lines) or cls._section_line_is_not_zero(section_lines) + + @staticmethod + def _line_is_not_zero(line: dict) -> bool: + """ + Check if a line has a total of zero + :param line: the line to test (formatted as to be renderer in a report) + :type line: dict + :return: True is the line has a total of zero (no columsn, all columns are 0 or sum of columns = 0), + False otherwise + :rtype: bool + """ + cols = line.get('columns', [{}]) + total = sum([col.get('no_format_name', 0) for col in cols]) + return not float_is_zero(total, 6) + + @staticmethod + def _section_line_has_children(section_lines: list) -> bool: + """ + Determine if a section line has children or not + :param section_lines: the section lines corresponding to the generation of lines for a given section + :type section_lines: list + :return: True if section line has children, this means the generation returns at least 2 lines (the one + representing the sections and one representing a child), False otherwise. + :rtype: bool + """ + return len(section_lines) > 1 + + @classmethod + def _section_line_is_not_zero(cls, section_lines: list) -> bool: + """ + Check if section line has a total of 0 + :param section_lines: the section lines corresponding to the generation of lines for a given section + :return: True if the section is not empty and has a total > 0, False otherwise + :rtype: bool + """ + return len(section_lines) > 0 and cls._line_is_not_zero(section_lines[0]) diff --git a/odex25_accounting/odex25_account_consolidation/report/trial_balance.py b/odex25_accounting/odex25_account_consolidation/report/trial_balance.py new file mode 100644 index 000000000..b6a985a1b --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/trial_balance.py @@ -0,0 +1,226 @@ +# -*- coding: utf-8 -*- + +from odoo import models, api, _ +from .builder.comparison import ComparisonBuilder +from .builder.default import DefaultBuilder +from .handler.journals import JournalsHandler +from .handler.periods import PeriodsHandler +from collections import OrderedDict + + +class AccountConsolidationTrialBalanceReport(models.AbstractModel): + _name = "account.consolidation.trial_balance_report" + _description = "Account consolidation trial balance report" + _inherit = "account.report" + + filter_multi_company = None + filter_date = None + filter_comparison = None + filter_journals = None + filter_analytic = None + filter_partner = None + filter_cash_basis = None + filter_all_entries = None + filter_hierarchy = True + filter_unfold_all = True + filter_show_zero_balance_accounts = True + MAX_LINES = None + + # ACTIONS + def action_open_view_grid(self, options): + period_id = self._get_selected_period_id() + AnalysisPeriod = self.env['consolidation.period'] + periods = AnalysisPeriod.search_read([('id', '=', period_id)], ['display_name']) + period_name = periods[0]['display_name'] if periods and len(periods) == 1 else False + return { + 'type': 'ir.actions.act_window', + 'name': _('Edit') + ' ' + (period_name or ''), + 'res_model': 'consolidation.journal.line', + 'view_mode': 'grid,graph,form', + 'view_type': 'grid', + 'views': [ + [self.env.ref('odex25_account_consolidation.view_trial_balance_report_grid').id, 'grid'], + [self.env.ref('odex25_account_consolidation.view_trial_balance_report_graph').id, 'graph'], + [self.env.ref('odex25_account_consolidation.consolidation_journal_line_form').id, 'form'] + ], + 'context': { + 'default_period_id': period_id + }, + 'domain': [('period_id', '=', period_id)] + } + + def action_open_audit(self, options, params=None): + account_id = params['lineId'] + journal_id = params['id'] + journal = self.env['consolidation.journal'].browse(journal_id) + company_period = journal.company_period_id + journal_lines = self.env['consolidation.journal.line'].search([ + ('account_id', '=', account_id), + ('journal_id', '=', journal_id) + ]) + if len(journal_lines) == 0: + return None + action = self.env["ir.actions.actions"]._for_xml_id("odex25_account_consolidation.view_account_move_line_filter") + action.update({ + 'context': { + 'search_default_consolidation_journal_line_ids': journal_lines.ids, + 'search_default_group_by_account': 1, + 'group_by': 'account_id', + 'search_default_posted': 1, + 'consolidation_rate': company_period.rate_consolidation if company_period else 0, + 'currencies_are_different': company_period.currencies_are_different if company_period else False, + 'currencies': { + 'chart': company_period.currency_chart_id.symbol if company_period else None, + 'company': company_period.currency_company_id.symbol if company_period else None, + } + }, + 'views': [(self.env.ref('odex25_account_consolidation.view_move_line_tree_grouped_general').id, 'list')] + }) + return action + + # OVERRIDES + def _get_options(self, previous_options=None): + current_options = super()._get_options(previous_options) + base_period = self._get_selected_period() + handlers = OrderedDict([ + ('periods', PeriodsHandler(self.env)), + ('consolidation_journals', JournalsHandler(self.env)) + ]) + for key, handler in handlers.items(): + previous_handler_value = previous_options[key] if previous_options else None + current_options[key] = handler.handle(previous_handler_value, base_period, current_options) + return current_options + + def _get_columns_name(self, options): + AnalysisPeriod = self.env['consolidation.period'] + all_period_ids = PeriodsHandler.get_selected_values(options) + [self._get_selected_period_id()] + selected_periods = AnalysisPeriod.browse(all_period_ids) + columns = [{'name': '', 'style': 'width:40%'}] + if len(selected_periods) == 1: + return columns + self._get_journals_headers(options) + else: + periods_columns = [{'name': period.display_name, 'class': 'number'} for period in selected_periods] + # Add the percentage column + if len(selected_periods) == 2: + return columns + periods_columns + [{'name': '%', 'class': 'number'}] + else: + return columns + periods_columns + + def _get_journals_headers(self, options): + journal_ids = JournalsHandler.get_selected_values(options) + journals = self.env['consolidation.journal'].browse(journal_ids) + journal_columns = [self._get_journal_col(j, options) for j in journals] + return journal_columns + [{'name': _('Total'), 'class': 'number'}] + + def _get_journal_col(self, journal, options): + journal_name = journal.name + if journal.company_period_id: + journal_name = journal.company_period_id.company_name + if self.env.context.get('print_mode') or options.get('xlsx_mode'): + return {'name': journal_name} + if journal.currencies_are_different and journal.company_period_id: + cp = journal.company_period_id + from_currency = cp.currency_chart_id.symbol + to_currency = journal.originating_currency_id.symbol + return {'name': journal.name, 'consolidation_rate': journal.rate_consolidation, + 'from_currency': from_currency, + 'currency_rate_avg': cp.currency_rate_avg, 'currency_rate_end': cp.currency_rate_end, + 'to_currency': to_currency, 'class': 'number', + 'template': 'odex25_account_consolidation.header_cell_template'} + return {'name': journal.name, 'consolidation_rate': journal.rate_consolidation, 'class': 'number', + 'template': 'odex25_account_consolidation.header_cell_template'} + + + + @api.model + def _get_report_name(self): + return _("Trial Balance") + + def _get_reports_buttons(self): + ap_is_closed = False + ap_id = self._get_selected_period_id() + if ap_id: + ap = self.env['consolidation.period'].browse(ap_id) + ap_is_closed = ap.state == 'closed' + buttons = [ + {'name': _('Print Preview'), 'sequence': 1, 'action': 'print_pdf', 'file_export_type': _('PDF')}, + {'name': _('Export (XLSX)'), 'sequence': 2, 'action': 'print_xlsx', 'file_export_type': _('XLSX')} + ] + if not ap_is_closed: + buttons.append({'name': _('Edit'), 'sequence': 10, 'action': 'action_open_view_grid'}) + return buttons + + def _get_templates(self): + return { + 'main_template': 'odex25_account_consolidation.main_template_conso_report', + 'main_table_header_template': 'odex25_account_reports.main_table_header', + 'line_template': 'odex25_account_consolidation.line_template', + 'footnotes_template': 'odex25_account_reports.footnotes_template', + 'search_template': 'odex25_account_reports.search_template', + } + + @api.model + def _get_lines(self, options, line_id=None): + selected_aps = self._get_period_ids(options) + selected_ap = self._get_selected_period() + + # comparison + if len(selected_aps) > 1: + builder = ComparisonBuilder(self.env, selected_ap._format_value) + else: + journal_ids = JournalsHandler.get_selected_values(options) + journals = self.env['consolidation.journal'].browse(journal_ids) + builder = DefaultBuilder(self.env, selected_ap._format_value, journals) + return builder.get_lines(selected_aps, options, line_id) + + def print_xlsx(self, options): + options.update({ + 'force_periods': self._get_period_ids(options), + 'xlsx_mode': True + }) + return super().print_xlsx(options) + + def print_pdf(self, options): + options.update({ + 'force_periods': self._get_period_ids(options) + }) + return super().print_pdf(options) + + def _get_default_analysis_period(self): + """ + Get the default analysis period, which is the last one when we order by id desc. + :return: the if of this analysis period + :rtype: int + """ + return self.env['consolidation.period'].search_read([], ['id'], limit=1, order="id desc")[0][ + 'id'] + + # Handling periods + def _get_period_ids(self, options): + """ + Get all the period ids (the base period and the comparison ones if any) + :param options: the options dict + :type options: dict + :return: a list containing the period ids + :rtype: list + """ + forced_periods = options.get('force_periods', False) + return forced_periods or PeriodsHandler.get_selected_values(options) + [self._get_selected_period_id()] + + def _get_selected_period_id(self): + """ + Get the selected period id (the base period) + :return: the id of the selected period + :rtype: int + """ + default_analysis_period = self.env.context.get('default_period_id', + self.env.context.get('active_id', None)) + return default_analysis_period or self._get_default_analysis_period() + + def _get_selected_period(self): + """ + Get the selected period (the base period) + :return: the recordset containing the selected period + """ + AnalysisPeriod = self.env['consolidation.period'] + return AnalysisPeriod.browse(self._get_selected_period_id()) diff --git a/odex25_accounting/odex25_account_consolidation/report/trial_balance.xml b/odex25_accounting/odex25_account_consolidation/report/trial_balance.xml new file mode 100644 index 000000000..f88c56cac --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/report/trial_balance.xml @@ -0,0 +1,214 @@ + + + + + consolidation.journal.line.search + consolidation.journal.line + + + + + + + + + + + + odex25_account_consolidation.trial_balance.report.grid + consolidation.journal.line + + + + + + + + + + + + odex25_account_consolidation.trial_balance.report.grid + consolidation.journal.line + + + + + + + + + + + Consolidated Balance + account_report + + + + + + + + + + + + + + + + + + diff --git a/odex25_accounting/odex25_account_consolidation/security/ir.model.access.csv b/odex25_accounting/odex25_account_consolidation/security/ir.model.access.csv new file mode 100644 index 000000000..956b27dea --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/security/ir.model.access.csv @@ -0,0 +1,12 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_odex25_account_consolidation_rate_range,access.consolidation.rate.consolidation_user,odex25_account_consolidation.model_consolidation_rate,odex25_account_consolidation.group_consolidation_user,1,1,1,1 +access_odex25_account_consolidation_account,access.consolidation.account.consolidation_user,odex25_account_consolidation.model_consolidation_account,odex25_account_consolidation.group_consolidation_user,1,1,1,1 +access_odex25_account_consolidation_account_section,access.consolidation.group.consolidation_user,odex25_account_consolidation.model_consolidation_group,odex25_account_consolidation.group_consolidation_user,1,1,1,1 +access_odex25_account_consolidation_analysis_period,access.consolidation.period.consolidation_user,odex25_account_consolidation.model_consolidation_period,odex25_account_consolidation.group_consolidation_user,1,1,1,1 +access_odex25_account_consolidation_company_period,access.consolidation.company_period.consolidation_user,odex25_account_consolidation.model_consolidation_company_period,odex25_account_consolidation.group_consolidation_user,1,1,1,1 +access_odex25_account_consolidation_chart,access.consolidation.chart.consolidation_user,odex25_account_consolidation.model_consolidation_chart,odex25_account_consolidation.group_consolidation_user,1,1,1,1 +access_odex25_account_consolidation_journal,access.consolidation.journal.consolidation_user,odex25_account_consolidation.model_consolidation_journal,odex25_account_consolidation.group_consolidation_user,1,1,1,1 +access_odex25_account_consolidation_journal_line,access.consolidation.journal_line.consolidation_user,odex25_account_consolidation.model_consolidation_journal_line,odex25_account_consolidation.group_consolidation_user,1,1,1,1 +access_odex25_account_consolidation_analysis_period_composition,access.consolidation.period_composition.consolidation_user,odex25_account_consolidation.model_consolidation_period_composition,odex25_account_consolidation.group_consolidation_user,1,1,1,1 +access_odex25_account_consolidation_res_company,access.account.consolidation.res_company.consolidation_user,base.model_res_company,odex25_account_consolidation.group_consolidation_user,1,0,1,0 +access_odex25_account_consolidation_account_account,access.consolidation.account_account.consolidation_user,account.model_account_account,odex25_account_consolidation.group_consolidation_user,1,1,1,0 diff --git a/odex25_accounting/odex25_account_consolidation/security/odex25_account_consolidation_security.xml b/odex25_accounting/odex25_account_consolidation/security/odex25_account_consolidation_security.xml new file mode 100644 index 000000000..6e69399a3 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/security/odex25_account_consolidation_security.xml @@ -0,0 +1,74 @@ + + + + Consolidation user + + + + + + + + + + + + + + + Companies for consolidation group + + + + [('id','in', user.company_ids.ids)] + + + + Charts for consolidation group + + + ['|', ('company_ids', '=', False), ('company_ids', 'in', user.company_ids.ids)] + + + + Analysis periods for consolidation group + + + ['|', ('chart_id.company_ids', '=', False), ('chart_id.company_ids', 'in', user.company_ids.ids)] + + + + Company periods for consolidation group + + + ['|', ('chart_id.company_ids', '=', False), ('chart_id.company_ids', 'in', user.company_ids.ids)] + + + + Consolidation accounts for consolidation group + + + ['|', ('chart_id.company_ids', '=', False), ('chart_id.company_ids', 'in', user.company_ids.ids)] + + + + Consolidation sections for consolidation group + + + ['|', ('chart_id.company_ids', '=', False), ('chart_id.company_ids', 'in', user.company_ids.ids)] + + + + Consolidation journals for consolidation group + + + ['|', ('chart_id', '=', None), ('chart_id.company_ids', 'in', user.company_ids.ids)] + + + Consolidation journal lines for consolidation group + + + ['|', ('account_id.chart_id.company_ids', '=', False), ('account_id.chart_id.company_ids', 'in', user.company_ids.ids)] + + + diff --git a/odex25_accounting/odex25_account_consolidation/static/description/icon.png b/odex25_accounting/odex25_account_consolidation/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..df8fc281eda352b1813b19e283e5ae66f30280c5 GIT binary patch literal 6658 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 M07*qoM6N<$f)a@JegFUf literal 0 HcmV?d00001 diff --git a/odex25_accounting/odex25_account_consolidation/static/description/icon.svg b/odex25_accounting/odex25_account_consolidation/static/description/icon.svg new file mode 100644 index 000000000..10545edaf --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/static/description/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/odex25_accounting/odex25_account_consolidation/static/src/js/json_field.js b/odex25_accounting/odex25_account_consolidation/static/src/js/json_field.js new file mode 100644 index 000000000..d49d10ef4 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/static/src/js/json_field.js @@ -0,0 +1,77 @@ +odoo.define('odex25_account_consolidation.FieldJson', function (require) { + "use strict"; + var AbstractField = require('web.AbstractField'); + var fieldRegistry = require('web.field_registry'); + var core = require('web.core'); + var QWeb = core.qweb; + + var FieldJson = AbstractField.extend({ + className: 'o_field_json', + supportedFieldTypes: ['char'], + + events: { + 'click .js_unmapped_account': '_executeAction', + }, + + /** + * @override + */ + init: function () { + this._super.apply(this, arguments); + this.row_classes = this.nodeOptions.row_classes || ''; + this.container_classes = this.attrs && this.attrs.class || ''; + this.field_template = this.nodeOptions.template || 'JsonKeyValueField'; + }, + /** + * @override + */ + willStart: function () { + var superDef = this._super.apply(this, arguments); + this._parseJSON(); + return superDef; + }, + /** + * Parse the JSON field value and store it in this.parsed_data. + * @private + */ + _parseJSON: function () { + var record_field_value = this.recordData[this.name]; + if (!!record_field_value) { + this.parsed_data = JSON.parse(record_field_value); + } + }, + /** + * @override + */ + _render: function () { + var render_context = { + classes: this.row_classes, + field_values: this.parsed_data + }; + this.$el.addClass(this.container_classes); + this.$el.html($(QWeb.render(this.field_template, render_context))); + }, + + _executeAction: function (e) { + e.preventDefault(); + var self = this; + var $target = $(e.currentTarget); + if ($target.attr('data-type') === 'object') { + var rpc_config = { + model: self.model, + method: $target.data('name'), + args: [[self.res_id]], + context: {company_id: parseInt($target.attr('data-company-id'), 10)} + }; + this._rpc(rpc_config).then(function (result) { + return self.do_action(result); + }); + } + } + }); + + fieldRegistry.add('json', FieldJson); + + + return FieldJson; +}); diff --git a/odex25_accounting/odex25_account_consolidation/static/src/js/move_line_list/renderer.js b/odex25_accounting/odex25_account_consolidation/static/src/js/move_line_list/renderer.js new file mode 100644 index 000000000..bc4b213ec --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/static/src/js/move_line_list/renderer.js @@ -0,0 +1,46 @@ +odoo.define('odex25_account_consolidation.MLListRenderer', function (require) { + "use strict"; + + var ParentListRenderer = require('odex25_account_accountant.MoveLineListView').AccountMoveListRenderer; + var _t = require('web.core')._t; + + return ParentListRenderer.extend({ + init: function (parent, action) { + this._super.apply(this, arguments); + this.currencies_are_different = !!action.context.currencies_are_different; + this.currencies = action.context.currencies || null; + this.consolidation_rate = action.context.consolidation_rate || 100.0; + this.warning_messages = { + 'currencies': _t('Take into account that the consolidation (%s) and the consolidated company (%s) have different currencies.'), + 'rate': _t('Take into account that this company is consolidated at %s%%.'), + 'both': _t('Take into account that the consolidation (%s) and the consolidated company (%s) have different currencies and the company is consolidated at %s%%.') + } + }, + _renderView: function () { + var self = this; + return this._super.apply(this, arguments).then(function () { + self._renderWarnings(); + }); + }, + _renderWarnings: function () { + var warning_message; + if (this.currencies_are_different && this.consolidation_rate < 100.0) + { + warning_message = _.str.sprintf(this.warning_messages['both'], this.currencies.chart, this.currencies.company, this.consolidation_rate); + } + else if (this.currencies_are_different) + { + warning_message = _.str.sprintf(this.warning_messages['currencies'], this.currencies.chart, this.currencies.company); + } + else if (this.consolidation_rate < 100.0) + { + warning_message = _.str.sprintf(this.warning_messages['rate'], this.consolidation_rate); + } + if (!!warning_message) { + var $alert = $('
    '); + $alert.text(warning_message); + this.$el.prepend($alert); + } + } + }); +}); diff --git a/odex25_accounting/odex25_account_consolidation/static/src/js/move_line_list/view.js b/odex25_accounting/odex25_account_consolidation/static/src/js/move_line_list/view.js new file mode 100644 index 000000000..3de93ad5c --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/static/src/js/move_line_list/view.js @@ -0,0 +1,17 @@ +odoo.define('odex25_account_consolidation.MLListView', function (require) { + "use strict"; + + var ParentListView = require('odex25_account_accountant.MoveLineListView').AccountMoveListView; + var viewRegistry = require('web.view_registry'); + var MLListRenderer = require('odex25_account_consolidation.MLListRenderer'); + + var MLListView = ParentListView.extend({ + config: _.extend({}, ParentListView.prototype.config, { + Renderer: MLListRenderer + }) + }); + + viewRegistry.add('consolidation_move_line_list', MLListView); + + return MLListView; +}); diff --git a/odex25_accounting/odex25_account_consolidation/static/src/js/trial_balance_grid/controller.js b/odex25_accounting/odex25_account_consolidation/static/src/js/trial_balance_grid/controller.js new file mode 100644 index 000000000..ab5dcfe96 --- /dev/null +++ b/odex25_accounting/odex25_account_consolidation/static/src/js/trial_balance_grid/controller.js @@ -0,0 +1,51 @@ +odoo.define('odex25_account_consolidation.GridController', function (require) { + "use strict"; + + var WebGridController = require('odex25_web_grid.GridController'); + var dialogs = require('web.view_dialogs'); + var core = require('web.core'); + var _t = core._t; + + + return WebGridController.extend({ + init: function (parent, action) { + this._super.apply(this, arguments); + self.add_column_label = _t('Add a column'); + self.view_report_label = _t('Consolidated balance'); + }, + renderButtons: function () { + this._super.apply(this, arguments); + if (this.context.default_period_id) { + this.view_report_btn = $(' + + + + + diff --git a/odex25_accounting/odex25_account_followup/views/report_followup.xml b/odex25_accounting/odex25_account_followup/views/report_followup.xml new file mode 100644 index 000000000..2792d8f4a --- /dev/null +++ b/odex25_accounting/odex25_account_followup/views/report_followup.xml @@ -0,0 +1,201 @@ + + + + + Print Follow-up Letter + res.partner + qweb-pdf + odex25_account_followup.report_followup_print_all + odex25_account_followup.report_followup_print_all + 'Followups' + + + + + + payment_next_action_date + + + + + + + + + + + + + + + + diff --git a/odex25_accounting/odex25_account_invoice_extract/__init__.py b/odex25_accounting/odex25_account_invoice_extract/__init__.py new file mode 100644 index 000000000..5305644df --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models \ No newline at end of file diff --git a/odex25_accounting/odex25_account_invoice_extract/__manifest__.py b/odex25_accounting/odex25_account_invoice_extract/__manifest__.py new file mode 100644 index 000000000..e773d1ed9 --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract/__manifest__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +{ + 'name': 'Account Invoice Extract', + 'version': '1.0', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'summary': 'Extract data from invoice scans to fill them automatically', + 'depends': ['account', 'iap', 'account_configuration'], + 'data': [ + 'security/ir.model.access.csv', + 'data/odex25_account_invoice_extract_data.xml', + 'data/config_parameter_endpoint.xml', + 'data/extraction_status.xml', + 'data/res_config_settings_views.xml', + 'data/update_status_cron.xml', + ], + 'auto_install': True, + 'qweb': [ + 'static/src/bugfix/bugfix.xml', + 'static/src/xml/invoice_extract_box.xml', + 'static/src/xml/invoice_extract_button.xml', + ], +} diff --git a/odex25_accounting/odex25_account_invoice_extract/data/config_parameter_endpoint.xml b/odex25_accounting/odex25_account_invoice_extract/data/config_parameter_endpoint.xml new file mode 100644 index 000000000..ce5d2bdf8 --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract/data/config_parameter_endpoint.xml @@ -0,0 +1,11 @@ + + + + + + odex25_account_invoice_extract_endpoint + https://iap-extract.odoo.com + + + + diff --git a/odex25_accounting/odex25_account_invoice_extract/data/extraction_status.xml b/odex25_accounting/odex25_account_invoice_extract/data/extraction_status.xml new file mode 100644 index 000000000..1a38750ee --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract/data/extraction_status.xml @@ -0,0 +1,151 @@ + + + + + invoice.move.form.inherit.ocr + account.move + + + + +
    + + diff --git a/odex25_accounting/odex25_account_invoice_extract/tests/__init__.py b/odex25_accounting/odex25_account_invoice_extract/tests/__init__.py new file mode 100644 index 000000000..f434ba37b --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract/tests/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import test_invoice_extract diff --git a/odex25_accounting/odex25_account_invoice_extract/tests/common.py b/odex25_accounting/odex25_account_invoice_extract/tests/common.py new file mode 100644 index 000000000..fcee5eb36 --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract/tests/common.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- + +from contextlib import contextmanager +from unittest.mock import patch + +from odoo.addons.odex25_account_invoice_extract.models.account_invoice import AccountMove +from odoo.addons.iap.models.iap_account import IapAccount +from odoo.sql_db import Cursor +from odoo.tests import common + + +class MockIAP(common.BaseCase): + @contextmanager + def mock_iap_extract(self, extract_response, partner_autocomplete_response): + def _contact_iap_extract(local_endpoint, params): + return extract_response + + def _contact_iap_partner_autocomplete(local_endpoint, params): + return partner_autocomplete_response + + def get_credits(service_name): + return 1 + + def commit(): + pass + + try: + with patch.object(AccountMove, '_contact_iap_extract', side_effect=_contact_iap_extract) as contact_iap_extract_mock: + with patch.object(AccountMove, '_contact_iap_partner_autocomplete', side_effect=_contact_iap_partner_autocomplete) as contact_iap_partner_autocomplete_mock: + # the module iap is committing the transaction when creating an IAP account, we mock it to avoid that + with patch.object(IapAccount, 'get_credits', side_effect=get_credits) as iap_account_get_credits: + with patch.object(Cursor, 'commit', side_effect=commit) as cursor_commit_mock: + yield + finally: + pass diff --git a/odex25_accounting/odex25_account_invoice_extract/tests/test_invoice_extract.py b/odex25_accounting/odex25_account_invoice_extract/tests/test_invoice_extract.py new file mode 100644 index 000000000..800b1a0d6 --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract/tests/test_invoice_extract.py @@ -0,0 +1,505 @@ +# -*- coding: utf-8 -*- + +import base64 + +from odoo import fields + +from odoo.addons.odex25_account_invoice_extract.models.account_invoice import SUCCESS, NOT_READY, ERROR_INTERNAL, WARNING_DUPLICATE_VENDOR_REFERENCE +from odoo.addons.odex25_account_invoice_extract.tests import common as odex25_account_invoice_extract_common +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo.tests import tagged +from odoo.tests.common import Form + + +@tagged('post_install', '-at_install') +class TestInvoiceExtract(AccountTestInvoicingCommon, odex25_account_invoice_extract_common.MockIAP): + + @classmethod + def setUpClass(cls, chart_template_ref=None): + super().setUpClass(chart_template_ref=chart_template_ref) + + cls.env.user.groups_id |= cls.env.ref('base.group_system') + + # Avoid passing on the iap.account's `get` method to avoid the cr.commit breaking the test transaction. + cls.env['iap.account'].create([ + { + 'service_name': 'partner_autocomplete', + 'company_ids': [(6, 0, cls.company_data['company'].ids)], + }, + { + 'service_name': 'invoice_ocr', + 'company_ids': [(6, 0, cls.company_data['company'].ids)], + }, + ]) + + def get_default_extract_response(self): + return { + 'results': [{ + 'supplier': {'selected_value': {'content': "Test"}, 'words': []}, + 'total': {'selected_value': {'content': 330}, 'words': []}, + 'subtotal': {'selected_value': {'content': 300}, 'words': []}, + 'invoice_id': {'selected_value': {'content': 'INV0001'}, 'words': []}, + 'currency': {'selected_value': {'content': 'EUR'}, 'words': []}, + 'VAT_Number': {'selected_value': {'content': 'BE0477472701'}, 'words': []}, + 'date': {'selected_value': {'content': '2019-04-12 00:00:00'}, 'words': []}, + 'due_date': {'selected_value': {'content': '2019-04-19 00:00:00'}, 'words': []}, + 'global_taxes_amount': {'selected_value': {'content': 30.0}, 'words': []}, + 'global_taxes': [{'selected_value': {'content': 15.0, 'amount_type': 'percent'}, 'words': []}], + 'email': {'selected_value': {'content': 'test@email.com'}, 'words': []}, + 'website': {'selected_value': {'content': 'www.test.com'}, 'words': []}, + 'payment_ref': {'selected_value': {'content': '+++123/1234/12345+++'}, 'words': []}, + 'iban': {'selected_value': {'content': 'BE01234567890123'}, 'words': []}, + 'invoice_lines': [ + { + 'description': {'selected_value': {'content': 'Test 1'}}, + 'unit_price': {'selected_value': {'content': 100}}, + 'quantity': {'selected_value': {'content': 1}}, + 'taxes': {'selected_values': [{'content': 15, 'amount_type': 'percent'}]}, + 'subtotal': {'selected_value': {'content': 100}}, + 'total': {'selected_value': {'content': 115}}, + }, + { + 'description': {'selected_value': {'content': 'Test 2'}}, + 'unit_price': {'selected_value': {'content': 50}}, + 'quantity': {'selected_value': {'content': 2}}, + 'taxes': {'selected_values': [{'content': 0, 'amount_type': 'percent'}]}, + 'subtotal': {'selected_value': {'content': 100}}, + 'total': {'selected_value': {'content': 100}}, + }, + { + 'description': {'selected_value': {'content': 'Test 3'}}, + 'unit_price': {'selected_value': {'content': 20}}, + 'quantity': {'selected_value': {'content': 5}}, + 'taxes': {'selected_values': [{'content': 15, 'amount_type': 'percent'}]}, + 'subtotal': {'selected_value': {'content': 100}}, + 'total': {'selected_value': {'content': 115}}, + }, + ], + }], + 'status_code': SUCCESS, + } + + def test_no_merge_check_status(self): + # test check_status without lines merging + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + self.env.company.extract_single_line_per_tax = False + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {}): + invoice._check_status() + + self.assertEqual(invoice.extract_state, 'waiting_validation') + self.assertEqual(invoice.extract_status_code, SUCCESS) + self.assertEqual(invoice.amount_total, 330) + self.assertEqual(invoice.amount_untaxed, 300) + self.assertEqual(invoice.amount_tax, 30) + self.assertEqual(invoice.ref, 'INV0001') + self.assertEqual(invoice.invoice_date, fields.Date.from_string('2019-04-12')) + self.assertEqual(invoice.invoice_date_due, fields.Date.from_string('2019-04-19')) + self.assertEqual(invoice.payment_reference, "+++123/1234/12345+++") + + self.assertEqual(len(invoice.invoice_line_ids), 3) + for i, invoice_line in enumerate(invoice.invoice_line_ids): + self.assertEqual(invoice_line.name, extract_response['results'][0]['invoice_lines'][i]['description']['selected_value']['content']) + self.assertEqual(invoice_line.price_unit, extract_response['results'][0]['invoice_lines'][i]['unit_price']['selected_value']['content']) + self.assertEqual(invoice_line.quantity, extract_response['results'][0]['invoice_lines'][i]['quantity']['selected_value']['content']) + tax = extract_response['results'][0]['invoice_lines'][i]['taxes']['selected_values'][0] + if tax['content'] == 0: + self.assertEqual(len(invoice_line.tax_ids), 0) + else: + self.assertEqual(len(invoice_line.tax_ids), 1) + self.assertEqual(invoice_line.tax_ids[0].amount, tax['content']) + self.assertEqual(invoice_line.tax_ids[0].amount_type, 'percent') + self.assertEqual(invoice_line.price_subtotal, extract_response['results'][0]['invoice_lines'][i]['subtotal']['selected_value']['content']) + self.assertEqual(invoice_line.price_total, extract_response['results'][0]['invoice_lines'][i]['total']['selected_value']['content']) + + def test_merge_check_status(self): + # test check_status with lines merging + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + self.env.company.extract_single_line_per_tax = True + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {}): + invoice._check_status() + + self.assertEqual(len(invoice.invoice_line_ids), 2) + + # line 1 and 3 should be merged as they both have a 15% tax + self.assertEqual(invoice.invoice_line_ids[0].name, "Test 1\nTest 3") + self.assertEqual(invoice.invoice_line_ids[0].price_unit, 200) + self.assertEqual(invoice.invoice_line_ids[0].quantity, 1) + self.assertEqual(len(invoice.invoice_line_ids[0].tax_ids), 1) + self.assertEqual(invoice.invoice_line_ids[0].tax_ids[0].amount, 15) + self.assertEqual(invoice.invoice_line_ids[0].tax_ids[0].amount_type, 'percent') + self.assertEqual(invoice.invoice_line_ids[0].price_subtotal, 200) + self.assertEqual(invoice.invoice_line_ids[0].price_total, 230) + + # line 2 has no tax + self.assertEqual(invoice.invoice_line_ids[1].name, "Test 2") + self.assertEqual(invoice.invoice_line_ids[1].price_unit, 100) + self.assertEqual(invoice.invoice_line_ids[1].quantity, 1) + self.assertEqual(len(invoice.invoice_line_ids[1].tax_ids), 0) + self.assertEqual(invoice.invoice_line_ids[1].price_subtotal, 100) + self.assertEqual(invoice.invoice_line_ids[1].price_total, 100) + + def test_partner_creation_from_vat(self): + # test that the partner isn't created if the VAT number isn't valid + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {}): + invoice._check_status() + + self.assertFalse(invoice.partner_id) + + # test that the partner is created if the VAT number is valid + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {'company_data': {'name': 'Partner', 'country_code': 'BE', 'vat': 'BE0477472701', + 'partner_gid': False, 'city': 'Namur', 'bank_ids': [], 'zip': '2110', 'street': 'OCR street'}}): + invoice._check_status() + + self.assertEqual(invoice.partner_id.name, 'Partner') + self.assertEqual(invoice.partner_id.vat, 'BE0477472701') + + def test_partner_selection_from_vat(self): + # test that if a partner with the VAT found already exists in database it is selected + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + existing_partner = self.env['res.partner'].create({'name': 'Existing partner', 'vat': 'BE0477472701'}) + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {'name': 'A new partner', 'vat': 'BE0123456789'}): + invoice._check_status() + + self.assertEqual(invoice.partner_id, existing_partner) + + def test_partner_selection_from_name(self): + # test that if a partner with a similar name already exists in database it is selected + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + existing_partner = self.env['res.partner'].create({'name': 'Test S.A.'}) + self.env['res.partner'].create({'name': 'Partner'}) + self.env['res.partner'].create({'name': 'Another supplier'}) + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {'name': 'A new partner', 'vat': 'BE0123456789'}): + invoice._check_status() + + self.assertEqual(invoice.partner_id, existing_partner) + + # test that if no partner with a similar name exists, the partner isn't set + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = self.get_default_extract_response() + extract_response['results'][0]['supplier']['selected_value']['content'] = 'Blablablablabla' + + with self.mock_iap_extract(extract_response, {}): + invoice._check_status() + + self.assertFalse(invoice.partner_id) + + def test_multi_currency(self): + # test that if the multi currency isn't disabled, the currency isn't changed + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + test_user = self.env['res.users'].create({ + 'login': "test_user", + 'name': "Test User", + }) + usd_currency = self.env['res.currency'].search([('name', '=', 'USD')]) + eur_currency = self.env['res.currency'].search([('name', '=', 'EUR')]) + invoice.currency_id = usd_currency.id + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {}): + invoice.with_user(test_user)._check_status() + + self.assertEqual(invoice.currency_id, usd_currency) + + # test that if multi currency is enabled, the currency is changed + group_multi_currency = self.env.ref('base.group_multi_currency') + test_user.write({ + 'groups_id': [(4, group_multi_currency.id)], + }) + + # test with the name of the currency + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + invoice.currency_id = usd_currency.id + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {}): + invoice.with_user(test_user)._check_status() + + self.assertEqual(invoice.currency_id, eur_currency) + + # test with the symbol of the currency + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + invoice.currency_id = usd_currency.id + extract_response = self.get_default_extract_response() + extract_response['results'][0]['currency']['selected_value']['content'] = '€' + + with self.mock_iap_extract(extract_response, {}): + invoice.with_user(test_user)._check_status() + + self.assertEqual(invoice.currency_id, eur_currency) + + def test_tax_adjustments(self): + # test that if the total computed by Odoo doesn't exactly match the total found by the OCR, the tax are adjusted accordingly + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = self.get_default_extract_response() + extract_response['results'][0]['total']['selected_value']['content'] += 0.01 + + with self.mock_iap_extract(extract_response, {}): + invoice._check_status() + + self.assertEqual(invoice.amount_tax, 30.01) + self.assertEqual(invoice.amount_untaxed, 300) + self.assertEqual(invoice.amount_total, 330.01) + + def test_non_existing_tax(self): + # test that if there is an invoice line with a tax which doesn't exist in database it is ignored + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = self.get_default_extract_response() + extract_response['results'][0]['total']['selected_value']['content'] = 123.4 + extract_response['results'][0]['subtotal']['selected_value']['content'] = 100 + extract_response['results'][0]['invoice_lines'] = [ + { + 'description': {'selected_value': {'content': 'Test 1'}}, + 'unit_price': {'selected_value': {'content': 100}}, + 'quantity': {'selected_value': {'content': 1}}, + 'taxes': {'selected_values': [{'content': 12.34, 'amount_type': 'percent'}]}, + 'subtotal': {'selected_value': {'content': 100}}, + 'total': {'selected_value': {'content': 123.4}}, + }, + ] + + with self.mock_iap_extract(extract_response, {}): + invoice._check_status() + + self.assertEqual(len(invoice.invoice_line_ids), 1) + self.assertEqual(invoice.invoice_line_ids[0].name, "Test 1") + self.assertEqual(invoice.invoice_line_ids[0].price_unit, 100) + self.assertEqual(invoice.invoice_line_ids[0].quantity, 1) + self.assertEqual(len(invoice.invoice_line_ids[0].tax_ids), 0) + self.assertEqual(invoice.invoice_line_ids[0].price_subtotal, 100) + self.assertEqual(invoice.invoice_line_ids[0].price_total, 100) + + def test_duplicated_reference(self): + # test that if an invoice with the same invoice reference already exists, the invoice is still created and the user is warned + partner = self.env['res.partner'].create({'name': 'Test', 'vat': 'BE0000000000'}) + invoice = self.env['account.move'].create({ + 'move_type': 'in_invoice', + 'partner_id': partner.id, + 'extract_state': 'no_extract_requested', + 'ref': 'INV0001', + 'invoice_date': '2019-04-12', + 'date': '2019-04-12', + }) + + invoice2 = self.env['account.move'].create({ + 'move_type': 'in_invoice', + 'partner_id': partner.id, + 'extract_state': 'waiting_extraction', + }) + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {}): + invoice2._check_status() + + self.assertFalse(invoice2.ref) + self.assertEqual(invoice2.extract_status_code, WARNING_DUPLICATE_VENDOR_REFERENCE) + + def test_server_error(self): + # test that the extract state is set to 'error' if the OCR returned an error + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = {'status_code': ERROR_INTERNAL} + + with self.mock_iap_extract(extract_response, {}): + invoice._check_status() + + self.assertEqual(invoice.extract_state, 'error_status') + self.assertEqual(invoice.extract_status_code, ERROR_INTERNAL) + + def test_server_not_ready(self): + # test that the extract state is set to 'not_ready' if the OCR didn't finish to process the invoice + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = {'status_code': NOT_READY} + + with self.mock_iap_extract(extract_response, {}): + invoice._check_status() + + self.assertEqual(invoice.extract_state, 'extract_not_ready') + self.assertEqual(invoice.extract_status_code, NOT_READY) + + def test_preupdate_other_waiting_invoices(self): + # test that when we update an invoice, other invoices waiting for extraction are updated as well + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + invoice2 = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {}): + invoice.check_status() + + self.assertEqual(invoice.extract_state, 'waiting_validation') + self.assertEqual(invoice2.extract_state, 'waiting_validation') + + def test_no_overwrite_client_values(self): + # test that we are not overwriting the values entered by the client + partner = self.env['res.partner'].create({'name': 'Blabla', 'vat': 'BE0123456789'}) + invoice = self.env['account.move'].create({ + 'move_type': 'in_invoice', + 'extract_state': 'waiting_extraction', + 'invoice_date': '2019-04-01', + 'date': '2019-04-01', + 'invoice_date_due': '2019-05-01', + 'ref': 'INV1234', + 'partner_id': partner.id, + 'invoice_line_ids': [(0, 0, { + 'name': 'Blabla', + 'price_unit': 13.0, + 'quantity': 2.0, + 'account_id': self.company_data['default_account_revenue'].id, + })], + }) + self.env['res.partner'].create({'name': 'Test', 'vat': 'BE0000000000'}) # this match the partner found in the server response + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {}): + invoice.check_status() + + self.assertEqual(invoice.extract_state, 'waiting_validation') + self.assertEqual(invoice.ref, 'INV1234') + self.assertEqual(invoice.invoice_date, fields.Date.from_string('2019-04-01')) + self.assertEqual(invoice.invoice_date_due, fields.Date.from_string('2019-05-01')) + self.assertEqual(invoice.partner_id, partner) + + self.assertEqual(len(invoice.invoice_line_ids), 1) + self.assertEqual(invoice.invoice_line_ids[0].name, "Blabla") + self.assertEqual(invoice.invoice_line_ids[0].price_unit, 13) + self.assertEqual(invoice.invoice_line_ids[0].quantity, 2) + + def test_invoice_validation(self): + # test that when we post the invoice, the validation is sent to the server + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {'company_data': {'name': 'Partner', 'country_code': 'BE', 'vat': 'BE0477472701', + 'partner_gid': False, 'city': 'Namur', 'bank_ids': [], 'zip': '2110', 'street': 'OCR street'}}): + invoice._check_status() + + with self.mock_iap_extract({'status_code': SUCCESS}, {}): + invoice.action_post() + + self.assertEqual(invoice.extract_state, 'done') + self.assertEqual(invoice.get_validation('total')['content'], invoice.amount_total) + self.assertEqual(invoice.get_validation('subtotal')['content'], invoice.amount_untaxed) + self.assertEqual(invoice.get_validation('global_taxes_amount')['content'], invoice.amount_tax) + validation_global_taxes = invoice.get_validation('global_taxes')['content'] + for i, line in enumerate(invoice.line_ids.filtered('tax_repartition_line_id')): + self.assertDictEqual(validation_global_taxes[i], { + 'amount': line.debit, + 'tax_amount': line.tax_line_id.amount, + 'tax_amount_type': line.tax_line_id.amount_type, + 'tax_price_include': line.tax_line_id.price_include, + }) + self.assertEqual(invoice.get_validation('date')['content'], str(invoice.invoice_date)) + self.assertEqual(invoice.get_validation('due_date')['content'], str(invoice.invoice_date_due)) + self.assertEqual(invoice.get_validation('invoice_id')['content'], invoice.ref) + self.assertEqual(invoice.get_validation('supplier')['content'], invoice.partner_id.name) + self.assertEqual(invoice.get_validation('VAT_Number')['content'], invoice.partner_id.vat) + self.assertEqual(invoice.get_validation('currency')['content'], invoice.currency_id.name) + self.assertEqual(invoice.get_validation('payment_ref')['content'], invoice.payment_reference) + validation_invoice_lines = invoice.get_validation('invoice_lines')['lines'] + for i, il in enumerate(invoice.invoice_line_ids): + self.assertDictEqual(validation_invoice_lines[i], { + 'description': il.name, + 'quantity': il.quantity, + 'unit_price': il.price_unit, + 'product': il.product_id.id, + 'taxes_amount': round(il.price_total - il.price_subtotal, 2), + 'taxes': [{ + 'amount': tax.amount, + 'type': tax.amount_type, + 'price_include': tax.price_include} for tax in il.tax_ids], + 'subtotal': il.price_subtotal, + 'total': il.price_total, + }) + + def test_automatic_sending(self): + # test that the invoice is automatically sent to the OCR server when the option is enabled + + # test with message_post() + self.env.company.extract_show_ocr_option_selection = 'auto_send' + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'no_extract_requested'}) + test_attachment = self.env['ir.attachment'].create({ + 'name': "an attachment", + 'datas': base64.b64encode(b'My attachment'), + }) + + with self.mock_iap_extract({'status_code': SUCCESS, 'document_id': 1}, {}): + invoice.message_post(attachment_ids=[test_attachment.id]) + + self.assertEqual(invoice.extract_state, 'waiting_extraction') + + # test with register_as_main_attachment() + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'no_extract_requested'}) + test_attachment = self.env['ir.attachment'].create({ + 'name': "an attachment", + 'datas': base64.b64encode(b'My attachment'), + 'res_model': 'account.move', + 'res_id': invoice.id, + }) + + with self.mock_iap_extract({'status_code': SUCCESS, 'document_id': 1}, {}): + test_attachment.register_as_main_attachment() + + self.assertEqual(invoice.extract_state, 'waiting_extraction') + + # test that the invoice is not automatically sent to the OCR server when the option is disabled + + # test with message_post() + self.env.company.extract_show_ocr_option_selection = 'manual_send' + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'no_extract_requested'}) + test_attachment = self.env['ir.attachment'].create({ + 'name': "an attachment", + 'datas': base64.b64encode(b'My attachment'), + }) + + with self.mock_iap_extract({'status_code': SUCCESS, 'document_id': 1}, {}): + invoice.message_post(attachment_ids=[test_attachment.id]) + + self.assertEqual(invoice.extract_state, 'no_extract_requested') + + # test with register_as_main_attachment() + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'no_extract_requested'}) + test_attachment = self.env['ir.attachment'].create({ + 'name': "another attachment", + 'datas': base64.b64encode(b'My other attachment'), + 'res_model': 'account.move', + 'res_id': invoice.id, + }) + + with self.mock_iap_extract({'status_code': SUCCESS, 'document_id': 1}, {}): + test_attachment.register_as_main_attachment() + + self.assertEqual(invoice.extract_state, 'no_extract_requested') + + def test_bank_account(self): + # test that the bank account is set when an iban is found + + # test that an account is created if no existing matches the account number + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {'company_data': {'name': 'Partner', 'country_code': 'BE', 'vat': 'BE0477472701', 'partner_gid': False, 'city': 'Namur', 'bank_ids': [], 'zip': '2110', 'street': 'OCR street'}}): + invoice._check_status() + + self.assertEqual(invoice.partner_bank_id.acc_number, 'BE01234567890123') + + # test that it uses the existing bank account if it exists + created_bank_account = invoice.partner_bank_id + invoice = self.env['account.move'].create({'move_type': 'in_invoice', 'extract_state': 'waiting_extraction'}) + extract_response = self.get_default_extract_response() + + with self.mock_iap_extract(extract_response, {}): + invoice._check_status() + + self.assertEqual(invoice.partner_bank_id, created_bank_account) diff --git a/odex25_accounting/odex25_account_invoice_extract_purchase/__init__.py b/odex25_accounting/odex25_account_invoice_extract_purchase/__init__.py new file mode 100644 index 000000000..cde864bae --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract_purchase/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models diff --git a/odex25_accounting/odex25_account_invoice_extract_purchase/__manifest__.py b/odex25_accounting/odex25_account_invoice_extract_purchase/__manifest__.py new file mode 100644 index 000000000..45dc70aa9 --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract_purchase/__manifest__.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- + +{ + 'name': 'Account Invoice Extract Purchase', + 'version': '1.0', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'summary': 'Automatically finds the purchase order linked to a vendor bill when using invoice extraction', + 'depends': ['odex25_account_invoice_extract', 'purchase'], + 'auto_install': True, +} diff --git a/odex25_accounting/odex25_account_invoice_extract_purchase/models/__init__.py b/odex25_accounting/odex25_account_invoice_extract_purchase/models/__init__.py new file mode 100644 index 000000000..ab922af0d --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract_purchase/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import account_invoice diff --git a/odex25_accounting/odex25_account_invoice_extract_purchase/models/account_invoice.py b/odex25_accounting/odex25_account_invoice_extract_purchase/models/account_invoice.py new file mode 100644 index 000000000..800d2b0a7 --- /dev/null +++ b/odex25_accounting/odex25_account_invoice_extract_purchase/models/account_invoice.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +from odoo import api, models +from odoo.tests.common import Form + +TOLERANCE = 0.02 # tolerance applied to the total when searching for a matching purchase order + + +class AccountMove(models.Model): + _inherit = ['account.move'] + + @api.model + def _save_form(self, ocr_results, no_ref=False): + supplier_ocr = ocr_results['supplier']['selected_value']['content'] if 'supplier' in ocr_results else "" + vat_number_ocr = ocr_results['VAT_Number']['selected_value']['content'] if 'VAT_Number' in ocr_results else "" + total_ocr = ocr_results['total']['selected_value']['content'] if 'total' in ocr_results else 0.0 + + partner_id = self.env["res.partner"].search([("vat", "=ilike", vat_number_ocr)], limit=1) + if partner_id.exists(): + partner_id = partner_id.id + else: + partner_id = self.find_partner_id_with_name(supplier_ocr) + if self.move_type == 'in_invoice' and partner_id and total_ocr: + purchase_id_domain = [('company_id', '=', self.company_id.id), ('partner_id', 'child_of', [partner_id]), + ('amount_total', '>=', total_ocr - TOLERANCE), ('amount_total', '<=', total_ocr + TOLERANCE), ('state', '=', 'purchase')] + matching_po = self.env['purchase.order'].search(purchase_id_domain) + if len(matching_po) == 1: + with Form(self) as move_form: + move_form.purchase_id = matching_po + super(AccountMove, self)._save_form(ocr_results, no_ref=no_ref) diff --git a/odex25_accounting/odex25_account_invoice_extract_purchase/static/description/icon.png b/odex25_accounting/odex25_account_invoice_extract_purchase/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWK, 2020 +# Mustafa Rawi , 2020 +# Sadig Adam , 2020 +# amrnegm , 2020 +# Martin Trigaux, 2020 +# jahzar , 2020 +# hoxhe Aits , 2020 +# Osoul , 2020 +# Osama Ahmaro , 2020 +# amal ahmed , 2020 +# Abd El-Rahman Ali , 2020 +# Shaima Safar , 2020 +# Mostafa Hanafy , 2020 +# Nisrine Tagri , 2020 +# Mazen Abu Ghali , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-29 14:04+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Mazen Abu Ghali , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "Ooops It would seems that the process to" +msgstr "خطأ يبدو أن عملية" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "Ooops We could not" +msgstr "خطأ لم نستطع" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "Success! Your account has been succesfully refreshed." +msgstr "نجحت العملية! تم تحديث حسابك بنجاح." + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "Success! Your account has been succesfully updated." +msgstr "نجحت العملية! تم تحديث حسابك بنجاح." + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "Well done!" +msgstr "" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__account_number +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__account_number +msgid "Account Number" +msgstr "رقم الحساب" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_journal__account_online_journal_id +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__account_online_journal_ids +msgid "Account Online Journal" +msgstr "دفتر يومية الحساب" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_journal__account_online_provider_id +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__account_online_provider_id +msgid "Account Online Provider" +msgstr "مزود الحساب" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__account_online_wizard_id +msgid "Account Online Wizard" +msgstr "معالج الحساب" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__name +msgid "Account name" +msgstr "اسم الحساب" + +#. module: odex25_account_online_sync +#: model:ir.actions.server,name:odex25_account_online_sync.online_sync_cron_ir_actions_server +#: model:ir.cron,cron_name:odex25_account_online_sync.online_sync_cron +#: model:ir.cron,name:odex25_account_online_sync.online_sync_cron +msgid "Account: Journal online sync" +msgstr "الحساب: مزامنة دفتر اليومية" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/company.py:0 +#, python-format +msgid "Accounting Settings" +msgstr "إعدادات الحسابات" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__action +msgid "Action" +msgstr "إجراء" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_needaction +msgid "Action Needed" +msgstr "إجراء مطلوب" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__action_required +msgid "Action Required" +msgstr "إجراء مطلوب" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Add a Bank Account" +msgstr "إضافة حساب بنكي جديد" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.online_provider_account_form_view +msgid "Additional information" +msgstr "معلومة اضافية" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "An error occurred during online synchronization" +msgstr "حدث خطأ أثناء المزامنة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_attachment_count +msgid "Attachment Count" +msgstr "عدد المرفقات" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Automated Bank Synchronization" +msgstr "المزامنة البنكية الآلية" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__balance +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__balance +msgid "Balance" +msgstr "الرصيد" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.online_provider_account_form_view +msgid "Bank Accounts" +msgstr "الحسابات البنكية" + +#. module: odex25_account_online_sync +#: model:ir.model,name:odex25_account_online_sync.model_account_bank_statement +msgid "Bank Statement" +msgstr "كشف حساب البنك" + +#. module: odex25_account_online_sync +#: model:ir.model,name:odex25_account_online_sync.model_account_bank_statement_line +msgid "Bank Statement Line" +msgstr "بند كشف الحساب البنكي" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "Cancel" +msgstr "الغاء" + +#. module: odex25_account_online_sync +#: model:ir.model.fields.selection,name:odex25_account_online_sync.selection__account_online_wizard__status__cancelled +msgid "Cancelled" +msgstr "ملغي" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__status_code +msgid "Code to identify problem" +msgstr "كود لتحديد المشكلة" + +#. module: odex25_account_online_sync +#: model:ir.model,name:odex25_account_online_sync.model_res_company +msgid "Companies" +msgstr "شركات" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__company_id +msgid "Company" +msgstr "شركة" + +#. module: odex25_account_online_sync +#: model:ir.model,name:odex25_account_online_sync.model_res_partner +msgid "Contact" +msgstr "جهة الاتصال" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Create a Bank Account" +msgstr "إنشاء حساب بنكي" + +#. module: odex25_account_online_sync +#: model:ir.model.fields.selection,name:odex25_account_online_sync.selection__account_online_link_wizard__action__create +msgid "Create new journal" +msgstr "إنشاء دفتر يومية جديد" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__create_uid +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__create_uid +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__create_uid +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__create_date +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__create_date +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__create_date +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_journal__bank_statement_creation +msgid "Creation of Bank Statements" +msgstr "إنشاء كشوف حسابات بنكية" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_journal__bank_statement_creation +msgid "" +"Defines when a new bank statement\n" +" will be created when fetching new transactions\n" +" from your bank account." +msgstr "" +"يحدد متى سيتم إنشاء كشف حساب بنكي جديد\n" +" \n" +"عند إرسال معاملات جديدة\n" +" من حسابك البنكي." + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_bank_statement__display_name +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_bank_statement_line__display_name +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_journal__display_name +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__display_name +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__display_name +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__display_name +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__display_name +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_res_company__display_name +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_res_partner__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_online_sync +#: model:ir.model.fields.selection,name:odex25_account_online_sync.selection__account_online_link_wizard__action__drop +msgid "Do not link" +msgstr "عدم الربط" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "Done" +msgstr "المنتهية" + +#. module: odex25_account_online_sync +#: model:ir.model.fields.selection,name:odex25_account_online_sync.selection__account_online_wizard__status__failed +msgid "Failed" +msgstr "فشل" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__sync_date +msgid "Fetch transactions from" +msgstr "" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_follower_ids +msgid "Followers" +msgstr "المتابعون" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_channel_ids +msgid "Followers (Channels)" +msgstr "المتابعون (القنوات)" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_partner_ids +msgid "Followers (Partners)" +msgstr "المتابعون (الشركاء)" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__hide_table +msgid "Hide Table" +msgstr "إخفاء الجدول" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_bank_statement__id +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_bank_statement_line__id +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_journal__id +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__id +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__id +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__id +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__id +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_res_company__id +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_res_partner__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__provider_identifier +msgid "" +"ID of the banking institution in third party server used for debugging " +"purpose" +msgstr "معرف المؤسسة البنكية في الجهة الخارجية والمستخدم لأغراض التصحيح" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__provider_account_identifier +msgid "ID used to identify provider account in third party server" +msgstr "معرف المستخدم لتحديد حساب موفر في سيرفر الجهة الخارجية" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__message_needaction +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__message_unread +msgid "If checked, new messages require your attention." +msgstr "إذا كان محددًا، فهناك رسائل جديدة تحتاج لرؤيتها." + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__message_has_error +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "إذا كان محددًا، فقد حدث خطأ في تسليم بعض الرسائل." + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__name +msgid "Institution" +msgstr "مؤسسة" + +#. module: odex25_account_online_sync +#: model:ir.model,name:odex25_account_online_sync.model_account_online_journal +msgid "Interface for Online Account Journal" +msgstr "واجهة دفتر يومية الحساب الإلكتروني" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_is_follower +msgid "Is Follower" +msgstr "متابع" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/company.py:0 +#, python-format +msgid "It looks like a bank account is missing." +msgstr "" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#: model:ir.model,name:odex25_account_online_sync.model_account_journal +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__journal_ids +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__journal_id +#, python-format +msgid "Journal" +msgstr "دفتر اليومية" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__name +msgid "Journal Name" +msgstr "اسم دفتر اليومية" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_bank_statement____last_update +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_bank_statement_line____last_update +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_journal____last_update +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal____last_update +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard____last_update +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider____last_update +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard____last_update +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_res_company____last_update +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_res_partner____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__last_refresh +msgid "Last Refresh" +msgstr "التحديث الأخير" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__write_uid +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__write_uid +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__write_uid +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__write_date +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__write_date +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__write_date +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__last_sync +msgid "Last synchronization" +msgstr "آخر مزامنة" + +#. module: odex25_account_online_sync +#: model:ir.model,name:odex25_account_online_sync.model_account_online_link_wizard +msgid "Link synchronized account to a journal" +msgstr "ربط حساب متزامن بدفتر يومية" + +#. module: odex25_account_online_sync +#: model:ir.model.fields.selection,name:odex25_account_online_sync.selection__account_online_link_wizard__action__link +msgid "Link to existing journal" +msgstr "الربط بدفتر يومية مسجل" + +#. module: odex25_account_online_sync +#: model_terms:ir.actions.act_window,help:odex25_account_online_sync.action_online_provider_account +msgid "List of bank(s) providing online synchronization" +msgstr "قائمة البنوك التي توفر خدمة المزامنة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_main_attachment_id +msgid "Main Attachment" +msgstr "المرفق الرئيسي" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.online_provider_account_form_view +msgid "Manual Refresh" +msgstr "تحديث يدوي" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__message +msgid "Message" +msgstr "الرسالة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_has_error +msgid "Message Delivery error" +msgstr "خطأ في تسليم الرسائل" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_ids +msgid "Messages" +msgstr "الرسائل" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__method +msgid "Method" +msgstr "طريقة" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.account_journal_dashboard_inherit_online_sync +msgid "Next sync:" +msgstr "المزامنة التالية:" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_journal__next_synchronization +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__next_refresh +msgid "Next synchronization" +msgstr "المزامنة التالية" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "No new transactions have been loaded in the system." +msgstr "لم تصل أية معاملات جديدة للنظام." + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__number_added +msgid "Number Added" +msgstr "تم إضافة رقم" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_needaction_counter +msgid "Number of Actions" +msgstr "عدد الإجراءات" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_has_error_counter +msgid "Number of errors" +msgstr "عدد الاخطاء" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "عدد الرسائل التي تتطلب إجراء" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "عدد الرسائل الحادث بها خطأ في التسليم" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__message_unread_counter +msgid "Number of unread messages" +msgstr "عدد الرسائل الجديدة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__online_account_id +msgid "Online Account" +msgstr "حساب إلكتروني" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_bank_statement_line__online_identifier +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__online_identifier +msgid "Online Identifier" +msgstr "معرف الإنترنت" + +#. module: odex25_account_online_sync +#: model:ir.actions.act_window,name:odex25_account_online_sync.action_online_provider_account +msgid "Online Institution Accounts" +msgstr "حسابات المؤسسة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_bank_statement_line__online_partner_bank_account +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_res_partner__online_partner_bank_account +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_res_users__online_partner_bank_account +msgid "Online Partner Bank Account" +msgstr "حساب الشريك البنكي" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_bank_statement_line__online_partner_vendor_name +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_res_partner__online_partner_vendor_name +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_res_users__online_partner_vendor_name +msgid "Online Partner Vendor Name" +msgstr "اسم المورد الشريك" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#: model:ir.ui.menu,name:odex25_account_online_sync.menu_action_online_provider_account +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.account_journal_dashboard_inherit_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +#, python-format +msgid "Online Synchronization" +msgstr "المزامنة الإلكترونية" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Online synchronization from %s to %s" +msgstr "" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Online synchronization of %s" +msgstr "" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Opening statement" +msgstr "" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Opening statement: first synchronization" +msgstr "البيان الافتتاحي: المزامنة الأولى" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Please enter at least a character for the search" +msgstr "برجاء إدخال حرف واحد على الأقل للبحث عنه" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "" +"Please link your accounts to a journal or select \"do not link\" as action " +"to do" +msgstr "برجاء ربط حساباتك بدفتر يومية أو اختر خيار \"عدم الربط\"" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.account_journal_dashboard_inherit_online_sync +msgid "Problem during synchronization" +msgstr "مشكلة أثناء المزامنة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_journal__provider_name +msgid "Provider" +msgstr "المزود" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__provider_account_identifier +msgid "Provider Account Identifier" +msgstr "معرف حساب المزود" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__provider_identifier +msgid "Provider Identifier" +msgstr "معرف المزود" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__provider_type +msgid "Provider Type" +msgstr "نوع Plaid" + +#. module: odex25_account_online_sync +#: model:ir.model,name:odex25_account_online_sync.model_account_online_provider +msgid "Provider for online account synchronization" +msgstr "مزود لمزامنة الحساب" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_has_sms_error +msgid "SMS Delivery error" +msgstr "خطأ في تسليم الرسائل القصيرة" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Server not reachable, please try again later" +msgstr "لا يمكننا الوصول للسيرفر، برجاء المحاولة لاحقًا" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "" +"Statement has been reset to draft because some transactions from online " +"synchronization were added to it." +msgstr "" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__status +msgid "Status" +msgstr "الحالة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__status_code +msgid "Status Code" +msgstr "كود الحالة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields.selection,name:odex25_account_online_sync.selection__account_online_wizard__status__success +msgid "Success" +msgstr "نجاح" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.account_journal_form_inherit_online_sync +msgid "Synchronization Frequency" +msgstr "" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_link_wizard__journal_statements_creation +msgid "Synchronization frequency" +msgstr "" + +#. module: odex25_account_online_sync +#: model:ir.actions.act_window,name:odex25_account_online_sync.action_account_online_wizard_form +msgid "Synchronization result" +msgstr "نتيجة المزامنة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_journal__synchronization_status +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__status +msgid "Synchronization status" +msgstr "حالة المزامنة" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.account_journal_dashboard_inherit_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "Synchronize now" +msgstr "المزامنة الآن" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__account_ids +msgid "Synchronized accounts" +msgstr "حسابات المزامنة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__message +msgid "Techhnical message from third party provider that can help debugging" +msgstr "رسالة فنية من سيرفر جهة خارجية يمكن أن تساعد في تصحيح الأخطاء" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_wizard__hide_table +msgid "Technical field to hide table in view" +msgstr "حقل تقني لإخفاء الجدول في الواجهة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_bank_statement_line__online_partner_bank_account +#: model:ir.model.fields,help:odex25_account_online_sync.field_res_partner__online_partner_bank_account +#: model:ir.model.fields,help:odex25_account_online_sync.field_res_users__online_partner_bank_account +msgid "" +"Technical field used to store information from plaid/yodlee to match partner" +msgstr "حقل تقني يُستخدم لحفظ معلومات من plaid/yodlee لمطابقتها مع الشريك" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_bank_statement_line__online_partner_vendor_name +#: model:ir.model.fields,help:odex25_account_online_sync.field_res_partner__online_partner_vendor_name +#: model:ir.model.fields,help:odex25_account_online_sync.field_res_users__online_partner_vendor_name +msgid "" +"Technical field used to store information from plaid/yodlee to match partner" +" (used when a purchase is made)" +msgstr "" +"حقل تقني يُستخدم لحفظ معلومات من plaid/yodlee لمطابقتها مع الشريك (يُستخدم " +"عند القيام بعملية شراء)" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "The following error happened during the synchronization: %s" +msgstr "حدث الخطأ التالي أثناء المزامنة: %s" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "The following transactions have been loaded in the system." +msgstr "تم تحميل المعاملة التالية إلى النظام." + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Timeout: the server did not reply within 60s" +msgstr "خطأ: لم يصلنا رد من السيرفر لمدة 60 ثانية" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_wizard__transactions +msgid "Transactions" +msgstr "معاملات" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__action_required +msgid "True if user needs to take action by updating account" +msgstr "صحيح إذا كان المستخدم يحتاج إلى اتخاذ إجراء عن طريق تحديث الحساب" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Unimplemented" +msgstr "دون تنفيذ" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "Unknown reason" +msgstr "سبب مجهول" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_unread +msgid "Unread Messages" +msgstr "الرسائل الجديدة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__message_unread_counter +msgid "Unread Messages Counter" +msgstr "عدد الرسائل الجديدة" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.online_provider_account_form_view +msgid "Update Credentials" +msgstr "تحديث بيانات الاعتماد" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_journal__synchronization_status +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__status +msgid "Update status of provider account" +msgstr "تحديث حالة حساب المزود" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.account_journal_dashboard_inherit_online_sync +msgid "View problem" +msgstr "عرض المشكلة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,field_description:odex25_account_online_sync.field_account_online_provider__website_message_ids +msgid "Website Messages" +msgstr "رسائل الموقع" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__website_message_ids +msgid "Website communication history" +msgstr "سجل تواصل الموقع" + +#. module: odex25_account_online_sync +#: model:ir.model,name:odex25_account_online_sync.model_account_online_wizard +msgid "Wizard to link synchronized accounts to journal" +msgstr "معالج لربط الحسابات المتزامنة بدفتر اليومية" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "You can not link two accounts to the same journal" +msgstr "لا يمكنك ربط حسابين بدفتر يومية واحد" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/company.py:0 +#, python-format +msgid "You should install a fiscal localization first." +msgstr "" + +#. module: odex25_account_online_sync +#: model:ir.model.fields.selection,name:odex25_account_online_sync.selection__account_online_wizard__method__add +msgid "add" +msgstr "إضافة" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_journal__balance +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_link_wizard__balance +msgid "balance of the account sent by the third party provider" +msgstr "رصيد الحساب المرسل من الجهة الخارجية" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "" +"bank accounts have been found.
    To finalize, please associate each bank " +"account with an accounting journal and choose the synchronization frequency " +" " +msgstr "" + +#. module: odex25_account_online_sync +#: model:ir.model.fields.selection,name:odex25_account_online_sync.selection__account_online_wizard__method__edit +msgid "edit" +msgstr "تحرير" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_journal__online_identifier +msgid "id use to identify account in provider system" +msgstr "استخدام معرف لتحديد الحساب في نظام مزود" + +#. module: odex25_account_online_sync +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_journal__provider_name +#: model:ir.model.fields,help:odex25_account_online_sync.field_account_online_provider__name +msgid "name of the banking institution" +msgstr "اسم المؤسسة المصرفية" + +#. module: odex25_account_online_sync +#: model:ir.model.fields.selection,name:odex25_account_online_sync.selection__account_online_wizard__method__refresh +msgid "refresh" +msgstr "تحديث" + +#. module: odex25_account_online_sync +#: code:addons/odex25_account_online_sync/models/online_sync.py:0 +#, python-format +msgid "transactions loaded" +msgstr "تم تحميل المعاملات" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "" +"your account because of the following\n" +" error during the process:" +msgstr "" +"حسابك للأسباب التالية\n" +" خطأ أثناء العملية:" + +#. module: odex25_account_online_sync +#: model_terms:ir.ui.view,arch_db:odex25_account_online_sync.view_account_online_wizard_form +msgid "" +"your account was not\n" +" thoroughly completed. You can try to manually update your account by clicking the refresh button on the dashboard\n" +" or in the online synchronization menu." +msgstr "" +"لم يكتمل حسابك بالكامل.\n" +" يمكنك أن تحاول تحديثه يدويًا بضغط زر تحديث في لوحة المعلومات\n" +" أو في قائمة المزامنة الإلكترونية." diff --git a/odex25_accounting/odex25_account_online_sync/models/__init__.py b/odex25_accounting/odex25_account_online_sync/models/__init__.py new file mode 100644 index 000000000..b9addbb29 --- /dev/null +++ b/odex25_accounting/odex25_account_online_sync/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import company +from . import online_sync diff --git a/odex25_accounting/odex25_account_online_sync/models/company.py b/odex25_accounting/odex25_account_online_sync/models/company.py new file mode 100644 index 000000000..3f848f63c --- /dev/null +++ b/odex25_accounting/odex25_account_online_sync/models/company.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + +from odoo import api, models, fields, _ + +from odoo.exceptions import UserError, RedirectWarning + +class ResCompany(models.Model): + _inherit = "res.company" + + @api.model + def setting_init_bank_account_action(self): + """ Setup bar function, overridden to call the online synchronization wizard + allowing to setup bank account instead of the default wizard used in community. + If no bank journal exists yet, we trigger an error message asking to install + a CoA, which will create the journal.""" + company = self.env.company + + bank_journal = self.env['account.journal'].search([('company_id','=', company.id), ('type','=','bank'), ('bank_account_id', '=', False)], limit=1) + if not bank_journal: + bank_journal = self.env['account.journal'].search([('company_id','=', company.id), ('type','=','bank')], limit=1) + + if not bank_journal: + any_journal = self.env['account.journal'].search([('company_id', '=', company.id)], limit=1) + if not any_journal: + action = self.env.ref('account.action_account_config') + raise RedirectWarning(_('You should install a fiscal localization first.'), action.id, _('Accounting Settings')) + raise UserError(_('It looks like a bank account is missing.')) + + return bank_journal.action_choose_institution() diff --git a/odex25_accounting/odex25_account_online_sync/models/online_sync.py b/odex25_accounting/odex25_account_online_sync/models/online_sync.py new file mode 100644 index 000000000..23e75e1ae --- /dev/null +++ b/odex25_accounting/odex25_account_online_sync/models/online_sync.py @@ -0,0 +1,620 @@ +# -*- coding: utf-8 -*- +import requests +import json + +from odoo import api, fields, models, _ +from odoo.tools.translate import _ +from odoo.exceptions import UserError +from odoo.tools import float_is_zero, date_utils +from datetime import datetime +from dateutil.relativedelta import relativedelta + +""" +This module manage an "online account" for a journal. It can't be used in standalone, +other module have to be install (like Plaid or Yodlee). Theses modules must be given +for the online_account reference field. They manage how the bank statement are retrived +from a web service. +""" + +class ProviderAccount(models.Model): + _name = 'account.online.provider' + _description = 'Provider for online account synchronization' + _inherit = ['mail.thread'] + + name = fields.Char(help='name of the banking institution', string="Institution") + provider_type = fields.Selection([], readonly=True) + provider_account_identifier = fields.Char(help='ID used to identify provider account in third party server', readonly=True) + provider_identifier = fields.Char(readonly=True, help='ID of the banking institution in third party server used for debugging purpose') + status = fields.Char(string='Synchronization status', readonly=True, help='Update status of provider account') + status_code = fields.Char(readonly=True, help='Code to identify problem') + message = fields.Char(readonly=True, help='Techhnical message from third party provider that can help debugging') + action_required = fields.Boolean(readonly=True, help='True if user needs to take action by updating account', default=False) + last_refresh = fields.Datetime(readonly=True, default=fields.Datetime.now()) + next_refresh = fields.Datetime("Next synchronization", compute='_compute_next_synchronization') + account_online_journal_ids = fields.One2many('account.online.journal', 'account_online_provider_id') + company_id = fields.Many2one('res.company', required=True, readonly=True, default=lambda self: self.env.company) + + def _compute_next_synchronization(self): + for rec in self: + rec.next_refresh = self.env['ir.cron'].sudo().search([('id', '=', self.env.ref('odex25_account_online_sync.online_sync_cron').id)], limit=1).nextcall + + def open_action(self, action_name, number_added): + action = self.env['ir.actions.act_window']._for_xml_id(action_name) + self.env[action["res_model"]].check_access_rights('write') + ctx = self.env.context.copy() + ctx.update({'default_number_added': number_added}) + action.update({'context': ctx}) + return action + + def log_message(self, message): + # Usually when we are performing a call to the third party provider to either refresh/fetch transaction/add user, etc, + # the call can fail and we raise an error. We also want the error message to be logged in the object in the case the call + # is done by a cron. This is why we are using a separate cursor to write the information on the chatter. Otherwise due to + # the raise(), the transaction would rollback and nothing would be posted on the chatter. + # There is a particuler use case with this, is when we are trying to unlink an account.online.provider, + # we usually also perform a call to the third party provider to delete it from the third party provider system. + # This call can also fail and if this is the case we do not want to prevent the user from deleting the object in odoo. + # Problem is that if we try to log the error message, it will result in an error since a transaction will delete the object + # and another transaction will try to write on the object. Therefore, we need to pass a special key in the context in those + # cases to prevent writing on the object + if not self._context.get('no_post_message'): + subject = _("An error occurred during online synchronization") + message = _('The following error happened during the synchronization: %s', message) + with self.pool.cursor() as cr: + self.with_env(self.env(cr=cr)).message_post(body=message, subject=subject) + + def _get_favorite_institutions(self, country): + resp_json = {} + try: + url = self.sudo().env['ir.config_parameter'].get_param('odoo.online_sync_proxy') or 'https://onlinesync.odoo.com' + resp = requests.post(url=url + '/onlinesync/search/favorite', data={'country': country, 'provider': json.dumps(self._get_available_providers())}, timeout=60) + resp_json = resp.json() + except requests.exceptions.Timeout: + raise UserError(_('Timeout: the server did not reply within 60s')) + except (ValueError, requests.exceptions.ConnectionError): + raise UserError(_('Server not reachable, please try again later')) + return resp_json + + def get_institutions(self, searchString, country): + if len(searchString) == 0: + raise UserError(_('Please enter at least a character for the search')) + resp_json = {} + try: + data = { + 'include_environment': self.env["ir.config_parameter"].sudo().get_param("plaid.include.environment") or False, + 'query': searchString, + 'country': country, + 'provider': json.dumps(self._get_available_providers()) + } + url = self.sudo().env['ir.config_parameter'].get_param('odoo.online_sync_proxy') or 'https://onlinesync.odoo.com' + resp = requests.post(url=url + '/onlinesync/search/', data=data, timeout=60) + resp_json = resp.json() + except requests.exceptions.Timeout: + raise UserError(_('Timeout: the server did not reply within 60s')) + except (ValueError, requests.exceptions.ConnectionError): + raise UserError(_('Server not reachable, please try again later')) + return json.dumps(resp_json) + + def show_result(self, values): + """ This method is used to launch the end process of adding/refreshing/editing an online account provider + It will create a wizard where user will be notified of the result of the call and if new accounts have + been fetched, he will be able to link them to different journals + """ + number_added = len(values.get('added', [])) + status = 'success' + if values.get('status') == 'FAILED' or values.get('status') == '3': + status = 'failed' + if values.get('status') == 'ACTION_ABANDONED' or values.get('status') == '1': + status = 'cancelled' + if values.get('transactions'): + transactions = "

    %s

    " % (_('The following transactions have been loaded in the system.'),) + for tr in values.get('transactions'): + transactions += '

    %s: %s - %s %s

    ' % (_('Journal'), tr.get('journal'), tr.get('count'), _('transactions loaded')) + else: + transactions = '

    %s

    ' % (_('No new transactions have been loaded in the system.'),) + hide_table = False + if number_added == 0: + hide_table = True + transient = self.env['account.online.wizard'].create({ + 'number_added': number_added, + 'status': status, + 'method': values.get('method'), + 'message': values.get('message', _('Unknown reason')), + 'transactions': transactions, + 'hide_table': hide_table, + }) + for account in values.get('added', []): + vals = {'online_account_id': account.id, 'account_online_wizard_id': transient.id} + # If we are adding an account for the first time and only have one, link it to journal + if (number_added == 1 and values.get('method') == 'add'): + vals['journal_id'] = values.get('journal_id') + self.env['account.online.link.wizard'].create(vals) + + action = self.env["ir.actions.actions"]._for_xml_id("odex25_account_online_sync.action_account_online_wizard_form") + action['res_id'] = transient.id + return action + + """ Methods that need to be override by sub-module""" + + def _get_available_providers(self): + return [] + + def get_login_form(self, site_id, provider, beta=False): + """ This method is used to fetch and display the login form of the institution choosen in + get_institutions method. Usually this method should return a client action that will + render the login form + """ + return [] + + def manual_sync(self): + """ This method is used to ask the third party provider to refresh the account and + fetch the latest transactions. + """ + return False + + @api.model + def cron_fetch_online_transactions(self): + return False + + @api.model + def get_manual_configuration_form(self): + view_id = self.env.ref('account.setup_bank_account_wizard').id + ctx = self.env.context.copy() + # if this was called from kanban box, active_model is in context + if self.env.context.get('active_model') == 'account.journal': + ctx.update({ + 'default_linked_journal_id': ctx.get('journal_id', False) + }) + return {'type': 'ir.actions.act_window', + 'name': _('Create a Bank Account'), + 'res_model': 'account.setup.bank.manual.config', + 'target': 'new', + 'view_mode': 'form', + 'context': ctx, + 'views': [[view_id, 'form']], + } + + def update_credentials(self): + pass + + +class OnlineAccount(models.Model): + """ + This class is used as an interface. + It is used to save the state of the current online accout. + """ + _name = 'account.online.journal' + _description = 'Interface for Online Account Journal' + + name = fields.Char(string="Journal Name", required=True) + account_online_provider_id = fields.Many2one('account.online.provider', ondelete='cascade', readonly=True) + journal_ids = fields.One2many('account.journal', 'account_online_journal_id', string='Journal', domain=[('type', '=', 'bank')]) + account_number = fields.Char() + last_sync = fields.Date("Last synchronization") + online_identifier = fields.Char(help='id use to identify account in provider system', readonly=True) + provider_name = fields.Char(related='account_online_provider_id.name', string="Provider", readonly=True) + balance = fields.Float(readonly=True, help='balance of the account sent by the third party provider') + + @api.depends('name', 'account_online_provider_id.name') + def name_get(self): + res = [] + for account_online in self: + name = "%s: %s" % (account_online.provider_name, account_online.name) + if account_online.account_number: + name += " (%s)" % (account_online.account_number) + res += [(account_online.id, name)] + return res + + def retrieve_transactions(self): + # This method must be implemented by plaid and yodlee services + raise UserError(_("Unimplemented")) + + @api.model + def _find_partner_from_location(self, location): + """ + Return a recordset of partner if the address of the transaction exactly match the address of a partner + location : a dictionary of type: + {'state': x, 'address': y, 'city': z, 'zip': w} + state and zip are optional + + """ + partners = self.env['res.partner'] + domain = [] + if 'address' in location and 'city' in location: + domain.append(('street', '=', location['address'])) + domain.append(('city', '=', location['city'])) + if 'state' in location: + domain.append(('state_id.name', '=', location['state'])) + if 'zip' in location: + domain.append(('zip', '=', location['zip'])) + return self._find_partner(domain) + return False + + @api.model + def _find_partner(self, domain): + """ + Return a recordset of partner iff we have only one partner associated to the value passed as parameter + value : a String send by Yodlee to identify the account or merchant from which the transaction was made + field: name of the field where to search for the information + """ + partners = self.env['res.partner'].search(domain) + if len(partners) == 1: + return partners.id + else: + # It is possible that all partners share the same commercial partner, in that case, use the commercial partner + commercial_partner = list(set([p.commercial_partner_id for p in partners])) + if len(commercial_partner) == 1: + return commercial_partner[0].id + return False + +class OnlineAccountLinkWizard(models.TransientModel): + _name = 'account.online.link.wizard' + _description = 'Link synchronized account to a journal' + + journal_id = fields.Many2one('account.journal', domain="[('type', '=', 'bank'), ('account_online_journal_id', '=', False)]") + online_account_id = fields.Many2one('account.online.journal') + action = fields.Selection([('create', 'Create new journal'), ('link', 'Link to existing journal'), ('drop', 'Do not link')], default='link') + name = fields.Char(related='online_account_id.name', readonly=True, string="Account name") + balance = fields.Float(related='online_account_id.balance', readonly=True) + account_online_wizard_id = fields.Many2one('account.online.wizard') + account_number = fields.Char(related='online_account_id.account_number', readonly=True) + journal_statements_creation = fields.Selection(selection=lambda x: x.env['account.journal'].get_statement_creation_possible_values(), default='none', string="Synchronization frequency") + + @api.onchange('journal_id') + def _onchange_account_ids(self): + if self.journal_id: + self.journal_statements_creation = self.journal_id.bank_statement_creation + + if self.action == 'drop': + self.journal_id = None + self.journal_statements_creation = None + + +class OnlineAccountWizard(models.TransientModel): + _name = 'account.online.wizard' + _description = 'Wizard to link synchronized accounts to journal' + + number_added = fields.Integer(readonly=True) + transactions = fields.Html(readonly=True) + status = fields.Selection([('success', 'Success'), ('failed', 'Failed'), ('cancelled', 'Cancelled')], readonly=True) + method = fields.Selection([('add', 'add'), ('edit', 'edit'), ('refresh', 'refresh')], readonly=True) + message = fields.Char(readonly=True) + sync_date = fields.Date('Fetch transactions from', default=lambda a: fields.Date.context_today(a) - relativedelta(days=15)) + account_ids = fields.One2many('account.online.link.wizard', 'account_online_wizard_id', 'Synchronized accounts') + hide_table = fields.Boolean(help='Technical field to hide table in view') + + def _get_journal_values(self, account, create=False): + vals = { + 'account_online_journal_id': account.online_account_id.id, + 'bank_statements_source': 'online_sync', + 'bank_statement_creation': account.journal_statements_creation, + } + if create: + vals['name'] = account.name + vals['type'] = 'bank' + return vals + + def sync_now(self): + # Link account to journal + journal_already_linked = [] + for account in self.account_ids: + account.online_account_id.write({'last_sync': self.sync_date}) + if account.action == 'link': + if not account.journal_id: + raise UserError(_('Please link your accounts to a journal or select "do not link" as action to do')) + if account.journal_id.id in journal_already_linked: + raise UserError(_('You can not link two accounts to the same journal')) + journal_already_linked.append(account.journal_id.id) + account.journal_id.write(self._get_journal_values(account)) + elif account.action == 'create': + vals = self._get_journal_values(account, create=True) + self.env['account.journal'].create(vals) + # call to synchronize + self.env['account.journal'].cron_fetch_online_transactions() + # Reload dashboard + return self.env["ir.actions.actions"]._for_xml_id("account.open_account_journal_dashboard_kanban") + + def open_accounting_dashboard(self): + return self.env["ir.actions.actions"]._for_xml_id("account.open_account_journal_dashboard_kanban") + + +class AccountJournal(models.Model): + _inherit = "account.journal" + + def _select_action_to_open(self): + self.ensure_one() + if not self._context.get('action_name') and self.type == 'bank' and self.bank_statements_source == 'online_sync': + return 'action_bank_statement_line' + return super()._select_action_to_open() + + def __get_bank_statements_available_sources(self): + rslt = super(AccountJournal, self).__get_bank_statements_available_sources() + rslt.append(("online_sync", _("Automated Bank Synchronization"))) + return rslt + + @api.model + def get_statement_creation_possible_values(self): + return [('none', 'Create one statement per synchronization'), + ('day', 'Create daily statements'), + ('week', 'Create weekly statements'), + ('bimonthly', 'Create bi-monthly statements'), + ('month', 'Create monthly statements')] + + next_synchronization = fields.Datetime("Next synchronization", compute='_compute_next_synchronization') + account_online_journal_id = fields.Many2one('account.online.journal') + account_online_provider_id = fields.Many2one('account.online.provider', related='account_online_journal_id.account_online_provider_id', readonly=False) + synchronization_status = fields.Char(related='account_online_provider_id.status', readonly=False) + bank_statement_creation = fields.Selection(selection=get_statement_creation_possible_values, + help="""Defines when a new bank statement + will be created when fetching new transactions + from your bank account.""", + default='none', + string='Creation of Bank Statements') + + def _compute_next_synchronization(self): + next_sync = self.env['ir.cron'].sudo().search([ + ('id', '=', self.env.ref('odex25_account_online_sync.online_sync_cron').id) + ], limit=1).nextcall + + for rec in self: + rec.next_synchronization = next_sync + + def action_choose_institution(self): + sync_error_message = '' + ctx = self.env.context.copy() + country = self.company_id.country_id + ctx.update({'dialog_size': 'medium', 'country': country.code, 'country_name': country.name, 'journal_id': self.id}) + starred_inst = [] + try: + # Get starred institutions + starred_inst = self.env['account.online.provider']._get_favorite_institutions(country.code).get('result', []) + + except UserError as err: + sync_error_message = err.args[0] + + return { + 'type': 'ir.actions.client', + 'tag': 'online_sync_institution_selector', + 'name': _('Add a Bank Account'), + 'params': { + 'starred_inst': starred_inst, + 'sync_error_message': sync_error_message, + }, + 'target': 'new', + 'context': ctx, + } + + def manual_sync(self): + if self.account_online_journal_id: + return self.account_online_journal_id.account_online_provider_id.manual_sync() + + def open_online_sync_form(self): + return { + 'type': 'ir.actions.act_window', + 'name': _('Online Synchronization'), + 'res_model': 'account.online.wizard', + 'view_mode': 'form', + 'view_id': self.env.ref("view_account_online_wizard_form").id, + 'target': 'new', + } + + @api.model + def cron_fetch_online_transactions(self): + journals = self.search([('account_online_journal_id', '!=', False)]) + if len(journals): + account_online_providers = journals.mapped('account_online_journal_id').mapped('account_online_provider_id') + for account_online_provider in account_online_providers: + try: + account_online_provider.cron_fetch_online_transactions() + except UserError: + continue + + def unlink(self): + acc_online_provider = False + if self.account_online_journal_id: + acc_online_provider = self.account_online_journal_id.account_online_provider_id + super(AccountJournal, self).unlink() + if acc_online_provider and len(acc_online_provider.account_online_journal_ids.filtered(lambda j: len(j.journal_ids) > 0)) == 0: + # If we have no more linked journal to the account provider, delete it. + acc_online_provider.unlink() + + +class AccountBankStatement(models.Model): + _inherit = "account.bank.statement" + + def button_validate(self): + res = super().button_validate() + for statement in self: + for line in statement.line_ids: + if line.partner_id and (line.online_partner_vendor_name or line.online_partner_bank_account): + # write value for account and merchant on partner only if partner has no value, in case value are different write False + value_acc = line.partner_id.online_partner_bank_account or line.online_partner_bank_account + value_acc = value_acc if value_acc == line.online_partner_bank_account else False + value_merchant = line.partner_id.online_partner_vendor_name or line.online_partner_vendor_name + value_merchant = value_merchant if value_merchant == line.online_partner_vendor_name else False + line.partner_id.online_partner_vendor_name = value_merchant + line.partner_id.online_partner_bank_account = value_acc + return res + + @api.model + def online_sync_bank_statement(self, transactions, journal, ending_balance): + """ + build a bank statement from a list of transaction and post messages is also post in the online_account of the journal. + :param transactions: A list of transactions that will be created in the new bank statement. + The format is : [{ + 'id': online id, (unique ID for the transaction) + 'date': transaction date, (The date of the transaction) + 'name': transaction description, (The description) + 'amount': transaction amount, (The amount of the transaction. Negative for debit, positive for credit) + 'partner_id': optional field used to define the partner + 'online_partner_vendor_name': optional field used to store information on the statement line under the + online_partner_vendor_name field (typically information coming from plaid/yodlee). This is use to find partner + for next statements + 'online_partner_bank_account': optional field used to store information on the statement line under the + online_partner_bank_account field (typically information coming from plaid/yodlee). This is use to find partner + for next statements + }, ...] + :param journal: The journal (account.journal) of the new bank statement + :param ending_balance: ending balance on the account + + Return: The number of imported transaction for the journal + """ + # Since the synchronization succeeded, set it as the bank_statements_source of the journal + journal.sudo().write({'bank_statements_source': 'online_sync'}) + if not len(transactions): + return 0 + + transactions_identifiers = [line['online_identifier'] for line in transactions] + existing_transactions_ids = self.env['account.bank.statement.line'].search([('online_identifier', 'in', transactions_identifiers), ('journal_id', '=', journal.id)]) + existing_transactions = [t.online_identifier for t in existing_transactions_ids] + + sorted_transactions = sorted(transactions, key=lambda l: l['date']) + min_date = date_utils.start_of(sorted_transactions[0]['date'], 'month') + if journal.bank_statement_creation == 'week': + # key is not always the first of month + weekday = min_date.weekday() + min_date = date_utils.subtract(min_date, days=weekday) + max_date = sorted_transactions[-1]['date'] + total = sum([t['amount'] for t in sorted_transactions]) + + statements_in_range = self.search([('date', '>=', min_date), ('journal_id', '=', journal.id)]) + + # For first synchronization, an opening bank statement is created to fill the missing bank statements + all_statement = self.search_count([('journal_id', '=', journal.id)]) + digits_rounding_precision = journal.currency_id.rounding if journal.currency_id else journal.company_id.currency_id.rounding + if all_statement == 0 and not float_is_zero(ending_balance - total, precision_rounding=digits_rounding_precision): + opening_transaction = [(0, 0, { + 'date': date_utils.subtract(min_date, days=1), + 'payment_ref': _("Opening statement: first synchronization"), + 'amount': ending_balance - total, + })] + statement = self.create({ + 'name': _('Opening statement'), + 'date': date_utils.subtract(min_date, days=1), + 'line_ids': opening_transaction, + 'journal_id': journal.id, + 'balance_end_real': ending_balance - total, + }) + statement.button_post() + + transactions_in_statements = [] + statement_to_reset_to_draft = self.env['account.bank.statement'] + transactions_to_create = {} + + number_added = 0 + for transaction in sorted_transactions: + if transaction['online_identifier'] in existing_transactions: + continue + line = transaction.copy() + number_added += 1 + if journal.bank_statement_creation == 'day': + # key is full date + key = transaction['date'] + elif journal.bank_statement_creation == 'week': + # key is first day of the week + weekday = transaction['date'].weekday() + key = date_utils.subtract(transaction['date'], days=weekday) + elif journal.bank_statement_creation == 'bimonthly': + if transaction['date'].day >= 15: + # key is the 15 of that month + key = transaction['date'].replace(day=15) + else: + # key if the first of the month + key = date_utils.start_of(transaction['date'], 'month') + # key is year-month-0 or year-month-1 + elif journal.bank_statement_creation == 'month': + # key is first of the month + key = date_utils.start_of(transaction['date'], 'month') + else: + # key is last date of transactions fetched + key = max_date + + # Decide if we have to update an existing statement or create a new one with this line + stmt = statements_in_range.filtered(lambda x: x.date == key) + if stmt and stmt[0].id: + line['statement_id'] = stmt[0].id + transactions_in_statements.append(line) + statement_to_reset_to_draft += stmt[0] + else: + if not transactions_to_create.get(key): + transactions_to_create[key] = [] + transactions_to_create[key].append((0, 0, line)) + + # Create the lines that should be inside an existing bank statement and reset those stmt in draft + if len(transactions_in_statements): + for st in statement_to_reset_to_draft: + if st.state == 'confirm': + st.message_post(body=_('Statement has been reset to draft because some transactions from online synchronization were added to it.')) + st.state = 'posted' + + posted_statements = statement_to_reset_to_draft.filtered(lambda st: st.state == 'posted') + posted_statements.state = 'open' + statement_lines = self.env['account.bank.statement.line'].create(transactions_in_statements) + posted_statements.state = 'posted' + + # Post only the newly created statement lines if the related statement is already posted. + statement_lines.filtered(lambda line: line.statement_id.state == 'posted')\ + .mapped('move_id')\ + .with_context(skip_account_move_synchronization=True)\ + ._post() + + # Recompute the balance_end_real of the first statement where we added line + # because adding line don't trigger a recompute and balance_end_real is not updated. + # We only trigger the recompute on the first element of the list as it is the one + # the most in the past and this will trigger the recompute of all the statements + # that are next. + statement_to_reset_to_draft[0]._compute_ending_balance() + + # Create lines inside new bank statements + st_vals_list = [] + for date, lines in transactions_to_create.items(): + # balance_start and balance_end_real will be computed automatically + name = _('Online synchronization of %s') % (date,) + if journal.bank_statement_creation in ('bimonthly', 'week', 'month'): + name = _('Online synchronization from %s to %s') + end_date = date + if journal.bank_statement_creation == 'month': + end_date = date_utils.end_of(date, 'month') + elif journal.bank_statement_creation == 'week': + end_date = date_utils.add(date, days=6) + elif journal.bank_statement_creation == 'bimonthly': + if end_date.day == 1: + end_date = date.replace(day=14) + else: + end_date = date_utils.end_of(date, 'month') + name = name % (date, end_date) + st_vals_list.append({ + 'name': name, + 'date': date, + 'line_ids': lines, + 'journal_id': journal.id + }) + statements = self.env['account.bank.statement'].create(st_vals_list) + statements.button_post() + + # write account balance on the last statement of the journal + # That way if there are missing transactions, it will show in the last statement + # and the day missing transactions are fetched or manually written, everything will be corrected + last_bnk_stmt = self.search([('journal_id', '=', journal.id)], limit=1) + if last_bnk_stmt: + last_bnk_stmt.balance_end_real = ending_balance + if last_bnk_stmt.state == 'posted' and last_bnk_stmt.balance_end != last_bnk_stmt.balance_end_real: + last_bnk_stmt.button_reopen() + # Set last sync date as the last transaction date + journal.account_online_journal_id.sudo().write({'last_sync': max_date}) + return number_added + + +class AccountBankStatementLine(models.Model): + _inherit = 'account.bank.statement.line' + + online_identifier = fields.Char("Online Identifier") + online_partner_vendor_name = fields.Char(readonly=True, help='Technical field used to store information from plaid/yodlee to match partner (used when a purchase is made)') + online_partner_bank_account = fields.Char(readonly=True, help='Technical field used to store information from plaid/yodlee to match partner') + + +class ResPartner(models.Model): + _inherit = 'res.partner' + + online_partner_vendor_name = fields.Char(readonly=True, help='Technical field used to store information from plaid/yodlee to match partner (used when a purchase is made)') + online_partner_bank_account = fields.Char(readonly=True, help='Technical field used to store information from plaid/yodlee to match partner') diff --git a/odex25_accounting/odex25_account_online_sync/security/ir.model.access.csv b/odex25_accounting/odex25_account_online_sync/security/ir.model.access.csv new file mode 100644 index 000000000..903c9f7c3 --- /dev/null +++ b/odex25_accounting/odex25_account_online_sync/security/ir.model.access.csv @@ -0,0 +1,7 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_account_online_provider_id,access_account_online_provider_id,model_account_online_provider,base.group_user,1,0,0,0 +access_account_online_provider_id_manager,access_account_online_provider_id manager,model_account_online_provider,base.group_erp_manager,1,1,1,1 +access_account_online_journal_id,access_account_online_journal_id,model_account_online_journal,base.group_user,1,0,0,0 +access_account_online_journal_id_manager,access_account_online_journal_id manager,model_account_online_journal,base.group_erp_manager,1,1,1,1 +access_account_online_link_wizard,access.account.online.link.wizard,model_account_online_link_wizard,account.group_account_user,1,1,1,0 +access_account_online_wizard,access.account.online.wizard,model_account_online_wizard,account.group_account_user,1,1,1,0 diff --git a/odex25_accounting/odex25_account_online_sync/security/odex25_account_online_sync_security.xml b/odex25_accounting/odex25_account_online_sync/security/odex25_account_online_sync_security.xml new file mode 100644 index 000000000..ee23325f9 --- /dev/null +++ b/odex25_accounting/odex25_account_online_sync/security/odex25_account_online_sync_security.xml @@ -0,0 +1,13 @@ + + + + Account online provider company rule + + [('company_id', 'in', company_ids)] + + + Account online journal company rule + + [('account_online_provider_id.company_id','in', company_ids)] + + diff --git a/odex25_accounting/odex25_account_online_sync/static/description/icon.png b/odex25_accounting/odex25_account_online_sync/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 ub{mDS!+x1cP|j1Fau>>I$}Z&~kO 0)) { + self.$('.institutions_search').removeClass('d-none'); + self.$('.favorite_institutions_no_result').addClass('d-none'); + if (self.results.length > 0) { + // Display results + self.$('.institution_no_result').addClass('d-none'); + self.$('.institution_result').removeClass('d-none'); + self.renderSearchResult(); + } + else { + // Show no results + self.$('.institution_no_result').removeClass('d-none'); + self.$('.institution_result').addClass('d-none'); + } + } + else { + self.$('.favorite_institutions_no_result').removeClass('d-none'); + self.$('.institutions_search').addClass('d-none'); + } + }, + + openInstitution: function($node) { + var self = this; + if (self.willDisappear === true) { + return true; + } + self.willDisappear = true; + var provider = $node.data('provider'); + var instId = $node.data('instId'); + var beta = $node.data('beta') || false; + self._rpc({ + model: 'account.online.provider', + method: 'get_login_form', + args: [[], instId, provider, beta], + context: self.context, + }) + .then(function(result) { + self.do_action(result); + }) + .guardedCatch(function () { + self.willDisappear = false; + }); + }, + + renderButtons: function($node) { + var self = this; + this.$buttons = $(QWeb.render("OnlineSyncSearchBankFooter", {'widget': this})); + this.$buttons.find('.js_cancel').click(function(e) { + self.do_action({type: 'ir.actions.act_window_close'}); + }); + this.$buttons.find('.js_select_institution').click(function(e) { + // Find element selected and open it + if (self.selected) { + self.openInstitution(self.$('.js_institution[data-inst-id='+self.selected+']')); + } + }); + this.$buttons.find('.js_configure_manually').click(function(){ + return self.configure_manually() + }); + this.$('.institution_no_result').find('.js_configure_manually').click(function(){ + return self.configure_manually() + }); + if ($node) { + this.$buttons.appendTo($node); + } + }, + + configure_manually: function(){ + var self = this; + return self._rpc({ + model: 'account.online.provider', + method: 'get_manual_configuration_form', + context: self.context, + }) + .then(function(action) { + self.do_action(action, { + on_close: function () { + core.bus.trigger("refresh_account_dashboard"); + }, + }); + }); + }, + + renderElement: function() { + var self = this; + this._super(); + this.$('#search_form').submit(function(event){ + event.preventDefault(); + event.stopPropagation(); + self.searchInstitution(); + }); + this.$('#click_search_institution').click(function(){ + self.searchInstitution(); + }); + this.$('#search_institution').blur(function() { + if (self.state !== 'dashboard' && self.$('#search_institution').val() === '') { + self.state = 'dashboard'; + self.displayState(); + } + }); + this.$('.o_institution').click(function (e) { + self.openInstitution($(this)); + }); + this.$('.switch_country').click(function (e) { + if ($(e.target).attr('value') !== self.country) { + self.switchCountry(); + } + }); + }, + + renderSyncError: function() { + var self = this + self.$('.sync_error').html(''); + var $errorMessage = $(QWeb.render('OnlineSyncErrorMessage', {sync_error_message: self.sync_error_message})); + $errorMessage.find('.js_configure_manually').click(function(){ + return self.configure_manually() + }); + $errorMessage.appendTo(self.$('.sync_error')); + }, + + renderSearchResult: function() { + var self = this; + self.$('.institution_result').html(''); + var $searchResults = $(QWeb.render('OnlineSyncSearchBankTable', {institutions: self.results})); + + // Bind elements + $searchResults.find('.js_institution').click(function (e) { + var instId = $(e.target).data('instId') || $(e.target).parents('.js_institution').data('instId'); + if (self.selected === instId) { + // fold and deselect + self.selected = false; + self.$('.js_institution[data-inst-id='+instId+']').removeClass('selected'); + self.$buttons.find('.js_select_institution').prop('disabled', true); + self.$buttons.find('.js_select_institution').toggleClass('btn-primary btn-secondary'); + } + else { + self.selected = instId; + self.$buttons.find('.js_select_institution').prop('disabled', false); + self.$('.js_institution').removeClass('selected'); + self.$('.js_institution[data-inst-id='+instId+']').addClass('selected'); + self.$buttons.find('.js_select_institution').removeClass('btn-secondary'); + self.$buttons.find('.js_select_institution').addClass('btn-primary'); + } + self.$('.js_institution_detail:not(.d-none):not(#'+instId+')').addClass('d-none'); + self.$('#'+instId+'').toggleClass('d-none'); + }); + // Append to view + $searchResults.appendTo(self.$('.institution_result')); + }, + + searchInstitution: function() { + var self = this; + if (self.$('#search_institution').val() === '') { + self.state = 'dashboard'; + self.displayState(); + return true; + } + if (self.search_allowed === true) { + //search_allowed is used to prevent doing multiple RPC call during the search time + self.search_allowed = false; + self.selected = false; + self.state = 'search'; + self.$buttons.find('.js_select_institution').prop('disabled', true); + framework.blockUI(); + + return this._rpc({ + model: 'account.online.provider', + method: 'get_institutions', + args: [[], self.$('#search_institution').val(), self.country === 'worldwide' ? false : self.country], + }) + .then(function(result){ + framework.unblockUI(); + var results = JSON.parse(result); + self.results = results.match || []; + self.displayState(); + self.search_allowed = true; + }).guardedCatch(function(){ + framework.unblockUI(); + // If RPC call failed (might be due to error because search string is less than 3 char), unblock search + self.search_allowed = true; + self.$buttons.find('.js_select_institution').prop('disabled', false); + }); + } + }, + + switchCountry: function () { + if (this.country === 'worldwide') { + this.country = this.context.country; + } + else { + this.country = 'worldwide'; + } + this.displayState(); + // If there is a value in searchbox, perform search with new country + if (this.$('#search_institution').val().length > 0) { + this.searchInstitution(); + } + }, + +}); +core.action_registry.add('online_sync_institution_selector', OnlineSyncAccountInstitutionSelector); +return { + OnlineSyncAccountInstitutionSelector: OnlineSyncAccountInstitutionSelector, +} +}); diff --git a/odex25_accounting/odex25_account_online_sync/static/src/scss/online_sync.scss b/odex25_accounting/odex25_account_online_sync/static/src/scss/online_sync.scss new file mode 100644 index 000000000..9235c99f1 --- /dev/null +++ b/odex25_accounting/odex25_account_online_sync/static/src/scss/online_sync.scss @@ -0,0 +1,50 @@ +.o_inst_search { + .institution_search { + margin-bottom:15px; + clear: both; + } + .beta-img { + max-height: 34px; + } + .inst_icon { + height: 34px; + max-height: 34px; + background-size: contain; + background-repeat: no-repeat; + background-position: center; + } + .pointer { + cursor: pointer; + } + .searchSeparator { + border-top: 1px solid #e5e5e5; + margin-top: 5px; + margin-bottom: 5px; + } + .border-info { + padding: 10px; + } + .wordbreak { + word-wrap: break-word; + } + .o_caret { + margin-right: 5px; + } + .selected { + background-color: rgba(229,229,229,0.5); + } + .inst_panel { + height: 100px; + max-height: 100px; + border: solid 1px #e5e5e5; + background-position: center; + background-repeat: no-repeat; + background-size: contain; + margin-bottom: 10px; + box-shadow: 2px 2px 2px #e5e5e5; + } + .no_result { + height: 200px; + padding-top: 30px; + } +} diff --git a/odex25_accounting/odex25_account_online_sync/tests/__init__.py b/odex25_accounting/odex25_account_online_sync/tests/__init__.py new file mode 100644 index 000000000..e6054b073 --- /dev/null +++ b/odex25_accounting/odex25_account_online_sync/tests/__init__.py @@ -0,0 +1,3 @@ +# -*- encoding: utf-8 -*- + +from . import test_online_sync_creation_statement diff --git a/odex25_accounting/odex25_account_online_sync/tests/test_online_sync_creation_statement.py b/odex25_accounting/odex25_account_online_sync/tests/test_online_sync_creation_statement.py new file mode 100644 index 000000000..10c0e40c7 --- /dev/null +++ b/odex25_accounting/odex25_account_online_sync/tests/test_online_sync_creation_statement.py @@ -0,0 +1,371 @@ +# -*- coding: utf-8 -*- + +from odoo.addons.account.tests.common import AccountTestInvoicingCommon +from odoo.tests import tagged +from odoo import fields + + +@tagged('post_install', '-at_install') +class TestSyncStatementCreation(AccountTestInvoicingCommon): + + @classmethod + def setUpClass(cls, chart_template_ref=None): + super().setUpClass(chart_template_ref=chart_template_ref) + + cls.bnk_stmt = cls.env['account.bank.statement'] + + # Create an account.online.provider and account.online.journal and associate to journal bank + cls.bank_journal = cls.env['account.journal'].create({'name': 'Bank_Online', 'type': 'bank', 'code': 'BNKonl', 'currency_id': cls.env.ref('base.EUR').id}) + cls.provider_account = cls.env['account.online.provider'].create({'name': 'Test Bank'}) + cls.online_account = cls.env['account.online.journal'].create({ + 'name': 'MyBankAccount', + 'account_online_provider_id': cls.provider_account.id, + 'journal_ids': [(6, 0, [cls.bank_journal.id])] + }) + cls.transaction_id = 1 + cls.account = cls.company_data['default_account_assets'] + + # This method return a list of transactions with the given dates + # amount for each transactions is 10 + def create_transactions(self, dates): + transactions = [] + for date in dates: + transactions.append({ + 'online_identifier': self.transaction_id, + 'date': fields.Date.from_string(date), + 'payment_ref': 'transaction_' + str(self.transaction_id), + 'amount': 10, + }) + self.transaction_id += 1 + return transactions + + + def create_transaction_partner(self, date=False, partner_id=False, vendor_name=False, account_number=False): + tr = { + 'online_identifier': self.transaction_id, + 'date': fields.Date.from_string(date), + 'payment_ref': 'transaction_p', + 'amount': 50, + } + if partner_id: + tr['partner_id'] = partner_id + if vendor_name: + tr['online_partner_vendor_name'] = vendor_name + if account_number: + tr['online_partner_bank_account'] = account_number + self.transaction_id += 1 + return [tr] + + def assertDate(self, date1, date2): + if isinstance(date1, str): + date1 = fields.Date.from_string(date1) + if isinstance(date2, str): + date2 = fields.Date.from_string(date2) + self.assertEqual(date1, date2) + + def confirm_bank_statement(self, statement): + for line in statement.line_ids: + liquidity_lines, suspense_lines, other_lines = line._seek_for_lines() + line.reconcile([{ + 'name': 'toto', + 'account_id': self.account.id, + 'balance': sum(suspense_lines.mapped('balance')), + 'currency_id': False, + }]) + statement.button_validate() + return statement + + def test_creation_initial_sync_statement(self): + transactions = self.create_transactions(['2016-01-01', '2016-01-03']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 1000) + # Since ending balance is 1000$ and we only have 20$ of transactions and that it is the first statement + # it should create a statement before this one with the initial statement line + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 2, 'Should have created an initial bank statement and one for the synchronization') + self.assertEqual(created_bnk_stmt[0].balance_start, 0) + self.assertEqual(created_bnk_stmt[0].balance_end_real, 980) + self.assertDate(created_bnk_stmt[0].date, '2015-12-31') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 1, 'Should only have one line') + + self.assertEqual(created_bnk_stmt[1].balance_start, 980) + self.assertEqual(created_bnk_stmt[1].balance_end_real, 1000) + self.assertDate(created_bnk_stmt[1].date, '2016-01-03') + self.assertEqual(len(created_bnk_stmt[1].line_ids), 2, 'Should have two lines') + self.assertEqual(created_bnk_stmt[1].line_ids[0].amount, 10) + self.assertEqual(created_bnk_stmt[1].line_ids[1].amount, 10) + + # Since a statement already exists, next transactions should not create an initial statement even if ending_balance + # is greater than the sum of transactions + transactions = self.create_transactions(['2016-01-05']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 2000) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 3, 'Should not have created an initial bank statement') + self.assertEqual(created_bnk_stmt[2].balance_start, 1000) + self.assertEqual(created_bnk_stmt[2].balance_end_real, 2000) + self.assertDate(created_bnk_stmt[2].date, '2016-01-05') + self.assertEqual(len(created_bnk_stmt[2].line_ids), 1, 'Should only have one line') + self.assertEqual(created_bnk_stmt[2].line_ids.amount, 10) + + def test_creation_initial_sync_statement_bis(self): + transactions = self.create_transactions(['2016-01-01', '2016-01-03']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 20) + # Since ending balance is 20$ and we only have 20$ of transactions and that it is the first statement + # it should NOT create a initial statement before this one + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 1, 'Should NOT have created an initial bank statement') + self.assertEqual(created_bnk_stmt[0].balance_start, 0) + self.assertEqual(created_bnk_stmt[0].balance_end_real, 20) + self.assertDate(created_bnk_stmt[0].date, '2016-01-03') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 2, 'Should have two lines') + + def test_creation_every_sync(self): + # Create one statement with 2 lines + transactions = self.create_transactions(['2016-01-01', '2016-01-03']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 20) + # Create another statement with 2 lines + transactions = self.create_transactions(['2016-01-02', '2016-01-05']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 40) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 2, 'Should have created two different bank statements') + self.assertDate(created_bnk_stmt[0].date, '2016-01-03') + self.assertEqual(created_bnk_stmt[0].name, 'Online synchronization of 2016-01-03') + self.assertDate(created_bnk_stmt[1].date, '2016-01-05') + self.assertEqual(created_bnk_stmt[1].name, 'Online synchronization of 2016-01-05') + self.assertEqual(created_bnk_stmt[1].balance_end_real, 40) + + # If we create a statement with a transactions max date in the past, it will be created in the past + # Also the account balance will be set on the last statement + transactions = self.create_transactions(['2016-01-04']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 70) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 3, 'Should have created three different bank statements') + self.assertDate(created_bnk_stmt[0].date, '2016-01-03') + self.assertDate(created_bnk_stmt[1].date, '2016-01-04') + self.assertDate(created_bnk_stmt[2].date, '2016-01-05') + self.assertEqual(created_bnk_stmt[1].balance_end_real, 30) + self.assertEqual(len(created_bnk_stmt[1].line_ids), 1, 'Should only have one line') + # Check that balance is correctly written on last statement + self.assertEqual(created_bnk_stmt[2].balance_end_real, 70) + + # If we create a statement with a transactions max date in the past, and that a statement at that date + # already exists, it will be added to that statement + transactions = self.create_transactions(['2016-01-04', '2016-01-04']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 70) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 3, 'Should have not created any new bank statements') + self.assertDate(created_bnk_stmt[0].date, '2016-01-03') + self.assertDate(created_bnk_stmt[1].date, '2016-01-04') + self.assertDate(created_bnk_stmt[2].date, '2016-01-05') + self.assertEqual(created_bnk_stmt[1].balance_end_real, 50) + self.assertEqual(len(created_bnk_stmt[1].line_ids), 3, 'Should have added two lines to it') + self.assertEqual(created_bnk_stmt[2].balance_end_real, 70) + + + def test_creation_every_day(self): + self.bank_journal.write({'bank_statement_creation': 'day'}) + transactions = self.create_transactions(['2016-01-10', '2016-01-15']) + # first synchronization, no previous bank statement + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 20) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 2, 'Should have created two bank statements, one for each transaction') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 1, 'bank statement should have 1 line ') + self.assertEqual(len(created_bnk_stmt[1].line_ids), 1, 'bank statement should have 1 line ') + self.assertEqual(created_bnk_stmt[0].balance_end_real, 10) + self.assertEqual(created_bnk_stmt[1].balance_start, 10) + self.assertEqual(created_bnk_stmt[1].balance_end_real, 20) + self.assertDate(created_bnk_stmt[0].date, '2016-01-10') + self.assertEqual(created_bnk_stmt[0].name, 'Online synchronization of 2016-01-10') + self.assertDate(created_bnk_stmt[1].date, '2016-01-15') + self.assertEqual(created_bnk_stmt[1].name, 'Online synchronization of 2016-01-15') + + # Fetch new transactions, two will be added to already existing statement, two will create new statements in between + # and one will create new statements afterwards + transactions = self.create_transactions(['2016-01-10', '2016-01-10', '2016-01-12', '2016-01-13', '2016-01-16']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 70) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 5, 'Should have created a total of 5 bank statements') + self.assertDate(created_bnk_stmt[0].date, '2016-01-10') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 3, '3 lines should have been added to first statement') + self.assertDate(created_bnk_stmt[1].date, '2016-01-12') + self.assertEqual(len(created_bnk_stmt[1].line_ids), 1, 'new statement should only have one line') + self.assertDate(created_bnk_stmt[2].date, '2016-01-13') + self.assertEqual(len(created_bnk_stmt[2].line_ids), 1, 'new statement should only have one line') + self.assertDate(created_bnk_stmt[3].date, '2016-01-15') + self.assertEqual(len(created_bnk_stmt[3].line_ids), 1, 'existing statement should still only have one line') + self.assertDate(created_bnk_stmt[4].date, '2016-01-16') + self.assertEqual(len(created_bnk_stmt[4].line_ids), 1, 'new statement should only have one line') + # Check balance of each statements + self.assertEqual(created_bnk_stmt[0].balance_start, 0) + self.assertEqual(created_bnk_stmt[0].balance_end_real, 30) + self.assertEqual(created_bnk_stmt[1].balance_start, 30) + self.assertEqual(created_bnk_stmt[1].balance_end_real, 40) + self.assertEqual(created_bnk_stmt[2].balance_start, 40) + self.assertEqual(created_bnk_stmt[2].balance_end_real, 50) + self.assertEqual(created_bnk_stmt[3].balance_start, 50) + self.assertEqual(created_bnk_stmt[3].balance_end_real, 60) + self.assertEqual(created_bnk_stmt[4].balance_start, 60) + self.assertEqual(created_bnk_stmt[4].balance_end_real, 70) + + # Post first statement and then try adding new transaction to it, it should be reset to draft + self.confirm_bank_statement(created_bnk_stmt[0]) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc', limit=1) + self.assertEqual(created_bnk_stmt.state, 'confirm', 'Statement should be posted') + transactions = self.create_transactions(['2016-01-10']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 80) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 4, '4 lines should have been added to first statement') + self.assertEqual(created_bnk_stmt[0].state, 'posted', 'Statement should be reset to draft') + + + def test_creation_every_week(self): + self.bank_journal.write({'bank_statement_creation': 'week'}) + transactions = self.create_transactions(['2016-01-10', '2016-01-15']) + # first synchronization, no previous bank statement + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 20) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 2, 'Should have created two bank statements, one for each transaction') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 1, 'bank statement should have 1 line') + self.assertEqual(len(created_bnk_stmt[1].line_ids), 1, 'bank statement should have 1 line') + self.assertEqual(created_bnk_stmt[0].balance_end_real, 10) + self.assertEqual(created_bnk_stmt[1].balance_start, 10) + self.assertEqual(created_bnk_stmt[1].balance_end_real, 20) + # The date of the statement if the first date of the week (starting monday) + self.assertDate(created_bnk_stmt[0].date, '2016-01-04') + self.assertEqual(created_bnk_stmt[0].name, 'Online synchronization from 2016-01-04 to 2016-01-10') + self.assertDate(created_bnk_stmt[1].date, '2016-01-11') + self.assertEqual(created_bnk_stmt[1].name, 'Online synchronization from 2016-01-11 to 2016-01-17') + + # Add new transactions, 2 should be in first statement, one in second statement and one newly created + transactions = self.create_transactions(['2016-01-08', '2016-01-04', '2016-01-13', '2016-01-18']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 60) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 3, 'Should have created one new bank statements') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 3, 'bank statement should have 3 lines') + self.assertEqual(len(created_bnk_stmt[1].line_ids), 2, 'bank statement should have 2 lines') + self.assertEqual(len(created_bnk_stmt[2].line_ids), 1, 'bank statement should have 1 line') + # The date of the statement if the first date of the week (starting monday) + self.assertDate(created_bnk_stmt[0].date, '2016-01-04') + self.assertDate(created_bnk_stmt[1].date, '2016-01-11') + self.assertDate(created_bnk_stmt[2].date, '2016-01-18') + self.assertEqual(created_bnk_stmt[0].balance_end_real, 30) + self.assertEqual(created_bnk_stmt[1].balance_start, 30) + self.assertEqual(created_bnk_stmt[1].balance_end_real, 50) + self.assertEqual(created_bnk_stmt[2].balance_start, 50) + self.assertEqual(created_bnk_stmt[2].balance_end_real, 60) + + + def test_creation_every_2weeks(self): + self.bank_journal.write({'bank_statement_creation': 'bimonthly'}) + + transactions = self.create_transactions(['2016-01-10', '2016-01-15']) + # first synchronization, no previous bank statement + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 20) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 2, 'Should have created two bank statements, one for each transaction') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 1, 'bank statement should have 1 line') + self.assertEqual(len(created_bnk_stmt[1].line_ids), 1, 'bank statement should have 1 line') + self.assertEqual(created_bnk_stmt[0].balance_end_real, 10) + self.assertEqual(created_bnk_stmt[1].balance_start, 10) + self.assertEqual(created_bnk_stmt[1].balance_end_real, 20) + # The date of the statement if either first of 15 of the month + self.assertDate(created_bnk_stmt[0].date, '2016-01-01') + self.assertEqual(created_bnk_stmt[0].name, 'Online synchronization from 2016-01-01 to 2016-01-14') + self.assertDate(created_bnk_stmt[1].date, '2016-01-15') + self.assertEqual(created_bnk_stmt[1].name, 'Online synchronization from 2016-01-15 to 2016-01-31') + + # Add new transactions, 2 should be in first statement, one in second statement and one newly created + transactions = self.create_transactions(['2016-01-08', '2016-01-04', '2016-01-18', '2016-02-01']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 60) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 3, 'Should have created one new bank statements') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 3, 'bank statement should have 3 lines') + self.assertEqual(len(created_bnk_stmt[1].line_ids), 2, 'bank statement should have 2 lines') + self.assertEqual(len(created_bnk_stmt[2].line_ids), 1, 'bank statement should have 1 line') + # The date of the statement if the first date of the week (starting monday) + self.assertDate(created_bnk_stmt[0].date, '2016-01-01') + self.assertDate(created_bnk_stmt[1].date, '2016-01-15') + self.assertDate(created_bnk_stmt[2].date, '2016-02-01') + self.assertEqual(created_bnk_stmt[0].balance_end_real, 30) + self.assertEqual(created_bnk_stmt[1].balance_start, 30) + self.assertEqual(created_bnk_stmt[1].balance_end_real, 50) + self.assertEqual(created_bnk_stmt[2].balance_start, 50) + self.assertEqual(created_bnk_stmt[2].balance_end_real, 60) + + + def test_creation_every_month(self): + self.bank_journal.write({'bank_statement_creation': 'month'}) + + transactions = self.create_transactions(['2016-01-10', '2016-02-15']) + # first synchronization, no previous bank statement + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 20) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 2, 'Should have created two bank statements, one for each transaction') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 1, 'bank statement should have 1 line') + self.assertEqual(len(created_bnk_stmt[1].line_ids), 1, 'bank statement should have 1 line') + self.assertEqual(created_bnk_stmt[0].balance_end_real, 10) + self.assertEqual(created_bnk_stmt[1].balance_start, 10) + self.assertEqual(created_bnk_stmt[1].balance_end_real, 20) + # The date of the statement is first of the month + self.assertDate(created_bnk_stmt[0].date, '2016-01-01') + self.assertEqual(created_bnk_stmt[0].name, 'Online synchronization from 2016-01-01 to 2016-01-31') + self.assertDate(created_bnk_stmt[1].date, '2016-02-01') + self.assertEqual(created_bnk_stmt[1].name, 'Online synchronization from 2016-02-01 to 2016-02-29') + + # Add new transactions, 2 should be in first statement, one in second statement and one newly created + transactions = self.create_transactions(['2016-01-08', '2016-01-04', '2016-02-01', '2016-03-18']) + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 60) + created_bnk_stmt = self.bnk_stmt.search([('journal_id', '=', self.bank_journal.id)], order='date asc') + self.assertEqual(len(created_bnk_stmt), 3, 'Should have created one new bank statements') + self.assertEqual(len(created_bnk_stmt[0].line_ids), 3, 'bank statement should have 3 lines') + self.assertEqual(len(created_bnk_stmt[1].line_ids), 2, 'bank statement should have 2 lines') + self.assertEqual(len(created_bnk_stmt[2].line_ids), 1, 'bank statement should have 1 line') + # The date of the statement if the first date of the week (starting monday) + self.assertDate(created_bnk_stmt[0].date, '2016-01-01') + self.assertDate(created_bnk_stmt[1].date, '2016-02-01') + self.assertDate(created_bnk_stmt[2].date, '2016-03-01') + self.assertEqual(created_bnk_stmt[0].balance_end_real, 30) + self.assertEqual(created_bnk_stmt[1].balance_start, 30) + self.assertEqual(created_bnk_stmt[1].balance_end_real, 50) + self.assertEqual(created_bnk_stmt[2].balance_start, 50) + self.assertEqual(created_bnk_stmt[2].balance_end_real, 60) + + + def test_assign_partner_auto_bank_stmt(self): + self.bank_journal.write({'bank_statement_creation': 'day'}) + agrolait = self.env['res.partner'].create({'name': 'A partner'}) + self.assertEqual(agrolait.online_partner_vendor_name, False) + self.assertEqual(agrolait.online_partner_bank_account, False) + transactions = self.create_transaction_partner(date='2016-01-01', vendor_name='test_vendor_name') + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 50) + created_bnk_stmt = self.bnk_stmt.search([('journal_id','=',self.bank_journal.id)], order='date desc', limit=1) + # Ensure that bank statement has no partner set + self.assertEqual(created_bnk_stmt.line_ids[0].partner_id, self.env['res.partner']) + # Assign partner and Validate bank statement + created_bnk_stmt.line_ids[0].write({'partner_id': agrolait.id}) + # process the bank statement line + self.confirm_bank_statement(created_bnk_stmt) + # Check that partner has correct vendor_name associated to it + self.assertEqual(agrolait.online_partner_vendor_name, 'test_vendor_name') + self.assertEqual(agrolait.online_partner_bank_account, False) + + # Create another statement with a partner + transactions = self.create_transaction_partner(date='2016-01-02', partner_id=agrolait.id, vendor_name='test_other_vendor_name', account_number='123') + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 100) + created_bnk_stmt = self.bnk_stmt.search([('journal_id','=',self.bank_journal.id)], order='date desc', limit=1) + # Ensure that statement has a partner set + self.assertEqual(created_bnk_stmt.line_ids[0].partner_id, agrolait) + # Validate and check that partner has no vendor_name set and has an account_number set instead + self.confirm_bank_statement(created_bnk_stmt) + self.assertEqual(agrolait.online_partner_vendor_name, False) + self.assertEqual(agrolait.online_partner_bank_account, '123') + + # Create another statement with same information + transactions = self.create_transaction_partner(date='2016-01-03', partner_id=agrolait.id, account_number='123') + self.bnk_stmt.online_sync_bank_statement(transactions, self.bank_journal, 150) + created_bnk_stmt = self.bnk_stmt.search([('journal_id','=',self.bank_journal.id)], order='date desc', limit=1) + # Ensure that statement has a partner set + self.assertEqual(created_bnk_stmt.line_ids[0].partner_id, agrolait) + # Validate and check that partner has no vendor_name set and has same account_number as previous + self.confirm_bank_statement(created_bnk_stmt) + self.assertEqual(agrolait.online_partner_vendor_name, False) + self.assertEqual(agrolait.online_partner_bank_account, '123') diff --git a/odex25_accounting/odex25_account_online_sync/views/online_sync_templates.xml b/odex25_accounting/odex25_account_online_sync/views/online_sync_templates.xml new file mode 100644 index 000000000..bc11c4e15 --- /dev/null +++ b/odex25_accounting/odex25_account_online_sync/views/online_sync_templates.xml @@ -0,0 +1,141 @@ + + + + +
    + + +
    +
    +
    +
    + +
    +
    +

    +
    +
    +

    +
    +
    + +
    +
    +
    +
    +
    + + Beta + +
    +
    + +
    +
    +
    +
    +
    +
    Provider:
    +
    Online identifier:
    + +
    Website: + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + +
    +
    +

    Synchronization error!

    +
    Bank synchronization returned the following error message:
    +

    + +
    +
    +
    + + +
    + + +
    + Your bank is not there? + +
    +
    +
    + + + + + +
    diff --git a/odex25_accounting/odex25_account_online_sync/views/online_sync_views.xml b/odex25_accounting/odex25_account_online_sync/views/online_sync_views.xml new file mode 100644 index 000000000..a2a3aa1b4 --- /dev/null +++ b/odex25_accounting/odex25_account_online_sync/views/online_sync_views.xml @@ -0,0 +1,228 @@ + + + + + + + + + + + diff --git a/odex25_accounting/odex25_account_reports/views/partner_view.xml b/odex25_accounting/odex25_account_reports/views/partner_view.xml new file mode 100644 index 000000000..a82eab931 --- /dev/null +++ b/odex25_accounting/odex25_account_reports/views/partner_view.xml @@ -0,0 +1,24 @@ + + + + + partner.view.buttons + res.partner + + + + +
    + +
    +
    +
    +
    +
    diff --git a/odex25_accounting/odex25_account_reports/views/report_financial.xml b/odex25_accounting/odex25_account_reports/views/report_financial.xml new file mode 100644 index 000000000..5fa8423a2 --- /dev/null +++ b/odex25_accounting/odex25_account_reports/views/report_financial.xml @@ -0,0 +1,445 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/odex25_accounting/odex25_account_reports/views/res_config_settings_views.xml b/odex25_accounting/odex25_account_reports/views/res_config_settings_views.xml new file mode 100644 index 000000000..c081f8b15 --- /dev/null +++ b/odex25_accounting/odex25_account_reports/views/res_config_settings_views.xml @@ -0,0 +1,88 @@ + + + + + res.config.settings.view.form.inherit.account.reports + res.config.settings + + +
    + {'invisible': [('module_odex25_account_reports', '!=', False)]} +
    + +
    +
    +
    +
    + Tax Return Periodicity + +
    + How often tax returns have to be made +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +

    Reporting

    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + Fiscal Country + +
    + Only the tax reports associated to this country will be available +
    +
    + +
    +
    +
    +
    + + + + diff --git a/odex25_accounting/odex25_account_reports/views/search_template_view.xml b/odex25_accounting/odex25_account_reports/views/search_template_view.xml new file mode 100644 index 000000000..a5352ee80 --- /dev/null +++ b/odex25_accounting/odex25_account_reports/views/search_template_view.xml @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/odex25_accounting/odex25_account_reports/wizard/__init__.py b/odex25_accounting/odex25_account_reports/wizard/__init__.py new file mode 100644 index 000000000..764db9f20 --- /dev/null +++ b/odex25_accounting/odex25_account_reports/wizard/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- + + +from . import report_export_wizard +from . import fiscal_year +from . import multicurrency_revaluation diff --git a/odex25_accounting/odex25_account_reports/wizard/fiscal_year.py b/odex25_accounting/odex25_account_reports/wizard/fiscal_year.py new file mode 100644 index 000000000..806a5a0ad --- /dev/null +++ b/odex25_accounting/odex25_account_reports/wizard/fiscal_year.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- + + +from datetime import date + +from odoo import _, api, fields, models + + +class FinancialYearOpeningWizard(models.TransientModel): + _inherit = 'account.financial.year.op' + _description = 'Opening Balance of Financial Year' + + account_tax_periodicity = fields.Selection(related='company_id.account_tax_periodicity', string='Periodicity in month', readonly=False, required=True) + account_tax_periodicity_reminder_day = fields.Integer(related='company_id.account_tax_periodicity_reminder_day', string='Reminder', readonly=False, required=True) + account_tax_periodicity_journal_id = fields.Many2one(related='company_id.account_tax_periodicity_journal_id', string='Journal', readonly=False) + + def write(self, vals): + res = super().write(vals) + if vals.get('account_tax_periodicity') or vals.get('account_tax_periodicity_reminder_day') or vals.get('account_tax_periodicity_journal_id'): + self.env.company._update_account_tax_periodicity_reminder_day() + + return res diff --git a/odex25_accounting/odex25_account_reports/wizard/fiscal_year.xml b/odex25_accounting/odex25_account_reports/wizard/fiscal_year.xml new file mode 100644 index 000000000..068c1e2fe --- /dev/null +++ b/odex25_accounting/odex25_account_reports/wizard/fiscal_year.xml @@ -0,0 +1,22 @@ + + + + + account.financial.year.op.setup.wizard.form + account.financial.year.op + + + + + + + + + + + diff --git a/odex25_accounting/odex25_account_reports/wizard/multicurrency_revaluation.py b/odex25_accounting/odex25_account_reports/wizard/multicurrency_revaluation.py new file mode 100644 index 000000000..4262a65c2 --- /dev/null +++ b/odex25_accounting/odex25_account_reports/wizard/multicurrency_revaluation.py @@ -0,0 +1,126 @@ +# -*- coding: utf-8 -*- + + +from odoo import models, api, fields, _ +from odoo.tools import float_is_zero, format_date +from odoo.exceptions import UserError + +import json +from dateutil.relativedelta import relativedelta + + +class MulticurrencyRevaluationWizard(models.TransientModel): + _name = 'account.multicurrency.revaluation.wizard' + _description = 'Multicurrency Revaluation Wizard' + + company_id = fields.Many2one('res.company', default=lambda self: self.env.company) + journal_id = fields.Many2one('account.journal', related="company_id.account_revaluation_journal_id", string='Journal', domain=[('type', '=', 'general')], required=True, readonly=False) + date = fields.Date(default=lambda self: self._context.get('date').get('date_to'), required=True) # TODO change defult dates + reversal_date = fields.Date(required=True) + expense_provision_account_id = fields.Many2one('account.account', related="company_id.account_revaluation_expense_provision_account_id", string='Expense account', required=True, readonly=False) + income_provision_account_id = fields.Many2one('account.account', related="company_id.account_revaluation_income_provision_account_id", string='Income Account', required=True, readonly=False) + preview_data = fields.Text(compute="_compute_preview_data") + show_warning_move_id = fields.Many2one('account.move', compute='_compute_show_warning') + + @api.model + def default_get(self, default_fields): + rec = super(MulticurrencyRevaluationWizard, self).default_get(default_fields) + if 'reversal_date' in default_fields: + rec['reversal_date'] = fields.Date.to_date(self._context.get('date').get('date_to')) + relativedelta(days=1) + if not self._context.get('revaluation_no_loop') and not self.with_context(revaluation_no_loop=True)._compute_move_vals()['line_ids']: + raise UserError(_('No adjustment needed')) + return rec + + @api.depends('expense_provision_account_id', 'income_provision_account_id', 'reversal_date') + def _compute_show_warning(self): + for record in self: + last_move = self.env['account.move.line'].search([ + ('account_id', 'in', (record.expense_provision_account_id + record.income_provision_account_id).ids), + ('date', '<', record.reversal_date), + ], order='date desc', limit=1).move_id + record.show_warning_move_id = False if last_move.reversed_entry_id else last_move + + @api.depends('expense_provision_account_id', 'income_provision_account_id', 'date', 'journal_id') + def _compute_preview_data(self): + for record in self: + preview_vals = [self.env['account.move']._move_dict_to_preview_vals(self._compute_move_vals(), record.company_id.currency_id)] + preview_columns = [ + {'field': 'account_id', 'label': _('Account')}, + {'field': 'name', 'label': _('Label')}, + {'field': 'debit', 'label': _('Debit'), 'class': 'text-right text-nowrap'}, + {'field': 'credit', 'label': _('Credit'), 'class': 'text-right text-nowrap'}, + ] + record.preview_data = json.dumps({ + 'groups_vals': preview_vals, + 'options': { + 'columns': preview_columns, + }, + }) + + @api.model + def _compute_move_vals(self): + options = self._context + self = self.with_context(report_options=options) + line_dict = self.env['account.multicurrency.revaluation']._get_values(options=options, line_id='report_include-True')['children'][('report_include', True)] + value_getter = self.env['account.multicurrency.revaluation']._get_column_details(options=options)[-1].getter + move_lines = [] + if line_dict and line_dict['children']: + for (_key, currency_id), account_info in line_dict['children'].items(): + for (_key, account_id), values in account_info['children'].items(): + balance = value_getter(values['values']) + if not float_is_zero(balance, precision_digits=self.company_id.currency_id.decimal_places): + move_lines.append((0, 0, { + 'name': _('Provision for {for_cur} (1 {comp_cur} = {rate} {for_cur})').format( + for_cur=self.env['res.currency'].browse(currency_id).display_name, + comp_cur=self.env.company.currency_id.display_name, + rate=self._context['currency_rates'][str(currency_id)]['rate'] + ), + 'debit': balance if balance > 0 else 0, + 'credit': -balance if balance < 0 else 0, + 'amount_currency': 0, + 'currency_id': currency_id, + 'account_id': account_id, + })) + move_lines.append((0, 0, { + 'name': (_('Expense Provision for {for_cur}') if balance < 0 else _('Income Provision for {for_cur}')).format( + for_cur=self.env['res.currency'].browse(currency_id).display_name, + ), + 'debit': -balance if balance < 0 else 0, + 'credit': balance if balance > 0 else 0, + 'amount_currency': 0, + 'currency_id': currency_id, + 'account_id': self.expense_provision_account_id.id if balance < 0 else self.income_provision_account_id.id, + })) + move_vals = { + 'ref': _('Foreign currencies adjustment entry as of %s', format_date(self.env, self.date)), + 'journal_id': self.journal_id.id, + 'date': self.date, + 'line_ids': move_lines, + } + return move_vals + + def create_entries(self): + self.ensure_one() + move_vals = self._compute_move_vals() + if move_vals['line_ids']: + move = self.env['account.move'].create(move_vals) + move._post() + reverse_move = move._reverse_moves(default_values_list=[{ + 'ref': _('Reversal of: %s', move.ref), + }]) + reverse_move.date = self.reversal_date + reverse_move._post() + + form = self.env.ref('account.view_move_form', False) + ctx = self.env.context.copy() + ctx.pop('id', '') + return { + 'type': 'ir.actions.act_window', + 'res_model': "account.move", + 'res_id': move.id, + 'view_mode': "form", + 'view_id': form.id, + 'views': [(form.id, 'form')], + 'context': ctx, + } + raise UserError(_("No provision needed was found.")) diff --git a/odex25_accounting/odex25_account_reports/wizard/multicurrency_revaluation.xml b/odex25_accounting/odex25_account_reports/wizard/multicurrency_revaluation.xml new file mode 100644 index 000000000..4461a7c67 --- /dev/null +++ b/odex25_accounting/odex25_account_reports/wizard/multicurrency_revaluation.xml @@ -0,0 +1,31 @@ + + + + + account.multicurrency.revaluation.wizard.view + account.multicurrency.revaluation.wizard + +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    diff --git a/odex25_accounting/odex25_account_reports/wizard/report_export_wizard.py b/odex25_accounting/odex25_account_reports/wizard/report_export_wizard.py new file mode 100644 index 000000000..6ad232c92 --- /dev/null +++ b/odex25_accounting/odex25_account_reports/wizard/report_export_wizard.py @@ -0,0 +1,108 @@ +# -*- coding: utf-8 -*- + + +from odoo import api, models, fields, _ + +import json +import base64 + + +class ReportExportWizard(models.TransientModel): + """ Wizard allowing to export an accounting report in several different formats + at once, saving them as attachments. + """ + _name = 'account_reports.export.wizard' + _description = "Export wizard for accounting's reports" + + export_format_ids = fields.Many2many(string="Export to", comodel_name='account_reports.export.wizard.format', relation="dms_acc_rep_export_wizard_format_rel") + report_model = fields.Char(string="Report Model", required=True) + report_id = fields.Integer(string="Parent Report Id", required=True) + doc_name = fields.Char(string="Documents Name", help="Name to give to the generated documents.") + + @api.model + def create(self, vals): + rslt = super(ReportExportWizard, self).create(vals) + + report = rslt._get_report_obj() + rslt.doc_name = hasattr(report, 'name') and report.name or report._description # account.financial.html.report objects have a name field, not account.report ones + + # We create one export format object per available export type of the report, + # with the right generation function associated to it. + # This is done so to allow selecting them as Many2many tags in the wizard. + for button_dict in report._get_reports_buttons_in_sequence(): + if button_dict.get('file_export_type'): + self.env['account_reports.export.wizard.format'].create({ + 'name': button_dict['file_export_type'], + 'fun_to_call': button_dict['action'], + 'export_wizard_id': rslt.id, + }) + + return rslt + + def export_report(self): + self.ensure_one() + created_attachments = self.env['ir.attachment'] + for vals in self._get_attachments_to_save(): + created_attachments |= self.env['ir.attachment'].create(vals) + return { + 'type': 'ir.actions.act_window', + 'name': _('Generated Documents'), + 'view_mode': 'kanban,form', + 'res_model': 'ir.attachment', + 'domain': [('id', 'in', created_attachments.ids)], + } + + def _get_attachments_to_save(self): + self.ensure_one() + to_create_attachments = [] + for format in self.export_format_ids: + report_action = format.apply_export(self.env.context['account_report_generation_options']) + output_format = report_action['data']['output_format'] + report = self._get_report_obj() + mimetype = report.get_export_mime_type(output_format) + + if mimetype is not False: # We let the option to set a None value for it + report_options = json.loads(report_action['data']['options']) + report_options.pop('self', False) + generation_function = getattr(report, 'get_' + output_format) + file_name = self.doc_name or report.get_report_filename(report_options) + '.' + output_format + file_content = base64.encodebytes(generation_function(report_options)) # We use the options from the action, as the action may have added or modified stuff into them (see l10n_es_reports, with BOE wizard) + log_options_dict = self._get_log_options_dict(report_options) + to_create_attachments.append(self.get_attachment_vals(file_name, file_content, mimetype, log_options_dict)) + return to_create_attachments + + def get_attachment_vals(self, file_name, file_content, mimetype, log_options_dict): + self.ensure_one() + return { + 'name': file_name, + 'company_id': self.env.company.id, + 'datas': file_content, + 'mimetype': mimetype, + 'description': json.dumps(log_options_dict) + } + + def _get_report_obj(self): + model = self.env[self.report_model] + if self.report_id: + return model.browse(self.report_id) + return model + + def _get_log_options_dict(self, report_options): + """ To be overridden in order to replace wizard ids by json data for the + correponding object. + """ + return report_options + + +class ReportExortWizardOption(models.TransientModel): + _name = 'account_reports.export.wizard.format' + _description = "Export format for accounting's reports" + + name = fields.Char(string="Name", required=True) + fun_to_call = fields.Char(string="Function to Call", required=True) + export_wizard_id = fields.Many2one(string="Parent Wizard", comodel_name='account_reports.export.wizard', required=True) + + def apply_export(self, report_options): + self.ensure_one() + report = self.env[self.export_wizard_id.report_model].browse(self.export_wizard_id.report_id) + return getattr(report, self.fun_to_call)(report_options) diff --git a/odex25_accounting/odex25_account_reports/wizard/report_export_wizard.xml b/odex25_accounting/odex25_account_reports/wizard/report_export_wizard.xml new file mode 100644 index 000000000..8416984c0 --- /dev/null +++ b/odex25_accounting/odex25_account_reports/wizard/report_export_wizard.xml @@ -0,0 +1,27 @@ + + + + + + account_reports.export.wizard.form + account_reports.export.wizard + +
    + + + + + + + + +
    +
    +
    +
    +
    + +
    +
    \ No newline at end of file diff --git a/odex25_accounting/odex25_account_reports_cash_basis/__init__.py b/odex25_accounting/odex25_account_reports_cash_basis/__init__.py new file mode 100644 index 000000000..9994f1bce --- /dev/null +++ b/odex25_accounting/odex25_account_reports_cash_basis/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import models diff --git a/odex25_accounting/odex25_account_reports_cash_basis/__manifest__.py b/odex25_accounting/odex25_account_reports_cash_basis/__manifest__.py new file mode 100644 index 000000000..cce4067eb --- /dev/null +++ b/odex25_accounting/odex25_account_reports_cash_basis/__manifest__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +{ + 'name' : 'Cash Basis Accounting Reports', + 'summary': 'Add cash basis functionality for reports', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'description': """ +Cash Basis for Accounting Reports +================================= + """, + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'depends': ['odex25_account_reports'], + 'data': [ + 'data/account_financial_report_data.xml', + 'views/account_report_view.xml', + 'views/report_financial.xml', + ], + 'installable': True, +} diff --git a/odex25_accounting/odex25_account_reports_cash_basis/data/account_financial_report_data.xml b/odex25_accounting/odex25_account_reports_cash_basis/data/account_financial_report_data.xml new file mode 100644 index 000000000..3504707c5 --- /dev/null +++ b/odex25_accounting/odex25_account_reports_cash_basis/data/account_financial_report_data.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/odex25_accounting/odex25_account_reports_cash_basis/i18n/ar.po b/odex25_accounting/odex25_account_reports_cash_basis/i18n/ar.po new file mode 100644 index 000000000..60ded7db4 --- /dev/null +++ b/odex25_accounting/odex25_account_reports_cash_basis/i18n/ar.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_reports_cash_basis +# +# Translators: +# Mustafa Rawi , 2020 +# Martin Trigaux, 2020 +# jahzar , 2020 +# Osama Ahmaro , 2020 +# Shaima Safar , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:39+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Shaima Safar , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_reports_cash_basis +#: model:ir.model,name:odex25_account_reports_cash_basis.model_account_report +msgid "Account Report" +msgstr "تقرير الحساب" + +#. module: odex25_account_reports_cash_basis +#: model:ir.model,name:odex25_account_reports_cash_basis.model_account_financial_html_report +msgid "Account Report (HTML)" +msgstr "تقرير الحساب (HTML)" + +#. module: odex25_account_reports_cash_basis +#: model_terms:ir.ui.view,arch_db:odex25_account_reports_cash_basis.search_template_extra_options +msgid "Accrual Basis" +msgstr "أساس الاستحقاق" + +#. module: odex25_account_reports_cash_basis +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_financial_html_report__cash_basis +msgid "Allow cash basis mode" +msgstr "السماح بنظام الأساس النقدي" + +#. module: odex25_account_reports_cash_basis +#: model_terms:ir.ui.view,arch_db:odex25_account_reports_cash_basis.search_template_extra_options +msgid "Cash Basis" +msgstr "الأساس النقدي" + +#. module: odex25_account_reports_cash_basis +#: model_terms:ir.ui.view,arch_db:odex25_account_reports_cash_basis.search_template_extra_options +msgid "Cash Basis Method" +msgstr "طريقة الأساس النقدي" + +#. module: odex25_account_reports_cash_basis +#: model:ir.model,name:odex25_account_reports_cash_basis.model_account_coa_report +msgid "Chart of Account Report" +msgstr "تقرير الدليل المحاسبي" + +#. module: odex25_account_reports_cash_basis +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_coa_report__display_name +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_financial_html_report__display_name +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_general_ledger__display_name +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_report__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_reports_cash_basis +#: model:ir.model,name:odex25_account_reports_cash_basis.model_account_general_ledger +msgid "General Ledger Report" +msgstr "تقرير دفتر الحسابات العام" + +#. module: odex25_account_reports_cash_basis +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_coa_report__id +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_financial_html_report__id +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_general_ledger__id +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_report__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_reports_cash_basis +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_coa_report____last_update +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_financial_html_report____last_update +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_general_ledger____last_update +#: model:ir.model.fields,field_description:odex25_account_reports_cash_basis.field_account_report____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_reports_cash_basis +#: model:ir.model.fields,help:odex25_account_reports_cash_basis.field_account_financial_html_report__cash_basis +msgid "display the option to switch to cash basis mode" +msgstr "عرض خيار الانتقال لنظام الأساس النقدي" diff --git a/odex25_accounting/odex25_account_reports_cash_basis/models/__init__.py b/odex25_accounting/odex25_account_reports_cash_basis/models/__init__.py new file mode 100644 index 000000000..c8646dff8 --- /dev/null +++ b/odex25_accounting/odex25_account_reports_cash_basis/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import account_report diff --git a/odex25_accounting/odex25_account_reports_cash_basis/models/account_report.py b/odex25_accounting/odex25_account_reports_cash_basis/models/account_report.py new file mode 100644 index 000000000..f1871ea21 --- /dev/null +++ b/odex25_accounting/odex25_account_reports_cash_basis/models/account_report.py @@ -0,0 +1,139 @@ + +from odoo import models, fields, api, _ + +import re + + +class AccountReport(models.AbstractModel): + _inherit = 'account.report' + + filter_cash_basis = None + + @api.model + def _prepare_lines_for_cash_basis(self, options): + """Prepare the temp_account_move_line substitue. + + This method should be used once before all the SQL queries using the + table account_move_line for reports in cash basis. + It will create a new table like the account_move_line table, but with + amounts and the date relative to the cash basis. + """ + if options.get('cash_basis'): + self.env.cr.execute("SELECT column_name FROM information_schema.columns WHERE table_name='account_move_line'") + changed_fields = ['date', 'amount_currency', 'amount_residual', 'balance', 'debit', 'credit'] + unchanged_fields = list(set(f[0] for f in self.env.cr.fetchall()) - set(changed_fields)) + selected_journals = tuple(journal['id'] for journal in self._get_options_journals(options)) + sql = """ -- Create a temporary table + CREATE TEMPORARY TABLE IF NOT EXISTS temp_account_move_line () INHERITS (account_move_line) ON COMMIT DROP; + + INSERT INTO temp_account_move_line ({all_fields}) SELECT + {unchanged_fields}, + "account_move_line".date, + "account_move_line".amount_currency, + "account_move_line".amount_residual, + "account_move_line".balance, + "account_move_line".debit, + "account_move_line".credit + FROM ONLY account_move_line + WHERE ( + "account_move_line".journal_id IN (SELECT id FROM account_journal WHERE type in ('cash', 'bank')) + OR "account_move_line".move_id NOT IN ( + SELECT DISTINCT aml.move_id + FROM ONLY account_move_line aml + JOIN account_account account ON aml.account_id = account.id + WHERE account.internal_type IN ('receivable', 'payable') + ) + ) + {where_journals}; + + WITH payment_table AS ( + SELECT aml.move_id, aml2.date, + CASE WHEN (aml.balance = 0 OR sub_aml.total_per_account = 0) + THEN 0 + ELSE part.amount / ABS(sub_aml.total_per_account) + END as matched_percentage + FROM account_partial_reconcile part + JOIN ONLY account_move_line aml ON aml.id = part.debit_move_id OR aml.id = part.credit_move_id + JOIN ONLY account_move_line aml2 ON + (aml2.id = part.credit_move_id OR aml2.id = part.debit_move_id) + AND aml.id != aml2.id + JOIN ( + SELECT move_id, account_id, ABS(SUM(balance)) AS total_per_account + FROM ONLY account_move_line + GROUP BY move_id, account_id + ) sub_aml ON (aml.account_id = sub_aml.account_id AND aml.move_id=sub_aml.move_id) + JOIN account_account account ON aml.account_id = account.id + WHERE account.internal_type IN ('receivable', 'payable') + ) + INSERT INTO temp_account_move_line ({all_fields}) SELECT + {unchanged_fields}, + ref.date, + ref.matched_percentage * "account_move_line".amount_currency, + ref.matched_percentage * "account_move_line".amount_residual, + ref.matched_percentage * "account_move_line".balance, + ref.matched_percentage * "account_move_line".debit, + ref.matched_percentage * "account_move_line".credit + FROM payment_table ref + JOIN ONLY account_move_line ON "account_move_line".move_id = ref.move_id + WHERE NOT ( + "account_move_line".journal_id IN (SELECT id FROM account_journal WHERE type in ('cash', 'bank')) + OR "account_move_line".move_id NOT IN ( + SELECT DISTINCT aml.move_id + FROM ONLY account_move_line aml + JOIN account_account account ON aml.account_id = account.id + WHERE account.internal_type IN ('receivable', 'payable') + ) + ) + {where_journals}; + """.format( + all_fields=', '.join(unchanged_fields + changed_fields), + unchanged_fields=', '.join(['"account_move_line".' + f for f in unchanged_fields]), + where_journals=selected_journals and 'AND "account_move_line".journal_id IN %(journal_ids)s' or '' + ) + params = { + 'journal_ids': selected_journals, + } + self.env.cr.execute(sql, params) + + def _cr_execute(self, options, query, params=None): + if options.get('cash_basis'): + query = re.sub(r'\baccount_move_line\b', 'temp_account_move_line', query) + return super()._cr_execute(options, query, params=params) + + +class AccountChartOfAccountReport(models.AbstractModel): + _inherit = "account.coa.report" + + filter_cash_basis = False + + def _get_lines(self, options, line_id=False): + self._prepare_lines_for_cash_basis(options) + return super()._get_lines(options, line_id) + + +class ReportGeneralLedger(models.AbstractModel): + _inherit = "account.general.ledger" + + filter_cash_basis = False + + def _get_lines(self, options, line_id=False): + self._prepare_lines_for_cash_basis(options) + return super()._get_lines(options, line_id) + + +class ReportAccountFinancialReport(models.Model): + _inherit = "account.financial.html.report" + + cash_basis = fields.Boolean('Allow cash basis mode', help='display the option to switch to cash basis mode') + + @property + def filter_cash_basis(self): + return False if self.cash_basis else None + + def _get_lines(self, options, line_id=False): + self._prepare_lines_for_cash_basis(options) + return super()._get_lines(options, line_id) + + def _get_table(self, options): + self._prepare_lines_for_cash_basis(options) + return super()._get_table(options) diff --git a/odex25_accounting/odex25_account_reports_cash_basis/static/description/icon.png b/odex25_accounting/odex25_account_reports_cash_basis/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWK + + + account.financial.html.report.form + account.financial.html.report + + + + + + + + diff --git a/odex25_accounting/odex25_account_reports_cash_basis/views/report_financial.xml b/odex25_accounting/odex25_account_reports_cash_basis/views/report_financial.xml new file mode 100644 index 000000000..e9eaa830e --- /dev/null +++ b/odex25_accounting/odex25_account_reports_cash_basis/views/report_financial.xml @@ -0,0 +1,15 @@ + + + + diff --git a/odex25_accounting/odex25_account_reports_tax/__init__.py b/odex25_accounting/odex25_account_reports_tax/__init__.py new file mode 100644 index 000000000..a0fdc10fe --- /dev/null +++ b/odex25_accounting/odex25_account_reports_tax/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import models diff --git a/odex25_accounting/odex25_account_reports_tax/__manifest__.py b/odex25_accounting/odex25_account_reports_tax/__manifest__.py new file mode 100644 index 000000000..d224a1253 --- /dev/null +++ b/odex25_accounting/odex25_account_reports_tax/__manifest__.py @@ -0,0 +1,13 @@ +# -*- coding: utf-8 -*- +{ + 'name': 'Accounting Reports - Tax report by GL account', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'depends': ['odex25_account_reports'], + 'data': [ + 'views/search_template_view.xml', + ], + #'auto_install': True, + 'installable': True, +} diff --git a/odex25_accounting/odex25_account_reports_tax/models/__init__.py b/odex25_accounting/odex25_account_reports_tax/models/__init__.py new file mode 100644 index 000000000..094f53894 --- /dev/null +++ b/odex25_accounting/odex25_account_reports_tax/models/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- +from . import account_generic_tax_report diff --git a/odex25_accounting/odex25_account_reports_tax/models/account_generic_tax_report.py b/odex25_accounting/odex25_account_reports_tax/models/account_generic_tax_report.py new file mode 100644 index 000000000..9ef586407 --- /dev/null +++ b/odex25_accounting/odex25_account_reports_tax/models/account_generic_tax_report.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- + +from odoo import models + +class generic_tax_report(models.AbstractModel): + _inherit = 'account.generic.tax.report' + + def _get_templates(self): + # Overridden to add an option to the tax report to display it grouped by tax grid. + rslt = super(generic_tax_report, self)._get_templates() + rslt['main_template'] = 'odex25_account_reports_tax.template_tax_report' + return rslt diff --git a/odex25_accounting/odex25_account_reports_tax/static/description/icon.png b/odex25_accounting/odex25_account_reports_tax/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWK + + + + + + + diff --git a/odex25_accounting/odex25_account_saft/__init__.py b/odex25_accounting/odex25_account_saft/__init__.py new file mode 100644 index 000000000..cde864bae --- /dev/null +++ b/odex25_accounting/odex25_account_saft/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models diff --git a/odex25_accounting/odex25_account_saft/__manifest__.py b/odex25_accounting/odex25_account_saft/__manifest__.py new file mode 100644 index 000000000..89a26e518 --- /dev/null +++ b/odex25_accounting/odex25_account_saft/__manifest__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- + +{ + 'name': 'Standard Audit File for Tax Base module', + 'version': '1.0', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'description': """ +Base module for SAF-T reporting +=============================== +This is meant to be used with localization specific modules. + """, + 'depends': [ + 'odex25_account_reports' + ], + 'data': [ + 'views/saft_templates.xml', + ], +} diff --git a/odex25_accounting/odex25_account_saft/i18n/ar.po b/odex25_accounting/odex25_account_saft/i18n/ar.po new file mode 100644 index 000000000..f276f7e3c --- /dev/null +++ b/odex25_accounting/odex25_account_saft/i18n/ar.po @@ -0,0 +1,78 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_saft +# +# Translators: +# Mustafa Rawi , 2020 +# Martin Trigaux, 2020 +# Osama Ahmaro , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:39+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Osama Ahmaro , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_saft +#: model:ir.model,name:odex25_account_saft.model_ir_attachment +msgid "Attachment" +msgstr "مرفق" + +#. module: odex25_account_saft +#: code:addons/odex25_account_saft/models/odex25_account_saft_report.py:0 +#, python-format +msgid "Define `Company Registry` for your company." +msgstr "" + +#. module: odex25_account_saft +#: model:ir.model.fields,field_description:odex25_account_saft.field_account_general_ledger__display_name +#: model:ir.model.fields,field_description:odex25_account_saft.field_ir_attachment__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_account_saft +#: model:ir.model,name:odex25_account_saft.model_account_general_ledger +msgid "General Ledger Report" +msgstr "تقرير دفتر الحسابات العام" + +#. module: odex25_account_saft +#: model:ir.model.fields,field_description:odex25_account_saft.field_account_general_ledger__id +#: model:ir.model.fields,field_description:odex25_account_saft.field_ir_attachment__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_account_saft +#: model:ir.model.fields,field_description:odex25_account_saft.field_account_general_ledger____last_update +#: model:ir.model.fields,field_description:odex25_account_saft.field_ir_attachment____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_account_saft +#: model_terms:ir.ui.view,arch_db:odex25_account_saft.HeaderTemplate +msgid "Odoo" +msgstr "أودو" + +#. module: odex25_account_saft +#: model_terms:ir.ui.view,arch_db:odex25_account_saft.HeaderTemplate +msgid "Odoo SA" +msgstr "" + +#. module: odex25_account_saft +#: code:addons/odex25_account_saft/models/odex25_account_saft_report.py:0 +#, python-format +msgid "Please define City/Zip for address(es) of `%s`." +msgstr "" + +#. module: odex25_account_saft +#: code:addons/odex25_account_saft/models/odex25_account_saft_report.py:0 +#, python-format +msgid "Please define Phone or Mobile for `%s` Contact(s)." +msgstr "" diff --git a/odex25_accounting/odex25_account_saft/models/__init__.py b/odex25_accounting/odex25_account_saft/models/__init__.py new file mode 100644 index 000000000..6813b1b90 --- /dev/null +++ b/odex25_accounting/odex25_account_saft/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import odex25_account_saft_report +from . import attachment diff --git a/odex25_accounting/odex25_account_saft/models/attachment.py b/odex25_accounting/odex25_account_saft/models/attachment.py new file mode 100644 index 000000000..db07d7904 --- /dev/null +++ b/odex25_accounting/odex25_account_saft/models/attachment.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +import base64 +import io +import logging +import requests +import zipfile +from os.path import join +from lxml import etree, objectify + +from odoo import models, tools + +_logger = logging.getLogger(__name__) + + +class IrAttachment(models.Model): + _inherit = 'ir.attachment' + + def _extract_xsd_from_zip(self, url, response, file_name=None): + """ + :return bytes: return read bytes + + :param response: response object + :param url: url of zip file + :param file_name: the file name to be extracted from the given url + """ + archive = zipfile.ZipFile(io.BytesIO(response.content)) + file = '' + for file_path in archive.namelist(): + if file_name in file_path: + file = file_path + break + try: + return archive.open(file).read() + except KeyError as e: + _logger.info(e) + return '' + + def _modify_and_validate_xsd_content(self, module_name, content): + """ + :return object: returns ObjectifiedElement. + + :param module_name: name of the module who is invoking this function(to be used by overridden methods) + :param content: file content as bytes + """ + try: + return objectify.fromstring(content) + except etree.XMLSyntaxError as e: + _logger.warning('You are trying to load an invalid xsd file.\n%s', e) + return '' + + def _load_xsd_saft(self, url, module_name, file_name=None): + fname = file_name or url.split('/')[-1] + xsd_fname = 'xsd_cached_%s' % fname.replace('.', '_') + attachment = self.env.ref('%s.%s' % (module_name, xsd_fname), False) + if attachment: + return + try: + response = requests.get(url, timeout=10) + response.raise_for_status() + except requests.exceptions.HTTPError as httpe: + _logger.warning('HTTP error %s with the given URL: %s' % (httpe.code, url)) + return + if file_name: + content = self._extract_xsd_from_zip(url, response, file_name) + else: + content = response.content + xsd_object = self._modify_and_validate_xsd_content(module_name, content) + if not len(xsd_object): + return + validated_content = etree.tostring(xsd_object) + attachment = self.create({ + 'name': xsd_fname, + 'datas': base64.encodebytes(validated_content), + }) + self.env['ir.model.data'].create({ + 'name': xsd_fname, + 'module': module_name, + 'res_id': attachment.id, + 'model': 'ir.attachment', + 'noupdate': True + }) + return join(tools.config.filestore(self.env.cr.dbname), attachment.store_fname) diff --git a/odex25_accounting/odex25_account_saft/models/odex25_account_saft_report.py b/odex25_accounting/odex25_account_saft/models/odex25_account_saft_report.py new file mode 100644 index 000000000..ad79dd8ab --- /dev/null +++ b/odex25_accounting/odex25_account_saft/models/odex25_account_saft_report.py @@ -0,0 +1,440 @@ +# -*- coding: utf-8 -*- + +import base64 +import re +import xml.dom.minidom +from io import BytesIO +from collections import defaultdict + +from odoo import fields, models, tools, release, _ +from odoo.exceptions import UserError + + +class AccountGeneralLedger(models.AbstractModel): + _inherit = "account.general.ledger" + + def _prepare_header_data(self, options): + company = self.env.company + return { + 'country': company.country_id.code, + 'date_created': fields.Date.today(), + 'software_version': release.version, + 'company_currency': company.currency_id.name, + 'date_from': options['date']['date_from'], + 'date_to': options['date']['date_to'], + } + + def _prepare_company_data(self): + # RegistrationNumber for company is mandatory for CompanyHeaderStructure element + company = self.env.company + if not company.company_registry: + raise UserError(_('Define `Company Registry` for your company.')) + partner_id = company.partner_id.id + child_ids = company.partner_id.child_ids.ids + company_details = self._get_addresses_and_contacts(child_ids + [partner_id])[partner_id] + + return { + 'id': company.id, + 'name': company.name, + 'company_registry': company.company_registry, + 'addresses': company_details.get('addresses') or [company_details['default_value']], + 'contacts': company_details.get('contacts') or [company_details['default_value']], + 'vat': company.vat, + 'bank_accounts': self._prepare_bank_account_data(company.bank_ids), + } + + def _prepare_bank_account_data(self, banks): + bank_account_list = [] + for bank in banks: + bank_account_list.append({ + 'iban': True if bank.acc_type == 'iban' else False, + 'bank_name': bank.bank_name if bank.bank_name else '', + 'acc_number': bank.acc_number, + 'bank_bic': bank.bank_bic, + }) + + return bank_account_list + + def _format_debit_credit(self, amount): + if amount > 0: + debit = abs(amount) + credit = 0.0 + else: + debit = 0.0 + credit = abs(amount) + + return { + 'debit': '%.2f' % debit, + 'credit': '%.2f' % credit, + } + + def _prepare_account_master_data(self, options): + options['unfold_all'] = True + options_list = self._get_options_periods_list(options) + accounts_results, taxes_results = self._do_query(options_list) + account_list = [] + + for account, periods_results in accounts_results: + results = periods_results[0] + account_init_bal = results.get('initial_balance', {}) + account_un_earn = results.get('unaffected_earnings', {}) + account_balance = results.get('sum', {}) + opening_amount = (account_init_bal.get('debit', 0.0) + account_un_earn.get('debit', 0.0)) - \ + (account_init_bal.get('credit', 0.0) + account_un_earn.get('credit', 0.0)) + closing_amount = account_balance.get('debit', 0.0) - account_balance.get('credit', 0.0) + account_list.append({ + 'id': account.id, + 'name': account.name, + 'code': account.code, + 'group_code': account.group_id.id or "", + 'group_categ': account.group_id and account.group_id.name or "", + 'account_type': account.user_type_id.name, + 'opening_balance': self._format_debit_credit(opening_amount), + 'closing_balance': self._format_debit_credit(closing_amount) + }) + return account_list + + def _prepare_partner_master_data(self, options): + options['unfold_all'] = True + options['account_type'] = [ + {'id': 'receivable', 'name': 'Receivable', 'selected': False}, + {'id': 'payable', 'name': 'Payable', 'selected': False} + ] + partners_results = self.env['account.partner.ledger']._do_query(options) + customers_list = [] + suppliers_list = [] + Move = self.env['account.move'] + sale_types = Move.get_sale_types() + purchase_types = Move.get_purchase_types() + partners = self.env['res.partner'] + for partner, results in partners_results: + partners |= partner + + all_partner_details = self._get_addresses_and_contacts(partners.mapped('child_ids').ids + partners.ids) + + for partner, results in partners_results: + partner_sum = results.get('sum', {}) + partner_init_bal = results.get('initial_balance', {}) + + opening_amount = partner_init_bal.get('debit', 0) - partner_init_bal.get('credit', 0) + closing_amount = (partner_init_bal.get('debit', 0) + partner_sum.get('debit', 0)) - \ + (partner_init_bal.get('credit', 0) + partner_sum.get('credit', 0)) + + partner_details = all_partner_details.get(partner.id, {}) + partner_data = partner_details['default_value'] + addresses = partner_details.get('addresses') + contacts = partner_details.get('contacts') + + partner_data.update({ + 'addresses': addresses or [partner_data], + 'contacts': contacts or [partner_data], + 'bank_accounts': self._prepare_bank_account_data(partner.bank_ids), + 'opening_balance': self._format_debit_credit(opening_amount), + 'closing_balance': self._format_debit_credit(closing_amount), + }) + lines = results.get('lines') or [] + if any(line.get('move_type') in sale_types for line in lines): + partner_data['is_customer'] = True + customers_list.append(partner_data) + if any(line.get('move_type') in purchase_types for line in lines): + partner_data['is_supplier'] = True + suppliers_list.append(partner_data) + + return customers_list, suppliers_list + + def _query_get_partners(self, partner_ids): + query = ''' + SELECT + partner.id, + partner.vat, + partner.zip, + partner.name, + partner.type, + partner.email, + partner.website, + partner.parent_id, + partner_title.name AS title, + partner.city AS city, + country.code AS country, + partner.street AS street, + partner.street2 AS street2, + COALESCE(partner.phone, partner.mobile) AS phone + FROM res_partner partner + LEFT JOIN res_country country ON country.id = partner.country_id + LEFT JOIN res_partner_title partner_title ON partner.title = partner_title.id + WHERE partner.id in %s + ''' + return query, [tuple(set(partner_ids))] + + def _get_addresses_and_contacts(self, partner_ids, invoice_partner=False): + """Build a dictionary mapping a partner to its contacts and addresses.""" + if not partner_ids: + return {} + + query, params = self._query_get_partners(partner_ids) + self._cr.execute(query, params) + + all_partner_details = defaultdict(lambda: {'contacts': [], 'addresses': []}) + # We skip contacts when they don't have city/zip/phone and raise an error when the parent partner does not have one + for partner_dict in self._cr.dictfetchall(): + partner_id = partner_dict['id'] + parent_partner_id = partner_dict['parent_id'] + if not parent_partner_id: + # If the partner does not have any contacts and/or addresses, the parent partner's details will be used as contact/address + all_partner_details[partner_id]['default_value'] = partner_dict + elif partner_dict['type'] == 'contact': + if partner_dict['phone']: + all_partner_details[parent_partner_id]['contacts'].append(partner_dict) + else: + if partner_dict['city'] and partner_dict['zip']: + all_partner_details[parent_partner_id]['addresses'].append(partner_dict) + + bad_address_list = [partner['default_value']['name'] for partner in all_partner_details.values() + if not partner['addresses'] and not (partner['default_value']['city'] and partner['default_value']['zip'])] + bad_contact_list = [partner['default_value']['name'] for partner in all_partner_details.values() + if not partner['contacts'] and not partner['default_value']['phone']] + if bad_address_list: + raise UserError(_("Please define City/Zip for address(es) of `%s`.", ', '.join(filter(None, bad_address_list)))) + if bad_contact_list: + raise UserError(_('Please define Phone or Mobile for `%s` Contact(s).', ', '.join(filter(None, bad_contact_list)))) + + return all_partner_details + + def _get_all_tax_data(self): + all_taxes = self.env['account.tax'].search_read([('company_id', '=', self.env.company.id)], ['name', 'amount_type', 'amount']) + return {tax_dict['id']: tax_dict for tax_dict in all_taxes} + + def _get_updated_select_clause(self, select_clause): + return select_clause + ''', + account_move_line.move_id, + account_move_line.tax_line_id, + account_move_line.journal_id, + account_move_line.balance, + account_move_line.price_total, + account_move_line.price_subtotal, + account_move_line.exclude_from_invoice_tab, + account_move_line__move_id.date AS move_date, + account_move_line__move_id.create_date AS move_create_date, + journal.type AS journal_type, + journal.name AS journal_name, + invoice_line_taxes.taxes_count AS invoice_line_taxes_count, + invoice_line_taxes.taxes AS invoice_line_taxes, + invoice_line_taxes.tax_id AS invoice_line_tax_id, + account_type.type AS account_type''' + + def _get_updated_from_clause(self, from_clause): + return from_clause + ''' LEFT JOIN account_account_type account_type ON account_type.id = account.user_type_id + LEFT JOIN invoice_line_taxes ON account_move_line.id = invoice_line_taxes.account_move_line_id''' + + def _get_updated_query_amls(self, options): + query, where_params = self._get_query_amls(options, False) + query_select, query_rest = query.split("FROM") + query_from, where_clause = query_rest.split("WHERE") + select_clause = self._get_updated_select_clause(query_select) + from_clause = self._get_updated_from_clause(query_from) + with_statement = ''' WITH invoice_line_taxes as ( + SELECT account_move_line_id, MAX(account_tax_id) as tax_id, COUNT(account_tax_id) taxes_count, ARRAY_AGG(account_tax_id) taxes + FROM account_move_line_account_tax_rel + GROUP BY account_move_line_id + ) ''' + query = with_statement + select_clause + ' FROM' + from_clause + ' WHERE' + where_clause + return query, where_params + + def _get_move_lines(self, options): + query, where_params = self._get_updated_query_amls(options) + self._cr.execute(query, where_params) + return self._cr.dictfetchall() + + def _prepare_amount_data(self, amount, move_line): + amount_data = { + 'amount': '%.2f' % amount, + } + line_currency_id = move_line.get('currency_id') + company = self.env.company + if move_line and line_currency_id and company.currency_id.id != line_currency_id: + currency = self.env['res.currency'].browse(line_currency_id) + exchange_rate = currency._get_rates(company, move_line.get('date'))[line_currency_id] + amount_data.update({ + 'currency_code': currency.name, + 'exchange_rate': '%.8f' % exchange_rate, + }) + if 'amount_tax' in move_line: + amount_data['amount_currency'] = '%.2f' % abs(move_line['amount_tax']) + else: + amount_data['amount_currency'] = '%.2f' % abs(move_line['amount_currency']) + + return amount_data + + def _convert_amount_to_company_currency(self, amount, currency_id, date): + line_currency = self.env['res.currency'].browse(currency_id) + company = self.env.company + if line_currency != company.currency_id: + return '%.2f' % line_currency._convert(amount, company.currency_id, company, date) + else: + return '%.2f' % amount + + def _prepare_general_ledger_data(self, move_lines_data): + gl_total_entries = 0 + gl_total_debit = 0 + gl_total_credit = 0 + + tax_master_data = {} + + move_data = {} + + move_line_tax_info = {} # dictionary holding tax information for all move lines(to be shown for GeneralLedgerEntries transactions) + + all_tax_data = self._get_all_tax_data() + + for move_line in move_lines_data: + move_id = move_line['move_id'] + gl_total_credit += move_line['credit'] + gl_total_debit += move_line['debit'] + + # When a tax with 0% rate is applied, no move line is created for that, so, we + # get that tax information from `invoice_line_tax_id`. + tax_id = move_line.get('tax_line_id') or move_line.get('invoice_line_tax_id') + if tax_id and not tax_master_data.get(tax_id): + tax_master_data[tax_id] = all_tax_data[tax_id] + + if move_line.get('credit'): + move_line['credit_amount'] = self._prepare_amount_data(move_line.get('credit'), move_line) + else: + move_line['debit_amount'] = self._prepare_amount_data(move_line.get('debit'), move_line) + # `move_line` dictionary has most of the data of moves and move lines + # hence, just updating line_data dictionary to update it + line_data = {move_line['id']: move_line} + + # build move dictionary with it's lines (to be used for GL entries as well as invoice lines) + if not move_data.get(move_id): + move_dict = { + 'move_id': move_id, + 'move_date': move_line['move_date'], + 'move_type': move_line['move_type'], + 'move_name': move_line['move_name'], + 'move_create_date': move_line['move_create_date'], + 'is_customer': move_line['journal_type'] == 'sale', + 'is_supplier': move_line['journal_type'] == 'purchase', + 'partner_id': move_line['partner_id'], + 'journal_data': { + 'journal_id': move_line['journal_id'], + 'journal_name': move_line['journal_name'], + 'journal_type': move_line['journal_type'], + }, + 'lines': line_data, + } + move_data[move_id] = move_dict + gl_total_entries += 1 # We need count of only moves + else: + move_data[move_id]['lines'].update({move_line['id']: move_line}) + + # Tax information needs to be shown along with product lines of the move/transaction, hence, + # preparing dictionary for the same with product line's ID as it's key. + if not move_line['exclude_from_invoice_tab'] and move_line['invoice_line_taxes_count']: + # In case price_total and price_subtotal are not computed (e.g. from the POS), we + # compute them now from the balance. + if move_line['price_total'] is None or move_line['price_subtotal'] is None: + prices = self.env['account.move.line']._get_price_total_and_subtotal_model( + -move_line['balance'], + 1.0, + 0.0, + self.env['res.currency'].browse(move_line['currency_id']), + self.env['product.product'], + self.env['res.partner'], + self.env['account.tax'].browse(move_line['invoice_line_taxes']), + 'other', + ) + move_line['price_subtotal'] = prices.get('price_subtotal', 0.0) + move_line['price_total'] = prices.get('price_total', 0.0) + move_line['amount_tax'] = move_line['price_total'] - move_line['price_subtotal'] + tax_amount_signed = self._convert_amount_to_company_currency(move_line['amount_tax'], move_line['currency_id'], move_line['date']) + tax_line_dict = { + 'line_id': move_line['id'], + 'amount_data': self._prepare_amount_data(float(tax_amount_signed), move_line), + } + # In cases when there are multiple taxes applied to same invoice line, the taxed amount is grouped + # and saved in the database. So, tax's name/type/amount_type etc can not be determined. + if move_line['invoice_line_taxes_count'] == 1: + tax_line_dict.update(all_tax_data.get(move_line['invoice_line_tax_id'], {})) + if not move_line_tax_info.get(move_id): + move_line_tax_info[move_id] = [tax_line_dict] + else: + move_line_tax_info[move_id].append(tax_line_dict) + + general_ledger_data = { + 'total_entries': gl_total_entries, + 'total_debit': '%.2f' % gl_total_debit, + 'total_credit': '%.2f' % gl_total_credit, + 'journals': {}, + } + + # group moves by journal and prepare invoices'/bills' list + for move_id, move_vals in move_data.items(): + journal_data = move_vals.pop('journal_data') + journal_id = journal_data['journal_id'] + if not general_ledger_data['journals'].get(journal_id): + general_ledger_data['journals'][journal_id] = journal_data + general_ledger_data['journals'][journal_id]['moves'] = [move_vals] + else: + general_ledger_data['journals'][journal_id]['moves'].append(move_vals) + + return { + 'all_tax_data': all_tax_data, + 'move_data': move_data, + 'taxes': tax_master_data, + 'move_line_tax_info': move_line_tax_info, + 'general_ledger_data': general_ledger_data, + } + + def _prepare_saft_report_data(self, options): + company = self.env.company + + header_data = self._prepare_header_data(options) + company_data = self._prepare_company_data() + account_master_data = self._prepare_account_master_data(options) + + customer_master_data, supplier_master_data = self._prepare_partner_master_data(options) + move_lines_data = self._get_move_lines(options) + data = self._prepare_general_ledger_data(move_lines_data) + + return dict({ + 'xmlns': '', + 'country_code': self.env.company.country_id.code, + 'company': self.env.company, + 'header_data': header_data, + 'company_data': company_data, # same will be used to fill tag + 'accounts': account_master_data, + 'customers': customer_master_data, + 'suppliers': supplier_master_data, + }, **data) + + # TO BE OVERWRITTEN + def _get_template(self): + return 'odex25_account_saft.SaftTemplate' + + def _get_xsd_file(self): + return False + + def get_xml(self, options): + template = self._get_template() + if not template: + return super().get_xml(options) + + # We do not want data from multi companies, just for current selected companies + 'multi_company' in options and options.pop('multi_company') + report_data = self._prepare_saft_report_data(options) + rendered_content = self.env['ir.qweb']._render(template, report_data) + # Indent the XML data and return as Pretty XML string. + pretty_xml = xml.dom.minidom.parseString(rendered_content).toprettyxml() + # remove extra new lines + audit_content = "\n".join(re.split(r'\n\s*\n', pretty_xml)) + + xsd_file = self._get_xsd_file() + + # load XSD file which was cached into attachments during SAFT module installation + attachment = self.env['ir.attachment'].search([('name', '=', 'xsd_cached_{0}'.format(xsd_file.replace('.', '_')))]) + if attachment: + xsd_datas = base64.b64decode(attachment.datas) + with BytesIO(xsd_datas) as xsd: + tools.xml_utils._check_with_xsd(audit_content, xsd) + return audit_content diff --git a/odex25_accounting/odex25_account_saft/static/description/icon.png b/odex25_accounting/odex25_account_saft/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 zcmcF~Wm6oy`}OYPR(5eM%Ob^Z++~5qi#sjuRw$I>Qrz8Li@UoODee@90)^u4^7QxO z{}G-SnPf7ViJeT6bIui}q9lWZNrnjk0C41F5o!Pc@Lv%KKnMNHX2D_{|1u0mSzTuU z01N+r2?$8fB>7i~_C-!n3T+F7jrE4^4n5Ts0DuDI5aJqc%SZaInPyVw)nzAqT4h=s`$KoWEP{9#b>FtMMiKjot_Wx*&YkY{Ri`FN;5iK=*5JT0YcyrV0H>(JU@ z+M@pTW5LGN%~i(IO3+H{<);U(oX*ZAJ_n2S^0KN2t@&mZL~f&=?PvYDHss2AHNOR$ z%4AT3mTe=!zv}WLK;^t1D~eU+f(;|wwoyv~s8`;ohdHJ9|Gz0~OA&EQwROgwK^dLq zzaiLv`Cp$XZIK*$j}9S~LTh?1#B60(`(whMH%B)Z_;5}XqX}PiWUvGQ0EP?%0s*dy zU@)MpI<768;AMl7+61N0v=5nx-tJhqlF~?=P{Y&Z}Kl7Pc8-fSB~ zTqO)?>eRf+z#O;lPZYE2gN$?*bX-blaF^XB)WBMWa(bRBwrEy$Aa?CUruB;qF_DW& zOJq+#>NJdfWeb`Viui%?Z^JA*DkpD%2-m)YU}*oO(fGXcBu$+$iiKmswOGet^at87 z*q0Ad3Ml_pb1n&U-^u2!$If~CiTiuvaMVDE>fj0v5a~oph;ur)&Yj_c;+!Cc$ZpI^#+x{ab@=I_KbA3~&X2TZ?tkc5SJTV;rTpn4 zPTAoGvgIRzEKcf+0tW!UOAO6Uc75Ki_DSJH&qyBohpGE>KwK{9?#Qy~mtDfOPDQQ- zh3|$kK`x{WE-@*__c$T+YNs3c!P)u)=G2ianqPyOT>QSiSo6=|@@ni|CvnmU+E75Q zd8R)QsM-^VZEZs3_Pa>z>Df?ntmmjl%i1PR&6d?i+|frjA-S@3`{a?z{fNg-oncdb zV7r|(7Y2;)jd7^E`6Ofqj0LHbJ5@Czaf`f#>NEXT60)nE7A*h1YaoGz?!QE)tYC^V z1^?SCV|aIo^jd+A`3uF$8)5dj-n)_#+I|VJikuGX`jfmNc0WcibIcO{tIzRgKmVPP z3Xlal$jhZCp<6;a{efv)#KDYOpNs>Kz>MF43^3RgU7d31;oexV@1OiRR!ZiZsg!gE`FS6F#hKOHKv6o?sDAVZ2n=xJIws&lrRXRxw z5)x2Aof;|-!blq=pRVNjxSQd7UNEoyK`D^P9Yw`5%Vog?8wh|x=l~aCQ485O3k`p{ zHtPQ8}$L-i*!{d=sVl5H7768bTp4t^SrSv-66KfkB z>A|Mr7lXnUmT9_u1~VM4^W^;=cp6Ae6V#!K5~F>P6?fea8;OymKbnYPy}jd0Xll`JbZuZc@sIn!JDl)y;+FMP=e` zXr?*=Dk`AIByE7?{@CHQrlf7;-$2_jtO$7jZmP&hq&%@2NKGt<-8Kkz3J1SAnD zAar(sr9o*qRd#huq#9Gfn)R8VYEG26n?Z=VYy?WpW|#i>0MuYzRDdty^Sk& z`#fq-1~AgKriG*n8I9~-{BB1=r@>;^!TSCXc_-sCS?NvxpX0o?d!^H43o++n{>h1^ zRS4C`Q{ibYmOg)I^v-y<%lNq!u(Afop3J-?RWg+1j|k=e?6ik5bkb~Q`N3afp2%84 z7_K2ZyYv0SKWuORNBW*s!)R{aDZ15mFj6dR>izSnsMTcw4m@VEQzH!nxJIo_dql!+6GOH~O{ zmXoC=QMZJ%0BMaPWT8i2kHW~V z2#jB^YnPW|t$&i8nC4i719g$-a}_^z@4e6^AL&{L{X{0xot!npXdy=)B(b1Zdvh0J z(_0_mCrLc~?-lhmq;>O`z8MV9;@gn%U4Wx%TKS@e5iM$JH z(%!*i@558|Gx9D|fAo$m=oM3^ITlQcf~d)w5F>x_v>l`gfd~ME2xihG&uBrd)>{dS zvsuSf<$Oja0+uoX&|zWd)SNAz*0b`hF5w-;m(41%`(1~} zhmkRC#VOEx6g+8p)#nW!*W>1m8{4Wn;mG9|BzUO~g5oN!GsO*teNNTKVPSzW6q zN>;lp2%BmlDU$QWz95=@@&;82NM z<5E3TEvB#fK1=h9A3e)w=m1FqR=-r-goGmYGM}%VHYk33P*3ppskLR6VX<}Cd=g_{ zvgrgz1ByXCdbZWQO?YirpP0XX`w#i*JGJyq)lQ8N9rh0eHXaT+ydP4rTVGffuzqBO zgXNt^4QI=qhu=7AcN{EQkjhwm-3)LTb0!w?;tV`qy`&D`%Q@e>_4FuG!3qP`cN7?ppk-$<6c#k}8MT;PiZ%g@jzKZ25 zyqm-~YDYRId=+gxt8AyifFskkK7h-b7~?Iuw|4=LTuMF<_Jy;m(JrkRQB`DnZS%KTEV9e`v|qK44tuyz1x7!?q4?E3U@>Y$j# z2Nu~`uwZ?2tJOK8;!){JL^QJCwzmhk%0}^uR zWYO;F-}#DlTzn4)+RjR!`vu@&woT2>em=qQtQ2njz*3yHAIT(k_R>P)?*`aN6T0iC z+ITwEF6R6NNJ^3gsu;&_PRpDuZis2KFhfzA!U^W&tb=U+KIuS==ZxGpIz_eL;~|1d z2FWg2^f&;1JcD5^DfPo`flaM($a8LK^V(4=-ze7EtKa4YAOi1cWa<-PhJ@;N%+DvT zw`)#^YlZZoM!ZU>hrTGt9K6p5+T9ITg-Th3V@rR2AfaQJJkGzmUS=9#jetmd9-a?F zTb9epKQ;8GV@4t+tTp~LJlKzRJB^#V`jXPLW-%(&BAzPkJ`bEm$)3Q%+YhAm}vt3@i*=MPFXBwC^ zK(pgzuX)4!_BpgnP&w=nlL%mgqMvmTi}W>Zu8N&G(F#=p26~SfU&YnsJ#e%xzeHlC z^4|{I@W5UUx97r&ojN>8jAhy7nfS}=@p0C9)@kPQtiE0#hPU-xFdA#U`DmXi1%>|9 zu!6BgWuqs(!!~nLc=ho0&5F=TUOQekuV9i8f95sbE3z2i4r1I~o71~qLcUJE=2i5x&p?rk3p!%& z(Ns+5ueoX?TE`-=HgYlp_^qDlSTEXf{n(5M%p7dsMF>ZHq$dQTPa9UW-3+?FPW%!& zccBYWLc3U3-Ea47#qD1$u_1;?*}!dY+ZWOUG7fOMH$waTCQoUL3Uk4#xh42D^7!F8 zGXoC#U!J{jg^gJ=!U;>c!_m+&1Ix@(+PWDnDqV%p-QPk_)HG1(QeS@r8Eg?1BSTPVv>t{p&3J-1cFKkG^To($V ztQ%VQw5t{mXux2rn?=aX<41$Gitx>IU(wbBoANI%gs~(P8ZqFL1kl%+oovdl zckg|DPi?C^KdH%T$R*ZVRgypfEI=k|ydN*?X@}ll8Y9?*z58)Qj~uRGV>ldbC90cA ziw0}2JzVYY*r>;pnj~b*D}Yw^gS8eZXC6XrWt3~$zC z0$@n+L$ugS=&|TChpjH-ZD|QmREuctbZo!fCUw<*1mc&EeEez1U&?WLwZb=?nj*F8qtR@R2A zMH;c#77?AR9+;~5A-xeSFDRE`#w`CXojl!Ps=nyow)v~TAwqw7y=?*2MZ{cgh zyf-|oCKQYZEllddR~Ft;&sjy5n(O%W8DVztfvfsuAj_Lk*VKkExWEA@e&ZpE?3^x$ zbzmFf)mj`7`bEqAa4?<+J5Ht#gD8RLyB>7!&rp+quVSai9h|q}cK!G~WS1sz$`-eG zoFt|i^mXhgAmND;$MEd{k^#Q(&4F6+o43Y)Bx?6Eox3~_t9|qp-Nv^uSv&1+snJfF z#_;rGmn{~s(&nyk6018N9$w#Pp)kO)0qp-J8|Fj@4!A^Nl)?=MDRk=?d@6rtp$L54 z``vEZ(N6U(dtJPFp^fa1u-cBfV8s{9XnUP~(ff_gqFeE=>)_yf>;CWco@p7M+V-Z0 zvcI+*%W5Zt60nGrI#240W~oU1fMFPYWP_aOUD`9hYsmfcrbp5B$@m1Wr!+pyLzeo1 z6@^4fkmc;}W$JfjklWb0CdXaCB}1_cZGZfioL_akRmG{6!db+nkb}5B@*HA+Y#QxB z&YFfC-*rM|(fh&~4}*0R36tb(?yVZh8x>4;g*V(tGQ=vV@viITUbl5QhlNn14@iuA zF(C9%XZAo_zxy_czZIT3p+qBASK2vHEQ}1{k-wxkeVl_OvCP~zCzkt)Qr4U3=$PJ3 zQ%{c@jWZ_f)X1BKbDy8AiN(&Q5&%65pv3a%sIdPSh-Ck2YU%vhTocs~#AGZ|0WSZK zZGw@+X;fS#-#==vb81K@`_wcoD`z(Sct&c2^N5=nAWMG6O=y8goW|X;W4j3X;b!GE z`3X2~9Jb)ZA#r^ik=SV}m>LYx6*l}&zuBiWoq}$3K~6>cQOz>*Yj1|SWt`eV{AqgS zUMv_;(Y1^zL)EpBnKoM=mNp4J#Qej&qDXaJUMU)T#3~?U;g~ixa z@~s=3NRA#Cv0l{_uz_yh)7BX`#x$;P?+rg8!Q*L_f-zH%jJqL5(Y`@!5^iCI0xJ zj)X$=_O)>JcO4S85c?@oU&KcUT2G8hTIx_7=Z}68{Yhfw**Wv9tn_C^g?8e{bYeWXWA&VN>~54#EEi==bgZ$IR}R1CX1Wre$Iiw3&p@961c zQ3g@H)x+Uo4g8YZqy@u`mmZMn((L%IE~CSU@RNuae)_?M6cBJ&S~w6B+uy;O3iy;?U6Pk%n>D&#$)w~d+<2|3s@{EabV<63;g+9ue3(s?_H-~R6C zewQ+&)wm`OvPGDj)iJu){Itc>thk>}yYTx-;oG?FBCAr)wC|q&?dfyUB-1eFwWD3s z6GOhvCUN&uQYqB0Zg{`DA`&D}v6hkFt@TPV+;g^XL9u^oXgnZixN048p03IHT`hFt zLWc!*Yp0wp*a! zv~ScWA8Ty_z-JErMi1P~D@x8hi>f}h=bsN`$Mm7T%>xdTFyd-P^FLg9aHu7kHFA> z$Q_#cRzMEUxV$E>7mgY@j#I`?cV_J$}3TW!qklagUapfG!De;iS+&>C$tuo9Be@ zTpbM2p;O<;@_bkl%U=0Fs-WjzX>QDa9yn_`MlmP%&RP)zGb~m`0uH53gxZ)jl&BCA zlpM*;FfhDVo07+8^7p5I9~-Ayz{Efe#Cs3MCoqA22j!uvz{Bc{7IhuQ6O^Alia61Y zh8RPs8bPvA1P^_3hLS||9wLG}tX~QaD1DoTX<`oCB{D^?TJl3-8+L!c^fYF>FGX3I zcuQLR`hL`v_4<^@$;CxYCatlob8>X_a*yNNv3HB>H?yEdv-MBq!IZ0f$=khIwyu|V z=Y`TL_61@4K?%{&eZAJQBrCA7k#F8Rp;>kg^70@K`V^{t?3V$ID1rW|dJ1q_bS+tx z0txAc5;!B&1c7P-qsN1Z)v5!WfECV4E@L)b@RLr}3!Buk*Ky5>f9D;xWxrkeY!$bn%vaung#=!v zO6P*W@++5$_$CFm){DjN`+#w2Yq;bo2@uG;;cx1DoHymcT%|R;Mk+(l0k|( zEOzf~xL(NJ7u7#K0$po_M!|TQ`f5aCD6G=O%ZQX4+d^V*hq=1r<+j^5mvbjQs^~=c zTO@X*QGkoqbDt$23I%q?xAa&jKGPWKrb6}IF5Guu?)2T)Re3um#}gDWx4#>+E;GHn z*JDUkQtT|8w>F#67_31K7tu}6CE;Tm=4iq!?Phzf{|T1r#7l^GD#OywSAc(hPGzNd zmKbMV%@CRLsAhqXldz0;!1^smK|0$AO-e3f3$>A3Z}$&-cU!Ow4d*{ zyWpHWaiASDtIN`@kIyA*H|$5;V;D-3W83}U;Zf(|*M;RjyJ%DBdJ5d-zGvZ7t8@R* zZ^8c7fDj@}fFEcUcNTi6c93a4dfAPqdgk2a9jZ!U9yVYy>GC2Y}+7Ym7-?Ivlr zJse;$CyByowsShatI7#`^b#vGlO}(C08O^(|EH>m5RJfQkVOuZ7?X|Mr;wE<$RB%G z>5=r_3>Y~4`LVsf0-XUR91cNJ$tTrK%$0^hXvOP7i699-KxW;{IP&eTpZ7RGCHS{& zg*@A5Lq-T{V?6p=qa^u6rC0(e^?Lw}eq~|Jd&Pn3ar+q;3qVc^RDsK*I|lG*t+_u& zdF)NVHNqmhg+`X=|Ac8e+$1@4KEBk6+oJU@v#>WUq!R%C>$oa=SKOg1-xe5xV1m-2 zgtGjI*Wk#UdK(m$UPH?vmY92z`36$kGq%blp5@Ue3X7*b4qrBUQtab>&I-&K>d*=io6?cmA&7-dA>fB$Wr5) zMUnH{s1kdiF>C8P@4Y;F`$)urOI;oJ5B?DnoBgjgIa8G3E?pS3PF9ymJM)&SM!~^f z7golTQV#FeZzr@+P_1l;FGx6h^Xw2JQN{zlYj9pp&*=ooU4a#^uk}B(=wizl%Sef6 z8lmB0a-vxz2Ilb{u?tL!B_^Di-d?XO)~Gb{FhFvMG?#8t7{TyDh6B5`)1-3Mt9Pk} zjh3(q1Wf;&^OvjYlc z=3@~5Q`;MBC@j@aVE9V%f6qhei6ov^Xhrl<17%o<@_}#hbY-x zThjYKFF?3@@pUpY%1_WaQ=@l4*-EDJhlH0~H`R5GAV#Q#bZ^*NQMIr4>(2xs;<<4u zZ+e}B-@7hc?Z#o^`t`@J>9k?y5q{f-&{madrufv8_MtZ`J~rNQd4Hz3&G_DYqb?=U zab9zIg5x7-i=es6K_5Q^g}jPrCf?fQvv`(pbw!sK3$>o*t80HSPYW~>SEMSq_Yof= z=-2$~R4!+tQ;~v#C)d3CP)!^tq4AGtS)ibxsAwv-xMje;zYxzN zK4KZ;00OCv6AxWdev)jrZC(FX+e=n*uhkyMKD#3zXT6#Nicwg;ApM zprF)-M&g@a?uV6PH(L#>qcD%BJvA7ajnCpz}E z^xA0W>CO$i)iBYU!oZ?t*Fi$<%&x76L#y}bm{?O6Q79-Q7@zNE?GvlOf*bcJjXQy= zl~x}-Z~yZ-KU9OL5MZ}=&mUFK0iMzVS@tW792~I5O9#rKoa|~$h~rS zEMvaVux3Rd^8NfJ7Qhje8-=yI1gg#S9}HnMJMw15q4Vhie`&&Woq_AL_OQtwpMLdr zYL<|Zds2u1s_~2zK<;pHPMq!gCekm%G{U813KmQ^T#Ey5{5Zhnr(+v77l`rDp7L>S zP2VX&hxn*UC>)WB4(qx&utj_O#X_c$s%KH5E&M)~nQoc+uyIn7S9iX-Btb%UfP|o~ z5Ke(BC5_k;o|cvqkBIyvn{EDX%BQ__9fNdXC{nc5Ln(rUcJWDhs33Mrf+c*I|6-8L zNeBhN@?MsO5l)C>=5($0!e!Y9B!Vxm?61}-Fz|!_)fG>SQpZIk}F-Si4|wvaj2KYqD+`QV$!p_rt0B>l0lG z5$&R|VKW88RiRBCGCIf{D8ZD+lq)f}@1y3Q3bujcydV3K2&NAuQ>CE~#fY8Uf?lx|pA3mh)2kX_t`lsAVkth;7B8_Fmc+ zCn+SI8BbOaQn~m%+$Je0sgsaUO8>Ep+^tJ+v|YqqiMw)sX^%qevk7o@>NE)GLlSj) zidOjWP+aEd>BU7~fV1Z%mA>7qz&9EfD~m^f0Ew%@PsAf>i%JPD5yzRIAN$!EVQ}bxS`Z-+5lPqAY}X+M8y<{MD^c&Oga!Q zQ3QuDo6W>BsG1Sh!nEQ+81Ya}SbzjA5TztemOvLJIX1~8Dw)6vMNb#Su5m_E(s6%l zuS3A)>p(h0@PG%B%anxadDL>PMef_e$xRIA;iZmx)tdbK ze-6|v(U6^OA42LqD`gM+GMChSJ?2{vD_Zp!8L4S&9LMy@W@ClVr|mTtY)4Wn8|C8p zi%V1u9S9We1;q{N2{o-A-c_0dsc93w`zYY-rJJ<{?&Nday7yUdXycQCoCirv>q-?T zsKzHS(%hYU{na)6>`pqA9|E1RpU}Scht+SCU*Qju6eT?h50d0IJ>QC5MDZ1mb|5c% z2d=r^k0obRy=%(kRahy{1*E#Mn2Us;DjIK2 z-%jXVQ^veabq;7RH)_HpoS96+Ui$NtAxMYo;68k|D@XVA;SrDVc0sFUPV|0+xhjLp z)oRDMZbGWT+C77n?`g_O-wrjM5srh|RG z5S0!KfYnR=&k*OkmhU{qBzQQjlCY`z6S)JAsF$(noo_Xf3)&wLNTy}8U3M)F22!usZ!!Mc{X*%m zu)N@SU-DMZdEWe^%wkH&1xN02Ju(UbM|X zAOI%P5T{v3%78%IH<8O8t8X^vIqi7flyc;krEW3z_*Vql#}kYs?M%^3qzbt9)EGBK z<-QFRZQTNvr?P!aI>Pj0SM{H*0l^EzTO0Y|} zn0QPIUWdk1cfZm5qN(<}CIl~eo~9kVjpK@@$hH!N(_$K1n(`AtS4HZgXY|Yjj|y<@ z-4PN8^$+u58@ihByXHf-VkbJO#U2M4d}O7(%n)OBV|V6D$I`Hd|3kDiv<&I@7xC)t@jlfl%0k!qq+Acu47BG|bsD+VM;&Xg6~ar)FBX{Lgxo~o_Q$qW zmvIg878_N|)Q~ks00~K^_XuCis#WJJu!3dm5^WG3aq*H|9!WyYbS4_GSLL7UDI$n! z^JsnH2H9a!?uYkL{e=`dUP<3+6YqQG|2=D%9*g!mncYQu_Px~fTbF^sn9ZdItY^_~ zmJb~fPAsZ46`V$%ADrfZo-FhF?-egeCiR5@p>k?EwpoqR{G5uj7gJLL8xMn)O)sgx zsDUV0=VTwS{Tf|4FgYZL_%go{2G{2yJj#it$^Xi(X&i$AZ;NeBO5%vthUG62@H?A8!_?0!YEN z>)BBc5ey&J{c@^}@Uk<$fyO|0ztQ-{TLt;ASnbCA45)N*jgjWpNd=VUDU_1xQ3$eM z6Y?mKYbxw19EeUY^POb3xG z^V79W7qq{r9m;t;)i#jii3bs&13vc!&h$QdTMrNlvg$?1Y5acso#v0HPmhl7r+Y$e zgL}!Ok=1_O*NfMaYZNo6jpX~64}(h4_Bnl-+{kYo6;D6XoC24;1 zx8LDQMaO)g6fh>47WGR(@@0)-g-VK`5!ng-TG~0phID`sv7=|V;a&V1O#X?Qq}ELu z9gq}!6a72I^=_;XLkdJQPS`=sj^8Hub@}tk@{%0PwmqkS3fUN{#ApEeHCs!etCAu9udq& z?84sQo+&>*E-$PmT?S1X^>>+W*b0Km)=sg95&v~^dfs@tE6vC@?`=C#{UTA9o6Y#t zvHiEW7|N8<+tOjh1i#yr!FQVP+;_2FIE?=prJ_N6l`^ntk=l8&H#r%OJqm+ubh05? z7yKPoHNro3F`i)avhNh7MgW(Yzsa4SL3{OqUC#DMYtH|R#2Yd<8mO;vfFZa}pf@_xV3nOzS zyFhtG)nTxpV=6NSJ+8>Z9INZI@o*c^xq2D67qcX95t-1o;qX~}VDq!yVrM^7ZH87p-CaK+U* zp9yNV2Gh%iACjBFNt4P?Z$>YkPIZN#M!o;Ukq~DxT5z_-Y0~_Z&~z&0I-NCd8GUt z7a3D-6D6GZA%ZO0Q-&D!55265MTD5m%x_#INGF6Y;ymU)Y`gFe8_-NU)=Gz(>=yS1 zcZawrs*DnFMq)vNdAzc+@IQ6l%M^|T3Y#>$kxt>!`L>?M**e?@sEPo}pu6AYu(4L; zcL#_Krb7E9bkB280UAUc)CVtr!uI}YzyBObhc=?ja9%1vpulLuToLMsC5G1%+1efW zyaF?!V7GQZ*bO!MTX*OdmgI70db3R5lD9F5Cl?zYQg?JpNPwR3WP zJs(M5J;*U4ecv+ttUwOVNivK&?91)9vCD>KdB!XN|UG z<~e9xd-y)?)yCLTf*bc=`~eC$l85Ev97=2+mA?CnJTog}!Pz#?Ok|q#WalPY>X*J@ zx%PV&1_l=7yD71^S65-N<7j9AM^kh;Mq6yy4Q@}$Ex(ab=yBiponWw9XwAKtGH|DG z!zEg}-S?PYB_UT+J}mG8^R0ClW>P=d%+z{FkMCTNPP2LOCn*)$T*!TSPVL?|#v+aM z@7esk6q97Z@H|_MjF0tWrC1`%%SZOj`uaBgYSd|bm}qA)Avqmq7q)H5AAeeArEAzb zpi~N9-z8Am+sCzHto-l}pJK0QxzH0jZP>V+>`wpwSArZjQVCe5W?LCHm=Sz4kGosx zs!;feS3pc)h?3L<(U|)#$h=UsQ;|R0#VmP7xDWr&Twk=A*c*YlBCmc+9|jf8@(`ro zV?1RN<$$Jw0=Ef)A?jpt7C2|jTzF4;b?42Yn8rcfBA2uM-0Lb3MM&_a2Xv%UG&HZPAszJC%7Np4`jm?L#o7QFVH?7kukFz0>E66&cruY%AU-fE>x?|5q(4w$A$ zP&;#c4rGl~`J>7AszMxNlW6fqJg<%J3q!G*6G z#)2PSgEcu^q?k5HHXDmR>9Owc|D06~@|5aQ7$rW~c^p4%iWFxJbGR#oeS1?7bms4- zkF&%fK}nyVl>E2rFR}J}gEsYdHfFf%$0d_pS2@g8okdf%1kt{pTW8Jm(6}alpR4H* ztZ<4b7Kj|!Tio73dJO`Gnp8BnvOEV(o?hqhZOF~evAqxbUAq7>ep`Ioyj0)2s~-np zyLDu&bKEiX_&X_^QpPlVG%RnkUzMxZO6g*K4-k1(^f#>Goh19vSawW93qtJu3XIk# z#1+p`iuR-N?W?N7u*`DD-U9nW(p=vy`o3J|*nVnVq!l63fGJ)))(b^EO%A433Hi6^DrvAW+3&K!B74I&BFYj!Y*c#sQ7+#4=Mg=?Mj?!Z3AY;TSf| zCEP$@M576^ZtOQ?LQJ|)o3M$UkPQ*{pXT)Mg1+|g+C<)xTi70}Pj=h|9G(E#=&{Wd z@olnHzby=Z&zCZAyJ*ED?9JCf9v#jP%hfa9bv`y$OyRR3V=OR}0*&@Cf^KhC)RkV> z4;>U0T3O=Rurb+#4b+Nc8Jm&Rc8Eem<<{~@Tp*oH=@azFud93i^aCJ@6o=&!0PRYk zznY8F2N^)~TTc~^fP;Iqu+$Yk*HiDWy7|RX!oM|;y5GD5*OgOIsa*;jzE{S95EhS}BV(cO zH7Iyfv`l!KcjwPNBR*2rZgrvL6G8$jB-*JrKe2+wQh6M&8=F&FancF-EpCS$ODm7h zWvHCT?NsG|7@LT8oZku-VqEzKtqx-&5Jek@JpW$&y}M%k)x|X5P{z}wOzUy3g|~(4 zNIBhjFCJ}yJ~%xLj5X+FsQpGi78@;{S%aUQNT#^?=&ksNxHhnN%^@!?LL&!UO@bjooM= z$ReKT=z^ZPAW(&9kG0y35tYT}*)5eQ7YJk_ZESCIWI648>EwgOIdo{jIfKqEE2LR8F*z8KOPmPN{r|`xIr@{n2D${(-d6YZ>e@J zBR}i@`(JFd>|f+u*MItMZ8n7tV^DrNTC56WSNy3IoxMm2ROm(ug zpS|Zs`qUR%t{Z+}FH*Lp_g`N-)!LGKI47*Gk;zzPAmvqL+wVE%9{N#PQT!W4vNk0e zk$gpQum9Ev)o0p=dyg?Nx1(fGWh3Rl&VX-s5&^PG1JZBMKV=q-eU3>nXi=8?W(W{# z^rj1gk2jK?YD`?XAjL!inV=~Y+uGc5yix05Kb?P4yGTt*MKMeCam4nMw*6Wkh{2D0 zUFrwA9mjN!LgLjH+K~o>Q(mmsUI+dJ|DKaAk6N!uSuj=_^ays5r=NNjtXFo{mfB~4?_E?#xfbU<=UUEiXzL-4$8T1mmgCh z8dl%(;BN}gvwWztD*prFgpt@_&OwzDq!QHP2sz^zw5`53N_+_vW9bur)t6O) zLIgT%Xa*8k&qLd4zu0ww5*MXWgG|LT z6~;6L$jAISc8eM#w6)5&k!@iw#qu9Q2)?$X(1p)8f{GZD{A48`RZRFpv#V*Hg#6-l zZh*@F&GwkoXCY<%$b63r!8Ku=)M$2)m%T>uxY^9h^@5>ycl8M`*=-gwOZkVBhuI@> zG;;2rXDLaj>`Ynpk9*A@zb=`}++_}?@+^LI?)LtAa+pzu9@w}eNEIyLeR!>a5R%rf z{vJ$P=YbVIFq6pWU~qf6!c@xsD@YQEtP-1e!Hr4%`%u4!K`egpdWt=8l|K$$uz93= zwUO+x`O<-4q98^mtPeY2a#DtCymLByxjnZjjX$3ib9dbvuM)o|Am?dEMp=qPc;uAag+?wZu(h7X!IO#u!({rS>*Uv?}g_)$bdYkb*qr#UB$JP^7g?`Z~}VBdYk8XJc#i1GAC_A_}>5DT@h4B z(8qYr{-U`^ZmmIasQ+4{#ZBw@M&YMq>KN4@FU6D(p~H+4GzU#suUrR&O$%)gS!cUl zDO4t1$y-38?Aw7wbaX$Cp6?wKdd!(FgVTD9;J!icwo>$ZMbhe)lP1?kL7ZRg)yX}>)--WD7~ayp~ARqQy-~6`{VKRvR&l4+MpoNJLl^y#U;s1F7Jb#GdFRyH%^_VPuYG3>MF6Rq+ zMr$baV|d`Ne!o0Bz`vk_<^l1kt*kwZ%EKK7wa~k>{z*#rA3vS{yt%jo+ePJ(u>H;n zM+Hiif^lPl1H`Fi&WMtgLtN+^x!%{VhpL^W4YMo!zuL~Jxw0-=!`VqXHahHB9ox>1 zZQK50+eyc^Z5thS+#P$zwz+e1an4UT*K4k-xvEx;Iq<&EG#pu`G-G<8#i_Ji8Nx&E zLW;jnX%~TJGJ#z(@EJ+&_sS@Hm2doqY*Ci~{{E=#SLEt5zd;0)V^8$~@!SUrbal&W zAy^uKwE!L3Y1ZLWUdiFd?5n z+oMF~xXlZ8`RwapwB=kedXQ!0l^=kd?bhq;@BcEPb{{-c_98_&Fsd8Dhcj}Y4O4cl z&!aB5lX2FbH?AufzO4oQd?F`Z$X?P*xBoc-=A4LF5P!_jrf5yu%H?rAZ?v58v>f%F zMg5yW9~~Je9FpjmDgV%HfG@4iF7(5OM{I~}*ms88tbZbZ;;2xv!DYw)qO!H8&ufah zi&&l32Bz>gn5Vjy^<)?m#R-Cjz09J`WTXt}I$d`pM^T@5nO z`l_!xz+2Quv}FA{h zQOOvJ6GrByjAEe?T_k7`&@+}hI7{`bxA*F@`-&0A&{@LA$ES^tBM(+4p-6_Ya~J2+ z`()EXr8t#^v>__fXCbJ&wrPSk7L&=h_E>NDJLZHK z9E|tJ&D0O|6?}n10UMQGWso+-dZ+igyJbeAy)9MtJ$+W%nW=+%s-)Q5Md(;|y19K)wAHf2wq5 z?z`T8v5dEJf!@|y43tJ*7T0v!F)738u+|GR$A~&-BQ*3zO|glUV41}f(1$PIQuW>6 z-@j8`SV|Ptmrd=WooBk9ioGtBI{)3!q(>RM9IhuN|B~<%r!r=thMjTNCw%tnJwct zh5Yt+-dNcJVG0sEknCiDnjhy&?G`i2G!r@vHa#Q#R(K*TQo#q9C~Kv?BqbcvlHk9_ zO~|zf-vJ&g7BL}@A5%3v^9fji&K~s+_t+2cp@Ot(t8HQsYt#!H0zVWwbs*b-&lA=2 z@jQomBGbej`JPjMg&F3#_AL+M(EP$7kMvWls?wkK2;?>6h4V=0<1EEr6|pZB+!FH} zPDx!)fwCUM%&a@l?ibm%<%c^UT^bhC}n&zf>XnL!K=bl|B$cKLvD?0wj}8OxW~ zdJcqdQeK8M|H*r64l?FZ)58BD!CA=h;L|vH^6Ci+10=qnn$9bw6qEI=O(YvXR4Z)Y zhKCnr)$-SiU{$N34z#d()c3mc?ibY4G%+@_-KOH>w`hXzm#E8nVi&d+g8u!9y3hS@ z*uUD}O1qS%sp(E1P-R-YpHbZBJ-p+Ch{~#@c7R>BGZZEA&kaQvW$&436Y$lKGUmbtY^>Kzr;D7jf?5DQSHC#fnbXDm1Jh&CM9%oBA&kG{JGTrvz z3I|`6={OdMl*xl19vi2DA0Evr5}90EsDWHtFJm|c`QlZ`tDKI`=R!h8C4k zZSXqOVB*QPp7nJ1=fSvj4cf8^I_g4s_{3@ceD^#>iY(`(SyVG4E)CbY#|gTtJnspQ zlp?1sKvgzG3}q3!Jh>%r5o#n1XE-@?QBTd%8mjeu^iJ!fdOUFI1O3y%Y;x%D;4-B6 zvow}tsIdKGDO$$A5-44Vn?x~`jpW*I8st+KO(cUb=#FpGeu}-%X-n`yK{v$MSu*zT2OdZHr^e=fqhIaFHZRGu_2*@2duQ927_ZH>^R+i{5YT&7 zX!%aDN>%gK4*O2m{IqJG9q;RE4{>B^W3@|0i}oGuWjGn-^Iju=y9G&@OuA$C$VD)= zO(|bI_SEEbyID7@4%G+t^D{iwmO_D}w(u zF$BxKESxRTH)s0?NP@++j||_Ytd%!GArMxmd3sDy=)p?1QdX%S2R!zjN~goE-Zq1qk-sP#R;+)EC_el-9|*}y#{Q#T z2*y)*8l(_9`sbd6@qOoWk)s* z45W+n$xglDBN`%b1U7PucuaOyk#uX5ZjG)`^52F}%88Om(6JL;i>t>W2Ew7Qdfu1< z{GKU`I3X&3^*>OGKuV;nHXji-oTcTjxe7o_p`js?2FPJ*{_CYQ2ABx!;UI0%~KBI&m_5I9*f z;G%jo!>eeLVw8Ckyx#wDLaazFJ;&Y;qM=hs`dzpezvA`ruoMzzefk}Pq>u%wJjegp zJ%2TH-X91%8g(UOf2_y;2jNJb8oF4$K!+hSpn2u?r_2+vqnY`4&UYwv& za(r#95ri~}#Y}Y5?LXX&uD!)U>tW-SZ3+fkjkX-DZes7_Ou7KqkAVa{Wa+&(Xr)T` zPQ@$CIzqXB@C0EJgvlbtSpWWrniaddT$@`hpDCP7zS-@tg@i!)Ts({v_xl$}b#^(% zs;$F9v~T%=^1(M|D(6Zj+52uJ5CwIAE!(xP*mP@|lyF~M7$YemfJ&k?kf^y%YfjmA zO@+uSeL2&&Wz@I&`Y>!&!SL%x#ds%$M>#KZp&D}~e_zUlgq+7Ig{stO?-T*7STryK zVz5-9ti=tj4mggX=Mp@jzHrJobMTnsq>PnAh58b zl14R%h3T0EANONW`QNWp3NbT~m5Pa?UXEX&Sc_Ovf7fzpn@`Gfq1B-=hBhxdt$eQx z9@u7)ymEtL5JH^=>hAa`}iphSJl+H$_3hm?;k=DxH#|e^ZtG`wtIW{CBLlnwlBtsXa<#qtfU&pdNbLjc+5Ps|d(zh_ji%fsI89Cb z+PC@9ca+1cUVd6xUe?OtrEa47dn+!`6M1$YY5km5wzO;KFEj0K)w#d*`d1Jfhkn}n zJkJOFwrc_iPhqJaoj)taU-YaAdgu)LMHMmlJ{AeP$l3dNw}c>R+if@hn-1KIY>{n+ z(Llqa)cvhd%IvcgD%@(VRRw8a+*MPD?Popvdk!O5?fDM zv4gd+dq6*^L=bwIoo>)%wd3jrRaG~Lr`jAbP)DG5pr*uvwV1!wn&kPXfvyIb@#9g^ z9~=V$Xq-YFJ{AxKMvN&|$x7_H5krfZn`^cwRyi=K|9Gs7gZjnI_G{pEY}WALGq&Xy zc6$@AiykN35WONcaG_&xfHZ>sd61IWqfe{(yXCN%XKO!r(>|WR`8Sn8QTSqM3rx0X z-Ce=RJjiv>_N%i+nsUvG1CxjhML>1Wmj8Txf3jDYSiiQmn}g&2+eAJ8mA1OnWWTzy zoX%;`Mpngd3NdL~2z=8j^!%?r1M@+SJ$|$4=R!)c8tu&~g{hrab3A!ccw{U~xUAaP zkaiu~vf^-NoejrID^3pwXIvewDH5CTLH>4!pYF>HdxO^_X;=jWsJ^(Pf z^i59cLKQtrL6kBlI0l>{4vU?~Q+88Yc4PfI`74`HOULs@8`Lk!E3*Fo?#(icn~(Xz0hQQIlhdFT;y>RZ`B0fcD)g8 zrO1?4!No?LNb)S9Khgc&5oD2RSu}MxJTQg;L`C`xRe#U_Z&!I3-RN=6_QRGaR$T<0 zl>f?*NxRotR!{RVha4rmHW~p_F!hZy<H1 z(A`w>*27GInuuHO-wZ5aifBJ)iwX(}?YzZF`Li)N_wIyAC}r&93f{YmDzXQE53VPk z@Zg{S_!HgTkhPLAZq+}ms@|pWWqxbuikF?{{SMZV=dw9P0F*#tRG4M6Aqhi~-Embx zl#*8ifi2Cm`Y+9f=#atckGR^VYMWQ(O=Wb|DasB+Ri|{tqm&T!NPKdTBv6#tENQ(i zf8Vne1e_*P#)pEpO>Gml?`a@CmE%BzI<-o5eBLpL5YPyO8Q4NK<8 z=pHIIa$mj&i!v-gwII%P(&CmH4Pk%K^4XPkNd6+MDm`bXA2V=oB z5qz2(O)!^$vkZdt3M_!xpV+>JOz>p6gFv?aGpP>OphUD)%d>IBFD!Rk^S=PSRH=sYJ9Qp~K}0+CZ3chNXjAs?>1rB6 zkwPb_0SFZ6lr^!dp(Y&6asW_2;SWXDD34Q))K7wM%6^KLvsi(V1>%9EkQgeIjDT%u ztfOm#8yO`Ctr1KS9%!{4nSTxmfAY{%uDTm&#jw8xhG8L;^;Quu!g@tTCO{$Ws^uc2 zOJ`z<$SJT@ktJ53d6_`|sw&4Rj9f(%Tfo#4j>1!=LVm;^SYr`{kBS5^1Sh|pLPkkp z@z_FPn*@(RBr8ipUT=LfjfXZa~J`Fre(GF>uMx|qZ&MLAReRy9)$sF53gtS{m+x1m@8?%#z$PAZ_U~5b{`Ws zeZ(uShM#R9{ilFrDtX_388n|32Su~K)3!gU@dj&V(8snw z|Hu7E`sQ;vfe7=|vi`@%VOg0zHVMj2x-$p9z|HWQV!$QA2NXu=>W%$-YrP(~zaF9| zG4_Da%kXLQ=Yc3rne$7Ytl%ec49-lz86Su^L+*1X?@I6SfgDA@iHT8ZBRw5c(REqG8&ALgC_i=+1QuNGWs?MU_9Rec zQab-@6HLd>CnkhI`YfFREUs)DuPaGTLT6j6s!o}S4a0Jsi%YCRiVu`vOf%GCCK>Y* zszIC_7PQ)9G*c3>V-*02%NA=Zqy+xpkpIBF?(cey|KdRSQLQIQNhHm-wzfE4Y^?DL znvYf_w+6B1(U7I3Ib8^5D%?Af!7&upx@DE7C@WAQqXDp}U7kb%CM#9>tZwg7^?Vab zbFzg3+47Lo#83D`B8;GPnNmQ?jCTUdFD6vBdLLhbMZ*lWLDIN~SN(os(>^YI7E&@= z+L99W47hK=;eKw{pLH|$i;LBm@d2^$&7%IkF57y)wTzgUu@RI=Fyyo5{CA_tlSQhu z&Y}Jr2=0`I&#YBRL{<{5w`#?p4WeE&Mh*o6DCPsm=j67Z~&Vm5fCn4v<QkF&PZg)l}wsW%)fU)tS3{HcbqY+c` zQ2fqC7TrYW=a2UtCX5xi*Kl;e>L;W@9S%#G=VPa1Y-3Awpgeq89PRsugQ5dMg)qQ0 zxD=LNr^SpaB?Bvo&tZggjOdOQn@j?if^Ko`rjfd@eG5Ej-wt}ny?P%Gmo~8#{;}6g z4F21lPM`P9IXpz*1~@S(M5RP(LFNR>noKSKzP)Oh1P55cH$6T_1t)XkqKMk|;>0PQ z9hAA0n(Q|6Xz_5iSnsvf%>?O@-fo4!8DW#gks78)WZ!`MonAZ*R>y-(hHNGG;g#U?S~EZA6ytoV|VR zSFkB!=`e$ayM5`gTk9|{2>5RRn@2(l-m4g2)6=U7OT_$B95E}4wFrZpWx37|Jf^wz z-?}}jMH9nBp59Gsz2JEbYEGs?5L!x$lLt&?Xd9Ubo`nS57oRYXq=AgpbZxa z8ic|XRt4T_U5=D>5<=pyDP*D_N2!wwrc%-JI@gH*@da22G(RE^az}iDvr7 zn5VMI%w|ifd5<3RJu_GiF$N=2Ya{N$kGON2zd^JWZo0yfI5~HdpSj&?B(O}h&DERtYjkdGN z_i^zt3tRkz%p*NLMkBv$a;@pd)*k*x3Iw~tq-nw z%44zbkE;2O#`<{F|2+T0L+Em6jDzcA+b5qoTUo`5qUzIWhf8Oa>*)6K-39cel3_ny z!7?fcxTY5B#MmZ*(}oHr)hex_4T%OS{U;UVc~?yQamyje*bEcJoQS|C8pZtzg#HEu zn4|dp6Bp`xUp52}j_IQZybk3ClVnP<5CkXE!mB2Zowafn;cqu1C2~ zUrlN%0%+O^EDZX_n4f>)s_1u-e%^k2nep(yeqai~Fqc?Se)L}3{BpOY>wCXEEQ4$q zSWnIum;Kri#N;c@XpzK-sZ4Bc=iL8bg+>7fD^=G{*J)dF+hahtnb&HB0m#HlZ2p9AF{6hFr*ypE8tQvo z$VZt~vmpF=e?e5_I~aC5^X9bc@cT1$*6`D;EbZ`c2vrEe%;cR3F!Cqgc_K3k=pvZ^ z1?4cEeLL1hf+c|)1d_oMkpCC)u3~G?ns|R51$5S;CbdF?9tWzFNSTKbCque=Jh^*Z zAtl=fKAR|%T7^K!w+lCwQVWkna7A&S}-2l^D0v zYVQrOtgEgrPY4MglzR#43q%e}jk^Qdk^D53+jmAnH2Fv4JVFD~hvSdkKUKN%<>V8= zGH`oaGEh^gR~E!SM`uMKb{uu06egv`O_nOl$|-L>YX^C+i%Al@p^+ebTeZydiu+lJ zX4=y4A*o7Bc@v~XD!i|c%bpC+Z?$=sT^x)$xWdVnif@4sWGWc!j4n?pt~a}nIAC1% zbDc9NbM6F-_S&{g<}Iqp{^xw)Xy_79?AYl+4ls=EtRJkBBgk3V_^C^?ue$nG%{QFn z8@yyEEBa0!V^sj}7m{c3P{JbdUVi^D&iFeQPjCPkT5BEco4F*Dx>^BUI6YdjOQL_b zf%y5b_&Hi(uFj$_sX5#BWw0IGix+@AjYJwU)8R`RZ!5@XucTi{VbI=S@&-Oe$qWJJ zX!}!WN5XM6c-c5{q*BHsX);iB+wO}L!L}UQO)k&xmY*OoMFCi{MX5rs{I`#*0E3~J zX>7*lXUa3qdxRQcadIYc6AhCi7!bHE`ST@Tk@zOjqyH!voVyib(({dNIQ&uKq9J&Rr2jfN+og3kV4irwVS|H=NJ890MYNRA#fZu2^9Op||iE|Ryvterq(*A_;tsGx9RmAmne-%Hf}biYhGxmlIEq};uP zy1ksLy}V3eLLoOLmz9Oh+{8l1MCX@>1rP&fu;%ZI;*uwY z{9;lW22vNyYq{@=lIj;jCvSkc#Y}Ry?;^FiqsT6#1;eD$r>xxg-%XN`PTpIW8`!5Q zvuysPaY%PBa<|DG_T$D9fg$Suv;b+TDN=6kj~6TdIIMS{(Q(un>%5CoWbqF@dom!1 z@!N7W%ef@Lxu;{9r|xHfznqMGZfpB>c|FG6kDaljD=eQucs3d@fQ01;Lw+ zJx#))DV5Ub8nMFvDiIiES=O3*k9L{-yUWLtgQ`-hZlomnUvW9Xjb^Qn!;nZLERh8j zE#>qt^XeeU;<~mD{?5ZZH4{J;ey+;BeCh-_OIpMpZC>Z;v+RYg3CuqcSfL(FaRB>OCQtjVu zQX+%eu~JQeZG)n(04=2k_kKO3n3nw1^(OyC%8$U{wkV-D4>HP7t!(JzNt|A>qq3R^ zmCt0(hG$!4PDako!jPAbDzjV3Vdw>|W$ADS^cNfWHFztl->^uUl)@z;HCG@7G|YkN zig;Vf$N2qZhE(%Yedi--wYRE!qiE$s$aKVnDkVa7#br)KTd~^gBqZ!@6(F&de;8b_ z+1c18Z2zONB&Z->UdkD#s^tjXPK?N}7#^AQH6ZUabd7{lt_~=;pV!$eGGTg|*n^N= zJ=4S%Klx94%hmeNx21_Rwbzr0E&eY2XX|7^Ig{0PS$OQmvVL=k&0oZGRwUQTcR%G|xUo;T<;zk%ejU!7brI87>5~;e~ zbZM%zQrIxx2%~KHXa&R!4~9zpV9qQ~q={J=Y3L|0aQcYcobkm>G?C8c=Y?KYl1j2u zksb&F5guI)7hkm-afQlieTgU`E>b*n7}`w&K~6Leowa*{|Ej5lTP|FN7H&cN}dN0ZPuP9X2Y{2rFm zs}f(+MU9l|+_0WRTXB6vf)V*H$4Q#I*$YX`1!FYh>T#vUz#6gM{-AdGUy6nNlpXg* zzz(5_B;mkX1hH2VjZ)Mp^$8LMmSS*)a}0|;apWRCHVjg>FPfG~AbsR-XvS2_RFwsb zV~%q_MhK(idn|N1w7??PCK^tg-Bfm@KWNQigJQ#h^!8f)sWe9Ja)8Dtgl`z?93gxj zk4FgGkbu#G{{8`t&=o5!Uf{1p!#P|F7`D>+@vBcz{bkQn5VJ7}0ItC5?eX$R!=7_o zi4@2zXPnS=Ja32+LREZPO#&an_ogY>MkQsTPG%|^Y|QHPtEIB?05kvfHb@o+#yBZ* zPatjl{&7SBO)B(vf6px{s?cNTB}M~Xx;W3?VM zo-4NoV%j(!t^Ufl=KMDa(sWRR(_P#pfPmAh$nGq(y?3vNQr03GQEjI;-Y;u$wl>CN zx@a#(@Wsu--(fMl?_HsgeQ13EDf6Tk4lauB@TO8R02AW?#w8?dFnPAd+CF=mj3W3j zJ}2NN8e1|_$xxv4I(9F~F(~drGJTc!HOsE32An5c3pvKLFOE{$h&U7`+RD(iB zMRsTdtdIRW5J)gVB-LoJOm-VKNXYFq>Rx$)L>-?upBv9^8XKS66OT^GJ*u3)IhH{k ztv;{>hEr#wu>@@no0(EAyjML`;15Hg?$6!TEs<}iLbsl_wh@8A=qMl>Xf^|jBoV23 z)ojbloc#qNT)5)0F_+zAvPS8LTM7jW$#g=nmgGLypuV!)+!Y%ZC<914qK&M zMT$9jk;FE}Nt$Key5NRmOn@i@27rZ)({AH-ST(yR5q}10;50QwzCw@;v(DEJ`L}TF ze{QHfv>S0&8(<8XaO~aG3$ge*bD$DIxO^~8Ci6%n%&qrTNOdes!3r2-frgN!fMQhe z=H6R9SjQA2P}$JR+TMf{t-Rv&Uc;hu)m|P6VDOwMsmX@NsT6;B7-y0~u)MIbtZC(N z+3^InG?_BYz{jba3=O*5wSRqa+q7NsNI%bBB9|q*Z5%2N-x)?m+WvYyR#c16*rb|F zCBc|aYa5o>zioJ!3dz%a2jh9X#@_*RKqsQd8`{?SU`dN7?>{jBnoD3Bck@KK2=mKj z-S4eSx4`hs8wzDxRcFh90J6>ZzeCllBvgj*Lx%$@5K+D>Txgp2ZIxvj$@$;qh1IH?TK%!AZ%hp==^8FWpN=!afWR1 zjj(ELr1q4WSR*T6Q&h2cNZObspkN8?K#ezh#BbXzco!20m~f(i5PJ%TnVg@*JfD70 zVfM^PDoHvw2RAf{%@Y2|29yF20 zRb&}DBL*^PWFVHpgJ13a=I_skvVsBNe6VLk%u1q~#V`_|SGsd6!gQHRGF80L?jKaw zU$Znvg~pt@I;=h_w2QmGE=aO9hUgk(tm@xbvfcWI1D>?`%OUHgINmO1`O@Nzzqw|#HzTjqV;HP)q2veF_K zG?wCHImzZsRww>}AY?_JD}6+qnfDFxBLlAyWCAXSUoO{6q0L8fLJ#s|tt}<9LQfwa zn|_9BXajIP=E>6*meW~o8#l0x03+*~jRHmo-^$|T-D=vP91mzyiR%CEiqJ`wPr^j# zvC{vYlU;d#zHIi!<>dLkqZ9KVxr$0Lk@6G_RxAB-Tq%x^inghAtbDSWLbGsFW8{U+ z`0P8s1#NkHNJY7ly)@JH=?OR(ylShE*#)1{I;*?YZ4Z#NEnNz@h6sDn*K=y{J ze^eRlNZap!R66o(YA;LbHrqlAIHLfK7 z!hM$HEuu~AlVrH9EjX$rM^SBe#nCB{HhALULFh~vi}-R99G?Q^4$aDe&5Z&cO>8nD zHECj@G_ApI-*^`m)P$($Eq)jXIoxtvp70gKaNf&aH*{Os6(#L@n~6Z|gIMfzv6#wZ zOXbnN+iKZrPL3CIx04u$cEN)z@&RR={&EpvIbu_zsk7Fgy!rYvGIiKnXj3GBojrsa z>_$qaOpF2Mkb)p3@Vud8JC8pq%Xo;J3`Bs6p#I4)TA+CVFI`oXJ~R)|aiR{^Bki}C z*7@?gDb^4WqJ>d9ACMJucj@?eS1N=DSt-tk>l_?DJNF4(CiisDq7cAp`Ww`ll-7wz zivpp(5Kf$SGsuVezPmg(K`hEIT<7ur?hlW(0+777kq0g~7f*Y10nKi*3aiAG30B{5?lz+n;zJE^{sOczw2}5^JhB_D*?yEh-O7E*+51JEecD>!As6O|Eee6w!EF zEYe=7iHoSfKsx;tl{r9eIV`pj&nXC0#W$849D4Or;m$A%GEOfgoKN#}6RH#+k|;VW&^) zjW;p$KNHEJbA57vqJz(1zkNym(#Hgb;G}d8^Mki299Rh+o{(&Yoy2BJ-`e}nesRTk z3x8g`H&_3M3l<~x4p4`vN>DJL`8-}#zv6!NS;5BLe}i@Zuka@dZRDL}zU`% z)1mlYWB{IXNLP@5yUjE&0qz+O9Cs!>mFq9I!m7~Gj1H9RD_OvTkI-L3y>|bQ#!-BQ z@_7dNOjoMkqod}p=B->#+Rk|CB15ROrE+K=0=QDdQT%u3E)q46<7Q;J3a#kXCy3|+?8P+y7z3GYL5^ge%s-0<|p+osjcu$Hc zE9W;fIH>>5rR7Vd6aiusXb|rR=N#nt>F)?bzl6Cj4{nG>&3DNnsjc*+gGk?z{!MC0 zLmL4|WFT*$8BGtznr5pJSZMX(;M6a-F9SO6!c{XD+q)%& z8MCJd(OfuXI_RQ=gl3upYP^PF<`X^?@KSX)N=dkiv|^Da6h<6*IMlWTpBRskiegw9)DBLLH@v&`M~1ht>GE z$ZOuPfA?>%;6aZas#h^iN<#D<0)p@`8B_GP$S3^r!><#i<0NkE^$ix-!{Kh?bNDdU z>;3tSZNbZQjJJySuerehgQ_{or-m=5QJTJ5z37+w=G!=B^~Ne}!^ zdhF3vBh%-5)FsZCdvj2jB3ODJNwoRmVejhSWTt%9B=g*}h2o$RQ+0oo{_1u8)Hy#L zH+=5=jAnmd>3<(eqLh7Pxemjv6n|{GGHi6eFe>8VIUe>Q4&-!ybM(8yiD1nCRCE+F zuW@kE1H8>$F_b{tU7Vkt7Sa$eTgG()zFF-Z*3BBe|3JUX$LaIxJ;dWdg9JDa%l*{$r%PBwlna4 z{)g3wOXgnkoADJ>QZ$OAOqd4h4?QAX&gfV?KKn7cQGwdeK{~eWsMkm&oPj9bE_@ut zu^)X4F_so45+zv`7PfU+%Cp8~*%wCgBvR;=(XdzM!DYh~RbcAn&G+-y+;Ouaa$7}h zr~79od40aN&zCsKX!#2df$MXp`b|Mo8%gC{j9Hy+IC|{|hm2IZ-e=lkoB-q%hr~&##rs(KmNY#v}FbnWL7>bmrxdw#a zXf#!EQ;$=Yi3Nv4$P$AWlCAV}JPiYO+I%#rl1}Vsx$Ra7)n{;=z6L*8SX>dV!^V?P z58YeT=m*X(KE%GGG1(lpHma)g^>y9S2><|3jo&pygR6IaF3DpaE~e66wA? zyW|BwI!#j(x|m7Yk_DLvn3kS;JmL^}A8Y^D;d*k9tlQ<-`4Ts;;Jtais%mS{@1P0_ zQLGaqE1aOybUZu1LQn$n~D|`JiY#Q)pM1|k=-^0avZ#&i?h%jMiWCYU`G@-BK!U@ zHMPi1p@6o%Bgx{NDQ7adWUpAarAGryre>GlbbS5Pzlmu*>sm$5@wnt8QJ!ki5d++I z5;*iM`?MSFr>57tNAQR{htg(cVWeZ9u?vk^Db$KC?6ZqIS<=XOn>d*bS4Ak#b_+%nR!9Yh>&6{XE5dyhA zeJIwhrCHljb_judmw!oT9z;yl9=-ZFDb}pr7t{Gq5(2jzJi#ZDMC(?A(Esv8MjlB} z3xcJJ;{6W0)weis?(~WIKK)dAvrgNJmN#@iZ}t`aZurLK9#3r@cpo1mgW$+@)4n=UgJ$HUl-W~BjEmU>qtu1U$3iZ5aq4r%78*GV~_Z&=93-(t&P2_{r zu1B8w_7*CWS&IoFYNY)>C575E;lpS=j+1Wos2Kasz++wA9^uBPOob3EZzVkOf$;rne;NiTzopXD`ltNVF`3^fYnP8)1 z4w;_+Q1_==+w?vxy(tKu{Nat@qQsaBZPMm${Rp|@p@d_FRIl7}=rqC9Wvx8HM0*}c zBwi+x%Vz;>H8#FA*xCea1wmqfa^!|NoU0&31F^OTc7Ic}?pY+tuy5z-EdL1o9dyUL zaze=qe967Ds8`9}dQzRMGQPyW9o zX=%S9#T1BWS)3{F|87lfxxBQdA3Sgxx7j}C)MV|-LtsYoF7yzV)> z>OehFb5wLv8Iw(?SnZBi3*=$>Fql3-@9(#lRWzD6Gy6S=CkzeEFwJmraq*EWP`bUd z(q!dR0rA!1Vu;rs+tslPboDsHWsZWV_g)P8x>82gmnD1roXfsw>GG%Ap5zcPI1>)$ z@8Mw?w+Swfrb~`GWps4aMBB?aHCOZiGA6d0<*XF|DY`p~C8@H6#iBhMj-?Vo zeLdeVlAm?H5A1~S%IRYjw@KvooQ`p zTFQ7E3n|gocrdUCO!}fEWk_o=@`X975{wr2WSpPD}v_>#4cC@Zl?ASp@ zj}$$bAVZv9oUn}2s;YA85_~VPa&UOujR~uB5xQ>6OdbQslmH@%iYU78hDd!H!jO+3 z)Xx!#fI*pTWnC3knB$Vf0jHtGsI}+ly-;DY0rzKmGt=2iPFukrHdisiw5cj2aKW{@ zZL?YYq*SOIjkRNIXrXeCOrV^OXd=SJuq}1#>aOlQ6HSXbWzOWoL#m?~jieALaaV}Y zq8M)&gs7E8?z^~BhDW$@ub;Sck@?zyhvV$ zq9R}ieO^zv(n^)vS)G4AedO!E&VxWsv!=yn|Ak_as6aXYMcY@(XEu}qYPZ6rCTNMs zyq&_8V(=U5xfms%wcmr>Cx?JvRI#_SGw^;&Y-w>kFIG1*Te`m0GK;xMFhZr;9kFBI zI<5wW*!x@dr4038TbZkit?mb=!S8Okt!|on+NR|Ty;K=!Wc(_r%2iZ$g#%A?G@heV zJmfHhMpZY8B^Wf7O3OO8rH!9;+;FA3SDt}1(34rn>unBatTI^b&_tEiD&87M6)|6A zU96oC+@S)PZ7Il`6IA`@T4T<93e$s_eBS!Y?X2TRpC$fBpk-oFJ7K_|cgj1V&r)LQ zY~6tOYJyqsr|ep8QyYsn6Lu*zwPuIO0cyd|{$xwJl?Er<--Z1F*8*33VShrP)z8UO z`B+0kP%}J^#Hxw)I&I$Ka;N22W6#=9fg>9O;Q`<=>|&t`YIi#km95wg@J!*^{yZM6ubv!P;WoI|%<_d61!F|<*I(>Eq z0<#&yY1dig=^rm?5pS(0n1-()_#X_q?N0|TI)AVYJf7zs)0BmQqshIWJJjE=gs5$w z0Q@42=xRkpg`xN^mjV8|V>@QB4H5MD7t-~yB))4@!E&5-TD5fouH4) z+0m8P?wVlnMPldUCOvUALho(=^O$Td z55ZO&eaAY(_W|uIKUpgCGbX{v$at8Nl~Rl=ZT_qc}|Y^d1#cRzX|yWd9j*) z{qf?fMt|RHJc91XeFJCP+BfOI1fKAye}0HHe0}wB>D(~Tg@{@&5284|3uDwgHic0Y z#$x^kZ7Wyd#tMZHe47%5$vPe!b)GieiJT2{dO-y&p(O^Vx0lMJkga$7EZ3~E`+cDV z=GRMB%Kr)17JJH7*PSife=Okiee@E499G#nkPVsAM&9gxaVI*95V7JaoqLRNDI+^7 zF~<@sdo^I*?y|eP?TvI)Di7t7vjneHb=zI>v&r)F`K^2K7k-htxx4ut%-I5qzal%& z&hgNt&$YHXmy_sQO{OXd(G)&g+TDL#7-&b4{2A>IX93_aWXODL1qN;Ic#_k_h05|c zVDF^I<)0A0F3Qa;q$p4JVDyJzDS>()f5|+4Rj14I54i9rKmfVYV+oq&d-JSdznhCD zmNhN*OrC)G={`zi@M$`*GB}4;M4t3YQ}E99--{XAR4!jLLo(!UnqTWfz<&jvU`r-> z&Q{e0m#sI&Tu%G7Ex;R@XSIa#MxTHt5U3=zfmgM_o*k*9%QkM-M3n-y+vC}^qdMD1 zGF%B{_IULyYA8d57H)+LovqX9@AZ+i)m`8H*4$=yhBccB-5zU;@t4tMNBsD4o#_2Q zJ|0HI#KiW$-~D~|atI^`Ti?a(Y{ihWOF0=IAZ&_8WK_jc3y@R@U&FK9>dEF-S06?u z{TaRmY_Px*1#C2-MX6+Gu()zQZLy5~K(B^O$8P((W-S;ijW~AuL4(6MhP6{1a7V;9 zSL9SkWPA+d8toob60!D5k0xb7pgiCujey+mvUTkHXnRX%(7kWtBF>khc>K1C@6tSa zZ@ze8wmVP~`3s{o3LbZlfN0Wl6m8Ua)sRCcx?#Dmue$ndZZcpQ)Vx>gDCqPO6!Ta> z(eyfT3cH>=dmKUhpY5>g*}+^ssA&jtRn1$^*4xloE}+utX%c&~w_MmNvB>66X&5z= z%uoLZf%k);RaP=Gu8A%cbz>;y?+k7&e(=p?Ek~%26V>c*bW)i-3HPbWX(zHj_&%wk zcirmM%1M1%rq!qoz*Oe5n$nfEIw9Car1fUj+_=crG+)B-IidW51r}Q^=Iih*$0|s`Tp_ OgtWK + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/odex25_accounting/odex25_account_winbooks_import/__init__.py b/odex25_accounting/odex25_account_winbooks_import/__init__.py new file mode 100644 index 000000000..35e7c9600 --- /dev/null +++ b/odex25_accounting/odex25_account_winbooks_import/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import models +from . import wizard diff --git a/odex25_accounting/odex25_account_winbooks_import/__manifest__.py b/odex25_accounting/odex25_account_winbooks_import/__manifest__.py new file mode 100644 index 000000000..bd80e7c5e --- /dev/null +++ b/odex25_accounting/odex25_account_winbooks_import/__manifest__.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- + +{ + 'name': "Account Winbooks Import", + 'summary': """Import Data From Winbooks""", + 'description': """ + Import Data From Winbooks + """, + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'depends': ['odex25_account_accountant', 'base_vat'], + 'external_dependencies': {'python': ['dbfread']}, + 'data': [ + 'security/ir.model.access.csv', + 'wizard/import_wizard_views.xml', + 'views/account_onboarding_templates.xml', + ], +} diff --git a/odex25_accounting/odex25_account_winbooks_import/i18n/ar.po b/odex25_accounting/odex25_account_winbooks_import/i18n/ar.po new file mode 100644 index 000000000..6b36518dc --- /dev/null +++ b/odex25_accounting/odex25_account_winbooks_import/i18n/ar.po @@ -0,0 +1,237 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_account_winbooks_import +# +# Translators: +# Sherif Abd Ekmoniem , 2020 +# Mustafa Rawi , 2020 +# amrnegm , 2020 +# Martin Trigaux, 2020 +# Mazen Abu Ghali , 2020 +# Osama Ahmaro , 2020 +# Shaima Safar , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:39+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Shaima Safar , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_account_winbooks_import +#: code:addons/odex25_account_winbooks_import/wizard/import_wizard.py:0 +#, python-format +msgid "%s is not a valid account number for %s." +msgstr "" + +#. module: odex25_account_winbooks_import +#: model_terms:ir.ui.view,arch_db:odex25_account_winbooks_import.winbooks_import_form +msgid "" +"\n" +" Qrz8Li@UoODee@90)^u4^7QxO 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 OgtWK + Import + Looks great! + + + + + + + diff --git a/odex25_accounting/odex25_account_winbooks_import/wizard/__init__.py b/odex25_accounting/odex25_account_winbooks_import/wizard/__init__.py new file mode 100644 index 000000000..d309b5635 --- /dev/null +++ b/odex25_accounting/odex25_account_winbooks_import/wizard/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import import_wizard diff --git a/odex25_accounting/odex25_account_winbooks_import/wizard/import_wizard.py b/odex25_accounting/odex25_account_winbooks_import/wizard/import_wizard.py new file mode 100644 index 000000000..875044b02 --- /dev/null +++ b/odex25_accounting/odex25_account_winbooks_import/wizard/import_wizard.py @@ -0,0 +1,710 @@ +# -*- coding: utf-8 -*- + +import base64 +import collections +import io +import logging +import os +import zipfile +import re +from datetime import datetime, timedelta +from tempfile import TemporaryDirectory + +from os import listdir +from os.path import isfile, join + +from odoo import models, fields, _ +from odoo.exceptions import UserError, RedirectWarning + +_logger = logging.getLogger(__name__) + +try: + from dbfread import DBF +except ImportError: + DBF = None + _logger.warning('dbfread library not found, Winbooks Import features disabled. If you plan to use it, please install the dbfread library from https://pypi.org/project/dbfread/') + + +class WinbooksImportWizard(models.TransientModel): + _name = "account.winbooks.import.wizard" + _description = 'Account Winbooks import wizard' + + zip_file = fields.Binary('File', required=True) + only_open = fields.Boolean('Import only open years', help="Years closed in Winbooks are likely to have incomplete data. The counter part of incomplete entries will be set in a suspense account", default=True) + suspense_code = fields.Char(string="Suspense Account Code", help="This is the code of the account in which you want to put the counterpart of unbalanced moves. This might be an account from your Winbooks data, or an account that you created in Odoo before the import.") + + def import_partner_info(self, file_dir, files): + """Import information related to partner from *_table*.dbf files. + The data in those files is the title, language, payment term and partner + category. + :return: (civility_data, category_data) + civility_data is a dictionary whose keys are the Winbooks references + and the values the civility title + category_data is a dictionary whose keys are the Winbooks category + references and the values the partner categories + """ + _logger.info("Import Partner Infos") + civility_data = {} + category_data = {} + ResPartnerTitle = self.env['res.partner.title'] + ResPartnerCategory = self.env['res.partner.category'] + for file_name in files: + for rec in DBF(join(file_dir, file_name), encoding='latin').records: + if rec.get('TTYPE') == 'CIVILITY': + shortcut = rec.get('TID') + title = ResPartnerTitle.search([('shortcut', '=', shortcut)], limit=1) + if not title: + title = ResPartnerTitle.create({'shortcut': shortcut, 'name': rec.get('TDESC')}) + civility_data[shortcut] = title.id + elif rec.get('TTYPE').startswith('CAT'): + category = ResPartnerCategory.search([('name', '=', rec.get('TDESC'))], limit=1) + if not category: + category = ResPartnerCategory.create({'name': rec.get('TDESC')}) + category_data[rec.get('TID')] = category.id + return civility_data, category_data + + def import_partner(self, file_dir, files, civility_data, category_data, account_data): + """Import partners from *_csf*.dbf files. + The data in those files is the partner details, its type, its category, + bank informations, and central accounts. + :return: a dictionary whose keys are the Winbooks partner references and + the values are the partner ids in Odoo. + """ + _logger.info("Import Partners") + partner_data = {} + ResBank = self.env['res.bank'] + ResCountry = self.env['res.country'] + ResPartner = self.env['res.partner'] + ResPartnerBank = self.env['res.partner.bank'] + partner_data_dict = {} + for file_name in files: + for rec in DBF(join(file_dir, file_name), encoding='latin').records: + if not rec.get('NUMBER'): + continue + partner = ResPartner.search([('ref', '=', rec.get('NUMBER'))], limit=1) + if partner: + partner_data[rec.get('NUMBER')] = partner.id + if not partner: + vatcode = rec.get('VATNUMBER') and rec.get('COUNTRY') and (rec.get('COUNTRY') + rec.get('VATNUMBER').replace('.', '')) + if not rec.get('VATNUMBER') or not rec.get('COUNTRY') or not ResPartner.simple_vat_check(rec.get('COUNTRY').lower(), vatcode): + vatcode = '' + data = { + 'ref': rec.get('NUMBER'), + 'name': rec.get('NAME1'), + 'street': rec.get('ADRESS1'), + 'country_id': ResCountry.search([('code', '=', rec.get('COUNTRY'))], limit=1).id, + 'city': rec.get('CITY'), + 'street2': rec.get('ADRESS2'), + 'vat': vatcode, + 'phone': rec.get('TELNUMBER'), + 'zip': rec.get('ZIPCODE') and ''.join([n for n in rec.get('ZIPCODE') if n.isdigit()]), + 'email': rec.get('EMAIL'), + 'active': not rec.get('ISLOCKED'), + 'title': civility_data.get(rec.get('CIVNAME1'), False), + 'category_id': [(6, 0, [category_data.get(rec.get('CATEGORY'))])] if category_data.get(rec.get('CATEGORY')) else False + } + if partner_data_dict.get(rec.get('IBANAUTO') or 'num' + rec.get('NUMBER')): + for key, value in partner_data_dict[rec.get('IBANAUTO') or 'num' + rec.get('NUMBER')].items(): + if value: # Winbooks has different partners for customer/supplier. Here we merge the data of the 2 + data[key] = value + if rec.get('NAME2'): + data.update({ + 'child_ids': [(0, 0, {'name': rec.get('NAME2'), 'title': civility_data.get(rec.get('CIVNAME2'), False)})] + }) + # manage the bank account of the partner + if rec.get('IBANAUTO'): + partner_bank = ResPartnerBank.search([('acc_number', '=', rec.get('IBANAUTO'))], limit=1) + if partner_bank: + data['bank_ids'] = [(4, partner_bank.id)] + else: + bank = ResBank.search([('name', '=', rec.get('BICAUTO'))], limit=1) + if not bank: + bank = ResBank.create({'name': rec.get('BICAUTO')}) + data.update({ + 'bank_ids': [(0, 0, { + 'acc_number': rec.get('IBANAUTO'), + 'bank_id': bank.id + })], + }) + # manage the default payable/receivable accounts for the partner + if rec.get('CENTRAL'): + if rec.get('TYPE') == '1': + data['property_account_receivable_id'] = account_data[rec.get('CENTRAL')] + else: + data['property_account_payable_id'] = account_data[rec.get('CENTRAL')] + + partner_data_dict[rec.get('IBANAUTO') or 'num' + rec.get('NUMBER')] = data + if len(partner_data_dict) % 100 == 0: + _logger.info("Advancement: {}".format(len(partner_data_dict))) + + partner_ids = ResPartner.create(partner_data_dict.values()) + for partner in partner_ids: + partner_data[partner.ref] = partner.id + return partner_data + + def import_account(self, file_dir, files, journal_data): + """Import accounts from *_acf*.dbf files. + The data in those files are the type, name, code and currency of the + account as well as wether it is used as a default central account for + partners or taxes. + :return: (account_data, account_central, account_deprecated_ids, account_tax) + account_data is a dictionary whose keys are the Winbooks account + references and the values are the account ids in Odoo. + account_central is a dictionary whose keys are the Winbooks central + account references and the values are the account ids in Odoo. + account_deprecated_ids is a recordset of account that need to be + deprecated after the import. + account_tax is a dictionary whose keys are the Winbooks account + references and the values are the Winbooks tax references. + """ + def manage_centralid(account, centralid): + "Set account to being a central account" + property_name = None + account_central[centralid] = account.id + if centralid == 'S1': + property_name = 'property_account_payable_id' + model_name = 'res.partner' + if centralid == 'C1': + property_name = 'property_account_receivable_id' + model_name = 'res.partner' + if centralid == 'V01': + property_name = 'property_tax_receivable_account_id' + model_name = 'account.tax.group' + if centralid == 'V03': + property_name = 'property_tax_payable_account_id' + model_name = 'account.tax.group' + if property_name: + self.env['ir.property']._set_default(property_name, model_name, account, self.env.company) + + _logger.info("Import Accounts") + account_data = {} + account_central = {} + account_tax = {} + recs = [] + grouped = collections.defaultdict(list) + AccountAccount = self.env['account.account'] + ResCurrency = self.env['res.currency'] + AccountGroup = self.env['account.group'] + account_types = [ + {'min': 100, 'max': 160, 'id': 'account.data_account_type_equity'}, + {'min': 160, 'max': 200, 'id': 'account.data_account_type_non_current_liabilities'}, + {'min': 200, 'max': 280, 'id': 'account.data_account_type_non_current_assets'}, + {'min': 280, 'max': 290, 'id': 'account.data_account_type_fixed_assets'}, + {'min': 290, 'max': 400, 'id': 'account.data_account_type_current_assets'}, + {'min': 400, 'max': 401, 'id': 'account.data_account_type_receivable', 'reconcile': True}, + {'min': 401, 'max': 420, 'id': 'account.data_account_type_current_assets'}, + {'min': 420, 'max': 440, 'id': 'account.data_account_type_current_liabilities'}, + {'min': 440, 'max': 441, 'id': 'account.data_account_type_payable', 'reconcile': True}, + {'min': 441, 'max': 490, 'id': 'account.data_account_type_current_liabilities'}, + {'min': 490, 'max': 492, 'id': 'account.data_account_type_current_assets'}, + {'min': 492, 'max': 500, 'id': 'account.data_account_type_current_liabilities'}, + {'min': 500, 'max': 600, 'id': 'account.data_account_type_liquidity'}, + {'min': 600, 'max': 700, 'id': 'account.data_account_type_expenses'}, + {'min': 700, 'max': 822, 'id': 'account.data_account_type_revenue'}, + {'min': 822, 'max': 860, 'id': 'account.data_account_type_expenses'}, + ] + for file_name in files: + for rec in DBF(join(file_dir, file_name), encoding='latin').records: + recs.append(rec) + for item in recs: + grouped[item.get('TYPE')].append(item) + rec_number_list = [] + account_data_list = [] + journal_centered_list = [] + is_deprecated_list = [] + account_deprecated_ids = self.env['account.account'] + for key, val in grouped.items(): + if key == '3': # 3=general account, 9=title account + for rec in val: + account = AccountAccount.search( + [('code', '=', rec.get('NUMBER')), ('company_id', '=', self.env.company.id)], limit=1) + if account: + account_data[rec.get('NUMBER')] = account.id + rec['CENTRALID'] and manage_centralid(account, rec['CENTRALID']) + if not account and rec.get('NUMBER') not in rec_number_list: + data = { + 'code': rec.get('NUMBER'), + 'name': rec.get('NAME11'), + 'group_id': AccountGroup.search([('code_prefix_start', '=', rec.get('CATEGORY'))], limit=1).id, + 'currency_id': ResCurrency.search([('name', '=', rec.get('CURRENCY'))], limit=1).id + } + if rec.get('VATCODE'): + account_tax[rec.get('NUMBER')] = rec.get('VATCODE') + try: + account_code = int(rec.get('NUMBER')[:3]) + except Exception: + _logger.warning(_('%s is not a valid account number for %s.') % (rec.get('NUMBER'), rec.get('NAME11'))) + account_code = 300 # set Current Asset by default for deprecated accounts + for account_type in account_types: + if account_code in range(account_type['min'], account_type['max']): + data.update({ + 'user_type_id': self.env.ref(account_type['id']).id, + 'reconcile': account_type.get('reconcile', False) + }) + break + # fallback for accounts not in range(100000,860000) + if not data.get('user_type_id'): + data['user_type_id'] = self.env.ref('account.data_account_type_other_income').id + account_data_list.append(data) + rec_number_list.append(rec.get('NUMBER')) + journal_centered_list.append(rec.get('CENTRALID')) + is_deprecated_list.append(rec.get('ISLOCKED')) + + if len(account_data_list) % 100 == 0: + _logger.info("Advancement: {}".format(len(account_data_list))) + account_ids = AccountAccount.create(account_data_list) + for account, rec_number, journal_centred, is_deprecated in zip(account_ids, rec_number_list, journal_centered_list, is_deprecated_list): + account_data[rec_number] = account.id + # create the ir.property if this is marked as a default account for something + journal_centred and manage_centralid(account, journal_centred) + # we can't deprecate the account now as we still need to add lines with this account + # keep the list in memory so that we can deprecate later + if is_deprecated: + account_deprecated_ids += account + return account_data, account_central, account_deprecated_ids, account_tax + + def post_process_account(self, account_data, vatcode_data, account_tax): + """Post process the accounts after the taxes creation to add the taxes + on the accounts""" + for account, vat in account_tax.items(): + if vat in vatcode_data: + self.env['account.account'].browse(account_data[account]).write({'tax_ids': [(4, vatcode_data[vat])]}) + + def import_journal(self, file_dir, files): + """Import journals from *_dbk*.dbf files. + The data in those files are the name, code and type of the journal. + :return: a dictionary whose keys are the Winbooks journal references and + the values the journal ids in Odoo + """ + _logger.info("Import Journals") + journal_types = { + '0': 'purchase', + '1': 'purchase', + '2': 'sale', + '3': 'sale', + '5': 'general', + } + journal_data = {} + AccountJournal = self.env['account.journal'] + for file_name in files: + for rec in DBF(join(file_dir, file_name), encoding='latin').records: + if not rec.get('DBKID'): + continue + journal = AccountJournal.search( + [('code', '=', rec.get('DBKID')), ('company_id', '=', self.env.company.id)], limit=1) + if not journal: + if rec.get('DBKTYPE') == '4': + journal_type = 'bank' if 'IBAN' in rec.get('DBKOPT') else 'cash' + else: + journal_type = journal_types.get(rec.get('DBKTYPE'), 'general') + data = { + 'name': rec.get('DBKDESC'), + 'code': rec.get('DBKID'), + 'type': journal_type, + } + journal = AccountJournal.create(data) + journal_data[rec.get('DBKID')] = journal.id + return journal_data + + def find_file(self, name, path): + attachments = [] + for root, dirs, files in os.walk(path): + for file_name in files: + if name in file_name and '.xml' not in file_name.lower(): + attachments.append(os.path.join(root, file_name)) + return attachments + + def import_move(self, file_dir, files, scanfiles, account_data, journal_data, partner_data, vatcode_data, param_data): + _logger.warning("`import_move` is deprecated, use `_import_move` instead") + self._import_move(file_dir, files, scanfiles, account_data, {}, journal_data, partner_data, vatcode_data, param_data) + + def _import_move(self, file_dir, files, scanfiles, account_data, account_central, journal_data, partner_data, vatcode_data, param_data): + """Import the journal entries from *_act*.dfb and @scandbk.zip files. + The data in *_act*.dfb files are related to the moves and the data in + @scandbk.zip files are the attachments. + """ + _logger.info("Import Moves") + recs = [] + ResCurrency = self.env['res.currency'] + IrAttachment = self.env['ir.attachment'] + suspense_account = self.env['account.account'].search([('code', '=', self.suspense_code)], limit=1) + if not self.only_open and not suspense_account: + raise UserError(_("The code for the Suspense Account you entered doesn't match any account")) + counter_part_created = False + for file_name in scanfiles: + with zipfile.ZipFile(join(file_dir, file_name), 'r') as scan_zip: + scan_zip.extractall(file_dir) + for file_name in files: + for rec in DBF(join(file_dir, file_name), encoding='latin').records: + if rec.get('BOOKYEAR') and rec.get('DOCNUMBER') != '99999999': + recs.append(rec) + result = [dict(tupleized) for tupleized in set(tuple(item.items()) for item in recs)] + grouped = collections.defaultdict(list) + for item in result: + # Group by number/year/period + grouped[item['DOCNUMBER'], item['DBKCODE'], item['DBKTYPE'], item['BOOKYEAR'], item['PERIOD']] += [item] + + move_data_list = [] + pdf_file_list = [] + reconcile_number_set = set() + for key, val in grouped.items(): + journal_id = self.env['account.journal'].browse(journal_data.get(key[1])) + bookyear = int(key[3], 36) + if not bookyear or (self.only_open and bookyear not in param_data['openyears']): + continue + perdiod_number = len(param_data['period_date'][bookyear]) - 2 + period = min(int(key[4]), perdiod_number + 1) # closing is 99 in winbooks, not 13 + start_period_date = param_data['period_date'][bookyear][period] + if 1 <= period < perdiod_number: + end_period_date = param_data['period_date'][bookyear][period + 1] + timedelta(days=-1) + elif period == perdiod_number: # take the last day of the year = day of closing + end_period_date = param_data['period_date'][bookyear][period + 1] + else: # opening (0) or closing (99) are at a fixed date + end_period_date = start_period_date + move_date = val[0].get('DATEDOC') + move_data_dict = { + 'journal_id': journal_id.id, + 'move_type': 'out_invoice' if journal_id.type == 'sale' else 'in_invoice' if journal_id.type == 'purchase' else 'entry', + 'ref': '%s_%s' % (key[1], key[0]), + 'company_id': self.env.company.id, + 'date': min(max(start_period_date, move_date), end_period_date), + } + if not move_data_dict.get('journal_id') and key[1] == 'MATCHG': + continue + move_line_data_list = [] + move_amount_total = 0 + move_total_receivable_payable = 0 + + # Split lines having a different sign on the balance in company currency and foreign currency + tmp_val = [] + for rec in val: + tmp_val += [rec] + if rec['AMOUNTEUR'] * (rec['CURRAMOUNT'] or 0) < 0: + tmp_val[-1]['CURRAMOUNT'] = 0 + tmp_val += [rec.copy()] + tmp_val[-1]['AMOUNTEUR'] = 0 + val = tmp_val + + # Basic line info + for rec in val: + currency = ResCurrency.search([('name', '=', rec.get('CURRCODE'))], limit=1) + if currency == self.env.company.currency_id: + currency = self.env['res.currency'] + partner_id = self.env['res.partner'].browse(partner_data.get(rec.get('ACCOUNTRP'), False)) + account_id = self.env['account.account'].browse(account_data.get(rec.get('ACCOUNTGL'))) + matching_number = rec.get('MATCHNO') and '%s-%s' % (rec.get('ACCOUNTGL'), rec.get('MATCHNO')) or False + line_data = { + 'date': rec.get('DATE', False), + 'account_id': account_id.id, + 'partner_id': partner_id.id, + 'date_maturity': rec.get('DUEDATE', False), + 'name': rec.get('COMMENT'), + 'currency_id': currency.id, + 'debit': rec.get('AMOUNTEUR') if rec.get('AMOUNTEUR') and rec.get('AMOUNTEUR') >= 0 else 0.0, + 'credit': abs(rec.get('AMOUNTEUR')) if rec.get('AMOUNTEUR') and rec.get('AMOUNTEUR') < 0 else 0.0, + 'amount_currency': rec.get('CURRAMOUNT') if currency and rec.get('CURRAMOUNT') else 0.0, + 'amount_residual_currency': rec.get('CURRAMOUNT') if currency and rec.get('CURRAMOUNT') else 0.0, + 'winbooks_matching_number': matching_number, + 'exclude_from_invoice_tab': rec.get('DOCORDER') == 'VAT' or (account_id.user_type_id.type in ('receivable', 'payable') and journal_id.type in ('sale', 'purchase')), + } + if matching_number: + reconcile_number_set.add(matching_number) + if rec.get('AMOUNTEUR'): + move_amount_total = round(move_amount_total, 2) + round(rec.get('AMOUNTEUR'), 2) + move_line_data_list.append((0, 0, line_data)) + if account_id.user_type_id.type in ('receivable', 'payable'): + move_total_receivable_payable += rec.get('AMOUNTEUR') + + # Compute refund value + if journal_id.type in ('sale', 'purchase'): + is_refund = move_total_receivable_payable < 0 if journal_id.type == 'sale' else move_total_receivable_payable > 0 + else: + is_refund = False + + # Add tax information + for line_data, rec in zip(move_line_data_list, val): + if self.env['account.account'].browse(account_data.get(rec.get('ACCOUNTGL'))).user_type_id.type in ('receivable', 'payable'): + continue + tax_line = self.env['account.tax'].browse(vatcode_data.get(rec.get('VATCODE') or rec.get('VATIMPUT', []))) + if not tax_line and line_data[2]['account_id'] in account_central.values(): + # this line is on a centralised account, most likely a tax account, but is not linked to a tax + # this is because the counterpart (second repartion line) line of a tax is not flagged in Winbooks + try: + counterpart = next(r for r in val if r['AMOUNTEUR'] == -rec['AMOUNTEUR'] and r['DOCORDER'] == 'VAT' and r['VATCODE']) + tax_line = self.env['account.tax'].browse(vatcode_data.get(counterpart['VATCODE'])) + except StopIteration: + pass # We didn't find a tax line that is counterpart with same amount + repartition_line = is_refund and tax_line.refund_repartition_line_ids or tax_line.invoice_repartition_line_ids + repartition_type = 'tax' if rec.get('DOCORDER') == 'VAT' else 'base' + line_data[2].update({ + 'tax_ids': tax_line and rec.get('DOCORDER') != 'VAT' and [(4, tax_line.id)] or [], + 'tax_tag_ids': [(6, 0, tax_line.get_tax_tags(is_refund, repartition_type).ids)], + 'tax_repartition_line_id': rec.get('DOCORDER') == 'VAT' and repartition_line.filtered(lambda x: x.repartition_type == repartition_type and x.account_id.id == line_data[2]['account_id']).id or False, + }) + move_line_data_list = [i for i in move_line_data_list if i[2]['account_id'] or i[2]['debit'] or i[2]['credit']] # Remove empty lines + + # Adapt invoice specific informations + if move_data_dict['move_type'] != 'entry': + move_data_dict['partner_id'] = move_line_data_list[0][2]['partner_id'] + move_data_dict['invoice_date_due'] = move_line_data_list[0][2]['date_maturity'] + move_data_dict['invoice_date'] = move_line_data_list[0][2]['date'] + if is_refund: + move_data_dict['move_type'] = move_data_dict['move_type'].replace('invoice', 'refund') + + # Balance move, should not happen in an import from a complete db + if move_amount_total: + if not counter_part_created: + _logger.warning('At least one automatic counterpart has been created at import. This is probably an error. Please check entry lines with reference: ' + _('Counterpart (generated at import from Winbooks)')) + counter_part_created = True + account_id = journal_id.default_account_id + account_id = account_id or (partner_id.property_account_payable_id if rec.get('DOCTYPE') in ['0', '1'] else partner_id.property_account_receivable_id) + account_id = account_id or suspense_account # Use suspense account as fallback + line_data = { + 'account_id': account_id.id, + 'date_maturity': rec.get('DUEDATE', False), + 'name': _('Counterpart (generated at import from Winbooks)'), + 'credit': move_amount_total if move_amount_total >= 0 else 0.0, + 'debit': abs(move_amount_total) if move_amount_total < 0 else 0.0, + } + move_line_data_list.append((0, 0, line_data)) + + # Link all to the move + move_data_dict['line_ids'] = move_line_data_list + attachment = '%s_%s_%s' % (key[1], key[4], key[0]) + pdf_file = self.find_file(attachment, file_dir) + pdf_file_list.append(pdf_file) + move_data_list.append(move_data_dict) + + if len(move_data_list) % 100 == 0: + _logger.info("Advancement: {}".format(len(move_data_list))) + + _logger.info("Creating moves") + move_ids = self.env['account.move'].create(move_data_list) + move_ids._post() + _logger.info("Creating attachments") + for move, pdf_file in zip(move_ids, pdf_file_list): + if pdf_file: + attachment_ids = [] + for pdf in pdf_file: + attachment_data = { + 'name': pdf.split('/')[-1], + 'type': 'binary', + 'datas': base64.b64encode(open(pdf, "rb").read()), + 'res_model': move._name, + 'res_id': move.id, + 'res_name': move.name + } + attachment_ids.append(IrAttachment.create(attachment_data)) + move.message_post(attachments=attachment_ids) + _logger.info("Reconcile") + for matching_number in reconcile_number_set: + lines = self.env['account.move.line'].search([('winbooks_matching_number', '=', matching_number), ('reconciled', '=', False)]) + try: + lines.with_context(no_exchange_difference=True).reconcile() + except UserError as ue: + if len(lines.account_id) > 1: + _logger.warning('Winbooks matching number {} uses multiple accounts: {}. Lines with that number have not been reconciled in Odoo.'.format(matching_number, ', '.join(lines.mapped('account_id.display_name')))) + elif not lines.account_id.reconcile: + _logger.info("{} {} has reconciled lines, changing the config".format(lines.account_id.code, lines.account_id.name)) + lines.account_id.reconcile = True + lines.with_context(no_exchange_difference=True).reconcile() + else: + raise ue + return True + + def import_analytic_account(self, file_dir, files): + """Import the analytic accounts from *_anf*.dbf files. + :return: a dictionary whose keys are the Winbooks analytic account + references and the values the analytic account ids in Odoo. + """ + _logger.info("Import Analytic Accounts") + analytic_account_data = {} + AccountAnalyticAccount = self.env['account.analytic.account'] + for file_name in files: + for rec in DBF(join(file_dir, file_name), encoding='latin').records: + if not rec.get('NUMBER'): + continue + analytic_account = AccountAnalyticAccount.search( + [('code', '=', rec.get('NUMBER')), ('company_id', '=', self.env.company.id)], limit=1) + if not analytic_account: + data = { + 'code': rec.get('NUMBER'), + 'name': rec.get('NAME1'), + 'active': not rec.get('INVISIBLE') + } + analytic_account = AccountAnalyticAccount.create(data) + analytic_account_data[rec.get('NUMBER')] = analytic_account.id + return analytic_account_data + + def import_analytic_account_line(self, file_dir, files, analytic_account_data, account_data): + """Import the analytic lines from the *_ant*.dbf files. + """ + _logger.info("Import Analytic Account Lines") + analytic_line_data_list = [] + for file_name in files: + for rec in DBF(join(file_dir, file_name), encoding='latin').records: + data = { + 'date': rec.get('DATE', False), + 'name': rec.get('COMMENT'), + 'amount': abs(rec.get('AMOUNTEUR')), + 'account_id': analytic_account_data.get(rec.get('ZONANA1')), + 'general_account_id': account_data.get(rec.get('ACCOUNTGL')) + } + if data.get('account_id'): + analytic_line_data_list.append(data) + if rec.get('ZONANA2'): + new_analytic_line = data.copy() + new_analytic_line['account_id'] = analytic_account_data.get(rec.get('ZONANA2')) + analytic_line_data_list.append(new_analytic_line) + self.env['account.analytic.line'].create(analytic_line_data_list) + + def import_vat(self, file_dir, files, account_central): + """Import the taxes from *codevat.dbf files. + The data in thos files are the amount, type, including, account and tags + of the taxes. + :return: a dictionary whose keys are the Winbooks taxes references and + the values are the taxes ids in Odoo. + """ + _logger.info("Import VAT") + vatcode_data = {} + treelib = {} + AccountTax = self.env['account.tax'] + tags_cache = {} + + def get_tags(string): + "Split the tags, create if it doesn't exist and return m2m command for creation" + tag_ids = self.env['account.account.tag'] + if not string: + return tag_ids + indexes = [i for i, x in enumerate(string) if x in ('+', '-')] + [len(string)] + for i in range(len(indexes) - 1): + tag_name = string[indexes[i]: indexes[i + 1]] + tag_id = tags_cache.get(tag_name, False) + if not tag_id: + tag_id = self.env['account.account.tag'].search([('name', '=', tag_name), ('applicability', '=', 'taxes')]) + tags_cache[tag_name] = tag_id + if not tag_id: + tag_id = self.env['account.account.tag'].create({'name': tag_name, 'applicability': 'taxes', 'country_id': self.env.company.country_id.id}) + tag_ids += tag_id + return [(4, id, 0) for id in tag_ids.ids] + + data_list = [] + code_list = [] + for file_name in files: + for rec in DBF(join(file_dir, file_name), encoding='latin').records: + treelib[rec.get('TREELEVEL')] = rec.get('TREELIB1') + if not rec.get('USRCODE1'): + continue + tax_name = " ".join([treelib[x] for x in [rec.get('TREELEVEL')[:i] for i in range(2, len(rec.get('TREELEVEL')) + 1, 2)]]) + tax = AccountTax.search([('company_id', '=', self.env.company.id), ('name', '=', tax_name), + ('type_tax_use', '=', 'sale' if rec.get('CODE')[0] == '2' else 'purchase')], limit=1) + if tax.amount != rec.get('RATE') if rec.get('TAXFORM') else 0.0: + tax.amount = rec.get('RATE') if rec.get('TAXFORM') else 0.0 + if tax: + vatcode_data[rec.get('CODE')] = tax.id + else: + data = { + 'amount_type': 'percent', + 'name': tax_name, + 'company_id': self.env.company.id, + 'amount': rec.get('RATE') if rec.get('TAXFORM') else 0.0, + 'type_tax_use': 'sale' if rec.get('CODE')[0] == '2' else 'purchase', + 'price_include': False if rec.get('TAXFORM') or rec.get('BASFORM') == 'BAL' else True, + 'refund_repartition_line_ids': [ + (0, 0, {'repartition_type': 'base', 'factor_percent': 100.0, 'tag_ids': get_tags(rec.get('BASE_CN')), 'company_id': self.env.company.id}), + (0, 0, {'repartition_type': 'tax', 'factor_percent': 100.0, 'tag_ids': get_tags(rec.get('TAX_CN')), 'company_id': self.env.company.id, 'account_id': account_central.get(rec.get('ACCCN1'), False)}), + ], + 'invoice_repartition_line_ids': [ + (0, 0, {'repartition_type': 'base', 'factor_percent': 100.0, 'tag_ids': get_tags(rec.get('BASE_INV')), 'company_id': self.env.company.id}), + (0, 0, {'repartition_type': 'tax', 'factor_percent': 100.0, 'tag_ids': get_tags(rec.get('TAX_INV')), 'company_id': self.env.company.id, 'account_id': account_central.get(rec.get('ACCINV1'), False)}), + ], + } + if rec.get('ACCCN2'): + data['refund_repartition_line_ids'] += [(0, 0, {'repartition_type': 'tax', 'factor_percent': -100.0, 'tag_ids': [], 'company_id': self.env.company.id, 'account_id': account_central.get(rec.get('ACCCN2'), False)})] + if rec.get('ACCINV2'): + data['invoice_repartition_line_ids'] += [(0, 0, {'repartition_type': 'tax', 'factor_percent': -100.0, 'tag_ids': [], 'company_id': self.env.company.id, 'account_id': account_central.get(rec.get('ACCINV2'), False)})] + data_list.append(data) + code_list.append(rec.get('CODE')) + + if len(data_list) % 100 == 0: + _logger.info("Advancement: {}".format(len(data_list))) + tax_ids = AccountTax.create(data_list) + for tax_id, code in zip(tax_ids, code_list): + vatcode_data[code] = tax_id.id + return vatcode_data + + def import_param(self, file_dir, files): + """Import parameters from *_param.dbf files. + The data in those files is the open or closed state of financial years + in Winbooks. + :return: a dictionary with the parameters extracted. + """ + param_data = {} + param_data['openyears'] = [] + param_data['period_date'] = {} + for file_name in files: + for rec in DBF(join(file_dir, file_name), encoding='latin').records: + if not rec.get('ID'): continue + id = rec.get('ID') + value = rec.get('VALUE') + # only the lines with status 'open' are known to be complete/without unbalanced entries + search = re.search(r'BOOKYEAR(\d+).STATUS', id) + if search and search.group(1) and value.lower() == 'open': + param_data['openyears'].append(int(search.group(1))) + # winbooks has 3 different dates on a line : the move date, the move line date, and the period + # here we get the different periods as it is what matters for the reports + search = re.search(r'BOOKYEAR(\d+).PERDATE', id) + if search and search.group(1): + param_data['period_date'][int(search.group(1))] = [datetime.strptime(value[i*8:(i+1)*8], '%d%m%Y').date() for i in range(int(len(value)/8))] + return param_data + + def post_import(self, account_deprecated_ids): + account_deprecated_ids.write({'deprecated': True}) # We can't set it before because of a constraint in aml's create + + def import_winbooks_file(self): + """Import all the data from a Winbooks database dump. The imported + models are the journals, the accounts, the taxes, the journal entries, + and the analytic account and lines. + """ + if not DBF: + raise UserError(_('dbfread library not found, Winbooks Import features disabled. If you plan to use it, please install the dbfread library from https://pypi.org/project/dbfread/')) + if not self.env.company.country_id: + action = self.env.ref('base.action_res_company_form') + raise RedirectWarning(_('Please define the country on your company.'), action.id, _('Company Settings')) + if not self.env.company.chart_template_id: + action = self.env.ref('account.action_account_config') + raise RedirectWarning(_('You should install a Fiscal Localization first.'), action.id, _('Accounting Settings')) + self = self.with_context(active_test=False) + with TemporaryDirectory() as file_dir: + zip_ref = zipfile.ZipFile(io.BytesIO(base64.decodebytes(self.zip_file))) + zip_ref.extractall(file_dir) + child_zip = [s for s in listdir(file_dir) if "@cie@" in s.lower() and '.zip' in s.lower()] + if child_zip: + with zipfile.ZipFile(join(file_dir, child_zip[0]), 'r') as child_zip_ref: + child_zip_ref.extractall(file_dir) + onlyfiles = [f for f in listdir(file_dir) if isfile(join(file_dir, f))] + csffile = [s for s in onlyfiles if "_csf.dbf" in s.lower()] + acffile = [s for s in onlyfiles if "_acf.dbf" in s.lower()] + actfile = [s for s in onlyfiles if "_act.dbf" in s.lower()] + antfile = [s for s in onlyfiles if "_ant.dbf" in s.lower()] + anffile = [s for s in onlyfiles if "_anf.dbf" in s.lower()] + tablefile = [s for s in onlyfiles if "_table.dbf" in s.lower()] + vatfile = [s for s in onlyfiles if "_codevat.dbf" in s.lower()] + dbkfile = [s for s in onlyfiles if "dbk" in s.lower() and s.lower().endswith('.dbf')] + scanfile = [s for s in onlyfiles if "@scandbk" in s.lower() and s.lower().endswith('.zip')] + paramfile = [s for s in onlyfiles if "_param.dbf" in s.lower()] + param_data = self.import_param(file_dir, paramfile) + journal_data = self.import_journal(file_dir, dbkfile) + account_data, account_central, account_deprecated_ids, account_tax = self.import_account(file_dir, acffile, journal_data) + vatcode_data = self.import_vat(file_dir, vatfile, account_central) + self.post_process_account(account_data, vatcode_data, account_tax) + civility_data, category_data = self.import_partner_info(file_dir, tablefile) + partner_data = self.import_partner(file_dir, csffile, civility_data, category_data, account_data) + self._import_move(file_dir, actfile, scanfile, account_data, account_central, journal_data, partner_data, vatcode_data, param_data) + analytic_account_data = self.import_analytic_account(file_dir, anffile) + self.import_analytic_account_line(file_dir, antfile, analytic_account_data, account_data) + self.post_import(account_deprecated_ids) + _logger.info("Completed") + self.env.company.sudo().set_onboarding_step_done('account_onboarding_winbooks_state') + self.env.company.sudo().set_onboarding_step_done('account_setup_coa_state') + return True diff --git a/odex25_accounting/odex25_account_winbooks_import/wizard/import_wizard_views.xml b/odex25_accounting/odex25_account_winbooks_import/wizard/import_wizard_views.xml new file mode 100644 index 000000000..2c1cf2287 --- /dev/null +++ b/odex25_accounting/odex25_account_winbooks_import/wizard/import_wizard_views.xml @@ -0,0 +1,35 @@ + + + + + Winbooks.import.form + account.winbooks.import.wizard + +
    + + + + + + The export of data from Winbooks for closed years might contain unbalanced entries. However if you want to try to import everything, Odoo will set the difference of balance in a Suspense Account. + + + +
    +
    +
    +
    +
    + + + Winbooks Import + account.winbooks.import.wizard + form + new + + + + +
    diff --git a/odex25_accounting/odex25_accounting_base/__init__.py b/odex25_accounting/odex25_accounting_base/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/odex25_accounting/odex25_accounting_base/__manifest__.py b/odex25_accounting/odex25_accounting_base/__manifest__.py new file mode 100644 index 000000000..c73f8ba99 --- /dev/null +++ b/odex25_accounting/odex25_accounting_base/__manifest__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# (Odex - Extending the base module). +# Copyright (C) 2017 Expert Co. Ltd. (). +# +############################################################################## +{ + 'name': 'Odex25 Accounting Base', + 'version': '1.0', + 'author': 'Expert Co. Ltd.', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'description': """ +Odex - Extending the accounting module + """, + 'website': 'http://www.exp-sa.com', + 'depends': + ['account_log','account_move_line_product','journal_entry_report','odex25_account_accountant','odex25_account_asset','odex25_account_budget','odex25_account_followup','odex25_account_reports','odex25_analytic','tax_report_detailed'], + + 'data': [], + 'qweb': [ + ], + 'installable': True, + 'auto_install': False, +} diff --git a/odex25_accounting/odex25_analytic/__init__.py b/odex25_accounting/odex25_analytic/__init__.py new file mode 100644 index 000000000..5305644df --- /dev/null +++ b/odex25_accounting/odex25_analytic/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models \ No newline at end of file diff --git a/odex25_accounting/odex25_analytic/__manifest__.py b/odex25_accounting/odex25_analytic/__manifest__.py new file mode 100644 index 000000000..eae70e05e --- /dev/null +++ b/odex25_accounting/odex25_analytic/__manifest__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +{ + 'name': "Odex25 Analytic Accounting", + 'version': '0.1', + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'author': "Expert Co. Ltd.", + 'website': "http://www.exp-sa.com", + 'depends': ['analytic', 'account'], + 'description': """ +Module for defining analytic accounting object. +=============================================== + +In Odoo, analytic accounts are linked to general accounts but are treated +totally independently. So, you can enter various different analytic operations +that have no counterpart in the general financial accounts. + """, + 'data': [ + 'views/account_analytic_view.xml' + ], + 'installable': True, + 'auto_install': True, +} diff --git a/odex25_accounting/odex25_analytic/i18n/ar.po b/odex25_accounting/odex25_analytic/i18n/ar.po new file mode 100644 index 000000000..5db348320 --- /dev/null +++ b/odex25_accounting/odex25_analytic/i18n/ar.po @@ -0,0 +1,57 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * odex25_analytic +# +# Translators: +# Mustafa Rawi , 2020 +# Ghaith Gammar , 2020 +# Osama Ahmaro , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server saas~13.5+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-09-01 07:39+0000\n" +"PO-Revision-Date: 2020-09-07 08:18+0000\n" +"Last-Translator: Osama Ahmaro , 2020\n" +"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: odex25_analytic +#: model_terms:ir.ui.view,arch_db:odex25_analytic.account_analytic_line_report_view_grid +msgid "Analytic Entries" +msgstr "القيود التحليلية" + +#. module: odex25_analytic +#: model:ir.model,name:odex25_analytic.model_account_analytic_line +msgid "Analytic Line" +msgstr "البند التحليلي" + +#. module: odex25_analytic +#: model:ir.model.fields,field_description:odex25_analytic.field_account_analytic_line__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: odex25_analytic +#: model:ir.model.fields,field_description:odex25_analytic.field_account_analytic_line__id +msgid "ID" +msgstr "المُعرف" + +#. module: odex25_analytic +#: model:ir.model.fields,field_description:odex25_analytic.field_account_analytic_line____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: odex25_analytic +#: model_terms:ir.ui.view,arch_db:odex25_analytic.account_analytic_line_report_view_grid +msgid "Month" +msgstr "الشهر" + +#. module: odex25_analytic +#: model_terms:ir.ui.view,arch_db:odex25_analytic.account_analytic_line_report_view_grid +msgid "Year" +msgstr "السنة" diff --git a/odex25_accounting/odex25_analytic/models/__init__.py b/odex25_accounting/odex25_analytic/models/__init__.py new file mode 100644 index 000000000..1ad0afc91 --- /dev/null +++ b/odex25_accounting/odex25_analytic/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + + +from . import models \ No newline at end of file diff --git a/odex25_accounting/odex25_analytic/models/models.py b/odex25_accounting/odex25_analytic/models/models.py new file mode 100644 index 000000000..a387fa52c --- /dev/null +++ b/odex25_accounting/odex25_analytic/models/models.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- + +from odoo import models, api + +class AccountAnalyticLine(models.Model): + _inherit = 'account.analytic.line' + + @api.model + def _grid_start_of(self, span, step, anchor): + if span != 'year': + return super(AccountAnalyticLine, self)._grid_start_of(span, step, anchor) + return self.env.company.compute_fiscalyear_dates(anchor)['date_from'] + + @api.model + def _grid_end_of(self, span, step, anchor): + if span != 'year': + return super(AccountAnalyticLine, self)._grid_end_of(span, step, anchor) + return self.env.company.compute_fiscalyear_dates(anchor)['date_to'] diff --git a/odex25_accounting/odex25_analytic/static/description/icon.png b/odex25_accounting/odex25_analytic/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4141f52daab6a780510b5f4e3dd762511add78fa GIT binary patch literal 32929 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 OgtWK + + + + tree,kanban,form,graph,pivot + + + + + + diff --git a/odex25_accounting/payment_bank_charge/__init__.py b/odex25_accounting/payment_bank_charge/__init__.py new file mode 100644 index 000000000..0650744f6 --- /dev/null +++ b/odex25_accounting/payment_bank_charge/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/odex25_accounting/payment_bank_charge/__manifest__.py b/odex25_accounting/payment_bank_charge/__manifest__.py new file mode 100644 index 000000000..5f2555880 --- /dev/null +++ b/odex25_accounting/payment_bank_charge/__manifest__.py @@ -0,0 +1,13 @@ +{ + "name": "Bank charges in payments", + "version": "14.0", + 'category': 'Odex25-Accounting/Odex25-Accounting', + + "depends": [ + "post_dated_cheque", + ], + "data": [ + "views/account_payment.xml", + ], + "installable": True, +} diff --git a/odex25_accounting/payment_bank_charge/models/__init__.py b/odex25_accounting/payment_bank_charge/models/__init__.py new file mode 100644 index 000000000..ab350b87b --- /dev/null +++ b/odex25_accounting/payment_bank_charge/models/__init__.py @@ -0,0 +1 @@ +from . import account_payment diff --git a/odex25_accounting/payment_bank_charge/models/account_payment.py b/odex25_accounting/payment_bank_charge/models/account_payment.py new file mode 100644 index 000000000..2f94e6ecd --- /dev/null +++ b/odex25_accounting/payment_bank_charge/models/account_payment.py @@ -0,0 +1,186 @@ +from odoo import models, fields, api, _ +from odoo.exceptions import ValidationError + + +class AccountMoveLine(models.Model): + _inherit = 'account.move.line' + + bank_charge = fields.Boolean("Bank charges") + + +class AccountMove(models.Model): + _inherit = 'account.move' + + @api.model + def _cleanup_write_orm_values(self, record, vals): + cleaned_vals = super(AccountMove, self)._cleanup_write_orm_values(record, vals) + # TODO check if record is instant of account.payment + if cleaned_vals.get('amount', False): + cleaned_vals['amount'] = cleaned_vals['amount'] + record.bank_charge_amount + record.bank_tax_amount + return cleaned_vals + + +class AccountPaymentMethod(models.Model): + _inherit = 'account.payment.method' + + bank_charge_bool = fields.Boolean("Bank charges", tracking=True) + charge_type = fields.Selection(selection=[('fixed', 'Fixed'), ('percent', 'Percent')], string='Charge Type', + tracking=True) + charge_amount = fields.Float(string='Charge Value', tracking=True) + bank_charge_account_id = fields.Many2one("account.account", "Bank charge account", tracking=True) + tax_id = fields.Many2one('account.tax', string='Default Taxes', tracking=True) + + +class AccountPayment(models.Model): + _inherit = "account.payment" + + bank_charge_amount = fields.Monetary("Bank charges amount", compute='_get_charge_value', tracking=True) + bank_tax_amount = fields.Monetary("Bank Taxes amount", compute='_get_tax_value', tracking=True) + tax_account_id = fields.Many2one("account.account", "Fees Tax Account") + + @api.constrains('payment_method_id') + def _check_bank_charge_amount(self): + for pay in self: + if pay.bank_charge_amount > pay.amount: + raise ValidationError(_("Bank charges amount must not be more than Payment amount.")) + + @api.depends('payment_method_id', 'payment_method_id.bank_charge_bool') + def _get_charge_value(self): + for item in self: + item.bank_charge_amount = 0 + if item.payment_method_id: + if item.payment_method_id.bank_charge_bool: + if item.payment_method_id.charge_type == 'fixed': + item.bank_charge_amount = item.payment_method_id.charge_amount + else: + if item.amount: + item.bank_charge_amount = item.amount - ( + item.amount * (1 - (item.payment_method_id.charge_amount or 0.0) / 100.0)) + else: + item.bank_charge_amount = 0 + else: + item.bank_charge_amount = 0 + + @api.depends('payment_method_id', 'payment_method_id.tax_id', 'bank_charge_amount') + def _get_tax_value(self): + for item in self: + if item.payment_method_id: + if item.payment_method_id.tax_id: + tax_res = item.payment_method_id.tax_id.compute_all(item.bank_charge_amount) + tax_amount = tax_res['taxes'][0]['amount'] + item.bank_tax_amount = tax_amount + item.tax_account_id = tax_res['taxes'][0]['account_id'] + else: + item.bank_tax_amount = 0 + else: + item.bank_tax_amount = 0 + + def _seek_for_lines(self): + ''' inherit to execlude bank fees lines + ''' + fees_line = self.env['account.move.line'] + liquidity_lines, counterpart_lines, writeoff_lines = super(AccountPayment, self)._seek_for_lines() + for line in self.move_id.line_ids: + if line.bank_charge: + fees_line += line + liquidity_lines -= fees_line + counterpart_lines -= fees_line + writeoff_lines -= fees_line + return liquidity_lines, counterpart_lines, writeoff_lines + + def _seek_for_fees_lines(self): + ''' get bank fees lines + ''' + fees_line = self.env['account.move.line'] + for line in self.move_id.line_ids: + if line.bank_charge: + fees_line += line + return fees_line + + def _prepare_move_line_default_vals(self, write_off_line_vals=None): + ''' inherit to add bank fees . + ''' + tax_amount = 0.0 + line_vals_list = super(AccountPayment, self)._prepare_move_line_default_vals( + write_off_line_vals=write_off_line_vals) + if self.move_id: + fess_lines = self.move_id.mapped('line_ids').filtered(lambda l: l.bank_charge == True) + if fess_lines: + fess_lines.with_context(check_move_validity=False).unlink() + # Compute amounts. + if self.payment_type == 'inbound': + # Receive money. + counterpart_amount_currency = self.bank_charge_amount - self.bank_tax_amount + else: + # Send money. + counterpart_amount_currency = -self.bank_charge_amount + self.bank_tax_amount + counterpart_balance = self.currency_id._convert( + counterpart_amount_currency, + self.company_id.currency_id, + self.company_id, + self.date, + ) + currency_id = self.currency_id.id + if self.payment_method_id.payment_type == 'inbound': + if self.payment_method_id.bank_charge_bool: + # for line in line_vals_list: + # if line['account_id'] in ( + # self.journal_id.default_account_id.id, + # self.journal_id.payment_debit_account_id.id, + # self.journal_id.payment_credit_account_id.id) and not line.get('bank_charge', False): + # line['debit'] = line['debit'] - abs(counterpart_balance) + # line['amount_currency'] = line['amount_currency'] - counterpart_amount_currency + line_vals_list.append({ + 'name': 'Payment Method Fees', + 'date_maturity': self.date, + 'amount_currency': counterpart_amount_currency, + 'currency_id': currency_id, + 'debit': counterpart_balance, + 'credit': 0.0, + 'partner_id': self.partner_id.id, + 'account_id': self.payment_method_id.bank_charge_account_id.id, + 'bank_charge': True, + }) + line_vals_list.append({ + 'name': 'Bank Payment Method Fees', + 'date_maturity': self.date, + 'amount_currency': counterpart_amount_currency, + 'currency_id': currency_id, + 'debit': 0.0, + 'credit': counterpart_balance, + 'partner_id': self.partner_id.id, + 'account_id': self.journal_id.default_account_id.id, + 'bank_charge': True, + + }) + if self.payment_method_id.tax_id: + tax_amount = self.bank_tax_amount + if tax_amount: + # for l in line_vals_list: + # if l['account_id'] in ( + # self.journal_id.default_account_id.id, + # self.journal_id.payment_debit_account_id.id, + # self.journal_id.payment_credit_account_id.id) and not l.get('bank_charge', False): + # l['debit'] = l['debit'] - abs(tax_amount) + # l['amount_currency'] = l['amount_currency'] - tax_amount + line_vals_list.append({ + 'name': 'Payment Method Tax', + 'date_maturity': self.date, + 'currency_id': currency_id, + 'debit': abs(tax_amount), + 'credit': 0.0, + 'partner_id': self.partner_id.id, + 'account_id': self.tax_account_id.id, + 'bank_charge': True, + }) + line_vals_list.append({ + 'name': 'Bank Payment Method Tax', + 'date_maturity': self.date, + 'currency_id': currency_id, + 'debit': 0.0, + 'credit': abs(tax_amount), + 'partner_id': self.partner_id.id, + 'account_id': self.journal_id.default_account_id.id, + 'bank_charge': True, + }) + return line_vals_list diff --git a/odex25_accounting/payment_bank_charge/views/account_payment.xml b/odex25_accounting/payment_bank_charge/views/account_payment.xml new file mode 100644 index 000000000..09e1b7972 --- /dev/null +++ b/odex25_accounting/payment_bank_charge/views/account_payment.xml @@ -0,0 +1,36 @@ + + + + + account.payment.method.bank.charge + account.payment.method + + + + + + + + + + + + + + + + + account.payment.form.bank.charge + account.payment + + + + + + + + + diff --git a/odex25_accounting/post_dated_cheque/__init__.py b/odex25_accounting/post_dated_cheque/__init__.py new file mode 100644 index 000000000..985713b90 --- /dev/null +++ b/odex25_accounting/post_dated_cheque/__init__.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Expert Co. Ltd. +# Copyright (C) 2022 (). +# +############################################################################## + +from . import models +from . import wizard diff --git a/odex25_accounting/post_dated_cheque/__manifest__.py b/odex25_accounting/post_dated_cheque/__manifest__.py new file mode 100644 index 000000000..f11e22fd9 --- /dev/null +++ b/odex25_accounting/post_dated_cheque/__manifest__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Expert Co. Ltd. +# Copyright (C) 2022 (). +# +############################################################################## + +{ + "name" : "Postdated Cheque Management(PDC) Odoo", + "author": "Expert Co. Ltd.", + "version" : "14.0", + 'category': 'Odex25-Accounting/Odex25-Accounting', + 'summary': 'Apply PDC Payment, Generate Payment and Journal Entries With PDC Account.', + "description": """ Apply PDC Payment, Generate Payment and Journal Entries With PDC Account.""", + "depends" : ['account_check_printing'], + "data": [ + 'data/account_payment_method_data.xml', + 'views/account_payment_view.xml', + 'wizard/account_payment_register_views.xml', + ], + "auto_install": False, + "installable": True, +} + diff --git a/odex25_accounting/post_dated_cheque/data/account_payment_method_data.xml b/odex25_accounting/post_dated_cheque/data/account_payment_method_data.xml new file mode 100644 index 000000000..069542585 --- /dev/null +++ b/odex25_accounting/post_dated_cheque/data/account_payment_method_data.xml @@ -0,0 +1,18 @@ + + + + + + Checks + check_printing + inbound + True + 20 + + + + True + + + + diff --git a/odex25_accounting/post_dated_cheque/i18n/ar_001.po b/odex25_accounting/post_dated_cheque/i18n/ar_001.po new file mode 100644 index 000000000..abfc07d98 --- /dev/null +++ b/odex25_accounting/post_dated_cheque/i18n/ar_001.po @@ -0,0 +1,282 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * post_dated_cheque +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-10-03 15:29+0000\n" +"PO-Revision-Date: 2022-10-03 15:29+0000\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: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment__agent_id +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_register__agent_id +msgid "Agent" +msgstr "الوكيل" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_attachment_count +msgid "Attachment Count" +msgstr "عدد المرفقات" + +#. module: post_dated_cheque +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_account_payment_search +msgid "Checks" +msgstr "الشيكات" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment__cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_register__cheque +msgid "Cheque" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment__payment_method_no +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_register__payment_method_no +msgid "Cheque / Transfer Ref" +msgstr "رقم الشيك" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment__cheque_collection_type +msgid "Cheque Collection Type" +msgstr "نوع الشيك" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment__clear +msgid "Clear" +msgstr "مسح" + +#. module: post_dated_cheque +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_account_payment_form_inherited +msgid "Clear Check" +msgstr "" + +#. module: post_dated_cheque +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_account_payment_search +msgid "Cleared Checks" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment__clear_move_id +msgid "Clearence Journal Entry" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields.selection,name:post_dated_cheque.selection__account_payment__cheque_collection_type__collection_fee +msgid "Collection Fee" +msgstr "رسوم التحصيل" + +#. module: post_dated_cheque +#: model:ir.model.fields.selection,name:post_dated_cheque.selection__account_payment__cheque_collection_type__collector +msgid "Collector" +msgstr "تحصيل" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment__payment_method_date +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_register__payment_method_date +msgid "Date" +msgstr "التاريخ" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment__display_name +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__display_name +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_register__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_channel_ids +msgid "Followers (Channels)" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment__id +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__id +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_register__id +msgid "ID" +msgstr "المُعرف" + +#. module: post_dated_cheque +#: model:ir.model.fields,help:post_dated_cheque.field_account_payment_method__message_needaction +#: model:ir.model.fields,help:post_dated_cheque.field_account_payment_method__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,help:post_dated_cheque.field_account_payment_method__message_has_error +#: model:ir.model.fields,help:post_dated_cheque.field_account_payment_method__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: post_dated_cheque +#: code:addons/post_dated_cheque/models/account_payment.py:0 +#, python-format +msgid "Internal Transfer" +msgstr "مرجع داخلي" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment____last_update +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method____last_update +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_register____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_ids +msgid "Messages" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields.selection,name:post_dated_cheque.selection__account_payment__cheque_collection_type__mjir +msgid "Mijr" +msgstr "مجير - برسم التحصيل" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,help:post_dated_cheque.field_account_payment_method__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,help:post_dated_cheque.field_account_payment_method__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,help:post_dated_cheque.field_account_payment_method__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: post_dated_cheque +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_account_payment_search +msgid "Outstanding Checks" +msgstr "شيك مستحق" + +#. module: post_dated_cheque +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_account_payment_form_inherited +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_account_payment_register_form +msgid "PDC date" +msgstr "" + +#. module: post_dated_cheque +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_payment_method_type_form +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_payment_method_type_search +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_payment_method_type_tree +msgid "Payment Method" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.actions.act_window,name:post_dated_cheque.act_open_payment_method_type_view +#: model:ir.model,name:post_dated_cheque.model_account_payment_method +#: model:ir.ui.menu,name:post_dated_cheque.menu_act_open_payment_method_type_view +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_account_payment_search +msgid "Payment Methods" +msgstr "طرق السداد" + +#. module: post_dated_cheque +#: code:addons/post_dated_cheque/models/account_payment.py:0 +#, python-format +msgid "Payment method with type cheque already exist" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model,name:post_dated_cheque.model_account_payment +msgid "Payments" +msgstr "المدفوعات" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__reason +msgid "Reason/Justification" +msgstr "السبب / التبرير" + +#. module: post_dated_cheque +#: model:ir.model,name:post_dated_cheque.model_account_payment_register +msgid "Register Payment" +msgstr "تسجيل دفعة" + +#. module: post_dated_cheque +#: model:ir.model.fields.selection,name:post_dated_cheque.selection__account_payment__cheque_collection_type__return +msgid "Return" +msgstr "إرجاع" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_has_sms_error +msgid "SMS Delivery error" +msgstr "" + +#. module: post_dated_cheque +#: model_terms:ir.ui.view,arch_db:post_dated_cheque.view_payment_method_type_search +msgid "Type" +msgstr "النوع" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields.selection,name:post_dated_cheque.selection__account_payment__cheque_collection_type__wallet +msgid "Wallet" +msgstr "المحفظة" + +#. module: post_dated_cheque +#: model:ir.model.fields,field_description:post_dated_cheque.field_account_payment_method__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: post_dated_cheque +#: model:ir.model.fields,help:post_dated_cheque.field_account_payment_method__website_message_ids +msgid "Website communication history" +msgstr "" diff --git a/odex25_accounting/post_dated_cheque/models/__init__.py b/odex25_accounting/post_dated_cheque/models/__init__.py new file mode 100644 index 000000000..5ad0cac08 --- /dev/null +++ b/odex25_accounting/post_dated_cheque/models/__init__.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Expert Co. Ltd. +# Copyright (C) 2022 (). +# +############################################################################## + +from . import account_payment + diff --git a/odex25_accounting/post_dated_cheque/models/account_payment.py b/odex25_accounting/post_dated_cheque/models/account_payment.py new file mode 100644 index 000000000..acf2c77e9 --- /dev/null +++ b/odex25_accounting/post_dated_cheque/models/account_payment.py @@ -0,0 +1,143 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Expert Co. Ltd. +# Copyright (C) 2022 (). +# +############################################################################## + +from odoo import models, fields, api, _ +from odoo.exceptions import UserError + + +class AccountPaymentMethod(models.Model): + _name = 'account.payment.method' + _inherit = ['mail.thread', 'account.payment.method'] + + cheque = fields.Boolean('Cheque', tracking=True) + + @api.constrains('cheque') + def _check_cheque(self): + ''' + chech payment method check to be unique + ''' + if self.cheque: + payment_method_ids = self.search( + [('id', '!=', self.id), ('cheque', '=', True), ('payment_type', '=', self.payment_type)]) + if payment_method_ids: + raise UserError(_("Payment method with type cheque already exist")) + + +class AccountPayment(models.Model): + _inherit = "account.payment" + + cheque = fields.Boolean(related='payment_method_id.cheque') + clear = fields.Boolean(copy=False) + agent_id = fields.Many2one('res.partner', 'Agent') + payment_method_no = fields.Char(string='Cheque / Transfer Ref') + payment_method_date = fields.Date(string='Date') + # bank_account_id = fields.Many2one(comodel_name='res.partner.bank', string='Bank No.') + clear_move_id = fields.Many2one(comodel_name='account.move', string='Clearence Journal Entry', readonly=True, + ondelete='cascade', check_company=True, copy=False) + + cheque_collection_type = fields.Selection(string="Cheque Collection Type", + selection=[('wallet', 'Wallet'), + ('collection_fee', 'Collection Fee'), + ('collector', 'Collector'), + ('mjir', 'Mijr'), + ('return', 'Return'), ], default='wallet', ) + + @api.model + def _get_method_codes_using_bank_account(self): + vals_list = super(AccountPayment, self)._get_method_codes_using_bank_account() + vals_list.append('check_printing') + return vals_list + + @api.model + def _get_method_codes_needing_bank_account(self): + vals_list = super(AccountPayment, self)._get_method_codes_needing_bank_account() + vals_list.append('check_printing') + return vals_list + + def _prepare_move_line_default_vals(self, write_off_line_vals=None): + ''' inherit to us journals outstanding accounts just incase of payment method check . + ''' + line_vals_list = super(AccountPayment, self)._prepare_move_line_default_vals( + write_off_line_vals=write_off_line_vals) + if not self.payment_method_id.cheque and not self.is_internal_transfer: + for line in line_vals_list: + if line['account_id'] in ( + self.journal_id.payment_credit_account_id.id, self.journal_id.payment_debit_account_id.id): + line['account_id'] = self.journal_id.default_account_id.id + return line_vals_list + + def clear_check(self): + values = {} + values['journal_id'] = self.journal_id.id + values['ref'] = (self.name or '') + ' ' + (self.payment_method_no or '') + # Compute amounts. + if self.payment_type == 'inbound': + # Receive money. + liquidity_amount_currency = -self.amount + else: + # Send money. + liquidity_amount_currency = self.amount + + liquidity_balance = self.currency_id._convert( + liquidity_amount_currency, + self.company_id.currency_id, + self.company_id, + self.date, + ) + currency_id = self.currency_id.id + liquidity_line_name = self.payment_reference + counterpart_amount_currency = -liquidity_amount_currency + counterpart_balance = -liquidity_balance + + # Compute a default label to set on the journal items. + + payment_display_name = self._prepare_payment_display_name() + + default_line_name = self.env['account.move.line']._get_default_line_name( + _("Internal Transfer") if self.is_internal_transfer else payment_display_name[ + '%s-%s' % (self.payment_type, self.partner_type)], + self.amount, + self.currency_id, + self.date, + partner=self.partner_id, + ) + account_id = liquidity_balance > 0.0 and self.journal_id.payment_credit_account_id.id or self.journal_id.payment_debit_account_id.id + line_vals_list = [ + # Liquidity line. + { + 'name': liquidity_line_name or default_line_name, + 'date_maturity': self.date, + 'amount_currency': liquidity_amount_currency, + 'currency_id': currency_id, + 'debit': liquidity_balance if liquidity_balance > 0.0 else 0.0, + 'credit': -liquidity_balance if liquidity_balance < 0.0 else 0.0, + 'partner_id': self.partner_id.id, + 'account_id': account_id, + }, + # Receivable / Payable. + { + 'name': self.payment_reference or default_line_name, + 'date_maturity': self.date, + 'amount_currency': counterpart_amount_currency, + 'currency_id': currency_id, + 'debit': counterpart_balance if counterpart_balance > 0.0 else 0.0, + 'credit': -counterpart_balance if counterpart_balance < 0.0 else 0.0, + 'partner_id': self.partner_id.id, + 'account_id': self.journal_id.default_account_id.id, + }, + ] + values['line_ids'] = [(0, 0, line_vals) for line_vals in line_vals_list] + clear_move_id = self.env['account.move'].create(values) + if clear_move_id: + clear_move_id.post() + self.clear = True + self.clear_move_id = clear_move_id.id + (self.move_id.mapped('line_ids').filtered( + lambda x: x.account_id.id == account_id) + self.clear_move_id.mapped('line_ids').filtered( + lambda x: x.account_id.id == account_id)).reconcile() + return True diff --git a/odex25_accounting/post_dated_cheque/static/description/icon.png b/odex25_accounting/post_dated_cheque/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..897ff260385fc892b7c7591207081afe9ed12df1 GIT binary patch literal 33646 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 E2V2>7#sB~S literal 0 HcmV?d00001 diff --git a/odex25_accounting/post_dated_cheque/views/account_payment_view.xml b/odex25_accounting/post_dated_cheque/views/account_payment_view.xml new file mode 100644 index 000000000..584fc0828 --- /dev/null +++ b/odex25_accounting/post_dated_cheque/views/account_payment_view.xml @@ -0,0 +1,115 @@ + + + + + + account.payment.inherited.form + account.payment + + + +